ЦИКЛИЧЕСКИЕ КОНСТРУКЦИИ В АЛГОРИТМАХ ВЫПОЛНИЛ: учитель информатики МОУ «СОШ 1» Тимошина О.В.
Определить значения переменных a, b после выполнения фрагмента алгоритма, записанном на алгоритмическом языке. Переписать алгоритм на языке блок-схем m:=20; n:=-10; a:=m-n; b:=m+n; если a > b то a := 2*a; b := 1 иначе b := 2*b все вывод a,b
ПРОВЕРКА Ответ: a=60, b=1 m:=20 n:=-10 a:=m-n b:=m+n a>b данет a:=2*a b:=1 b:=2*b a,b 1.Как называется такая алгоритмическая структура? 2.Какие типы разветвляющихся структур вы знаете? 3.Какую еще алгоритмическую структуру вы знаете?
ЗАДАЧА: Ввести с клавиатуры информацию о классе учеников. Исходными данными являются: порядковый номер ученика, его экзаменационные оценки по следующим предметам: математика, русский, обществознание. Вычислить средний балл каждого учащегося и вывести результат. РЕШЕНИЕ
Исходные данные: N – количество учеников, p – порядковый номер ученика, mat – оценка по математике, rus – оценка по русскому языку, ob – по обществознанию. Результат: S – средний балл каждого учащегося Математическая модель задачи: 1. Ввести количество учеников 2. Ввести номер и оценки первого ученика, вычислить его средний балл, вывести результат 3. Обнулить переменные 4. Ввести номер и оценки второго ученика, вычислить его средний балл, вывести результат 5. Обнулить переменные и т.д. согласно количеству учащихся
ЦИКЛ – это многократное повторение некоторой совокупности действий, которая называется телом цикла. Примером цикла является смена времен года ВЕСНА ЛЕТООСЕНЬ ЗИМА
ТИПЫ ЦИКЛИЧЕСКИХ КОНСТРУКЦИЙ ЦИКЛЫ ЦИКЛ С ПРЕДУСЛОВИЕМ («ДО») ЦИКЛ С ПОСТУСЛОВИЕМ («ПОКА») ЦИКЛ С ПАРАМЕТРОМ («ДЛЯ»)
ЦИКЛ С ПРЕДУСЛОВИЕМ (ЦИКЛ «ДО») УСЛОВИЕ ДЕЙСТВИЕ 1 ДЕЙСТВИЕ 2 ДЕЙСТВИЕ N ДА НЕТ 1.Здесь Действие1, Действие2 … ДействиеN называют телом цикла. 2.Цикл работает до тех пор, пока условие ИСТИННО; как только условие становится ложным, цикл заканчивает работу. В частности, этот цикл может не выполниться ни разу, если при первой же проверке условие ложно. 3.В теле цикла обязательно должно быть действие, которое влияет на изменение условия. В противном случае может произойти «зацикливание» (бесконечный цикл).
ЦИКЛ С ПОСТУСЛОВИЕМ (ЦИКЛ «ПОКА») УСЛОВИЕ ДЕЙСТВИЕ 1 ДЕЙСТВИЕ 2 ДЕЙСТВИЕ N НЕТ ДА 1.Здесь Действие1, Действие2 … ДействиеN называют телом цикла. 2.Цикл работает до тех пор, пока условие ЛОЖНО; как только условие становится истинным, цикл заканчивает работу. Этот цикл выполняется как минимум один раз, так как условие стоит после тела цикла. 3.В теле цикла обязательно должно быть действие, которое влияет на изменение условия. В противном случае может произойти «зацикливание» (бесконечный цикл).
ЦИКЛ С ПАРАМЕТРОМ (ЦИКЛ «ДЛЯ») ДЕЙСТВИЕ 1 ДЕЙСТВИЕ 2 ДЕЙСТВИЕ N i:=in, ik 1.Здесь переменную i называют счетчиком цикла, in – начальное значение счетчика, ik – конечное значение счетчика. 2.Переменная i последовательно принимает все значения от in до ik, автоматически увеличиваясь на единицу. 3.Действие цикла заканчивается как только i становится больше ik. 4.Этот цикл используют в задачах, в которых заранее известно количество повторений.
ВЕРНЕМСЯ К ЗАДАЧЕ И РЕШИМ ЕЕ С ПОМОЩЬЮ ТРЕХ ЦИКЛОВЗАДАЧЕ Для решения любым из трех способов нам понадобится дополнительная переменная – i (счетчик цикла), которая будет «перебирать» номера учеников от первого до последнего. Составим блок – схему алгоритма к задаче с помощью цикла с предусловием вместе. С двумя другими типами цикла решите самостоятельно.
ЦИКЛ С ПРЕДУСЛОВИЕМ НАЧАЛО N i:=1 i
ЦИКЛ С ПОСТУСЛОВИЕМ НАЧАЛО N i:=1 i>N mat, rus, ob S:=(mat+rus+ob)/3 S i:=i+1 Да Нет КОНЕЦ
ЦИКЛ С ПАРАМЕТРОМ НАЧАЛО N mat, rus, ob S:=(mat+rus+ob)/3 S КОНЕЦ i:=1,N
Проанализируйте, какой алгоритм оказался короче и почему? Какой тип цикла описан в следующем примере на алгоритмическом языке. Сколько раз выполнится тело цикла и каковы будут значения переменных р,а? Запишите фрагмент алгоритма на языке блок-схем. p:=1; a:=1; нц пока p
Какой тип цикла описан в следующем примере? При каких начальных значениях переменных алгоритм закончит работу? Сколько раз выполнится тело цикла? 1) А=-2; С=-3 2) А=-3; С=-5 3) А=-3, С=-3 4) А=-3; С=-2 5) А=-4, С=-5
Какой тип цикла описан в следующем примере на алгоритмическом языке. Сколько раз выполнится тело цикла и каково будет значение переменной k? Запишите фрагмент алгоритма на языке блок-схем. k:=0; нц для i:=1 до 1000 | если mod(i, 3)=1 или div(i, 4)=200 | | то k:=k+1 кц
ДОМАШНЕЕ ЗАДАНИЕ Семакин И.Г. Задачник, 1, стр. 211, 27, 28.