Штриховка
Штриховка (программа)
Штриховка
Штриховка
Задания
Задания
Программирование на алгоритмическом языке
Задача
С чего начать?
Если запустить?
Как использовать?
Вспомогательные алгоритмы
Задания
Задания
548.00K
Category: programmingprogramming

Штриховка. Программирование на алгоритмическом языке

1. Штриховка

Программирование на алгоритмическом языке
1
Штриховка
N линий (N=5)
(x1, y1)
x
y1
h
h
x2 x1
N 1
y2
(x2, y2)
прямоугольник (x1, y1, x2, y2)
x:= x1 + h
линия(x, y1, x, y2)
цикл N раз
x:= x + h
линия(x, y1, x, y2)
x:= x + h
...
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

2. Штриховка (программа)

Программирование на алгоритмическом языке
2
Штриховка (программа)
(x1, y1)
?
N
использовать Рисователь
алг Штриховка
нач
цел N = 5 | число линий
цел x1 = 100, x2 = 300
цел y1 = 100, y2 = 200
вещ h, x
h (x2, y2)
h:=(x2 - x1)/(N + 1)
прямоугольник(x1, y1, x2, y2)
x:= x1 + h
нц N раз
линия(int(x), y1, int(x), y2)
Почему?
x:= x + h
кц
целая часть
кон
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

3. Штриховка

Программирование на алгоритмическом языке
3
Штриховка
(x1, y1)
x1
x2 x1
hx
N 1
hx
hy
(x2, y2)
К. Поляков, 2010-2011
y2 y1
hy
N 1
(x, y)
x:= x1 + hx; y:= y1 + hy
линия(x1, int(y), int(x), int(y))
x:= x + hx; y:= y + hy
линия(x1, int(y), int(x), int(y))
x:= x + hx; y:= y + hy
цикл N раз
...
http://kpolyakov.narod.ru

4. Штриховка

Программирование на алгоритмическом языке
4
Штриховка
(x1, y1)
hx
вещ hx, hy, x, y
hx:=(x2 - x1)/(N + 1)
hy:=(y2 - y1)/(N + 1)
в точку(x1, y1)
линия в точку(x1, y2)
hy линия в точку(x2, y2)
линия в точку(x1, y1)
x:= x1 + hx; y:= y1 + hy
нц N раз
линия(x1,int(y),int(x),int(y))
(x2, y2)
x:= x + hx
y:= y + hy
кц
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

5. Задания

Программирование на алгоритмическом языке
5
Задания
«3»: Ввести с клавиатуры количество линий,
построить фигуру и выполнить штриховку:
«4»: Ввести с клавиатуры количество линий,
построить фигуру и выполнить штриховку:
или
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

6. Задания

Программирование на алгоритмическом языке
6
Задания
«5»: Ввести с клавиатуры количество линий и
построить фигуру:
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

7. Программирование на алгоритмическом языке

7
Программирование
на алгоритмическом
языке
Тема 6. Вспомогательные
алгоритмы
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

8. Задача

Программирование на алгоритмическом языке
8
Задача
? Можно ли решить известными методами?
Особенность: три похожие фигуры.
общее: размеры, угол поворота
отличия: координаты, цвет
? Сколько координат надо задать?
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

9. С чего начать?

Программирование на алгоритмическом языке
9
С чего начать?
• найти похожие действия (три фигуры)
• найти общее (размеры, форма, угол поворота) и
отличия (координаты, цвет)
цепочка символов
• отличия = параметры алгоритма (доп. данные)
(x, y-60)
60
(x, y)
100 (x+100, y)
К. Поляков, 2010-2011
использовать Рисователь
алг Тр (цел x, y, лит цвет)
нач
параметры
в точку(x, y)
линия в точку(x, y-60)
линия в точку(x+100, y)
линия в точку(x, y)
кисть(цвет)
залить(x+20, y-20)
кон
http://kpolyakov.narod.ru

10. Если запустить?

Программирование на алгоритмическом языке
10
Если запустить?
(50,100)
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

11. Как использовать?

Программирование на алгоритмическом языке
11
Как использовать?
60
(100,100)
100
вызовы
алгоритма
использовать Рисователь
алг Треугольники
нач
перо(1, "черный")
Тр(100, 100, "синий")
Тр(200, 100, "зеленый")
Тр(200, 160, "красный")
кон
основной
алгоритм
алг Тр(цел x, y, лит цвет)
нач
...
кон
вспомогательный
алгоритм
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

12. Вспомогательные алгоритмы

Программирование на алгоритмическом языке
12
Вспомогательные алгоритмы
• расположены ниже основного
• в заголовке перечисляются формальные
параметры, они обозначаются именами
алг Тр(цел x, y, лит цвет)
• для каждого параметра указывают тип
• однотипные параметры перечисляются через запятую
• при вызове в скобках указывают фактические
параметры в том же порядке
Тр(200, 100, "зеленый")
x
К. Поляков, 2010-2011
y
цвет
http://kpolyakov.narod.ru

13. Задания

Программирование на алгоритмическом языке
13
Задания
«3»: Используя одну процедуру, построить фигуру.
«4»: Используя одну процедуру, построить фигуру.
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

14. Задания

Программирование на алгоритмическом языке
14
Задания
«5»: Используя одну процедуру, построить фигуру.
К. Поляков, 2010-2011
http://kpolyakov.narod.ru
English     Русский Rules