Презентация по информатике на тему Цикл с параметром
* Программирование на языке Паскаль Тема 4. Циклы program SUM;
uses crt;
label 1;
var s,k :integer;
begin
clrscr;
k:=0;s:=0;
1: if k<=10 then
begin
s:=s+k;
k:=k+1;
goto 1;
end;
write('s=',s);
end. Что выполняет данная программа? ? * Циклы Цикл – это многократное выполнение одинаковой последовательности действий.цикл с известным числом шаговцикл с неизвестным числом шагов (цикл с условием)Задача. Вывести на экран 5 раз слово «Привет».Особенность: одинаковые действия выполняются 5 раз. Можно ли решить известными методами? ? * Цикл с переменной for <переменная> := <начальное значение> to <конечное значение> do begin {тело цикла} end; Увеличение переменной на 1: for <переменная> := <начальное значение> downto <конечное значение> do begin {тело цикла} end; Уменьшение переменной на 1: * Циклы program qq;var i: integer;begin for i:=1 to 5 do writeln('Привет'); end. «Для всех i от 1 до 5 делай …» for i:=1 to 5 do Если в цикле более одного оператора: for i:=1 to 5 do begin write('Привет'); writeln(', Вася!'); end; begin end; Что получится? ? * Цикл с переменной Особенности:переменная цикла может быть только целой (integer)шаг изменения переменной цикла всегда равен 1 (to) или -1 (downto)если в теле цикла только один оператор, слова begin и end можно не писать:если конечное значение меньше начального, цикл (to) не выполняется ни разу (проверка условия в начале цикла, цикл с предусловием) for i:=1 to 8 do writeln('Привет'); * Цикл с переменной Особенности:в теле цикла не разрешается изменять переменную цикла (почему?)при изменении начального и конечного значения внутри цикла количество шагов не изменится: n := 8;for i:=1 to n do begin writeln('Привет'); n := n + 1;end; нет зацикливания * Сколько раз выполняется цикл? a := 1;
for i:=1 to 3 do a := a+1; a = 4 a := 1;
for i:=3 to 1 do a := a+1; a = 1 a := 1;
for i:=1 downto 3 do a := a+1; a = 1 a := 1;
for i:=3 downto 1 do a := a+1; a = 4 * Циклы Задача. Вывести на экран квадраты и кубы целых чисел от 1 до 8 (от a до b).Особенность: одинаковые действия выполняются 8 раз. Можно ли решить известными методами? ? i := 1; { очередное число } i2 := i*i;{ его квадрат } i3 := i2*i;{ куб } writeln(i:4, i2:4, i3:4);i := 2;... А если начальное и конечное значения вводятся с клавиатуры? ? * Программа program qq;
var i, i2, i3: integer;
begin
for i:=1 to 8 do begin
i2 := i*i;
i3 := i2*i;
writeln(i:4, i2:4, i3:4);
end;
end. переменная цикла начальное значение конечное значение * for i:=1 to 9 do begin
if ??? then begin
i2 := i*i;
i3 := i2*i;
writeln(i:4, i2:4, i3:4);
end;
end; Как изменить шаг? Задача. Вывести на экран квадраты и кубы нечётных целых чисел от 1 до 9.Особенность: переменная цикла должна увеличиваться на 2.Проблема: в Паскале шаг может быть 1 или -1.Решение: i mod 2 = 1 i2 := i*i;
i3 := i2*i;
writeln(i:4, i2:4, i3:4); выполняется только для нечетных i * Задания «8»: Ввести a и b и вывести квадраты и кубы чисел от a до b. Пример:Введите границы интервала:4 6 4 16 64 5 25 125 6 36 216«10»: Вывести квадраты и кубы 10 чисел следующей последовательности: 1, 2, 4, 7, 11, 16, … Пример: 1 1 1 2 4 8 4 16 64 ... 46 2116 97336