Процедуры. Циклическое исполнение алгоритма. Оператор Делать пока

Раздел Информатика
Класс -
Тип Конспекты
Автор
Дата
Формат doc
Изображения Нет
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Дата _________

10 кл.

Тема. Процедуры. Циклическое исполнение алгоритма. Оператор "Делать пока..."

Цели. Познакомить учащихся понятием процедура, циклическим исполнением алгоритма, оператором "Делать пока...";

развивать умение работать с циклическим оператором;

воспитывать информационную культуру школьников.

Оборудование: операционная система Windows, исполнитель Паркетчик


План урока.

  1. Организационное начало. (1,5 мин.)

    1. Приветствие.

    2. Проверка присутствующих.

2. Проверка домашнего задания. (5 мин.)

3. Сообщение темы урока. (0,5 мин.)

4. Объяснение нового материала. (20 мин.)

4.1. Понятие процедура.

4.2. Необходимость использования циклических алгоритмов..

4.3. Оператор "Делать пока...".

5. Закрепление. (15 мин.)

6. Подведение итогов. (1 мин.)

7. Домашнее задание. (1 мин.)

Ход урока.

1. Организационное начало. (1,5 мин.)

2. Рассказать и показать на компьютере основные приемы работы в исполнителе Паркетчик.

3. Сегодня мы познакомимся с понятием процедура,

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

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

Конкретнее нас сегодня будет занимать история с покраской забора. Итак, слово Марку Твену:

"ВЕЛИКОЛЕПНЫЙ МАЛЯР

Том вышел на улицу с ведром известки и длинной кистью. Он окинул взглядом забор, и радость в одно мгновение улетела у него из души, и там воцарилась тоска... Со вздохом обмакнул он кисть в известку, провел ею по крайней доске, потом проделал то же самое снова и остановился: как ничтожна белая полоска по сравнению с огромным пространством некрашеного забора!.."

Остановимся. Попробуем представить, как могла бы выглядеть та же история в наши дни.

Конечно, современная тетя Полли вряд ли огораживала бы свой дом тридцатью ярдами деревянного забора высотой девять футов! Скорее всего ухоженная лужайка возле дома если и огорожена, то изящными решетками на столбиках.

Нынешние мальчишки, когда дело касается покраски забора, отнюдь не стали более прилежными. Зато они увлекаются программированием. Поэтому во избежание недоразумения тетушка Полли могла бы давать наставления племянничку в виде программ, так любимых Томом.

Подойти к первой решетке;

Покрасить первый прутик;

Покрасить второй прутик;

Покрасить третий прутик; ...

Здесь старушка поняла бы, что гораздо легче самой покрасить оградку или найти кого-нибудь попокладистей. Шутка ли: только в первой решетке то ли две, то ли три дюжины прутиков, а этих самых решеток!..

Пора прийти ей на помощь и ввести новый оператор:

Делать пока (условие)

{ оператор;

оператор;

оператор;

...

} (* конец цикла *)

Этот замечательный оператор называется циклом. Запись Делать пока (условие) называется заголовком цикла. Идущая после заголовка цикла совокупность операторов, заключенных в операторные скобки, называется телом цикла.

В круглых скобочках со звездочками стоит комментарий. Он совершенно не нужен БИ, но просто-таки необходим тому человеку, который пишет программы, если он не хочет стать бездумным. С умом написанные комментарии помогают понять программу даже тому, кто ее не составлял. Кроме того, в программах с комментариями допускается гораздо меньше ошибок, чем в программах без них.

Программа покраски забора с использованием цикла будет выглядеть так:

Делать пока (есть неокрашенная решетка)

{1 Подойти к неокрашенной решетке;

Покрасить ее;

}1 (* конец цикла *)

Сообщить о том, что работа выполнена;

Идти купаться;

Профессионалы, занимающиеся теорией программирования, вместо слова "условие" договорились употреблять термин "высказывание". От высказывания требуется единственное - БИ должен уметь определять, истинно оно или ложно.

Думается, вам ясно, как работает этот оператор:

Сначала БИ проверяет, истинно ли высказывание в скобках, и если да - выполняются операторы, стоящие в операторных скобках после заголовка цикла.

Дойдя до закрывающейся фигурной скобки, БИ снова проверяет, верно ли вышенаписанное высказывание в заголовке цикла, и если да - снова выполняет те же самые операторы, окаймленные фигурными скобками. Если же в момент проверки высказывание ложно (нет больше неокрашенных решеток), то БИ пропускает весь цикл и начинает выполнение операторов, следующих за закрывающейся фигурной скобкой.

