Организация циклов Цикл с параметром (со счетчиком)
линейная структура (действия следуют одно за другим) структуры ветвления и выбор (действия выполняются в одном из направлений в зависимости от истинности проверяемого условия) Давайте вспомним, с какими структурами алгоритмов мы знакомились на прошлых уроках? условие_1 инструкции_1 ложь истина … … … … …... … … … … … … … условие_2 инструкции_2 ложь истина условие_n-1инструкции_n-1 ложь истина инструкции_n
Разбор домашнего задания Определить значения переменных после выполнения программы REM Задача 1 DIM R,b,c AS SINGLE b=5 : c=2 c=b+2 IF b
В повседневной жизни Вам часто приходится повторять одни и те же действия. Например: каждый день посещать занятия; 5 раз посмотреть понравившийся мультфильм; перечитывать текст задания, пока оно не станет понятным Задача. Сто раз вывести на экран слово «Привет!» PRINT Привет! … … … 100 раз! Выполнение некоторых, даже очень простых операций может поставить человека в тупик, если их надо повторить сотни, тысячи раз. И здесь нам на помощь приходит алгебраическая структура ЦИКЛ.
Цикл – это многократное выполнение одинаковой последовательности действий. Пример 1 Перед нами стоит задача заточить 20 карандашей из старой коробочки. Мы можем составить алгоритм, состоящий из повторяющейся последовательности следующих действий. Достать из коробки карандаш Заточить карандаш Отложить карандаш в контейнер Повторить 20 раз: Пример 2 Перед нами стоит задача заточить все карандаши из старой коробочки. Мы можем составить алгоритм, состоящий из повторяющейся последовательности следующих действий. Достать из коробки карандаш Заточить карандаш Отложить карандаш в контейнер СКОЛЬКО раз? цикл с известным числом шагов цикл с неизвестным числом шагов Кто-то должен считать! (с управляющей переменной - счетчиком)(цикл с условием) Должно выполниться условие!
Цикл с параметром Тело цикла Начало Конец i от начЗна ч до конЗнач Повторяющиеся действия составляют тело цикла. Выполнение безусловного циклического алгоритма: Переменной i присваивается стартовое значение. Затем следует проверка, не превосходит ли переменная i конечное значение. Если превосходит, то цикл считается завершенным, и управление передается следующему за телом цикла оператору. В противном случае выполняется тело цикла, и переменная i меняет свое значение в соответствии с шагом. Далее, снова производится проверка значения переменной i и алгоритм повторяется. Переменную i называют счетчиком или параметром цикла. Эта переменная изменяется внутри цикла по определенному закону и влияет на его окончание. FOR Счетчик = НачЗнач TO КонЗнач [STEP шаг] тело цикла NEXT [Счетчик] По умолчанию (если шаг не указан) шаг цикла равен одному, т.е. каждый раз после прохождения тела цикла счетчик увеличивается на единицу. В программировании существует правило: нельзя изменять параметр цикла в теле цикла. После выполнения цикла устанавливается первое значение переменной цикла, при котором нарушено условие. Если конечное значение переменной цикла меньше начального значения, то цикл не выполнится ни разу.
Примеры использования алгоритмов циклической структуры Пример 1. Сто раз вывести на экран слово «Привет!» PRINT Привет! … PRINT Привет! 100 раз! CLS DIM i AS INTEGER FOR i = 1 TO 100 STEP 1 PRINT Привет! NEXT i END А если в одну строчку? ; ? 1.Сколько раз выполнился цикл? 2.Какое значение имеет переменная цикла после завершения программы?
Пример 2-1. Вывести на экран в столбик целые числа от 1 до 10. CLS DIM i AS INTEGER FOR i = 1 TO 10 STEP 1 PRINT i NEXT i END FOR i = 10 TO 1 STEP -1 1.Сколько раз выполняется цикл? 2.Сколько операторов составляют тело цикла? 3.Что нужно изменить в программе, чтобы вывести числа в обратном порядке ? ? Начало Конец i = 1 ТО 10 STEP 1 PRINT i
Пример 2-2. Как нужно изменить предыдущую программу, чтобы сосчитать сумму целых чисел от 1 до 10? CLS DIM i, S AS INTEGER S=0 FOR i = 1 TO 10 S=S+i NEXT i PRINT Сумма равна; S END Начало Конец S=0 i = 1 ТО 10 STEP 1 PRINT S Нужна переменная, где будет храниться значение суммы, начальное значение – 0. ! цикл Тело цикла S=S+i Этапы выполнения алгоритма: iS 0 i=1S=0+1=1 i=2S=1+2=3 i=3S=3+3=6 i=4S=6+4=10 i=5S=10+5=15 i=6S=15+6=21 i=7S=21+7=28 i=8S=28+8=36 i=9S=36+9=45 i=10S=45+10=55 i=11Конец цикла Вывод S Сумма равна 55 На экране
Задача 3. За четверть Вася получил несколько оценок по информатике. Помогите Васе определить средний балл. 1.Как определить средний балл? 2.Сколько нужно переменных для решения этой задачи? 3.Как мы можем узнать количество и значения оценок? CLS DIM I, S, n, m AS Integer S=0 : n=0 INPUT Сколько оценок Вы получили за четверть,n PRINT Перечислите их FOR I = 1 TO n INPUT m S=S + m NEXT I PRINT "Ваш средний балл ="; S/n END ? n – количество оценок m – значения оценок I – счетчик S – сумма оценок Обратите внимание, что верхняя граница цикла в виде переменной. Ее значение должно быть получено программой до использования оператора цикла. В нашем случае, мы сначала получили переменную n, а потом использовали ее в операторе. переменная
Какое значение примет переменная S после выполнения программы? CLS DIM k,S AS INTEGER S=0 FOR k=1 TO 3 S=S+k^2 NEXT k PRINT S END Задание 1-а Проверка знаний K S ^2= ^2= ^2=14 4Цикл завершен
Какое значение примет переменная S после выполнения программы? CLS DIM j,P AS INTEGER P=1 FOR j=1 TO 5 STEP 2 P=P*j NEXT j PRINT P END Проверка знаний j P 1 1 1*1=1 3 1*3=3 5 3*5=15 7 Цикл завершен Задание 1-б
Чему равно количество повторений тела оператора цикла с параметром, если параметр цикла принимает: 1.все целые значения от 1 до 10; 2.все целые значения от а до b; 3.все значения от 1 до 10 с шагом 2; 4.все значения от а до b с шагом step? Задание 2
Сегодня мы только начали знакомство с циклами. Следующий урок мы посвятим решению задач на организацию циклов со счетчиком. Запишите, пожалуйста, домашнее задание. Текст задач Вы получите также по электронной почте. Задача 1. Составить блок-схему к примеру 3. Задача 2. Найти произведение первых пяти натуральных чисел. Задача 3*. Вычислить сумму двузначных натуральных чисел, кратных трем.