ВУЗ: Пермский национальный исследовательский политехнический университет
Категория: Учебное пособие
Дисциплина: Информатика
Добавлен: 19.10.2018
Просмотров: 12741
Скачиваний: 132
66
Структура программы на языке Pascal
Программа на языке Pascal состоит из заголовка программы
и тела программы (блока), оканчивающегося точкой. В свою
очередь, блок содержит разделы описаний и раздел операторов:
Структура программы
Пример
Заголовок программы
program Z1;
Оператор uses
uses GraphABC;
Тело
про
грамм
ы
(
блок
)
Описание
данных
1. Раздел описания меток
(label)
label 10, 20;
2. Раздел описания констант
(const)
const n=10;
3. Раздел описания типов
(type)
type vector=array[1..n]
of real;
4. Раздел описания переменных
(var)
var x, y: real;
i, j: integer;
a, b: vector;
5. Раздел описания процедур
и функций (procedure,
function)
procedure Tab;
.........
Описание
действий
6. Раздел операторов
begin
оператор 1;
оператор 2;
.........
оператор N;
end.
Раздел операторов является основным и присутствует в лю-
бой программе. Раздел uses и разделы описаний (все или часть)
могут отсутствовать. Разделы const, type, var могут следо-
вать друг за другом в любом порядке.
В { } или (* *) записываются комментарии к программе.
Комментарий не определяет никаких действий программы и яв-
ляется лишь пояснительным текстом. Комментарием также счи-
тается любая последовательность символов после символов //
и до конца строки.
Операторы ввода/вывода
Ввод данных – это передача информации от внешних уст-
ройств в оперативную память. Вводятся, как правило, исходные
67
данные решаемой задачи. Вывод – обратный процесс, когда дан-
ные (результаты решения задачи) передаются из оперативной
памяти на внешние устройства.
Оператор ввода имеет следующий формат:
read(список ввода);
Список ввода – это последовательность имен переменных,
разделенных запятыми. При выполнении этого оператора проис-
ходит остановка работы компьютера, пользователь должен вве-
сти с клавиатуры необходимые значения переменных в том по-
рядке, в каком они записаны в списке ввода, разделяя их пробе-
лами. При этом вводимые значения отображаются на экране.
Заканчивается ввод нажатием клавиши ENTER.
Например,
read(a,b,c);
Другой вариант оператора ввода имеет вид
readln(список ввода);
Этот оператор отличается тем, что после считывания по-
следнего значения в списке ввода для одного оператора readln
данные для следующего оператора ввода будут считываться
с начала новой строки.
Оператор вывода имеет следующий формат:
write(список вывода);
Список вывода представляет собой выражения различных
типов, разделенные запятыми.
Например,
write(25);
выводится целая константа
write('Результаты');
выводится строковая константа
write(2*a+1);
выводится значение выражения
write('сумма=', s);
выводится список, состоящий из стро-
ковой константы и значения перемен-
ной s
write(a1, ' ',a2, ' ',a3); выводятся значения переменных
68
Другая форма оператора вывода
writeln(список вывода);
В этом случае после вывода всех значений из списка выво-
да происходит переход на новую строку. Оператор writeln без
параметров означает переход на новую строку.
Рекомендуется ввод данных оформлять, например, сле-
дующим образом:
write('введите
коэффициенты
квадратного
уравнения');
readln(a,b,c);
Оператор присваивания имеет следующий вид:
переменная:=выражение;
Оператор присваивания заменяет текущее значение пере-
менной значением выражения.
Переменная и выражение должны быть одного типа. Ис-
ключение составляет случай, когда выражение имеет целый тип,
а переменная – вещественный.
Пример. Поменять местами значения переменных a и b (при
этом используется дополнительная переменная p).
p:=a; a:=b; b:=p;
Программирование алгоритмов разветвляющейся
и циклической структуры
Условный оператор
В языке Pascal управляющая структура языка, проверяющая
выполнение некоторого условия и позволяющая в случае вы-
полнения или невыполнения этого условия произвести ветвле-
ние алгоритма, реализуется с помощью условного оператора,
полная форма которого следующая:
if условие then оператор1 else оператор2;
Здесь if – если; then – то; else – иначе. Операторы 1 и 2 могут
быть как простыми, так и составными, представляющими собой
69
определенную последовательность операторов. Составной опера-
тор следует заключать в операторные скобки из слов begin и end.
В качестве условия указывается некоторое логическое вы-
ражение. Если условие оказывается истинным, то выполняется
оператор1, в противном случае выполняется оператор 2.
Пример вычисления наибольшего (t1) и наименьшего (t2)
значения из двух чисел a и b:
if a>b then
begin
t1:=a; t2:=b
end
else
begin
t1:=b; t2:=a
end;
Краткая форма условного оператора
if условие then оператор;
В этом случае, если условие истинно, выполняется опе-
ратор, в противном случае происходит переход к следующему
оператору программы.
Операторы цикла
В языке Pascal циклические алгоритмы могут быть записа-
ны с помощью следующих операторов.
Цикл с параметром (с шагом +1)
for параметр:=начальное значение to конеч-
ное значение do оператор;
Здесь for, to, do – служебные слова. В начале выполнения
цикла параметру присваивается начальное значение. За-
тем значение параметра цикла сравнивается с конечным
значением. Если параметр цикла меньше или равен этому
значению, то выполняется тело цикла (после чего значение па-
70
раметра увеличивается на единицу), в противном случае вы-
полнение цикла заканчивается.
Если тело цикла – составной оператор, т.е. содержит более
одного оператора, то оно оформляется с использованием опера-
торных скобок begin...end.
Цикл с параметром (с шагом –1)
for параметр:=начальное значение downto ко-
нечное значение do оператор;
В этом случае параметр цикла изменяется по убыванию,
т.е. при каждом повторении цикла параметр уменьшает свое
значение на единицу.
Цикл с предусловием (цикл-ПОКА)
while условие do оператор;
Здесь while (пока); do (делать) – служебные слова. Условие
представляет собой выражение логического типа, а оператор по-
сле do является телом цикла. Если условие истинно, то выпол-
няется тело цикла, в противном случае происходит выход
из цикла.
Для того чтобы цикл не стал бесконечным (не зациклился),
необходимо наличие в теле цикла оператора, влияющего на зна-
чение логического выражения.
Если тело цикла – составной оператор, т.е. содержит более
одного оператора, то оно оформляется с использованием опера-
торных скобок begin...end.
Цикл с постусловием (цикл-ДО)
repeat оператор until условие;
Здесь repeat (повторять); until (до) – служебные слова. Если
условие истинно, то происходит выход из цикла, т.е. оператор
(тело цикла) выполняется до тех пор, пока условие ложно.