- •Лабораторная работа №15 Программирование алгоритмов различных структур на Паскале
- •Порядок работы
- •Основные понятия
- •Общие оперативные клавиши Turbo Pascal
- •Оперативные клавиши отладки/запуска
- •Оперативные клавиши управления окнами
- •Оперативные клавиши редактирования
- •Запуск среды tp
- •Структура программы на Паскале
- •Описание переменных
- •Действия с числовыми величинами Арифметические операции
- •Стандартные математические функции
- •Арифметические выражения
- •Операторы Паскаля.
- •Условный оператор
- •Пример По длинам трех сторон треугольника а, b, c вычислить его площадь.
- •Оператор выбора
- •Оператор цикла с параметром
- •Операторы цикла с условием
- •Оператор цикла пока, или цикл с предусловием
- •Оператор цикла до, или цикл с постусловием
- •Задания к лабораторной работе
- •Контрольные вопросы
Условный оператор
Условный оператор включает в себя операторы, которые выполняются или не выполняются в зависимости от записанного в операторе условия. Оператор имеет вид:
IF «условие» Then «оператор1» Else «оператор2»;
где «условие» – выражение логического типа;
«оператор1» выполняется, если условие верно (True),
«оператор2» выполняется, если условие не верно (False).
Например, вычисление квадратного корня из числа «a» проводится при условии a>=0, операторами:
IF a >= 0 Then b: = Sqrt(a) Else WriteLn( 'a<0' );
В условном операторе может отсутствовать блок Else оператор2; т. е. условный оператор может иметь вид:
IF «условие» Then «оператор1»;
например:
IF a<0 Then a:= abs(a);
В случае нескольких условий, соединенных логическим «И» (операция and) результирующее условие имеет значение True, если каждое условие верно, иначе – False.
В случае нескольких условий, соединенных логическим «ИЛИ» (операция or) результирующее условие имеет значение True, если хотя бы одно условие верно, иначе – False.
Поскольку операции сравнения имеют низший приоритет, то при проверке нескольких условий эти условия заключаются в скобки.
Пример По длинам трех сторон треугольника а, b, c вычислить его площадь.
Для решения задачи используется формула Герона , где p = (а + b + с)/2 – полупериметр треугольника. Исходные данные должны удовлетворять основному соотношению для сторон треугольника: длина каждой стороны должна быть меньше длин двух других сторон.
Program Geron;
Var A,B,C,P,S: Real;
Begin
WriteLn('Введите длины сторон треугольника:');
Write ('a='); ReadLn(A);
Write('b='); ReadLn(В);
Write('c='); ReadLn(C);
If (A>0) And (B>0) And (C>0) And (A+B>C) And (B+C>A) And (A+C>B)
Then Begin
P:=(A+B+C)/2;
S:=Sqrt(P*(P-A)*(P-B)*(P-C));
WriteLn('Площадь=',S)
End
Else WriteLn('Неверные исходные данные')
End.
Оператор выбора
Оператор служит для выбора одного из помеченных вариантов действия (операторов), в зависимости от значения «параметра». Оператор имеет вид:
Case «параметр» Of
«список помеченных операторов»
Else «оператор» End;
Здесь «параметр» – выражение или переменная порядкового типа.
Из «списка помеченных операторов» выполняется оператор с меткой, включающей значение «параметра», иначе оператор после слова Else. Конструкция Else «оператор» может отсутствовать.
Напомним, что «оператор» может иметь вид: Begin «операторы» end;
Пример
Приведем пример программы случайного предсказания одного из десяти вариантов ближайшего будущего с вероятностью 1/20, в остальных случаях - вы «неудачник».
PROGRAM FUTURE;
var N: word;
Begin
writeln('ПРЕДСКАЗАНИЕ БУДУЩЕГО');
Randomize; N:=Random(20)+1; { N - случайное число от 1 до 20 }
writeln; write('Вас ожидает – ');
case N of
1: writeln('счастье'); 6: writeln('здоровье');
2: writeln('пятерка'); 7: writeln('деньги');
3: writeln('дорога'); 8: writeln('любовь');
4: writeln('двойка'); 9: writeln('встреча');
5: writeln('болезнь'); 10: writeln('дети')
else writeln('неудача') end;
writeln('Нажми Enter'); readln;
END.
Здесь функция Random(x) генерирует случайное число, с равномерной плотностью распределения на заданном интервале. Для инициализации распределения в начале программы необходимо вызвать процедуру Randomize.