Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Оператор цикла с параметром. Движение

 

1) Перемещение объекта по экрану.

Представим, что экран монитора это ночное небо, а на нем перемещается спутник (белая точка). Напишем фрагменты программы, перемещающие спутник по горизонтали слева направо и справа налево, по вертикали вниз и вверх, по диагоналям в ту и другую стороны. В любом из указанных случаев, фрагмент программы должен реализовать алгоритм:

 

В цикле от начального положения до конечного:

а) рисуем точку;

б) задерживаем;

в) стираем точку, наложив на нее черную;

г) изменяем координаты местоположения точки, на нужный шаг с помощью оператора присваивания или (и) автоматически.

 

 

Фрагменты программ могут выглядеть так:

Вид движения Фрагмент программы Пояснение
    Y=240 FOR X=0 TO 640 PSET(X,Y),15 FOR W=1 TO 500 NEXT W PSET(X,Y),0 NEXT X При движении вдоль оси Х изменяется соответствующая координата (автоматически, как параметр), можно добавить шаг, тогда движение будет скачками.
  Y=240 FOR X=640 TO 0 STEP -1 PSET(X,Y),15 FOR W=1 TO 500 NEXT W PSET(X,Y),0 NEXT X При движении вдоль оси Х изменяется соответствующая координата (автоматически, как параметр), но в обратном направлении (шаг отрицательный)
    X=320 FOR Y=0 TO 480 PSET(X,Y),15 FOR W=1 TO 500 NEXT W PSET(X,Y),0 NEXT Y При движении вдоль оси Y изменяется соответствующая координата (автоматически, как параметр), можно добавить шаг, тогда движение будет скачками.  
    X=320 FOR Y=480 TO 0 STEP -1 PSET(X,Y),15 FOR W=1 TO 500 NEXT W PSET(X,Y),0 NEXT Y При движении вдоль оси Y изменяется соответствующая координата (автоматически, как параметр), но в обратном направлении (шаг отрицательный)
    X=0 FOR Y=0 TO 480 STEP 2 PSET(X,Y),15 FOR W=1 TO 500 NEXT W PSET(X,Y),0 X=X+3 NEXT Y Так как экран не квадрат, то координату X нужно изменятьри движении вдоль оси хковую четностьрдинаты с большим шагом. При движении по диагонали изменяются обе координаты. По вертикали экран короче, поэтому ось Y удобней изменять автоматически, как параметр, а X – с помощью присваивания.
        X=640 FOR Y=480 TO 0 STEP -2 PSET(X,Y),15 FOR W=1 TO 500 NEXT W PSET(X,Y),0 X=X-3 NEXT Y Изменяются обе координаты. Ось Y автоматически, как параметр (шаг отрицательный, т.к. движение к 0), а X – с помощью присваивания (значение координаты тоже стремится к 0).
    X=640 FOR Y=0 TO 480 STEP 2 PSET(X,Y),15 FOR W=1 TO 500 NEXT W PSET(X,Y),0 X=X-3 NEXT Y Изменяются обе координаты. Ось Y автоматически, как параметр, а X – с помощью присваивания (значение координаты уменьшается).
    X=0 FOR Y=480 TO 0 STEP - 2 PSET(X,Y),15 FOR W=1 TO 500 NEXT W PSET(X,Y),0 X=X+3 NEXT Y Изменяются обе координаты. Ось Y автоматически, как параметр (шаг отрицательный, т.к. движение к 0), а X – с помощью присваивания (значение координаты увеличивается).

Задание:

Написать программу движения мяча произвольного радиуса, по фиксированной траектории в форме треугольника. Движение осуществляется по часовой стрелке. Треугольник изображать не нужно.

               
             
               
               
             
               

Решение:

Пусть радиус мяча будет вводиться с клавиатуры и храниться в переменной R.

Мяч движется вначале из точки (80,400) до точки (320, 160), затем до точки (560, 400) и возвращается в точку (80,400). Это движение может реализоваться при последовательном использовании трех циклов с параметром. Данные точки будут центрами окружности, изображающей мяч. Стирать мяч будем с помощью черного квадрата, описанного около окружности. В программе будет реализован следующий алгоритм:

1. Вводим значение радиуса;

2. Зафиксируем значение переменной х=80;

3. В цикле с параметром у от 400 до 160 с отрицательным шагом:

а) рисуем мяч;

б) задерживаем;

в) стираем;

г)изменяем координату по оси х с помощью оператора присваивания на величину шага со знаком «+».

4. В цикле с параметром у от 160 до 400 с положительным шагом:

а) рисуем мяч;

б) задерживаем;

в) стираем;

г)изменяем координату по оси х с помощью оператора присваивания на величину шага со знаком «+».

5. В цикле с параметром х от 560 до 80 с отрицательным шагом:

а) рисуем мяч;

б) задерживаем;

в) стираем.

Программа:

CLS

PRINT “введите радиус мяча”

INPUT R

X=80

FOR Y=400 TO 160 STEP -1

CIRCLE(X, Y), R, 4

PAINT(X, Y), 4, 4

FOR W=1 TO 500

NEXT W

LINE(X-R, Y-R)-(X+R, Y+R), 0, BF

X=X+1

NEXT Y

FOR Y=160 TO 400

CIRCLE(X, Y), R, 4

PAINT(X, Y), 4, 4

FOR W=1 TO 500

NEXT W

LINE(X-R, Y-R)-(X+R, Y+R), 0, BF

X=X+1

NEXT Y

FOR X=560 TO 80 STEP -1

CIRCLE(X, Y), R, 4

PAINT(X, Y), 4, 4

FOR W=1 TO 500

NEXT W

LINE(X-R, Y-R)-(X+R, Y+R), 0, BF

NEXT Y

END

 



<== предыдущая лекция | следующая лекция ==>
Частицы в составе сказуемого | Гипотезаларды тексеру және сенімділік интервал
Поделиться с друзьями:


Дата добавления: 2017-03-18; Мы поможем в написании ваших работ!; просмотров: 283 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Настоящая ответственность бывает только личной. © Фазиль Искандер
==> читать все изречения...

2374 - | 2099 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.