- •Программирование алгоритмов линейной структуры
- •Var Dlina,Shirina,s:real;
- •Var a, b, dop: integer;
- •Программирование алгоритмов разветвляющейся структуры
- •Var yfx:real;
- •Var max,X,y:real;
- •Программирование алгоритмов циклической структуры
- •Var m,n:Longint;
- •Var m,n,a,I:integer; {описание переменных}
- •Параметр уменьш. На 1
- •Var ch:char;
Var yfx:real;
Begin
writeln('x= ');
readln(x); {ввод х}
if (x>0)and(x<2) then y:=Sqr(cos(x)) else y:=1-sin(sqr(x));
{вычисление значения у}
writeln(‘y(’,x:8:2,’)=’,y:8:2); {вывод значения у на экран}
readln; {пауза}
End.
Пример.
Написать программу, которая в переменную max записывает наибольшее из двух чисел х и у.
Решение:
Program wetw2;
Var max,X,y:real;
Begin
write(‘x= ’);
readln(x); {ввод х}
write(‘y= ‘);
readln(y); {ввод у}
max:=y;
jf x>y then max:=x;
{если х>у max:=x, иначе значение max не меняется}
writeln(‘max=’,max:8:2); {вывод значения переменной max на экран}
readln; {пауза}
End.
Оператор выбора (оператор варианта). Условный оператор при выполнении программы позволяет выбрать одно из двух возможных действий. Если же необходимо выполнить много взаимоисключающих проверок, то удобнее воспользоваться оператором выбора (варианта).
Общий вид оператора:
CASE <селектор> OF
<список меток варианта>: <оператор 1>;
<список меток варианта>: <оператор 2>;
<список меток варианта>: <оператор З>;
ELSE
<оператор N>
END;
Селектор представляет собой выражение скалярного типа (но не вещественного). Выполнение оператора варианта начинается с вычисления значения селектора. Затем для исполнения выбирается оператор, одна из меток которого совпадает с полученным значением. После выполнения этого оператора (он может быть простым или составным) управление передается на оператор, следующий за оператором варианта. Если же значение селектора не совпало ни с одной из меток, то выполняется оператор, стоящий после служебного слова ELSE.
Вообще говоря, ветвь ELSE может и отсутствовать.
Рассмотрим пример использования оператора варианта. Заметим сразу, что оператор варианта удобно использовать для ввода и вывода значений перечисляемых скалярных типов данных. Например, в следующем фрагменте программы с внешнего носителя вводится порядковый номер объекта из списка значений перечисляемого типа COLOR (цвет). Оператор CPSE присваивает соответствующее значение переменной CLR. Аналогично осуществляется вывод значений CLR при помощи оператора варианта.
Program cas;
Type color = (red, blue, black);
Var x: integer;
Clr: color;
Begin
Write ('Введите порядковый номер /0-1-2/ => ');
Readln (x);
Case x of
0: clr:=red;
1: clr:=blue;
2: clr:=black;
else
writeln ('Неправильный ввод')
end;
Write ('цвет =');
Case clr of
0: writeln('red');
1: writeln('blue');
2: writeln('black');
end;
End.
Протокол работы программы:
Введите порядковый номер /0-1-2/ —> 2
цвет = black
Программирование алгоритмов циклической структуры
Понятие цикла
Циклами называются синтаксические конструкции, позволяющие повторять последовательность операторов, записанную в тексте программы лишь однажды. Данная последовательность называется телом цикла. Каждое выполнение тела цикла называется итерацией. Иначе говоря, циклом называется последовательность действий, выполняемых многократно, каждый раз при новых значениях параметров.
В языке Паскаль возможны три разновидности циклов. Некоторые разновидности являются взаимозаменяемыми, однако для повышения удобочитаемости программы следует использовать ту разновидность, которая подходит наилучшим образом в контексте конкретного алгоритма.
На данном занятии рассмотрим оператор цикла с предусловием.
Оператор цикла с предусловием
Если перед каждой итерацией цикла в алгоритме предусмотрена проверка условия, при ложности которого итерация не имеет смысла, то такой цикл называется циклом с предусловием. Цикл с предусловием иногда называют циклом «пока».
Если в теле цикла требуется выполнить не один оператор, а целую последовательность операторов, то её следует заключить в операторные скобки Begin-End.
Такой цикл, например, уместен при описании процесса сбора урожая с яблони. То есть «пока есть яблоко – сорвать его». В компьютерных алгоритмах цикл с предусловием используют при чтении информации из файла, где чтение новой записи возможно пока файл не завершился.
Для того чтобы программа смогла выйти из цикла, необходимо, чтобы операции в теле цикла прямо или косвенно влияли на условие его продолжения.
Структура:
WHILE <условие> DO <оператор>;
WHILE, DO — зарезервированные слова (пока (выполняется условие) делать)
<условие> — выражение логического типа
<оператор> — произвольный оператор Турбо Паскаля
Порядок работы оператора WHILE (рис. 1):
Рис. 1 Алгоритм циклической структуры с предусловием
Пример.
Дано натуральное число n. Подсчитать количество цифр данного числа.
Решение:
Program Example;