Поскольку слова Делать пока - стандартные, мы будем их подчеркивать. Кроме того, при написании программы в тетради будем выделять циклы стрелочками или нумеровать фигурные скобки так, как показано в программе покраски забора.

Теперь вспомним, что решетка состоит из прутиков, и, следовательно, оператор "покрасить решетку" требует дальнейшего уточнения:

(* Покрасить решетку - это: *)

Делать пока (есть неокрашенный прутик)

{1Подойти к неокрашенному прутику;

Покрасить его; }1

То есть, как и при сборе детской игрушки "матрешка", необходимо собрать программу покраски ограды в одно целое, вставив этот фрагмент в основную программу:

Делать пока (есть неокрашенная решетка)

{1Подойти к неокрашенной решетке;

Делать пока (в решетке есть неокрашенный прутик)

{2Подойти к неокрашенному прутику;

Покрасить его;

}2

}1

Сообщить о том, что работа выполнена;

Идти купаться;

Интересно, что здесь мы получили двойной цикл. Внутренний цикл предписывает Тому красить по одному прутику в решетке, пока не выкрасит их все. Внешний цикл предписывает перейти к новой, не покрашенной решетке.

Обратите внимание на порядок записи операторов: те из них, которые составляют тело цикла, пишутся со сдвигом вправо. Это делается для того, чтобы с первого взгляда увидеть в программе циклы.

5. Вопросы и задания

1. Когда целесообразно применять оператор цикла?

2. Что такое заголовок цикла?

3. Что такое тело цикла?

4. Какие циклы называются вложенными?

5. Нужны ли комментарии БИ?

6. Если вы хотите оправдать репутацию не только знатока оператора цикла, но и литературы, объясните, почему историю с Томом нельзя использовать для иллюстрации циклической работы. (Совет: внимательно прочитайте исходный текст М.Твена, а не только приведенную в объяснительном тексте цитату.)

7. Придумайте программу для Тома с использованием цикла делать пока и тетушкиного забора, позволяющую ему превратиться из жалкого бедняка в богача, буквально утопающего в роскоши.

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

Прочитать первое предложение;

Перевести его;

Записать перевод в тетрадь;

Найти следующее предложение;

Перевести его;

Записать перевод в тетрадь;

Найти следующее предложение;

Перевести его;

Записать перевод в тетрадь;

Найти следующее предложение;

. . .

9. "Приключения Тома Сойера" начинаются с того, что тетя Полли зовет Тома:

- Том!
Нет ответа.
- Том!
Нет ответа.
- Том!
Нет ответа...

Петя Торопыжкин составил следующий алгоритм вызова Тома:

Делать пока (нет ответа)

{ Крикнуть: "Том!"

} (* конец цикла *)

Найдите ошибку в этом алгоритме.

10. Перечитайте задачу о мальчиках, переправляющих двоих солдат через реку (см.§1 задача 8). Представьте, что к реке подошел взвод солдат. Составьте алгоритм переправы для взвода.

11. Перечитайте задачу о разъезде рабочего и пассажирского поезда (см.§1 задача 9). Представьте, что рабочий поезд имеет не два, а больше вагонов. Составьте алгоритм для пропуска пассажирского поезда в этом случае.

12. Прочитайте внимательно стихотворение

Г.Остера:

Возьми густой вишневый сок

И белый мамин плащ.

Лей аккуратно сок на плащ -

Появится пятно.

Теперь, чтоб не было пятна

На мамином плаще,

Плащ надо сунуть целиком

В густой вишневый сок.

Возьми вишневый мамин плащ

И кружку с молоком.

Лей аккуратно молоко -

Появится пятно.

Теперь, чтоб не было пятна

На мамином плаще,

Плащ надо сунуть целиком

В кастрюлю молока.

Возьми густой вишневый сок

И белый мамин плащ...

Неоспоримы поэтические достоинства этого шедевра. Однако ни один программист такого бы не написал.

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

6. Подведем итоги

  • Если в алгоритме имеются повторяющиеся действия, то они объединяются в блок и для его выполнения используется оператор цикла.

  • Циклом (повтором) называется такая форма организации действий, при которой один и тот же блок операторов выполняется несколько раз (или ни разу) до тех пор, пока высказывание в заголовке цикла истинно.

  • Повторяющийся блок действий (или операторов) в этом случае составляет тело цикла; тело цикла заключают в операторные скобки.

  • Высказывание, которое нужно проверить для того, чтобы принять решение, выполнять ли тело цикла в очередной раз, называется условием продолжения цикла и записывается в заголовке цикла.

  • Циклы могут быть вложены один в другой, образуя двойные, тройные и т.п. циклы.

7. Выучить записи в тетради.

5

© 2010-2022