II .12. Оператор цикла с предусловием. Графическая иллюстрация работы цикла — КиберПедия 

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

II .12. Оператор цикла с предусловием. Графическая иллюстрация работы цикла

2021-06-23 36
II .12. Оператор цикла с предусловием. Графическая иллюстрация работы цикла 0.00 из 5.00 0 оценок
Заказать работу

Поставим перед собой задачу, получить на экране следующую картину: два кружка радиусами 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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.