Изучаем Алгоритмику Мой КуМир
Циклические алгоритмы
Повторяем процедуры и циклы
Время сложных программ
Исполнитель Чертёжник Циклические алгоритмы
Циклические алгоритмы
Задание 1. Составьте программу рисования картинки.
Отличительной особенностью этого задания является то, что координаты элементов меняются закономерно.
Циклические алгоритмы
алг Прямоугольник ( вещ x , y )
нач
. поднять перо
. сместиться в точку ( x , y )
. опустить перо
. сместиться на вектор ( 2 , 0 )
. сместиться на вектор ( 0 , -1 )
. сместиться на вектор ( -2 , 0 )
. сместиться на вектор ( 0 , 1 )
. поднять перо
кон
алг Ромб ( вещ x , y )
нач
. поднять перо
. сместиться в точку ( x , y )
. опустить перо
. сместиться на вектор ( 0.5 , -0.5 )
. сместиться на вектор ( -0.5 , -0.5 )
. сместиться на вектор ( -0.5 , 0.5 )
. сместиться на вектор ( 0.5 , 0.5 )
. поднять перо
кон
Циклические алгоритмы
Рассмотрим один из способов рисования нижнего ряда прямоугольников.
Для того чтобы нарисовать нижний ряд прямоугольников, необходимо вызывать процедуру Прямоугольник с параметрами (3, 1); (5, 1); (7, 1); (9, 1), (11, 1) и (13, 1). Всего 6 раз. Любые два соседних значения координаты x отличаются на две единицы. Такое изменение координат осуществляется с помощью оператора присваивания :
x := x + 2
При выполнении этой команды значение переменной x увеличивается на 2.
Переменную x нужно описать до её первого упоминания в программе.
Для рисования нижнего ряда прямоугольников необходимо выполнить 6 раз последовательность команд:
Прямоугольник ( x , 1 )
x := x + 2
Циклические алгоритмы
использовать Чертежник алг Повторение нач вещ x . x := 3 . нц 6 раз . . Прямоугольник ( x , 1 ) . . x := x + 2 . кц кон
После выполнения этого фрагмента программы будет нарисован первый ряд прямоугольников.
- Где будет находиться перо после выполнения цикла?
- Какое значение будет у переменной х после выполнения цикла?
Циклические алгоритмы
При помощи похожего фрагмента программы можно рисовать второй ряд. Заполните пропуски в программе.
. x := . . . . нц . . . раз . . Прямоугольник ( . . . , . . . ) . . x := x + . . . . кц
- Где будет находиться перо после выполнения цикла?
- Какое значение будет у переменной х после выполнения цикла?
Циклические алгоритмы
Напишем программу для рисования вертикальных отрезков.
В приведённом фрагменте расположите строки в правильном порядке, чтобы получились три вертикальных отрезка.
нц 3 раз
кц
сместиться в точку ( 13 , 3 )
поднять перо
опустить перо
сместиться на вектор ( -4 , 1 )
сместиться на вектор ( 0 , -1 )
Циклические алгоритмы
Далее для написания программы нам потребуется один из следующих фрагментов программы. Какой?
x := 1 ; y := 4 нц 5 раз . x := x + 2 . y := y + 1 . Ромб ( x , y ) кц
1)
x := 1 ; y := 4 нц 5 раз . Ромб ( x , y ) кц
2)
x := x + 2 y := y + 1
x := 1 ; y := 4 нц 5 раз . Ромб ( x , y ) . x := x + 2 . y := y + 1 кц
3)
x := 1 ; y := 4 Ромб ( x , y ) нц 5 раз . x := x + 2 . y := y + 1 кц
4)
Допишите самостоятельно часть программы для рисования оставшихся элементов картинки.
Повторяем процедуры и циклы
Задание 1. Выделите повторяющийся элемент, напишите процедуру для его рисования и составьте программу рисования ряда предметов.
Повторяем процедуры и циклы
Задание 2. Выделите рисование повторяющегося элемента в качестве процедуры и составьте программу рисования картинки. Внесите изменения в программу, чтобы получилось десять предметов.
Повторяем процедуры и циклы
Задание 3. Разместите строки начала и конца цикла в нужных местах программы.
нц . . . раз
кц
использовать Чертежник
алг Зигзаг
нач
. поднять перо
. сместиться в точку ( 1 , 1 )
. опустить перо
. сместиться на вектор ( 0 , 4 )
. сместиться на вектор ( 2 , -4 )
. поднять перо
кон
Повторяем процедуры и циклы
Задание 4. Разместите строки начала и конца цикла в нужных местах программы.
нц . . . раз
кц
использовать Чертежник
алг Линии
нач
. поднять перо
. сместиться в точку ( 1 , 1 )
. опустить перо
. сместиться на вектор ( 2 , 4 )
. поднять перо
. сместиться на вектор ( 0 , -4 )
кон
Время сложных программ
Задание 1. Рассмотрите внимательно картинку, найдите повторяющиеся фрагменты. Определите элемент, который будет изображён с помощью вспомогательного алгоритма. Составьте программу для рисования всего рисунка оптимальным способом.
Время сложных программ
Задание 2. Рассмотрите внимательно картинку, найдите повторяющиеся фрагменты. Определите элемент, который будет изображён с помощью вспомогательного алгоритма. Составьте программу для рисования всего рисунка оптимальным способом.
Время сложных программ
Задание 3. Рассмотрите внимательно картинку, найдите повторяющиеся фрагменты. Определите элемент, который будет изображён с помощью вспомогательного алгоритма. Составьте программу для рисования всего рисунка оптимальным способом.
Время сложных программ
Задание 4. Рассмотрите внимательно картинку, найдите повторяющиеся фрагменты. Определите элемент, который будет изображён с помощью вспомогательного алгоритма. Составьте программу для рисования всего рисунка оптимальным способом.
В презентации использованы материалы учебного пособия
Информатика. Изучаем алгоритмику. Мой КуМир. 5-6 классы / Е. А. Мирончик, И. Д. Куклина, Л. Л. Босова. — М.: БИНОМ. Лаборатория знаний, 2018.