Цикл с параметрами
Операторы цикла в Паскале Операторы цикла используются для многократного повторения входящих в их состав операторов. В языке Турбо Паскаль различают операторы цикла типа арифметической прогрессии (оператор цикла со счетчиком – FOR) с шагом +1 или -1 и операторы цикла итерационного типа (WHILE и REPEAT).
Параметрический цикл Оператор цикла типа арифметической прогрессии используется, если заранее известно количество повторений цикла и шаг изменения параметра цикла +1 или –1. FOR := TO DO ;– шаг изменения параметра цикла +1; FOR := DOWNTO DO ; шаг изменения параметра цикла -1;
где - это переменная цикла любого порядкового типа (целого, символьного, перечисляемого, интервального); - начальное значение параметра цикла, выражение того же типа, что и параметр цикла; -конечное значение параметра цикла, выражение того же типа, что и параметр цикла; - тело цикла - простой или составной оператор.
При использовании оператора необходимо помнить : 1.Внутри цикла FOR нельзя изменять начальное, текущее или конечное значения параметра цикла. 2.Если в цикле с шагом +1 начальное значение больше конечного, то цикл не выполнится ни разу. Аналогично для шага -1, если начальное значение меньше конечного
Считаем…. Кол-во повторений Кол-во повторений равно - +шаг Цикл под номером 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 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. Вывести на экран значение y2 (y=1,2,…,10) в возрастающем и убывающем порядке
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
Вычислить сумму 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
Итоги урока Для чего используются команды цикла? Как в цикле записать команду присваивания, чтобы она вычисляла сумму чисел? Количество? Какое начальное значение должно быть у переменной, в которой накапливаем сумму чисел? Можно ли изменять значение переменной цикла в теле цикла? Можно ли изменять значение верхней границы цикла в теле цикла? Какие трудности возникли у вас в ходе урока? Что вы посоветуете своим одноклассникам для преодоления этих трудностей?
Задания для самостоятельного выполнения 1.Написать программу, которая вычисляет среднее арифметическое вводимой с клавиатуры последовательности дробных чисел. Количество чисел должно задаваться во время работы программы. 2.Написать программу, которая находит сумму целых положительных чисел, которые больше 20, меньше 100, кратны 3 и заканчиваются на 2, 4 или 8. 3.Написать программу, которая выводит на экран таблицу стоимости порций мороженного. КоличествоПломбирКаштанКрем-брюле