Лекция 9

Report
Цикл с параметрами
Операторы цикла в Паскале
Операторы цикла используются для
многократного повторения входящих в их
состав операторов.
В языке Турбо Паскаль различают операторы
цикла типа арифметической прогрессии
(оператор цикла со счетчиком – FOR) с шагом
+1 или -1 и операторы цикла итерационного
типа (WHILE и REPEAT).
Параметрический цикл
Оператор цикла типа арифметической прогрессии
используется, если заранее известно количество
повторений цикла и шаг изменения параметра цикла
+1 или –1.
 FOR<параметр цикла>:=<выражение1> TO
<выражение 2> DO < оператор( тело цикла) > ;– шаг
изменения параметра цикла +1;
 FOR<параметр цикла>:=<выражение1> DOWNTO
<выражение2> DO < оператор( тело цикла) > ; шаг
изменения параметра цикла -1;
где
< параметр цикла > - это переменная цикла любого
порядкового типа (целого, символьного,
перечисляемого, интервального);
< выражение 1> - начальное значение параметра цикла,
выражение того же типа, что и параметр цикла;
< выражение 2> -конечное значение параметра
цикла, выражение того же типа, что и параметр цикла;
< оператор> - тело цикла - простой или составной
оператор.
При использовании оператора
необходимо помнить :
1. Внутри цикла FOR нельзя изменять начальное
<выражение 1> , текущее или конечное <выражение 2>
значения параметра цикла.
2. Если в цикле с шагом +1 начальное значение <выражение
1> больше конечного <выражение 2>, то цикл не
выполнится ни разу. Аналогично для шага -1, если
начальное значение <выражение 1> меньше конечного
<выражение 12
3. После завершения цикла значение параметр цикла
считается неопределенным, за исключением тех случаев,
когда выход из цикла осуществляется оператором GOTO
или с помощью процедуры BREAK.
4. Телом цикла может быть другой оператор цикла.
Считаем….
Кол-во повторений
равно <выражение1><выражение 2>+шаг
Цикл под номером 1 будет выполняться для счетчика,
последовательно принимающего значения –10, –9, –8, –7, –6, –
5, –4,то есть 7 раз.
Цикл под номером 2 не будет выполняться ни разу, так как
начальное значение счетчика больше конечного.
Цикл под номером 3 будет выполняться 1 раз для счетчика,
равного 3.
Проверь себя….
Правильно записаны фрагменты под номерами 1 и 4.
Во фрагментах 2 и 3 в операторах тела цикла
производится изменение значение счетчика цикла.
Решаем задачи с
использованием цикла с
параметрами
начало
y:=1, 10
Kw:=sqr(y)
Y,kw
y:=10, 1
Kw:=sqr(y)
Y,kw
конец
Вывести на экран значение y2 (y=1,2,…,10)
в возрастающем и убывающем порядке
Program Ex1;
Uses crt;
Var kw, y: integer;
Begin
Clrscr;
For y:=1 to 10 do
Begin
kw:= sqr(y);
Writeln (y:3,kw:5);
End;
Writeln;
For y:=10 downto 1 do
Begin
kw:=sqr(y);
Writeln (y:3,kw:5);
End;
Readln;
End.
Выбрать наименьшие значение из 20
чисел, вводимых с клавиатуры:
начало
Ввести первое число Х
i:=2, 20
Ввести второе число Y
Да
Y<X
X:=Y
Вывести X
конец
Не
т
program min;
uses crt;
var i:integer;
x,y : real;
begin
clrscr;
writeln ('Enter first');
readln (x);
for i:=2 to 20 do
begin
write ('Enter next');
readln (y);
if y<x then x:= y
end;
writeln ('min=',x:6:2);
readln;
end.
Вычислить сумму
n чисел, вводимых
с клавиатуры.
program Exampl;
uses crt;
var i, n :integer;
x, sum : real;
begin
clrscr;
writeln (‘Enter n’);
readln (n);
sum:=0;
for i:=1 to n do
begin
write (‘Enter x’);
readln (x);
sum:=sum+ x;
end;
writeln (‘sum=’, sum:6:2);
readln;
end.
Среди всех двузначных чисел
найти те, сумма цифр которых
равна n (0<n≤18) и количество
этих чисел.
Program EX2;
uses crt;
var n, i, k, p1, p2:integer;
begin
clrscr;
k:=0;
writeln (‘Vvesti n’);
readln (n);
for i:=10 to 99 do
begin
p1:=i div 10;
p2:= i mod 10;
if (p1+ p2) =n then
begin
writeln (i);
k:=k+1;
end;
end;
writeln (‘Koli4estvo 4isel ’, k);
readln;
end.
Итоги урока
Для чего используются команды цикла?
Как в цикле записать команду присваивания, чтобы
она вычисляла сумму чисел? Количество?
Какое начальное значение должно быть у
переменной, в которой накапливаем сумму чисел?
Можно ли изменять значение переменной цикла в
теле цикла?
Можно ли изменять значение верхней границы
цикла в теле цикла?
Какие трудности возникли у вас в ходе урока?
Что вы посоветуете своим одноклассникам для
преодоления этих трудностей?
Задания для самостоятельного
выполнения
1.
2.
3.
Написать программу, которая вычисляет среднее
арифметическое вводимой с клавиатуры
последовательности дробных чисел. Количество
чисел должно задаваться во время работы
программы.
Написать программу, которая находит сумму целых
положительных чисел, которые больше 20, меньше
100, кратны 3 и заканчиваются на 2, 4 или 8.
Написать программу, которая выводит на экран
таблицу стоимости порций мороженного.
Количество
Пломбир
Каштан
Крем-брюле
1
0.80
1.60
1.00
2
1.60
3.20
2.00
...
10
8.00
16.00
10.00

similar documents