«Программирование циклических алгоритмов» Учитель информатики гимназии 12 г. Тюмени Бугаева Елена Викторовна
Циклические алгоритмы Циклический алгоритм- это алгоритм составленный с использованием многократных повторений одних и тех же действий.
Блок-схемы циклического алгоритма оператор да 1) Цикл с предусловием 2) Цикл с постусловием 3) Цикл с параметром i=1,(к),n действия Условие цикла
Циклический алгоритм (на примере поиска Золушки)
В том случае когда число повторений цикла заранее известно, такие циклы называют определёнными. Циклы Когда заранее неизвестно, сколько раз придётся повторить одно и то же действие, такие циклы называют неопределёнными. Сумма денег S положена в банк под процент Т. Надо установить, во что превратиться эта сумма через 1, 2, 3, 4 и 5 лет. Сумма денег S положена в банк под процент Т, но нужно узнать, через сколько лет эта сумма удвоится.
Оператор цикла с предусловием Здесь выполняется только в том случае и до тех пор, пока истинно. Если с самого начала условие имеет значение ЛОЖЬ, оператор цикла не выполнится ни разу. while do ; Здесь while (пока), do (делать) - зарезервированные слова
Пример. Вычисление суммы п Program SUM_1; Const n=100; Var i: Integer; {Переменная-контейнер для всех чисел} s: Real; Begin S:=0; i:=l; While i
Оператор цикла с постусловием в этом цикле условие проверяется всегда после выполнения оператора, если оно ЛОЖНО - оператор снова выполняется, иначе - цикл прекращается. оператор да Repeat ; ; Until ; Здесь Repeat (повторять до тех пор), Until (пока не будет выполнено условие) - зарезервированные слова.
Пример. Вычисление суммы п Program SUM_2; Var i: Integer; s: Real; Begin s:=0; i:=l; Repeat {начало цикла} s:=s + i; i:=i + 1; Until i>100; {конец цикла} Writeln ('сумма 100-а элементов = ', s:10:5) ; End. Как изменится программа если i=2? Как изменится программа если к I мы прибавим 2?
Оператор цикла с параметром Этот оператор используют, когда количество повторений цикла известно заранее. Условие состоит из параметров: i-переменный параметр 1 -Начальное значение цикла; n-конечное значение цикла; For := То Do ; Здесь For (для), То (до), Do (выполнить) - зарезервированные слова. Служебное слово То указывает направление изменения параметра увеличение на 1. Если необходимо, чтобы параметр уменьшался на 1, то используют слово Downto. i=1,n действия Условие цикла
Пример. Вычисление суммы п Program SUM_3; Var i:integer; s:real; Begin S : = 0 ; for i:=l to 100 do S:=s + i; WriteLn (сумма 100-а элементов =', s:10:5); End.
Д.З. 1. Лекционный материал.
Повторение
3) Определите значение переменной А после выполнения следующего алгоритма: 1) 5 2) 11 3) 23 4) 47 Ответ 3
1)Определите значение переменной В после выполнения следующего фрагмента алгоритма: 1)6 2)5 3)3 4)4 2 abc b=a+bC=c+1C
Часто используемые операции Генератор случайных чисел: Randomize -вызов датчика случайных чисел ; random(n) -функция возвращает целое случайное число, не превосходящее n. Например: Х:= random(100) – переменная cможет получить любое значение от 0 до 99.
Случайные числами из заданном интервале: Дан интервал [А, В] Формула: RANDOM (B-A)+A 0 аb Примеры: random(60)-20 случайные числа от -20 до random(10)+70 случайные числа от 70 до 80
Программа для игры «Угадайка». По условиям игры программа «загадывает» некоторое целое число X. После ввода очередного числа (Y) программа сообщает о том, что X больше или меньше введенного числа Program Ugadaika; Var x,y,n: word;{целые положительные} Begin randomize; {инициализация датчика случайных чисел} х:=random(100); n:=0; repeat writeln ('Введите число'); read(у); n: =n+1 ; if x>y then writeln(больше); if x
Программа «таблица умножения» Таблица умножения Введите целое число от 2 до 9 ___ Таблица умножения на (на то число которое ввели) 2*2=4 2*3=6.. 2*9=18 2 2
Алгоритм Табл_ум Описание переменных i, n Ввод Введите целое число от 2 до 9, n Печать Таблица умножения на, n цикл i=2 до 9 печать I, *, n, =, i*n; конец
Задание (средний уровень) 1. Вычислить сумму первых N –целых чисел. Количество чисел(N) вводится клавиатуры. 2 Программа «угадайка». 3 С клавиатуры запрашивается любая цифра от 2 до 9, а затем компьютер печатает таблицу умножения на эту цифру.
1. Составить программу, которая проверяет знание таблицы умножения из 10-и случайны целых чисел и выводит количество правильных ответов. 2. Программа «Угадайка». 3. Дано натуральное число N. Вычислить произведение(сумму) первых N сомножителей. a) P=2/3*4/5*6/7*…*2n/(2n+1) b) P=1*3*5*…*(2n-1) c) S=2/1+3/2+4/3+…+(n+1)/n Задание (высокий уровень)
1. Алгоритм (таблица умножения): 1. Определить переменные: P, m1, m2, P1,n; 2. Начало цикла. Запустить генератор случайных чисел для m1, m2; 3. Вычислить P= m1* m2 и вывести на экран произведение: M1, *, m2, =; 4. Ввести значение произведения P1 и сравнить его с результатом вычисления компьютера, если ответ правильный то n=n+1; 5. Конец цикла; 6. Вывести количество правильных ответов (балл ученика).