Полякова
Лариса Александровна
преподаватель
информатики
Государственного
профессионального образовательного учреждения «Харцызский технологический
техникум» Государственного образовательного учреждения высшего
профессионального образования «Донецкий национальный технический университет»
Паскаль. Циклический алгоритм
Цикл – это вид управляющей структуры, что
позволяет несколько раз повторить заданную последовательность операторов.
Использование циклов позволяет в полной мере реализовать быстродействие компьютеров
(иначе, для одной секунды работы компьютера нужно было бы писать десятки тысяч
строк линейных программ).
В
языке Паскаль существует три основных разновидности циклов:
• цикл с предусловием while;
• цикл с условием после repеаt;
• цикл с заданным числом повторений (с параметром) – for.
Общий вид цикла с предусловием while:
while
<выражение> do <оператор >;
где
<выражение> - любое выражение логического типа (что производит в
результате True или False); <оператор > - оператор
(составной оператор) языка Паскаль. Если <выражение> имеет результат True
, выполняется <оператор >. В противном случае выполнение цикла
завершается.
Общий вид цикла
с условием после repеаt:
repeat
<тело цикла>
until <выражение>;
где <тело
цикла> - любая последовательность операторов, которая повторяется до тех
пор, пока <выражение> не примет значение True .
Три основные
отличия цикла repeat от цикла while:
- Цикл repeat выполняется хотя бы один
раз, потому что проверка выражения осуществляется в конце тела цикла. В
цикле while, если значение выражения False, тело его пропускается
сразу.
- Цикл repeat выполняется, пока
выражение не станет True. При замене одного типа цикла на другой
необходимо на это обращать особое внимание.
- В цикле repeat можно не ограничивать
тело цикла операторными скобками begin-end, потому что эту роль
выполняют repeat-until.
Общий вид цикла с заданным количеством повторений for:
for <счетчик цикла>: = <выражение 1> to <выражение
2> do <тело цикла>,
где
<счетчик цикла> - переменная любого типа; <выражение 1> и
<выражение 2> - выражения того же типа; <тело цикла> - любая
последовательность операторов, которая повторяется до тех пор, пока <счетчик
цикла> не примет значение <выражение 2>. <Счетчик цикла>
увеличивается на 1 после каждого выполнения цикла. Для уменьшения на 1 ключевое
слово to заменяется на downto.
Недостатки цикла for:
• Возможность
уменьшить или увеличить значение счетчика только на 1;
• Заранее должно
быть известно число повторений цикла.
Преимущества цикла for:
• Краткость;
• Возможность
использования для <счетчик цикла> различных типов данных.
Пример. Построить таблицу значений переменной
у.
Цикл
с предусловием
xn=1; xk=2; hx = 0,2
program pr5;
var
x, xn,
xk, hx,y:real;
begin
write ( ‘xn=’); readln
(xn);
write ( ‘xk=’);
readln (xk);
write ( ‘hx=’);
readln (hx);
x:= xn;
writeln (‘ x * y ‘);
writeln (‘ -------‘);
while x<= xk do
begin
y:=SQRT(2*x);
writeln (x:5:2,’*’,y:7:3);
x:=x+ hx
end;
writeln
(‘ -------‘)
end.
Цикл условием после
program k2;
var
x, xn, xk,
hx,y:real;
begin
write( ‘xn=’); readln
(xn);
write( ‘xk=’); readln
(xk);
write( ‘hx=’); readln
(hx);
writeln(‘ -------‘);
writeln(‘ x * y ‘);
writeln(‘ -------‘);
x:=xn;
repeat y:=sqrt(2*x);
writeln
(x:4:2,’*’,y:6:3);
x:=x+ hx
until x>xk;
writeln(‘ -------‘)
end.
Цикл с заданным числом повторений– for
program k3;
var
xn,xk,hx,x,y:real; i,n:integer;
begin
write(‘xn=’);readln(xn);
write(‘xk=’);readln(xk);
write(‘hx=’);readln(hx);
n:=round((xk-xn)/hx)+1;
writeln(‘------------‘);
writeln(‘x * y‘);
writeln(‘------------‘);
x:=xn;
for i:=1 to n do begin
y:=sqrt(2*x);
writeln(x:4:2,’ * ‘,y:6:3);
x:=x+hx
end;
writeln(‘------------‘) end.
Литература
- Малярчук С.Н.,
Информатика в определениях, таблицах и схемах. 10-11 классы. -7-е изд.-
Харьков: Веста: Издательство «Ранок», 2008.-112 с.- (Серия «Спасатель»).
- Епанешников А.М., Епанешников В.А.,
Программирование в среде Turbo Pascal 7.0.- М.:
«ДИАЛОГ-МИФИ», 1993.-288 с.
- Новиков В.С., Парфилова Н.И., Пылькин А.Н. –
Паскаль: Учеб.пособие для сред. спец. учеб. заведений - М.: Высш. Шк..,
1990-223 с.:ил.- (Алгоритмические языки в техникуме)
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.