Для этой цели используется оператор write, после которого в скобках указывается список выводимых переменных или оператор writeln, который после вывода результата на экран, осуществляет переход на следующую строку.
Оператор writeln без параметров просто переведет курсор на следующую строку.
Например: Write (x, y) – выведет значения переменных x, y.
Write (x+y, x-y) – выведет результат вычисления выражений x+y, x-y.
Write (‘Привет’) – выведет строку символов “привет”, текст заключается в апострофы.
Паскаль дает возможность установить необходимый формат для вывода числовой информации с помощью операторов write, writeln.
В данном примере указывается, что на экран должно быть выведено содержимое переменной x. Выводимое на экран число должно занимать 7 позиций с двумя знаками после запятой. Для вывода целой части отводится 4 позиции, т.к. одну позицию занимает десятичная точка.
Если для вывода числа 7 будет выделено 3 позиции, то на экран монитора будет выведено 7, а не 007.
Если при выводе значения некоторой переменной выводимое число не будет помещаться в указанный формат, то вопреки указанному формату часть значения переменной, расположенной перед десятичной точкой, будет выведена на экран полностью. При этом число позиций справа от десятичной точки остается равным указанной в формате величине, а дробная часть, не укладывающаяся в заданный формат, округляется. Округление не изменяет самого значения переменной, а касается только процесса вывода этого значения.
Использование форматного вывода позволяет решить проблему корректного оформления различного рода таблиц.
Линейным процессом – называется такой процесс, где каждое действие выполняется последовательно, одно за другим. Любой линейный процесс состоит из следующих действий: ввода данных, вычисления по одной или нескольким формулам, печати результата.
Пример: Вычислить среднее арифметическое и среднее геометрическое для двух действительных положительных чисел.
SG : real;BEGIN
writeln (‘введите значения переменных’);
readln (a, b);
SR : = (a + b)/2;
SG: = sqrt(a*b);
writeln (‘среднее арифметическое равно’, SR:8:2);
writeln (‘среднее геометрическое равно’, SG:8:2);
END.
Операторные скобки
В Паскале под «операторными скобками» понимают два служебных слова: Begin (открывающаяся скобка) и End (закрывающаяся скобка).
Составной оператор
Составной оператор – это последовательность произвольных операторов программы заключенная в операторные скобки.
На характер операторов, входящих в составной оператор, не накладывается никаких ограничений. Среди них могут быть и другие составные операторы языка, допускается произвольная глубина вложения составных операторов. Фактически весь раздел операторов представляет собой один составной оператор.
BEGIN{начало раздела операторов}
Begin
Begin
End
End
End. {конец программы}
Во избежание ошибок каждую пару “Begin – End” обычно пишут с одной позиции.
Разветвляющиеся вычислительные процессы
Разветвляющийся процесс – это такой процесс, где после проверки некоторого логического условия, вычисление идет либо по ветви «да» либо по ветви «нет».
Пример: Вычислить
f = 3sin2x + a, x>0 3a2 + bx, x<0
a = -2,25
b = 4,8.
![](data:image/gif;base64,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)
PROGRAM RAZVETV;
Var
a, b, x : real;
f : real;
BEGIN
a : = -2.25;
b : = 4.8;
write (‘введите значение переменной x’);
readln (x);
IF x>0 THEN F : = 3*SQR (sin(x)) + A
ELSE
F : = 3*A*A + B*X;
witeln (‘F =’,F:7:2);
END.
Условный оператор
Для реализации проверки условия необходим оператор, который выберет то или иное действие. Такой оператор называется оператором условного перехода и его можно записать следующими способами.
1. Полная форма оператора.
IF <условие> THEN <оператор “да”>
ELSE <оператор “нет”>;
Каждое слово ELSE пишется под своим словом IF. Для большей наглядности текста программы операторы, следующие за словами THEN и ELSE можно писать на следующей строке.
Перед словом ELSE нельзя ставить точку с запятой.
2. Краткая форма оператора.
Допускает опускать служебное слово ELSE . Оператор в этом случае выглядит следующим образом:
IF <условие> THEN
<оператор1>;
<оператор2>;
<оператор 3>;
В данном варианте, если условие истинно, то программа уходит на оператор 1, а затем продолжает выполнять последовательности операторов 2,3 и т.д.
Если условие ложно, сразу выполняется оператор 2, затем 3 и т.д.
Например: Вычислить значение функции
x2, если x>0f(x) = 0, если x=0
-x2, если x<0
Фрагмент решения этой задачи можно записать как:
IF x>0 THEN
y = x*x;
IF x = 0 THEN
y = 0;
IF x<0 THEN
y = -(x*x);
При решении различных задач очень часто необходимо выполнять группу операторов либо за оператором THEN, либо за оператором ELSE, либо и в том и в другом случае.
Для того, чтобы записать группу действий необходимо использовать составной оператор begin – end (операторные скобки).
1. IF <условие> THEN
BEGIN
оператор 1;
оператор 2;
…………..
оператор n;
END
ELSE
оператор;
2. IF <условие> THEN оператор
ELSE
BEGIN
оператор 1;
оператор 2;
…………..
оператор n;
END;
3. IF <условие> THEN
BEGIN
оператор 1;
оператор 2;
…………...
оператор n;
END
ELSE
BEGIN
оператор 1;
оператор 2;
………….
оператор n;
END;
Между словами BEGIN и END стоят операторы отделенные между собой точкой с запятой.
Перед словом ELSE точки с запятой быть не должно, так как это один оператор
IF…THEN…ELSE.
Вложенные операторы IF
Рассмотрим пример:
Определить, попадает ли число x в интервал от 7 до 21.
В данном примере необходимо проверить два условия и дать положительный ответ в том случае, когда они оба будут выполнены. Это можно записать следующим образом:
IF x>7 THEN
IF x<21 THEN
writeln (‘x попадает в интервал’)
ELSE writeln (‘x>=21’)
ELSE writeln (‘x<=7’);
Вложенность операторов IF не ограничена.
Ветвление по многим направлениям
Для замены конструкций из вложенных операторов IF…THEN в Паскаль-программах часто используются операторы
CASE…OF.
Данная конструкция является идеальной для обработки ситуаций с несколькими исходами, когда условие может принимать более двух значений. Примером может служить система учета успеваемости студентов в ВУЗе. Здесь имеется по крайней мере шесть альтернатив (1, 2, …, 5, нет отметки).
Фрагмент программы с использованием данной конструкции может выглядеть следующим образом:
CASE<порядковая переменная>OF
1: BEGIN
оператор 1;
………….
оператор n;
END;
2: BEGIN
оператор 1;
………….
оператор n;
END;
…………………
n: BEGIN
оператор 1;
………….
оператор n;
END;
ELSE
BEGIN
оператор 1;
………….
оператор n;
END;
В тексте одного фрагмента программы перед ELSE стоит точка с запятой, т.к. конструкция CASE…OF подразумевает, что за ней стоит символ (;).
Значение <порядковой переменной>, которая при выполнении программы определяет ветвь в операторе CASE…OF, подлежащую выполнению, должна иметь некоторый тип. Она может принадлежать любому из целочисленных типов, каждый из которых позволяет организовать перечисления некоторых объектов. Действительные типы переменных не относятся к классу порядковых.
Наряду с возможностью отличать каждую отдельную ветвь определенным значением <порядковой переменной> в конструкции CASE…OF имеется возможность объединять ветви. При объединении ветвь помечается списком значений. Значения в списке могут перечисляться через запятую, либо, если они идут подряд, можно указать два крайних значения, разделив их двумя точками.
CASE<порядковая переменная> OF
1, 2, 5: оператор 1;
3..17: оператор 2;
END;
В конструкции CASE…OF может присутствовать ELSE-часть. Она, как и любая ветвь, содержит последовательность операторов, ограниченных парой BEGIN-END.
Циклический вычислительный процесс
Циклом называется такой процесс, когда одно или ряд действий выполняется несколько раз подряд.
В иных задачах количество повторений некоторого действия или группы действий известно. В этих случаях цикл называется арифметическим или циклом с параметром (счетчиком), или перечисляемым циклом.
В том случае, когда количество повторений указанных действий не известно, а зависит от некоторых условий, говорят о цикле с условием выхода или итерационном цикле.
Перечисляемые циклы (циклы со счетчиком)
Конструкция, позволяющая реализовать данный цикл, имеет вид:
FOR…TO (downto)…DO
В этом операторе обязательно указываются следующие параметры:
- имя переменной цикла или счетчика цикла;
- некоторое начальное значение для переменной цикла, которое она получает при первом выполнении цикла;
- некоторое конечное значение цикла, достигнув которое повторение цикла прекращается.
Если записать конструкцию цикла, как
FORi : = nTOkDO
оператор;
то счетчик изменяется на 1 при каждом следующем исполнении оператора.