Цикл повторить n раз работа в среде алгоритмика
ЦИКЛ ПОВТОРИТЬ п РАЗ
При составлении алгоритмов довольно часто встречаются случаи, когда некоторую последовательность команд нужно выполнять несколько раз подряд. Для упрощения записи алгоритма в таких случаях можно использовать специальную конструкцию повторения.
Например, основной алгоритм рисования ряда из пяти ромбов (рис. 3.10) с помощью конструкции повторения можно записать так:
переведи в точку (1,2)
опусти перо
ПОВТОРИТЬ 5 РАЗ
сдвинь на вектор (1, 2)
сдвинь на вектор (1, -2)
сдвинь на вектор (-1, -2)
сдвинь на вектор (-1, 2)
подними перо
сдвинь на вектор (3, 0)
КОНЕЦ
Рис. 3.10
Можно рисование ромба оформить в виде отдельной процедуры:
ПРОЦ ромб
НАЧАЛО
сдвинь на вектор (1, 2)
сдвинь на вектор (1, -2)
сдвинь на вектор (-1, -2)
сдвинь на вектор (-1, 2)
КОНЕЦ
Тогда основной алгоритм будет выглядеть так:
переведи в точку (1,2)
опусти перо
ПОВТОРИТЬ 5 РАЗ
ромб
подними перо
сдвинь на вектор (3, 0)
КОНЕЦ
В общем виде конструкция повторения записывается так:
ПОВТОРИТЬ <число повторений> РАЗ
<тело цикла (последовательность команд)>
КОНЕЦ
Служебные слова ПОВТОРИТЬ и КОНЕЦ пишутся одно под другим. Чуть правее между ними записывается повторяющаяся последовательность команд (тело цикла). Число повторений — произвольное целое число. Именно столько раз при выполнении алгоритма будут повторены команды, образующие тело цикла.
♦ Предложите вариант решения задачи о почтовом индексе Красноярска с использованием конструкции повторения.
♦ Можно ли обойтись без вспомогательного алгоритма в следующих ситуациях?
Коротко о главном
Исполнитель Чертежник предназначен для построения рисунков на координатной плоскости.
Система команд исполнителя представлена в следующей таблице:
Алгоритм, решающий некоторую подзадачу основной задачи, называется вспомогательным алгоритмом. Вспомогательный алгоритм оформляется в виде процедуры. Приказ на выполнение вспомогательного алгоритма называется вызовом процедуры и записывается в основном алгоритме.
При составлении алгоритмов довольно часто встречаются случаи, когда некоторую последовательность команд нужно выполнять несколько раз подряд. Для упрощения записи алгоритма в таких случаях можно использовать специальную конструкцию повторения — ПОВТОРИТЬ п РАЗ.
Вопросы и задания
1. Охарактеризуйте исполнителя Чертежник.
2. Составьте для Чертежника алгоритм рисования равнобедренного треугольника, если известны координаты концов отрезка, являющегося его высотой: (4, 1) и (4, 6), а также координаты (2, 1) одной из его вершин.
3. Составьте для Чертежника алгоритм рисования прямоугольника со сторонами, параллельными осям координат, если известны координаты его двух вершин: (2, 1) и (7, 5).
4. Составьте для Чертежника алгоритм рисования ромба, центр которого совмещен с центром экрана, диагонали лежат на координатных осях, а их длины определяются числами 8 и 4.
5. Составьте алгоритм управления Чертежником, в результате выполнения которого в произвольном месте координатной плоскости будет нарисован квадрат, длина стороны которого равна 2 единицам.
6. Составьте алгоритм управления Чертежником, в результате выполнения которого в произвольном месте координатной плоскости будет нарисован прямоугольник, длины сторон которого равны 3 и 4 единицам.
7. Составьте алгоритм управления Чертежником, в результате выполнения которого в произвольном месте координатной плоскости будет нарисован произвольный параллелограмм.
8. Составьте алгоритм рисования изображенных ниже фигур так, чтобы в процессе рисования перо не отрывалось от бумаги и ни одна линия не проводилась дважды.
9. Оформите в виде процедур алгоритмы рисования букв М, И, Р. Составьте алгоритмы рисования слов МИР, РИМ, МИМ.
10. Разработайте вспомогательный алгоритм рисования домика. На его основе составьте основной алгоритм рисования улицы из пяти домиков.
11. Составьте алгоритмы управления Чертежником, после исполнения которых будут получены следующие рисунки:
12. Составьте алгоритмы управления Чертежником, после исполнения которых будут получены следующие рисунки:
13. Придумайте свои задачи для Чертежника.
Источник
1
Исполнитель Чертежник. Использование вспомогательных алгоритмов. Цикл повторить n раз. Работа в среде Алгоритмика 1 7 класс Яблоновская СОШ 3, Тахтамукайский район, Республика Адыгея Учитель информатики Нигматуллин Р.Р.
2
2 Чертежник предназначен для построения рисунков на поле, “размер” которого можно задавать. Чертежник имеет перо, которое можно поднимать, опускать и перемещать. При перемещении опущенного пера за ним остается след отрезок от старого положения исполнителя до нового. Чертежник предназначен для построения рисунков на поле, “размер” которого можно задавать. Чертежник имеет перо, которое можно поднимать, опускать и перемещать. При перемещении опущенного пера за ним остается след отрезок от старого положения исполнителя до нового.
3
3 При задании точек на координатной плоскости, в отличие от того, как принято в математике, координаты x и y разделяются запятой: (x,y). Координата выделенной точки (1,1)
4
СКИ Чертежник 4 При перемещении опущенного пера за ним остается след – отрезок от предыдущего положения пера до нового. При перемещении поднятого пера никакого следа на плоскости не остается. В начальном положении перо Чертежника всегда поднято и находится в точке (0,0). По команде подними перо Чертежник поднимает перо. Если перо уже было поднято, Чертежник игнорирует эту команду: он не меняет положение пера и не сообщает об отказе. Каким бы ни было положение пера до команды подними перо, после этой команды оно будет поднятым.
5
5 Независимо от первоначального положения, после выполнения команды опусти перо, оно оказывается опущенным, то есть готовым к рисованию. Рисунки Чертежник выполняет с помощью команд переведи в точку и сдвинь на вектор. По команде переведи в точку (a,b) Чертежник сдвигается в точку с координатами (a,b).
6
6 На рисунке показаны результаты выполнения команды переведи в точку (2,3) при различных положениях пера до этой команды. Команду переведи в точку называют командой абсолютного смещения.
7
Ч Ч y xx+a y+b Сдвинь на вектор (a;b) Команду сдвинь на вектор называют командой относительного смещения.
8
8 На рисунке показаны результаты выполнения команды сдвинь на вектор (2,3) при различных положениях пера до этой команды.
9
Пример алгоритма управления Чертежником 9 Изобразим с помощью Чертежника треугольник, положение вершин которого на координатной плоскости определяется парами чисел (1,1), (3,5), (5,2).
10
10 переведи в точку (1,1) опусти перо переведи в точку (3,5) переведи в точку (5,2) переведи в точку (1,1) опусти перо переведи в точку (5,2) переведи в точку (3,5) переведи в точку (1,1) Какие варианты этого задания можно еще выполнить?
11
11 переведи в точку (1,1) опусти перо переведи в точку (1,3) переведи в точку (5,3) переведи в точку (5,1) переведи в точку (1,1)
12
12 переведи в точку (0,1) опусти перо переведи в точку (0,3) переведи в точку (4,3) переведи в точку (4,1) переведи в точку (0,1)
13
13 Рисование заданного прямоугольника командой относительного смещения: Пусть (x,y) – координаты вершины А прямоугольника АВСD. Тогда: В(x,y+2), С(x+4,y+2), D(x+4,y)
14
14 A (x,y), В(x,y+2), С(x+4,y+2), D(x+4,y)
15
15 Команда Координаты точек Начальная точка(x,y) Сдвинь на вектор (0,2)(x+0,y+2) Сдвинь на вектор (4,0)(x+4,y+2) Сдвинь на вектор (0,-2)(x+4,y+0) Сдвинь на вектор (-4,0)(x,y)
16
16 Р.Т.7, стр.88. Составить для Чертежника алгоритм рисования равнобедренного треугольника, если известны координаты концов отрезка, являющегося его высотой (4,1) и (4,6), а также координаты (2,1) одной из его вершин. Построим чертеж и определим координаты всех вершин треугольника: (2, 1), (6, 1) и (4, 6). переведи в точку (2, 1) опусти перо переведи в точку (4, 6) переведи в точку (6, 1) переведи в точку (2, 1)
17
Использование вспомогательного алгоритма 17 Программа рисования цифры 0 опусти перо сдвинь на вектор (0,2) сдвинь на вектор (1,0) сдвинь на вектор (0,-2) сдвинь на вектор (-1,0) подними перо сдвинь на вектор (2,0)
18
18 Программа рисования цифры 6 сдвинь на вектор (1,2) опусти перо сдвинь на вектор (-1,-1) сдвинь на вектор (1,0) сдвинь на вектор (0,-1) сдвинь на вектор (-1,0) сдвинь на вектор (0,1) подними перо сдвинь на вектор (2,-1)
19
19 Записать число Для того, чтобы Чертежник запомнил как рисовать цифры 6 и 0, необходимо оформить алгоритм рисования цифр в виде процедуры (вспомогательного алгоритма). Процедура рисования цифры 0 ПРОЦ цифра_0 НАЧАЛО опусти перо сдвинь на вектор (0,2) сдвинь на вектор (1,0) сдвинь на вектор (0,-2) сдвинь на вектор (-1,0) подними перо сдвинь на вектор (2,0) КОНЕЦ Процедура рисования цифры 6 ПРОЦ цифра_6 НАЧАЛО сдвинь на вектор (1,2) опусти перо сдвинь на вектор (-1,-1) сдвинь на вектор (1,0) сдвинь на вектор (0,-1) сдвинь на вектор (-1,0) сдвинь на вектор (0,1) подними перо сдвинь на вектор (2,-1) КОНЕЦ
20
20 В алгоритме строка ПРОЦ цифра_0 называется заголовком процедуры. Имя процедуры – цифра_0. Алгоритм рисования буквы перемещают правее служебными словами НАЧАЛО и КОНЕЦ. Приказ на выполнение вспомогательного алгоритма (процедуры) называется вызовом процедуры и записывается в основном алгоритме.
21
21 Основной алгоритм, с помощью которого нарисовано число : переведи в точку (1,1) цифра_6 цифра_0
22
22 Цикл ПОВТОРИТЬ n РАЗ Алгоритм рисования ряда ромбов переведи в точку (1,2) опусти перо ПОВТОРИТЬ 5 РАЗ сдвинь на вектор (1,2) сдвинь на вектор (1,-2) сдвинь на вектор (-1,-2) сдвинь на вектор (-1,2) подними перо сдвинь на вектор (3,0) КОНЕЦ
23
23 Процедура рисования ряда ромбов ПРОЦ ромб НАЧАЛО сдвинь на вектор (1,2) сдвинь на вектор (1,-2) сдвинь на вектор (-1,-2) сдвинь на вектор (-1,2) КОНЕЦ
24
24 Основной алгоритм переведи в точку (1,2) опусти перо ПОВТОРИТЬ 5 РАЗ ромб подними перо сдвинь на вектор (3,0) КОНЕЦ
25
Домашнее задание §3.2(1, 2) Р.т на стр
Источник
Урок “Управление исполнителем Чертежник. Цикл повторить n раз”
Предмет: информатика
Класс: 6
Автор учебника: Босова Л.Л.
Тема урока: § 18 Управление исполнителем Чертежник. Цикл повторить n раз.
Форма урока: квест
Цель: организация условий достижения учащимися образовательных результатов по заданной теме:
приобретение учебной информации,
контроль усвоения теории,
применение знаний и умений,
формирование метапредметных УУД (регулятивных, познавательных, коммуникативных).
Задачи: освоение учащимися предметного (теоретического и практического) содержания по теме «Управление исполнителем Чертежник. Цикл повторить n раз»:
систематизировать знания учащихся об основных командах Чертежника
рассмотреть алгоритмическую конструкцию цикл, в том числе в среде Чертежника
сформировать навыки применять эти знания и умения для решения практических задач
вести контроль уровня освоения материала
способствовать развитию метапредметных универсальных учебных действий.
Ход урока
Дети входят в класс и вытягивают из пакета цветную карточку. Рассаживаются по группам в соответствии с этими цветами. Таким образом сформировано 4 группы.
На столах стоят ноутбуки.
1. Организационный момент (1 минута) (слайд 1) 11:15
Здравствуйте, уважаемые программисты. Я рада вас приветствовать в IT-компании. У нас открывается новый отдел и мы хотели бы пригласить на работу команду творческих, активных и знающих людей. Сегодня мы проведем с вами небольшой квест, в ходе которого определим команду, способную работать в IT-компании. (слайд2) Перед вами маршрутные листы. В них вам необходимо фиксировать свои результаты на каждом этапе работы в соответствии с критериями.
1 этап (3 минуты)
Итак, начнем!
(слайд 3)Первый этап называется “Шифровальщики”. У вас на столах лежат листы. Вам необходимо в течение двух минут разгадать слова. Итак, время пошло.
(разгадывают слова, звучит музыка)
Внимание, время истекло, положили ручки.Я попрошу команды по-очереди называть слова и объяснять, что это слово означает.
Итак, правильные ответы на экране. (слайд 4)
Посчитайте количество разгаданных вами слов и поставьте в соответствиями с критериями количество заработанных баллов в маршрутный лист.
Озвучьте баллы. Спасибо. Итак, первый этап всеми командами пройден успешко.
2 этап (10 минут) 11:20
А мы переходим ко второму этапу, который называется “Читатели”. (слайд 5).
Внимание на экран.
(фрагмент из ералаша “Интересная книга”)
Вопрос: Как вы думаете какую книгу читает мальчик?
(совещаются, говорят свои варианты)
Давайте проверим ваши предположения.
(демонстрация концовки ералаша)
Внимание, задание. (слайд7)
1. Вам необходимо собрать пазлы и узнать номер страницы, которую нужно найти в словаре.
2. Открыть страницу и найти соответствующее слово.
Номер слова указан у вас в карточке.
3. Написать программу в среде Чертежник, которая будет выводить на экран букву “Р” столько раз, сколько встречается в этом слове.
Время на выполнение задания 8 минут.11:22
(Слово “программирование”или “программировать”, работают над заданием, на экране секундомер, звучит музыка)
(11:30) Итак, время истекло. Какое же слово вы нашли?
Поднимите карточки те команды, которые справились с заданием и у вас программа печатает букву Р три раза.
Отметьте в маршрутных листах прохождение данного этапа. Озвучьте, пожалуйста, свои результаты. Спасибо.
Открытие нового знания (5 минут) (11:31)
Ребята, посмотрите внимательно на программу(слайд 8) (учитель демонстрирует её на экране). Что вы заметили?
(ответы детей)
Да, определенная последовательность команд повторяется. А каким термином в информатике называется многократное выполнение последовательности команд?
Как вы считаете, какая тема в сегодняшнем квесте станет основополагающей?
Правильно, циклы. Сегодня главная цель нашего квеста – научиться использовать циклы в среде программирования Чертежник.
Ребята, циклы в программе используются для того, чтобы сделать её более рациональной, быстроисполняемой, легкой.
Например, количество команд в вашей программе, не считая begin….end. Сколько их? (21). Запомните 21 команда.
Давайте посмотрим, какой она станет, когда мы запишем через циклы.
Для начала давайте определим какая же последовательность команд у нас повторяется, то есть тело цикла? (ответы детей) Сколько таких последовательностей? (три)
Итак, если данную программу записать через цикл, то она будет выглядеть так.
1. Перед началом первой последовательности мы пишем служебные слова:
for i:=1 to 3 do
2. заключаем тело цикла в begin ….. end , иначе он будет выполнять в цикле только первую команду последовательности.
3. в разделе переменных, а именно после вызова Чертежника, мы объявляем переменные:
var i: integer;
Это говорит о том, что переменная i – целое число.
Если мы посчитаем количество команд в данной программе. То их намного меньше. Сколько их? (Правильно, 8)
То есть мы, используя циклы, сделали программу более рациональной.
Физкультминутка (3 минуты) (11:36)
Ребята, предлагаю вам сделать натуральную модель нашей первоначальной линейной программы. Вставайте, пожалуйста, со своих мест.
Как она выглядела? Покажите.
(встают и становятся друг другу в затылок, звучит музыка веселая)
Хорошо. А теперь изобразим программу с циклом.
(остаются первые 8 человек, становятся в кольцо, а другие рассаживаются по местам)
Посмотрите, на сколько меньше команд во второй программе. Что тем самым будет обеспечивать….(рациональность, быстродействие).
Присаживайтесь на свои места.
3 этап (11 минут)(11:39)
Итак, мы отдохнули и переходим к следующему этапу, который называется “Исполнители”. (слайд)
Внимание на экран.(видеоролик)
Видеоролик: Здравствуйте, вас приветствуют сотрудники почтового отделения города Красноярска. Мы хотели бы заказать у вас программу, которая выводила бы на экран индекс нашего города. Заранее спасибо.
Уважаемые программисты, под силу ли вам выполнить данный заказ? Тогда, приступайте. Обратите внимание на написание цифр в индексе (слайд)
Время на выполнение данного задания 10 минут.
(пишут программы, индекс Города Красноярска – 660000, на экране засекается секундомер, играет легкая музыка.)
11:49 Время истекло. Пожалуйста, поднимите карточки те команды, которые справились с заданием за указанное время.
(учитель подходит к каждой команде и смотрит на получившийся результат)
Отметьте в ваших маршрутных листах выполнение данного этапа. Озвучьте результаты.
Итак, программа для написания индекса города Красноярска может выглядеть, например, так (слайд демонстрирует программу на экране).
Рефлексия. Подведение итогов (5 минут)
11:50 Уважаемые программисты, я попрошу вас посчитать баллы в своих маршрутных листах. Озвучьте, пожалуйста, результаты.
Итак, по результатам квеста на работу в IT-компанию принимается команда________! Поздравляем!
Но независимо от результатов квеста, вы все заработали премию, так как работали очень активно и слаженно.
(учитель раздает шоколадные монетки)
Ребята, и в завершении квеста вам необходимо принять участие в опросе. Возьмите в руки карточки. Я буду читать вопросы, если вы отвечаете на него “да”, то поднимаете карточку, если нет, но не поднимаете.
Итак.
1. Мне было интересно.
2. Мне было сложно.
3. Я все понял и теперь могу использовать циклы в Чертежнике.
4. Мне было скучно.
Спасибо большое за работу!
Сегодняшней деловой игрой я хотела вам показать, что на любой работе нужно иметь не только багаж знаний, но и уметь учиться, быть активным, уметь работать в команде. И я очень рада, что вы достойно справились со всеми испытаниями.
Удачи вам!
Источник