
Тема 3.
Что спрашивать у студента из теории?
Инструкция циклического повторения WHILE-DO.
Инструкция циклического повторения REPEAT-UNTIL.
Инструкция циклического повторения FOR-TO-DO.
Инструкция циклического повторения WHILE-DO.
(Шероховатую поверхность доски строгать рубанком пока она не станет ровной.)
Инструкция предназначена для организации циклического повторения однотипных действий. Число повторений определяется условием.
Блок-схема:
Диаграмма:
Примеры:
{вывод арабских цифр}
i := 0; while i<10 do
begin write(i:3); i:=i+1 end ;
i := -1; while i<10 do write(Inc(i):3) ;
i := 0; while true do {вывод арабских цифр}
begin
write(i:3);
i:=i+1;
if i>9 then break {немедленное завершение цикла}
end ;
{вывод цифр в обратном порядке}
i := 10; while i>=0 do begin i:=i-1; write(i:3) end ;
{s = sin(x)}
i:= 0; a:= x; x:= x*x;
while abs(a) > 0 do
begin
s:= s+a; i:=i+1; a:= -a*x/(2*i*(2*i+1))
end ;
{вывод строк таблицы функции fun(x),}
x := x0; while x <= x9 do {x меняется от x0 до x9 с шагом h}
begin
write(‘| ‘,x:10:3, ‘ | ‘,fun(x):15:6, ‘ |‘);
x:=x+h;
end ;
| 0.100 | 0.788400 | от 0.1 до 0.5 с шагом 0.1
| 0.200 | 0.789900 |
| 0.300 | 0.797890 |
| 0.400 | 0.818360 |
| 0.500 | 0.828400 |
В теле цикла могут быть любые инструкции языка:
i := 0; while i<10 do {вывод таблицы умножения}
begin
j := 0;
while j<10 do
begin
write(i:1,’*’,j:1,’=’,i*j:2);
i:=i+1
end ;
j:=j+1 {цикл в цикле}
end ;
Придумать задачи на составления таблиц функций.
Придумать задачи на приближенные вычисления значения функций представленных степенными рядами (без применения подпрограмм).
Инструкция циклического повторения REPEAT-UNTIL.
Инструкция предназначена для организации циклического повторения однотипных действий.
Блок-схема:
Синтаксическая диаграмма имеет вид:
Примеры:
i := 0; repeat write(i:3); i:=i+1 until i> 9 ; {вывод арабских цифр}
i := 9; repeat write(i:3); i:=i -1 until i< 0 ; {вывод цифр в обратном порядке}
Все программы предыдущей темы переписать через цикл REPEAT-UNTIL .
Инструкция циклического повторения FOR-TO-DO.
Инструкция предназначена для организации циклического повторения однотипных действий.
Блок-схема:
Синтаксическая диаграмма имеет вид:
Примеры:
var i, k, m : integer; с, s : char;
k := 5 ; for i := 1 to 2*k-1 do m := i ; { левая граница 1, правая 9 }
for i := k+4 downto k-4 do m := i ; { левая граница 9, правая 1 }
for c := ‘a’ to ‘d’ do s := c ; { левая граница ‘a’, правая ‘d’ }
for c := ‘z’ downto ‘a’ do s := c ; { левая граница ‘z’, правая ‘a’ }
Пока переменная не «вышла» за правую границу диапазона, она поочередно будет присваивать следующее (to) или предыдущее (downto) из его значений и при этом, всякий раз, будет выполняться инструкция, записанная после слова do.
Примеры:
for i := 0 to 9 do write(i:3) ; {вывод арабских цифр}
for i := 9 downto 0 do write(i:3) ; {вывод цифр в обратном порядке}
for c := ‘a’ to ‘z’ do write(c) ; {вывод латинских букв}
for c := ‘z’ downto ‘a’ do write(c:3) ; {вывод букв в обратном порядке}
{вывод букв и их кодов}
for c := ‘a’ to ‘z’ do
begin write(c:3) ; write(Ord(c):3) end;
Все программы предыдущей темы переписать через цикл REPEAT-UNTIL .
Итог. Контрольная работа по всем разделам темы 3.