Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Топ:
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
2021-06-23 | 36 |
5.00
из
|
Заказать работу |
Поставим перед собой задачу, получить на экране следующую картину: два кружка радиусами R1 и R2 и цветами с1 и с2 движутся навстречу друг другу. В точке соприкосновения на их месте вырастает круг радиусом R1+R2 и цветом кружка большего радиуса.
Начальное положение: Результат:
Сложно подсчитать количество шагов до столкновения, поэтому и затруднительно будет использовать цикл с параметром для решения данной задачи.
Из условий задачи можно определить, что координата по вертикали остается неизменной. Пусть (Х1,Y) и (Х2,Y) – координаты центров заданных кружков.
Координаты по горизонтальной оси будут изменяться в противоположных направлениях (Х1 от R1, Х2 от 639-R2 до столкновения). В какой точке произойдет встреча трудно подсчитать, но можно определить условие, при котором они встретятся.
Из рисунка видно, что разница между центрами кружков должна быть равна сумме радиусов (Х2-Х1=R1+R2). Значит, кружки будут двигаться, пока выполняется условие Х2-Х1>R1+R2.
Когда известно условие, при котором необходимо повторять определенную серию действий, используют цикл с предусловием.
Формат:
WHILE условие работы цикла
тело цикла
WEND
WHILE, WEND – служебные слова;
Условие – строится по тому же принципу, что и в условном операторе, оно будет проверяться перед каждым шагом работы цикла. Если оно заведомо ложно, то и цикл не выполнится ни разу.
Тело цикла – серия операторов, которая будет повторяться, пока условие работы не будет нарушено. В теле цикла обязательно должны быть операторы, выполнение которых влияет на изменение истинности условия, иначе цикл не остановится (произойдет зацикливание).
Дословно конструкцию можно прочитать так: Пока условие истинно, выполняй тело цикла.
Вернемся к заданию. Подведем итоги.
Данные величины:
R1 – радиус первого кружка; с1 – цвет первого кружка;
R2 – радиус второго кружка; с2 – цвет второго кружка;
Y – высота движения кружков;
Решение:
Х1=R1 – начало движения первого кружка;
X2=639-R2 – начало движения второго кружка;
X2-X1>R1+R2 – условие движения;
С каждым шагом цикла при истинном условии, выполняются следующие действия:
1. изображаются кружки с центрами (Х1,Y) и (Х2,Y), радиусами R1 и R2, соответственно, и цветами с1 и с2, соответственно;
2. задерживаем изображение;
3. стираем;
4. Х1 увеличивается на шаг (возьмем шаг равный 1 пикселю);
5. Х2 уменьшается на аналогичный шаг;
После выхода из цикла, координаты центра нового шара (Х1+R1, Y). Цвет определим с помощью условного оператора, сравнив с1 и с2.
Программа:
CLS
PRINT “введите высоту движения, радиусы кружков и их цвета”
INPUT Y, R1, R2, C1, C2
X1=R1
X2=639-R2
SCREEN 12
WHILE X2-X1>R2+R1
CIRCLE(X1, Y), R1, C1
PAINT(X1, Y), C1, C1
CIRCLE(X2, Y), R2, C2
PAINT(X2, Y), C2, C2
FOR W=1 TO 1000
NEXT W
LINE (X1-R1, Y-R1)-(X1+R1, Y+R1), 0, BF
LINE (X2-R2, Y-R2)-(X2+R2, Y+R2), 0, BF
X1=X1+1
X2=X2-1
WEND
X=X1+R
R=R1+R2
IF R1>R2 THEN C=C1 ELSE C=C2
CIRCLE(X, Y), R, C
PAINT(X, Y), C, C
END
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!