Transcript Лекция 9
Цикл с параметрами
Операторы цикла в Паскале
Операторы цикла используются для многократного повторения входящих в их состав операторов. В языке Турбо Паскаль различают операторы цикла типа арифметической прогрессии (оператор цикла со счетчиком типа (
WHILE
и
REPEAT
).
– FOR
) с шагом +1 или -1 и операторы цикла итерационного
Параметрический цикл
Оператор цикла типа арифметической прогрессии
используется, если заранее известно количество повторений цикла и шаг изменения параметра цикла +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.
X:=Y начало Ввести первое число Х i:=2, 20 Ввести второе число Y
Да
Y Не т Выбрать наименьшие значение из 20 чисел, вводимых с клавиатуры: 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); end; if y Вычислить сумму 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 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; readln; end. end; end; writeln (‘Koli4estvo 4isel ’, k); Для чего используются команды цикла? Как в цикле записать команду присваивания, чтобы она вычисляла сумму чисел? Количество? Какое начальное значение должно быть у переменной, в которой накапливаем сумму чисел? Можно ли изменять значение переменной цикла в теле цикла? Можно ли изменять значение верхней границы цикла в теле цикла? Какие трудности возникли у вас в ходе урока? Что вы посоветуете своим одноклассникам для преодоления этих трудностей? 1. 2. 3. Написать программу, которая вычисляет среднее арифметическое вводимой с клавиатуры последовательности дробных чисел. Количество чисел должно задаваться во время работы программы. Написать программу, которая находит сумму целых положительных чисел, которые больше 20, меньше 100, кратны 3 и заканчиваются на 2, 4 или 8. Написать программу, которая выводит на экран таблицу стоимости порций мороженного. Количество 1 2 . . . 10 Пломбир 0.80 1.60 8.00 Каштан 1.60 3.20 16.00 Крем-брюле 1.00 2.00 10.00Итоги урока
Задания для самостоятельного выполнения