28.05.2012, 18:21 | #1 (permalink) |
Member
Регистрация: 12.04.2012
Сообщений: 28
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Листинг, программа
Задача 1: сделать мигающий квадрат.. Т.е в центре экрана появляется квадрат, затем исчезает, затем появляется другой, но уже другого цвета и другого размера, затем исчезает, затем другой и т.д. Это продолжается, пока пользователь не нажмет Esc. Program pr1; Uses CRT, graph; var gd,gm:integer; n,x1,y1,x2,y2,i:integer; a:char; Begin gd:=0; Initgraph(gd,gm,'c:\TP7\bgi'); While not keypressed do begin n:=random(100); x1:=320-n; y1:=240-n; x2:=320+n; y2:=240+n; i:=random(16); Setcolor(i); Rectangle(x1,y1,x2,y2); Delay(200); Setcolor(0); Rectangle(x1,y1,x2,y2); end; Readkey; Closegraph; End. |
28.05.2012, 18:21 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Данные ссылки могут раскрыть ваши глаза на решение проблемы Программа на Си Нужен листинг программы и блок-схема Листинг, программа №2 Программа на С |
28.05.2012, 19:24 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Altana, в чем дело? Ведь только что "по косточкам" разобрали эту эту задачку здесь, и всё вроде было хорошо и понятно, так теперь опять двадцать пять здрасьте приехали?
|
28.05.2012, 20:18 | #5 (permalink) |
Member
Регистрация: 12.04.2012
Сообщений: 28
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Я отстаивала ту задачу как могла)) Но она у нас оооочень вредная.. -_-
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
29.05.2012, 12:47 | #7 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Абсолютно не вижу принципиальной разницы с предыдущим вариантом, ну да ладно:
While not keypressed do {Цикл до нажатия любой клавиши} begin {Начало цикла} n:=random(100); {Задание полустороны квадрата случайным образом в диапазоне 0..99 пикселов} x1:=320-n; {Определение X-координаты левого верхнего угла квадрата} y1:=240-n; {Определение Y-координаты левого верхнего угла квадрата} x2:=320+n; {Определение X-координаты правого нижнего угла квадрата} y2:=240+n; {Определение Y-координаты правого нижнего угла квадрата} i:=random(16); {Выбор цвета квадрата путем случайного задания индекса от 0 до 15} Setcolor(i); {Установка выбранного цвета} Rectangle(x1,y1,x2,y2); {Рисование квадрата} Delay(200); {Задержка на 0.2 секунды} Setcolor(0); {Установка фонового цвета} Rectangle(x1,y1,x2,y2); {Рисование того же квадрата фоновым цветом. Квадрат исчезает} end; {Конец цикла} Readkey; {В таком варианте - абсолютно лишняя команда. Можете убрать} Closegraph; {Выход из графического режима} End. {Глобальное ВСЁ!} |
29.05.2012, 12:53 | #9 (permalink) |
Member
Регистрация: 12.04.2012
Сообщений: 28
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
ааа.. можно ещё вопрос))
Почему в начале цикла: "While not keypressed do" я не могу написать: "While ord(a)=27"? в описании переменных добавила переменную a:char.. что тут не так? |
29.05.2012, 12:56 | #10 (permalink) |
Хозяин Медной Горы
Регистрация: 01.08.2011
Адрес: Армавир
Сообщений: 12,159
Записей в дневнике: 8
Сказал(а) спасибо: 751
Поблагодарили 88 раз(а) в 27 сообщениях
Репутация: 57416
|
Удл. сообщение, т.к. дублирует предыдущее
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|