Организация циклов. Цикл с параметром

Разделы: Информатика


План урока:

  1. Организационный момент. (1 мин.)
  2. Повторение, результаты выполнения домашнего задания. (5 мин.)
  3. Объяснение нового материала. (15 мин.)
  4. Закрепление нового материала. (22 мин.)
  5. Домашнее задание. Подведение итогов. (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

Вопросы:

  1. Сколько раз выполнился цикл?
  2. Какое значение имеет переменная цикла после завершения программы?

IV часть

Пример 2-1. Выведите на экран в столбик целые числа от 1 до 10.

Попробуйте самостоятельно составить программу.

(Слайд 8) Давайте посмотрим, что у вас получилось.

CLS
DIM i AS INTEGER
FOR i=1 TO 10 STEP 1
   PRINT i
NEXT i
END

Вопросы:

  1. Сколько раз выполнился цикл?
  2. Сколько операторов составляют тело цикла?
  3. Что нужно сделать, чтобы вывести числа в обратном порядке?

Пример 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. все целые значения от 1 до 10;
  2. все целые значения от а до b;
  3. все значения от 1 до 10 с шагом 2;
  4. все значения от а до b с шагом step?

V часть 

Сегодня мы только начали знакомство с циклами. Следующий урок мы посвятим решению задач, где логично использовать цикл с параметром.

Запишите, пожалуйста, домашнее задание. Текст задач Вы получите также по электронной почте.

Домашнее задание. (Слайд 14)

Задача 1. Составить блок-схему к примеру №3.

Задача 2. Напечатать таблицу соответствия расстояний в дюймах расстояниям в сантиметрах для значений 1, 2, ..., 22 дюйма (1 дюйм = 25,4 мм).

Задача 3. Найти произведение натуральных чисел от 1 до n.

Задача 4*. Вычислить сумму двузначных натуральных чисел, кратных трем.

Литература:

  1. Златопольский Д.М. Я иду на урок информатики: Задачи по программированию. 7-11 классы: Книга для учителя. - М.: Издательство «Первое сентября», 2001.
  2. pascal-2009.narod.ru/foroper_b.html
  3. book.kbsu.ru/theory/chapter7/1_7_9.html

Презентация.