План урока:
- Организационный момент. (1 мин.)
- Повторение, результаты выполнения домашнего задания. (5 мин.)
- Объяснение нового материала. (15 мин.)
- Закрепление нового материала. (22 мин.)
- Домашнее задание. Подведение итогов. (2 мин.)
Цели урока:
Познавательные (обучающие):
- Ввести понятие цикла.
- Изучить организацию цикла с параметром.
- Познакомить со структурными элементами цикла.
- Выяснить условия работы цикла с параметром.
Развивающие:
- развивать умение анализировать, систематизировать полученные знания;
- развивать творческое и логическое мышление;
- развивать инициативность, самостоятельность и внимание;
- укладываться в ограниченные сроки, уметь давать самооценку работы.
Оборудование: компьютерный класс, мультимедийный проектор, среда программирования QBasic.
Ход урока
I-II часть
– Давайте вспомним, с какими структурами алгоритмов мы знакомились на прошлых уроках?
– (предполагаемые ответы)
- линейная структура (действия следуют одно за другим)
- структуры ветвления и выбор (действия выполняются в одном из направлений в зависимости от истинности проверяемого условия)
(слайд 2)
– Посмотрим на результаты выполнения домашнего задания (слайд 3).
Вашему вниманию были предложены три программы. Поставленная задача – определить значения указанных переменных при выполнении программ. (Далее следует разбор допущенных ошибок)
III часть
– Вам часто приходится повторять одни и те же действия. Например
- каждый день посещать занятия;
- 5 раз посмотреть понравившийся мультфильм;
- перечитывать текст задания, пока оно не станет понятным
Выполнение даже очень простых операций может поставить человека в тупик, если их надо повторить тысячи раз.
Например: Попробуйте сто раз вывести на экран слово «Привет!» Написать программу, использующую только оператор PRINT, проблематично (слайд 4).
И здесь нам на помощь приходит алгебраическая структура Цикл.
(Слайд 5)
Цикл – это многократное выполнение одинаковой последовательности действий.
Существуют циклы двух видов:
- цикл с известным числом шагов
- цикл с неизвестным числом шагов (цикл с условием)
Чтобы понять разницу, давайте разберем следующий пример. Перед нами стоит задача заточить 20 карандашей из старой коробочки. Мы можем составить алгоритм, состоящий из повторяющейся последовательности следующих действий:
- Достать из коробки карандаш
- Заточить карандаш
- Отложить карандаш в контейнер
Сколько раз нам необходимо повторить эти действия?
– (предполагаемый ответ) 20 раз
– Для отслеживания количества повторений служит управляющая переменная, которую называют счетчиком или параметром.
А если перед нами стоит задача заточить все карандаши из старой коробочки?
Мы можем составить алгоритм, состоящий из повторяющейся последовательности следующих действий. Сколько раз нам необходимо повторить эти действия?
– (предполагаемый ответ) Столько раз, сколько карандашей.
– А их количество нам неизвестно. Коробка вообще может быть пустой. Мы будем совершать действия, ЕСЛИ в коробке есть карандаши. Для того, чтобы действия совершались, необходимо выполнение УСЛОВИЯ. И эти циклы называются циклами с условием.
Сегодня на уроке мы поговорим о циклах с параметром (со счетчиком). (Слайд 6)
Рассмотрим блок-схему цикла. (Слайд 6)
Повторяющиеся действия составляют тело цикла.
Выполнение безусловного циклического алгоритма начинается с присвоения переменной i стартового значения. Затем следует проверка, не превосходит ли переменная i конечное значение. Если превосходит, то цикл завершается, и управление передается следующему за телом цикла оператору. В противном случае выполняется тело цикла, и переменная i меняет свое значение в соответствии с шагом. Далее, снова производится проверка значения переменной i и алгоритм повторяется.
Переменную i называют счетчиком или параметром цикла, так как это переменная, которая изменяется внутри цикла по определенному закону и влияет на его окончание.
На языке QBasic операторы цикла записываются следующим образом:
FOR Счетчик=НачЗнач TO КонЗнач [STEP шаг] тело цикла NEXT [Счетчик]
- Параметры, указанные в квадратных скобках являются необязательными (их можно не записывать).
- По умолчанию (если шаг не указан) шаг цикла равен одному, т.е. каждый раз после прохождения тела цикла счетчик увеличивается на единицу.
- После выполнения цикла устанавливается первое значение переменной цикла, при котором нарушено условие
- В программировании существует правило: нельзя изменять параметр цикла в теле цикла.
- Если конечное значение переменной цикла меньше начального значения, то цикл не выполнится ни разу.
Рассмотрим использование алгоритмов циклической структуры на конкретных примерах.
Вернемся к самой первой задаче, где нам предстояло сто раз вывести на экран слово «Привет!» (Слайд 7)
CLS
DIM i AS INTEGER
FOR i=1 TO 100 STEP 1
PRINT “Привет!”
NEXT i
END
Вопросы:
- Сколько раз выполнился цикл?
- Какое значение имеет переменная цикла после завершения программы?
IV часть
Пример 2-1. Выведите на экран в столбик целые числа от 1 до 10.
Попробуйте самостоятельно составить программу.
(Слайд 8) Давайте посмотрим, что у вас получилось.
CLS DIM i AS INTEGER FOR i=1 TO 10 STEP 1 PRINT i NEXT i END
Вопросы:
- Сколько раз выполнился цикл?
- Сколько операторов составляют тело цикла?
- Что нужно сделать, чтобы вывести числа в обратном порядке?
Пример 2-2. Как нужно изменить предыдущую программу, чтобы сосчитать сумму целых чисел от 1 до 10? (Слайд 9)
CLS DIM I,S AS INTEGER S=0 FOR i=1 TO 10 S=S+i NEXT i PRINT “Сумма равна”;S END |
Нужна переменная, где будет храниться значение суммы, начальное значение – 0. Назовем ее S. Каждый раз при прохождении цикла мы прибавляем к S значение переменной i. |
Проследим работу данной программы по шагам (Слайд 9).
Пример 3. (Слайд 10) За четверть Вася получил несколько оценок по информатике. Помогите Васе определить средний балл.
Вопросы:
Как определить средний балл? (Ответ: нужно сумму всех оценок разделить на их количество)Сколько нужно переменных для решения этой задачи?( Ответ: 4)n – количество оценокm – значения оценокi – счетчикS – сумма оценокКак мы можем узнать количество и значения оценок? (Ответ: Спросить у Васи) Текст программы: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, а потом использовали ее в операторе.
Давайте проверим на маленьких примерах, насколько Вами хорошо усвоен новый материал.
Задание 1
А) (Слайд 11) Какое значение примет переменная S после выполнения программы? CLS DIM k,S AS INTEGER S=1 FOR k=1 TO 3 S=S+k*2 NEXT k PRINT S END |
Б) (Слайд 12) Какое значение примет переменная Р после выполнения программы? CLS DIM j,P AS INTEGER P=1 FOR j=1 TO 10 STEP 3 P=P*j NEXT j PRINT P END |
Задание 2 (Слайд 13)
Чему равно количество повторений тела оператора цикла с параметром, если параметр цикла принимает:
- все целые значения от 1 до 10;
- все целые значения от а до b;
- все значения от 1 до 10 с шагом 2;
- все значения от а до b с шагом step?
V часть
Сегодня мы только начали знакомство с циклами. Следующий урок мы посвятим решению задач, где логично использовать цикл с параметром.
Запишите, пожалуйста, домашнее задание. Текст задач Вы получите также по электронной почте.
Домашнее задание. (Слайд 14)
Задача 1. Составить блок-схему к примеру №3.
Задача 2. Напечатать таблицу соответствия расстояний в дюймах расстояниям в сантиметрах для значений 1, 2, ..., 22 дюйма (1 дюйм = 25,4 мм).
Задача 3. Найти произведение натуральных чисел от 1 до n.
Задача 4*. Вычислить сумму двузначных натуральных чисел, кратных трем.
Литература:
- Златопольский Д.М. Я иду на урок информатики: Задачи по программированию. 7-11 классы: Книга для учителя. - М.: Издательство «Первое сентября», 2001.
- pascal-2009.narod.ru/foroper_b.html
- book.kbsu.ru/theory/chapter7/1_7_9.html