Просмотр содержимого документа
«Презентация по теме "Циклические структуры в Паскале"»
Циклические структуры в Паскале
Цикл – многократно повторяемая последовательность действий (операторов).
Тело цикла – оператор или несколько операторов, многократно повторяющихся в цикле.
Начальные присвоения – присвоение начальных значений величинам, входящих в состав тела цикла.
В Паскале различают 3 вида циклических структур:
1. Цикл с предусловием.
2. Цикл с постусловием.
3. Цикл с параметром.
Цикл с предусловием
Начальные присвоения
нет
да
условие
Выход из цикла
Тело цикла
do оператор ; " width="640"
Цикл с предусловием в Паскале
While условие do оператор ;
Задача 1. Нахождение наибольшего общего
делителя (НОД) двух целых чисел.
Шаг поиска
НОД
1
a
114
2
b
Разность
48
66
3
66
48
18
4
5
18
48
18
18
30
30
6
12
12
6
7
6
12
6
6
6
0
b then a:=a-b else b:=b-a; writeln(‘Otvet:’,a); END. " width="640"
Program NOD;
var a,b:integer;
BEGIN write(‘Zadaite a, b: ’);
readln(a,b);
while ab do
if ab then a:=a-b
else b:=b-a;
writeln(‘Otvet:’,a);
END.
Задача 2. Нахождение суммы первых N
натуральных чисел.
S = 1 + 2 + 3 + 4 + … + N
Program Sum;
var n, i , S:integer;
BEGIN write(‘Zadaite n: ’);
readln(n);
S:=0; i:=1;
while i = n do
begin S:=S + i;
i:=i + 1;
end;
writeln(‘S= ’,S);
END.
Домашнее задание
§ 4. 5 стр. 77-79
Р.Т. № 5 стр. 80
Цикл с постусловием
Начальные присвоения
Тело цикла
условие
нет
да
Выход из цикла
; until условие ; " width="640"
Цикл с постусловием в Паскале
repeat
операторы ;
until условие ;
Задача 1. Последовательно вводится N целых
чисел. Найдите сумму всех введенных
положительных чисел.
0 then S:=S + x; i:=i + 1; until i n; writeln(‘S= ’,S); END. " width="640"
Program Sum_pol;
var n, i , S, x: integer ;
BEGIN write(‘Zadaite n:’);
readln(n);
S:=0; i:=1;
repeat
write(’Zadaite х: ’);
readln(x);
if x 0 then S:=S + x;
i:=i + 1;
until i n;
writeln(‘S= ’,S);
END.
Задача 2 . Напишите программу вычисления
выражения
(3 – х)(6 – х)(9 – х) · … · (21 – х)
21; writeln(‘P= ’,P); END. " width="640"
Program proizvedenie;
var i : byte ;
P, x: real ;
BEGIN write(‘Zadaite x:’);
readln(x);
P:=1; i:=3;
repeat
P:=P * (i – x);
i:=i + 3;
until i 21;
writeln(‘P= ’,P);
END.
Домашнее задание
§ 4. 5 стр. 79-81
Р.Т. № 9 -11 стр. 83-84
Цикл с параметром
Начальные присвоения
Х: нач. знач. .. кон. знач.
Тело цикла
Продолжение программы
:= нач. значение to кон. значение do оператор ; Данный цикл работает на возрастание значений параметра. Чтобы цикл работал на убывание, необходимо служебное слово to заменить на downto " width="640"
Цикл с параметром
for параметр := нач. значение to кон. значение
do оператор ;
Данный цикл работает на возрастание значений параметра.
Чтобы цикл работал на убывание, необходимо служебное слово to заменить на downto
Задача 1. Вывести на экран монитора квадраты
первых десяти натуральных чисел.
Program Kvadr;
var i: byte ;
x: integer ;
BEGIN
for i:=1 to 10 do
begin x := sqr(i);
writeln(i , x);
end;
END.
Задания для самостоятельной работы
Задача 1. Среди N произвольно введенных чисел
подсчитать количество отрицательных
чисел.
Задача 2 . Вычислить факториал N !
N! = 1 · 2 · 3 · 4 · … · N
Домашнее задание
§ 4. 5
Р.Т. № 16 - 17 стр. 90-91