
ИДЗ Thurmit Вариант 17 / идз_17
.docФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ
Индивидуальное домашнее задание
по дисциплине
«Теория вычислительных процессов»
|
Студент |
|
|
|
Филатов А.А. |
|
||||||||
|
|
|
подпись, дата |
|
фамилия, инициалы |
|
||||||||
|
Группа |
|
АС-09-1 |
|
|
|
|
|||||||
|
|
|
|
|
|
|
||||||||
|
Принял |
|
|
|
|
|
||||||||
|
|
|
|
|
Гаев Л.В. |
|
||||||||
|
ученая степень, звание |
|
подпись, дата |
|
фамилия, инициалы |
|
Липецк 2012
Задание кафедры
Вариант 17: Создать анимированную картинку - два рядом расположенные квадрата, размером 50 точек на 50, цвет 11, которые перемигивают (сначала левый закрашен внутри, а другой черный, потом - наоборот).
1. Описание алгоритма
-
Создание контуров квадратов
-
Отображение линии длиной 50 пикселей цвета 15 (белый)
-
Поворот против часовой стрелки и отображение линии
-
При замыкании линии перейти в правый нижний угол
-
Повторить цикл до еще одного замыкания линий (второй контур)
Зарисовка левого квадрата цветом 11
-
Перемещение в левый верхний угол
-
До встречи границы квадрата заменять черный цвет на 11
-
При встрече повернуть назад и на обратном пути также заменять цвет
-
При полной зарисовке квадрата перемещение в левый верхний угол
Перемигивание квадратов
-
До встречи второй границы заменять цвет 0 на цвет 11 и наоборот
-
При встрече повернуть и также заменять цвета
-
При полной зарисовке квадратов вернуться в верхний левый угол
-
Повторить пункт 3
2. Листинг программы
;Перемигивающие квадраты
;Рисование первого контура
;прямая 50 пикселей и поворот против часовой
A 0 15 0 B
B 0 15 0 C
C 0 15 0 D
D 0 15 0 E
E 0 15 0 F
F 0 15 0 G
G 0 15 0 H
H 0 15 0 I
I 0 15 0 J
J 0 15 0 K
K 0 15 0 L
L 0 15 0 M
M 0 15 0 N
N 0 15 0 O
O 0 15 0 P
P 0 15 0 Q
Q 0 15 0 R
R 0 15 0 S
S 0 15 0 T
T 0 15 0 U
U 0 15 0 V
V 0 15 0 W
W 0 15 0 X
X 0 15 0 Y
Y 0 15 0 Z
Z 0 15 0 a
a 0 15 0 b
b 0 15 0 c
c 0 15 0 d
d 0 15 0 e
e 0 15 0 f
f 0 15 0 g
g 0 15 0 h
h 0 15 0 i
i 0 15 0 j
j 0 15 0 k
k 0 15 0 l
l 0 15 0 m
m 0 15 0 n
n 0 15 0 o
o 0 15 0 p
p 0 15 0 q
q 0 15 0 r
r 0 15 0 s
s 0 15 0 t
t 0 15 0 u
u 0 15 0 v
v 0 15 0 w
w 0 15 0 x
x 0 15 -1 A
;Второй контур
A 15 15 0 A
;проход в левый верхний угол
x 15 15 0 y
y 15 15 0 y
y 0 0 -1 z
z 0 0 -1 z
;закраска левого квадрата цветом 11
z 15 15 0 0
0 0 11 0 0
0 15 15 1 1
1 15 15 1 2
2 0 11 0 2
2 15 15 -1 3
3 15 15 -1 0
;возврат указателя в левый верхний угол
3 0 0 1 4
4 0 0 1 4
4 15 15 -1 5
5 15 15 0 5
5 0 0 1 6
6 0 0 1 6
6 15 15 -1 7
7 15 15 0 7
7 0 0 -1 8
8 0 0 -1 9
9 0 0 0 !
! 0 0 -1 !
! 15 15 0 @
;перекраска квадратов
;вправо
@ 11 0 0 @
@ 0 11 0 @
@ 15 15 0 $
$ 11 0 0 $
$ 0 11 0 $
$ 15 15 1 %
% 15 15 1 ^
;влево
^ 11 0 0 ^
^ 0 11 0 ^
^ 15 15 0 &
& 11 0 0 &
& 0 11 0 &
& 15 15 -1 *
* 15 15 -1 @
;возврат в левый верхний угол и цикличное перекрашивание
* 0 0 1 (
( 0 0 1 (
( 15 15 -1 )
) 15 15 0 )
) 0 0 1 -
- 0 0 1 _
_ 15 15 -1 +
+ 15 15 0 +
+ 0 0 -1 А
А 0 0 -1 Б
Б 0 0 0 В
В 0 0 -1 Г
Г 15 15 0 @
3. Контрольный пример
Скриншот в первый момент времени
Скриншот после перерисовки
Общее расположение в окне программы