Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Basic Методичка.doc
Скачиваний:
12
Добавлен:
15.11.2018
Размер:
1.47 Mб
Скачать

11. Построение динамических изображений

Для того, чтобы создать впечатление движущихся по экрану объекта, следует каждый раз сначала стирать изображение с экрана, а затем снова выводить его на экран в новом месте. При этом местоположение объекта при каждом последующем выводе должно очень незначительно отличаться от его местоположения при предыдущем выводе. В противном случае вместо плавного перемещения изображение будет «дергающимся». Для решения этой проблемы в языке BASIC включены операторы GET и PUT

11.1. Операторы GET и PUT

Оператор GET позволяет запоминать цвета всех точек заданной прямоугольной области экрана монитора и хранит их номера в виде числового массива. Оператор PUT повторно воспроизводит все эти цвета на экране.

11.2. Определение массива для запоминания картинки

Массив для запоминания картинки резервируется с помощью известного оператора DIM. Массив резервируется как одномерный, которому присваивается имя, характерное для картинки, например, SET. Тогда синтаксическая структура DIM:

DIM SET(N),

где N – количество пикселей (точек);

11.3 Оператор GET

Синтаксическая структура оператора GET:

GET (a,b)-(a1,b1), SET,

где GET – ключевое слово “запомнить”, а (a,b) и (a1,b1) – координаты противоположных вершин прямоугольной области, которой ограничено изображение. В операторе указывается только имя массива без скобок и индексов.

11.4 Оператор PUT

Этот оператор используется для воспроизведения изображения. Его синтаксическая структура:

PUT (a2,b2), SET,

где PUT – ключевое слово “воспроизвести”, (a2,b2) – это координаты верхнего левого угла воспроизводимого в новом месте прямоугольника.

Если в операторе PUT указывать координаты (a,b) вершины предыдущего изображения, то этот оператор стирает изображение на экране.

11.5 Организация движения объекта

Для синтеза на экране движения объекта необходимо выполнить следующие действия:

  • воспроизвести изображение объекта на экране с помощью оператора PUT;

  • определить координаты нового местоположения объекта на экране;

  • с помощью оператора PUT повторно воспроизвести изображение на экране;

  • стереть с помощью оператора PUT текущее изображение объекта на экране;

  • повторить все операции, начиная со второй (это делается в цикле FOR-NEXT);

Примечание: Пункты 3 и 4 можно менять местами.

Приложение 1

Характерные примеры схем алгоритмов и программ на языке BASIC.

1.Условные обозначения в схемах алгоритмов

Конфигурация и размер блоков, а также порядок построения схем определяет

МКС 01.080.40 ГОСТ 19701-90 (ИСО 5807-85). На рис.1 приведены наиболее употребляемые блоки.

Рисунок 1. Условные обозначения схем алгоритмов

  1. Процесс – вычислительное действие или последовательность вычислительных действий;

  2. Решение – проверка условий или разветвление процесса (трёхнаправленный и двунаправленный переключатель);

  3. Модификация – начало цикла;

  4. Ввод и вывод – операция ввода–вывода;

  5. Предопределённый процесс – подпрограмма (ПП);

  6. Начало и конец программы – пуск и остановка;

  7. Комментарий – пояснения, содержание подпрограмм, формулы;

  8. Соединитель – разрыв линий потока на одной и той же странице, указывается номер блока;

  9. Межстраничный соединитель – разрыв линий потока на различных листах (страницах).

Примеры программ и схем алгоритмов.

2.1. Линейный вычислительный процесс.

Задача 1. Вычислить функцию:

, где ;

При а = 0,93; с использованием операторов присваивания.

Решение:

2.1.1. Составим схему алгоритма – см. Рис.2, п.1

2.1.2. Присвоим переменные имена:

a

b

x

y

A

B

X

Y

2.1.3. Представим распечатку листинга программы в соответствие с приведенными к лабораторным работам требованиями в виде:

нс 1 REM Иванов В.П. ,гр.107… ,вариант 1–3

Здесь использованы для выделения комментария.

2.1.4. Программа с использованием оператора присваивания.

Распечатку исходных данных и результатов выберем в виде:

Исходные данные:

А=…

В=…

Результаты:

печать в разных строках, сдвинутая вправо на 5 интервалов

2.1.5. Программа:

10 REM Иванов В.П., гр.107… ,вариант 1–3

20 PRINT

30 PRINT

40 A=.93

50 B=1.25E-2

60 X=EXP(A)*LOG(ABS(B))

70 Y=A^2*X*SIN(A)/(SQR(ABS(A))+X^2)

80 PRINT ”Исходные данные”

90 PRINT “A=”; A, “B=”; B

100 PRINT

110 PRINT “Результаты:”

120 PRINT “”; X

130 PRINT “”; Y

140 STOP

150 END

Рисунок 2. Примеры схем алгоритмов

Операторы в строках 40–70 являются операторами присваивания. Строки 80 –130 осуществляют печать на экран монитора.

2.1.6. Для выполнения программы подайте команду:

RUN

В результате на экран монитора и принтер информация выводится в виде п.2.1.4.

Задача 2. Решить задачу 1 с использованием операторов задания начальных значений и ввода.

Отличие только в двух операторах в программе (см. п. 2.1.5.):

40 DATA .93, 1.25E-2

50 READ A, B

60. …

Примечание: В дальнейшем выбираем рассмотренные здесь виды распечаток и ограничимся рассмотрением алгоритма и программы.

2.2. Разветвляющийся вычислительный процесс.

Задача3. Вычислить значение функции:

Исходные данные: а=1.45, x=0.57

2.2.1. Составим схему алгоритма - см. рис.2 (2).

2.2.2. Присвоим переменным имена:

a

x

y

A

X

Y

2.2.3. - 2.2.4. – аналогичны п.п.2.1.3. – 2.1.4.

2.2.5. Программа:

10 REM Иванов В.П., гр.107… ,вариант 1–3

20 PRINT

30 PRINT

40 A=1.45

50 X=.57

60 IF A<X THEN y=A*X^2*SIN(X) ELSE IF A=X THEN

Y=EXP(3)*SQR(ABS(X)) ELSE Y=TAN(X)

90 PRINT ”Исходные данные”

100 …

… аналогично строкам 90–140 п.2.1.5.

240 …

Оператор в строке 60 является оператором условного перехода. Возможны другие варианты программы с использованием IF – GOTO и IF – THEN, но программа становится длиннее.

2.2.6. - аналогичен п.2.1.6.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]