
- •Выполнил: преподаватель Агафонов а. В.
- •Оглавление
- •19. Задания 55
- •22. Задания 59
- •1. Введение
- •2. Переменные
- •Символьные переменные.
- •Числовые переменные
- •3. Операторы присвоения, печати, ввода и ремарки Оператор присвоения
- •Оператор печати
- •Оператор ввода
- •Оператор ремарки
- •4. Арифметические действия.
- •Логический оператор and
- •Верное Верное Верное
- •Логический оператор or
- •Логический оператор not
- •Другие логические операторы xor, eqv, imp
- •7. Оператор условного перехода
- •Оператор if.(условие)..Then.(оператор)..Else..(оператор).
- •Оператор select
- •8. Задания
- •9. Оператор цикла Принудительное прерывание программы
- •Цикл do……loop
- •Цикл for...Next
- •Оператор goto
- •10. Задания
- •Задачи на вычисление сумм.
- •11. Функции
- •Математические функции
- •Символьные функции.
- •Вспомогательные функции
- •Выработка случайных величин.
- •12. Задания
- •13. Операторы графики.
- •Изображение линий и прямоугольников
- •Изображение кругов и эллипсов
- •Раскрашивание
- •Оператор draw
- •14. Задания
- •15. Функция пользователя
- •16. Процедуры
- •Оператор gosub..Return
- •Оператор sub...End sub
- •17. Задания
- •18. Массивы
- •Многомерные массивы
- •Операторы data, read, restore
- •19. Задания
- •20. Работа с файлами.
- •Запись в файл
- •Функция eof принимает значение 1, если конец файла и 0 – в противном случае. Аргументом функции является порядковый номер файла.
- •22. Задания
- •23. Создание функции пользователя в Excel с помощью Visual Basic
Изображение линий и прямоугольников
Линию можно провести с помощью оператора LINE.
Например,
LINE (A, B) - (C, D), цвет - проводит линию из точки с координатами (А,В) до точки с координатами (С, D) с заданным номером цвета (цвет указывать необязательно)
Для изображения прямоугольника используется оператор LINE (A, B) - (C, D), цвет, В (от слова ВОХ)
Оператор , LINE (A, B) - (C, D), цвет, ВF (от слова ВОХ FILL)
Следующий пример удобно просмотреть пошажно командами DEBUG->STEP (F8) и VIEW->OUTPUT SCREEN (F4) .
SCREEN 12 LINE (0, 0)-(640, 480)'прямая по диагонали экрана LINE (20, 50)-(70, 100), , B 'квадрат LINE (80, 80)-(100, 100), 2, B 'зелёный квадрат LINE (200, 110)-(250, 300), 4, BF 'красный заполненный квадрат
|
Во второй строке видно, что если не хотим указывать цвет, оставляем это место пустым.
Рассмотрим программу, рисующую отрезки со случайными концами и цветом.
SCREEN 12
RANDOMIZE TIMER 'включаем генератор случайных чисел
DO 'генерируем координаты и цвет a = INT(RND * 640) b = INT(RND * 480) c = INT(RND * 640) d = INT(RND * 480) v = INT(RND * 16 + 1)
'проводим линию LINE (a, b)-(c, d), v 'цикл продолжается до нажатия клавиши LOOP UNTIL INKEY$ <> "" |
Изображение кругов и эллипсов
Круги и эллипсы рисуются с помощью оператора CIRCLE, к которому добавляются параметры.
CIRCLE x,y,радиус,цвет,начало,конец,коэффициент сжатия |
Здесь:
x и y – координаты центра.
Цвет – число от 1 до 16.
Начало – начальное значение дуги в радианах, по умолчанию 0.
Конец – конечное значение дуги в радианах, по умолчанию 2*pii (pii = 3,14...)
Коэффициент сжатия – отношение высоты эллипса к его ширине, для круга равен 1.
В случае круга достаточно параметров центра круга и радиуса.
Приведём пример изображения круга и эллипса.
Его построение можно исследовать, нажимая клавиши F8 и F4.
SCREEN 12 CIRCLE (100, 100), 30 'обычный белый круг CIRCLE (200, 100), 30, 4 'красный круг CIRCLE (200, 300), 30, 9, 3.14 'синяя дуга CIRCLE (400, 180), 60, 2, , , 4 'зелёный овал
Рассмотрим программу, где меняется коэффициент сжатия.
|
|
SCREEN 12
FOR к = 1 TO 16 STEP 0.1 CIRCLE (150, 240), 150, 2, , , к NEXT
FOR к = 1 / 16 TO 1 STEP .1 CIRCLE (460, 240), 150, 4, , , к NEXT |
|
Раскрашивание
Раскрасить замкнутую область можно с помощью оператора PAINT:
PAINT (x,y),цвет,цвет границы |
Рассмотрим следующую картинку рыбы:
SCREEN 12
CIRCLE (190, 100), 100, 1, , , .3 'синий эллипс –тело рыбы CIRCLE (265, 92), 5, 1, , , .7 'синий эллипс – глаз рыбы 'ограниченное синим тело рыбы станет зелёным PAINT (190, 100), 2, 1
LINE (40, 120)-(40, 80), 2 'зелёный контур LINE (40,80)-(100, 100), 2 'рыбий хвост LINE (100,100)-(40, 120), 2'рисунок
'хвост с зелёным контуром становится синим PAINT (50, 100), 1, 2
Ниже даётся эффектная программа с использованием операторов |
PAINT и CIRCLE:
RANDOMIZE TIMER 'мешаем случайные числа
SCREEN 12
DO X = RND * 640 'случайный центр Y = RND * 480 Raadius = RND * 100 'случайный радиус C = INT(RND * 14 + 1) 'случайный цвет C CIRCLE (X, Y), Raadius, 15 'круг с белым контуром PAINT (X, Y), C, 15 'закрашиваем белый круг цветом C CIRCLE (X, Y), Raadius, C 'рисуем круг цветом С LOOP UNTIL INKEY$ <> "" |
Ещё одна интересная программа:
INPUT "Введи радиус"; R
'выбираем местоположение и направление движения
d 'направление движения MI = 1: NI = 1
'центр M = 100: N = 100
'включаем графический экран и начинаем рисовать
SCREEN 12 DO
'проверяем, что не выходим за пределы IF M < R OR M > 640 - R THEN MI = -MI IF N < R OR N > 480 - R THEN NI = -NI
CIRCLE (M, N), R, 0 'закрашиваем чёрным (для стирания) M = M + MI N = N + NI CIRCLE (M, N), R 'белый цвет
'далее стоит задержка (число 200 может быть увеличено)
FOR pidur = 1 TO 200 NEXT pidur LOOP UNTIL INKEY$ <> "" |