Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Интересное:
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
2021-06-23 | 39 |
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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!