Циклический алгоритм Иванова Елена Петровна, учитель информатики и ИКТ МАОУ СОШ №76
Цели: Повторить тему «разветвляющийся алгоритм». Познакомиться с понятием циклического алгоритма, видами циклических алгоритмов. Применить изученный материал на практике при решении задач.
Повторение Разветвляющийся алгоритм – алгоритм, в котором действие может идти по одному из нескольких заранее предусмотренных путей. При однократном выполнении разветвляющегося алгоритма существуют действия,… которые не выполняются.
Виды ветвлений
Синтаксис условного оператора: If Then [Else ]; Другие операторы: … Readln(a, b); Writeln(‘ x = ’,x); a:=a+b; Повторение оператор ввода оператор вывода оператор присваивания
Запишите условный оператор, в котором значения переменной С вычисляется по формуле А+В, если А- чётное и А*В, если А- нёчетное. Повторение IF A mod 2 = 0 Then C:=A+B Else C:=A*B;
Имеется условный оператор IF d10 THEN Writeln(‘УРА!’) ELSE Writeln(‘ЖАЛЬ!’); сделайте замену 1. IF d=10 THEN Writeln(‘УРА!’) ELSE Writeln(‘ЖАЛЬ!’); 2. IF not (d=10) THEN Writeln(‘УРА!’) ELSE Writeln(‘ЖАЛЬ!’); 3. IF not (d=10) THEN Writeln(‘ЖАЛЬ!’) ELSE Writeln(‘УРА!’); 4. IF not (d10) THEN Writeln(‘ЖАЛЬ!’) ELSE Writeln(‘УРА!’); Повторение
Какими будут значения переменных j и k после выполнения условного оператора IF j>k THEN j:=k-2 ELSE k:=k-2; если исходные значения переменных равны j=3, k=5; j=3, k=3; j=3, k=2; Повторение j=3, k=3 j=3, k=1 j=1, k=2
Чему равны значения переменных А и В после выполнения последовательности действий A:= 15 div (16 mod 7) B:=34 mod A * 5 – 29 mod 5 *2 Повторение А = 7, В = 22
Циклический алгоритм Алгоритм, в котором некоторая последовательность действий может повторяться неоднократно, называется циклическим.
Виды циклов Цикл с предусловием Последовательность действий, которая может выполняться в цикле неоднократно, называется телом цикла.
Цикл с параметром(с переменной) Синтаксис оператора For J:=Nz to Kz do ; или For J:= Kz dowto Nz do ; Блок операторов выполняется |Kz-Nz+1| раз
Найти сумму всех двузначных чисел. S:=S+J Program zadacha3; Var j : integer; Begin S:=0; FOR J:=10 TO 99 DO S:=S+J; Writeln(‘Сумма всех двузначных чисел:’, S); End. нач кон S:=0 J:=10 to 99 do S IF J MOD 2 = 0 THEN S:=S+J четных
Цикл с предусловием Синтаксис оператора While do ; Блок операторов выполняется пока условие принимает значение истина
Используем цикл с предусловием WHILE S:=0 нач J:=10 S:=S+J J:=J+1 S Program zadacha3; Var j,s:integer; Begin S:=0; J:=10; WHILE J100 DO Begin S:=S+J; J:=J+1; End; Writeln(’Сумма всех двузначных чисел:’, S); End. да J100 кон
Цикл с постусловием Синтаксис оператора Repeat ; Until ; Блок операторов выполняется до тех пор, пока условие принимает значение ложь
Цикл с постусловием REPEAT Program zadacha3; Var j,s:integer; Begin S:=0; J:=10; REPEAT S:=S+J; J:=J+1 UNTIL J=100 ; Writeln(‘Сумма всех двузначных чисел:’, S); End.
S:=S+J S:=0 нач J:=10 S:=S+J J:=J+1 J=100 S кон Цикл с параметром Цикл с предусловием Цикл с постусловием
Домашнее задание. Конспект в тетради. §39 Решить задачу. Из всех двузначных чисел вывести те, сумма цифр которых равна N (N – вводится с клавиатуры).