Составные операторы в языке Паскаль
Составной оператор – это последовательность произвольных операторов программы, заключенная в операторные скобки – зарезервированные слова BEGIN… END. Составные операторы – важный инструмент Pascal, дающий возможность писать программы по современной технологии структурного программирования (без операторов перехода GOTO).
Pascal допускает произвольную глубину вложенности составных операторов:
BEGIN
……
BEGIN
……
BEGIN
……
END;
……
END;
……
END.
Поскольку BEGIN и END представляют собой структурные скобки, то после BEGIN и перед END
ставить знак «;» не обязательно.
В программе может применяться пустой оператор, не выполняющий никакого действия. Например
– ; ;.
Линейные программы (пример)
Алгоритм линейной структуры - это алгоритм, в котором блоки выполняются в указанном порядке, последовательно друг за другом. Программа линейной структуры реализует соответствующий линейный алгоритм. Чаще всего линейные алгоритмы используются для программирования вычислений по формулам. В этом случае удобно использовать набор встроенных функций Pascal: Sin (x) – синус х; cos(x) – косинус х; tan(x)- тангенс х ; ln (x) – натуральный логарифм х ; exp (x) -показательная функция e^x ; sqr (x) - квадрат x; sqrt(x)- корень квадратный от х; abs(x)- модуль x. Для тригонометрических функций аргумент х измеряется в радианах. Гиперболические функции записываются с применением экспоненты, например: Sh (x)=(exp (x)-exp (-x)) /2
Дано:а=2.5;в=0.38.Вычмслить и напечатать значение величины р,определяемой формулой p=sina cosb/2
Program lab;
Var a,b,p:real;
Begin
a:=2,5;b:=0.38;
p:=sin(a)*cos(b/2);
writeln(a,b,p)
end.
Разветвляющиеся программы с использованием оператора IF(пример)
Условный оператор включает в себя операторы, которые выполняются или не выполняются в зависимости от записанного в операторе условия. Оператор имеет вид: IF "условие" Then "оператор1" Else "оператор2";где "условие" - выражение логического типа; "оператор1" выполняется, если условие верно ( True ), "оператор2" выполняется, если условие не верно ( False).
Напишите программу, определяющую наименьшее значение из двух чисел, введенных с клавиатуры.
PROGRAM Minimum;
VAR a, b, min : real;
BEGIN
WRITELN('Введите два числа');
READLN(a, b);
IF a<b Then min:=a ELSE min:=b;
WRITELN(min);
END.
PROGRAM Rar;
VAR a, b, p : real;
BEGIN
WRITE('Введите b=');
READLN( b);
a:=sin(b/2);
IF a<0.3 Then p:=exp(a)+exp(1/3*ln(a+1))
ELSE p:=sin(a/2)/cos(a/2);
WRITELN(‘p=’ , p:9:6);
END.