сдвинь на вектор (-1,-2)

Download Report

Transcript сдвинь на вектор (-1,-2)

Исполнитель Чертежник.
Использование вспомогательных
алгоритмов.
Цикл повторить n раз.
Работа в среде Алгоритмика
7 класс
Яблоновская СОШ № 3, Тахтамукайский район, Республика Адыгея
Учитель информатики Нигматуллин Р.Р.
1
Чертежник предназначен для построения рисунков на
поле, "размер" которого можно задавать.
Чертежник имеет перо, которое можно поднимать,
опускать и перемещать. При перемещении опущенного
пера за ним остается след — отрезок от старого положения
исполнителя до нового.
2
При задании точек на координатной плоскости, в
отличие от того, как принято в математике, координаты x
и y разделяются запятой: (x,y).
x
Координата
выделенной точки
(1,1)
0
y
3
СКИ Чертежник
При перемещении опущенного пера за ним остается след
– отрезок от предыдущего положения пера до нового.
При перемещении поднятого пера никакого следа на
плоскости не остается.
В начальном положении перо Чертежника всегда поднято
и находится в точке (0,0).
По команде подними перо Чертежник поднимает перо.
Если перо уже было поднято, Чертежник игнорирует эту
команду: он не меняет положение пера и не сообщает об
отказе.
Каким бы ни было положение пера до команды подними
перо, после этой команды оно будет поднятым.
4
Независимо от первоначального положения, после
выполнения команды опусти перо, оно оказывается
опущенным, то есть готовым к рисованию.
Рисунки Чертежник выполняет с помощью команд
переведи в точку и сдвинь на вектор.
По команде переведи в точку (a,b) Чертежник сдвигается
в точку с координатами (a,b).
5
7
6
На рисунке показаны
результаты
выполнения команды
переведи в точку (2,3)
при различных
положениях пера до
этой команды.
5
4
3
2
1
0
1
2
3
4
5
6
7
8
Команду переведи в точку называют командой
абсолютного смещения.
6
Сдвинь на вектор (a;b)
y+b
y
Команду сдвинь на вектор
называют командой
относительного
смещения.
Ч
x
x+a
7
6
На рисунке показаны
результаты выполнения
команды сдвинь на
вектор (2,3) при
различных положениях
пера до этой команды.
5
4
3
2
1
0
1
2
3
4
5
6
7
8
8
Пример алгоритма
управления Чертежником
7
6
Изобразим с помощью
Чертежника треугольник,
положение вершин которого
на координатной плоскости
определяется парами чисел
(1,1), (3,5), (5,2).
5
4
3
2
1
0
1
2
3
4
5
6
7
8
9
переведи в точку (1,1)
опусти перо
переведи в точку (3,5)
переведи в точку (5,2)
переведи в точку (1,1)
7
6
5
переведи в точку (1,1)
опусти перо
переведи в точку (5,2)
переведи в точку (3,5)
переведи в точку (1,1)
4
3
2
1
0
1
2
3
4
5
6
7
8
Какие варианты этого задания можно еще
выполнить?
10
7
6
переведи в точку (1,1)
опусти перо
переведи в точку (1,3)
переведи в точку (5,3)
переведи в точку (5,1)
переведи в точку (1,1)
5
4
3
2
1
0
1
2
3
4
5
6
7
8
11
7
6
переведи в точку (0,1)
опусти перо
переведи в точку (0,3)
переведи в точку (4,3)
переведи в точку (4,1)
переведи в точку (0,1)
5
4
3
2
1
0
1
2
3
4
5
6
7
8
12
Рисование заданного прямоугольника командой
относительного смещения:
y
0
B
C
A
D
Пусть (x,y) – координаты
вершины А прямоугольника
АВСD.
Тогда: В(x,y+2), С(x+4,y+2),
D(x+4,y)
x
13
4
2
-2
y
A (x,y),
В(x,y+2),
С(x+4,y+2),
D(x+4,y)
-4
0
x
14
Команда
Начальная точка
Сдвинь на вектор (0,2)
Сдвинь на вектор (4,0)
Сдвинь на вектор (0,-2)
Сдвинь на вектор (-4,0)
Координаты точек
(x,y)
(x+0,y+2)
(x+4,y+2)
(x+4,y+0)
(x,y)
15
Р.Т.№7, стр.88. Составить для Чертежника алгоритм
рисования равнобедренного треугольника, если известны
координаты концов отрезка, являющегося его высотой (4,1)
и (4,6), а также координаты (2,1) одной из его вершин.
Построим чертеж и определим координаты
вершин треугольника: (2, 1), (6, 1) и (4, 6).
всех
переведи в точку (2, 1)
опусти перо
переведи в точку (4, 6)
переведи в точку (6, 1)
переведи в точку (2, 1)
16
Использование
вспомогательного алгоритма
Программа рисования
цифры 0
опусти перо
сдвинь на вектор (0,2)
сдвинь на вектор (1,0)
сдвинь на вектор (0,-2)
сдвинь на вектор (-1,0)
подними перо
сдвинь на вектор (2,0)
17
Программа рисования
цифры 6
сдвинь на вектор (1,2)
опусти перо
сдвинь на вектор (-1,-1)
сдвинь на вектор (1,0)
сдвинь на вектор (0,-1)
сдвинь на вектор (-1,0)
сдвинь на вектор (0,1)
подними перо
сдвинь на вектор (2,-1)
18
Записать число 660000
Для того, чтобы Чертежник запомнил как рисовать
цифры 6 и 0, необходимо оформить алгоритм рисования
цифр в виде процедуры (вспомогательного алгоритма).
Процедура рисования цифры 0
Процедура рисования цифры 6
ПРОЦ цифра_0
НАЧАЛО
опусти перо
сдвинь на вектор (0,2)
сдвинь на вектор (1,0)
сдвинь на вектор (0,-2)
сдвинь на вектор (-1,0)
подними перо
сдвинь на вектор (2,0)
КОНЕЦ
ПРОЦ цифра_6
НАЧАЛО
сдвинь на вектор (1,2)
опусти перо
сдвинь на вектор (-1,-1)
сдвинь на вектор (1,0)
сдвинь на вектор (0,-1)
сдвинь на вектор (-1,0)
сдвинь на вектор (0,1)
подними перо
сдвинь на вектор (2,-1)
КОНЕЦ
19
В алгоритме строка ПРОЦ цифра_0 называется
заголовком процедуры.
Имя процедуры - цифра_0.
Алгоритм рисования буквы перемещают
служебными словами НАЧАЛО и КОНЕЦ.
правее
Приказ на выполнение вспомогательного алгоритма
(процедуры)
называется
вызовом
процедуры
и
записывается в основном алгоритме.
20
Основной алгоритм, с помощью
которого нарисовано число 660000:
переведи в точку (1,1)
цифра_6
цифра_6
цифра_0
цифра_0
цифра_0
цифра_0
21
Цикл ПОВТОРИТЬ n РАЗ
Алгоритм рисования ряда ромбов
переведи в точку (1,2)
опусти перо
ПОВТОРИТЬ 5 РАЗ
сдвинь на вектор (1,2)
сдвинь на вектор (1,-2)
сдвинь на вектор (-1,-2)
сдвинь на вектор (-1,2)
подними перо
сдвинь на вектор (3,0)
КОНЕЦ
22
Процедура рисования ряда ромбов
ПРОЦ ромб
НАЧАЛО
сдвинь на вектор (1,2)
сдвинь на вектор (1,-2)
сдвинь на вектор (-1,-2)
сдвинь на вектор (-1,2)
КОНЕЦ
23
Основной алгоритм
переведи в точку (1,2)
опусти перо
ПОВТОРИТЬ 5 РАЗ
ромб
подними перо
сдвинь на вектор (3,0)
КОНЕЦ
24
Домашнее задание
• §3.2(1, 2)
• Р.т. №7-12 на стр.88-92
25