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

Оператор preset, pset

Оператор PRESET, PSET малює задану точку на екрані.

PRESET [STEP] (x!,y!) [,color%]

PSET [STEP] (x!,y!) [,color%]

STEP – вказує, що x! та y! задані відносно поточного положення

курсора.

(x!, y!) – координати екрана точки растра, яку установлють.

[сolor%] – атрибут кольору, точки растра яку установлють. Коли [сolor%] пропущено, PRESET використовує поточний колір фону, а PSET використовує поточний колір переднього плану.

Доступні атрибуті кольору, залежать від вашого графічного відеоадаптера та режиму екрана. Значення координат залежать від графічного відеоадаптера, режиму екрана та останніх установок в операторах VIEW та WINDOW.

Приклад. Для виконання цього прикладу потрібний графічний відеоадаптер.

SCREEN 1

FOR i % = 0 TO 320

PSET (i%, 100)

FOR delay% = 1 TO 100: NEXT delay%

PRESET (i%, 100)

NEXT i%

Приклад для сукупного використання графічних операторів:

SREEN 1,0

VIEW(1, 1) - (159, 98), , 1

WINDOW (-318, -198) - (318, 198)

LINE (-318, 0) - (318, 0)

LINE (0, 198) - (0, -198)

FOR I = -300 TO 300 STEP 2

PSET (I, COS ( I*3.14)), 2

END

PI = 3.14158

SCREEN 1: CLS

CIRCLE (160, 100), 79, 3

CIRCLE (160, 100), 80, 3

ST = .77: SP = .77

FOR I = 1 TO 30 STEP 3

ST = (ST - .015 ): SR = ST * PI

SP = SP + .04

CIRCLE (160, 93), 100+ 1, 3, SR, SP, .3

Оператор locate

Для переміщення курсора в необхідну позицію екрана, здебільшого застосовують оператор LOCATE. Це дуже зручно, наприклад, для створення складних форм виведення на екран.

LOCATE [Рядок] [, (Стовпчик) [, [Курсор] [, Старт [, [Стоп]]]]

Рядок – рядок екрана (1-25), на яку повинен переміститись курсор.

Стовпчик – стовпчик екрана (1-80), до якого повинен переміститися курсор.

Курсор-вказує, в якому стані знаходиться курсор при виведенні. 0-Вимкнутий, 1-вімкнутий.

Старт, Стоп -числа від 1 до 31, що задають висоту курсора.

Синтаксично команда має вигляд достатньо складний, але ситуацію спрощує тe, що більшість параметрів необов’язкові.

Приклад 1. Після очищення перше виведення на екран повинно бути в десятому рядку.

‘Виведення в десятий рядок після CLS

CLS

LOCATE 10

PRINT "Виведення з'являється в десятому рядку екрана"

‘Кінець програми .

Приклад 2. Цей приклад демонструє корисність оператора LOCATE у разі виведення інформації на екран.

'Оформлення зображення на екрані для висоти, ширини, довжини

CLS

LOCATE 10.5 'Перше виведення в рядок 10 стовпчик 5

PRINT "Довжина:"

LOCATE 11.5

PRINT "Ширина:"

LOCATE 12.5

PRINT "Висота:"

LOCATE 10.15

INPUT "", helghtl

LOCATE 11.15

INPUT "", breadth!

LOCATE 12.15

INPUT “", length!

'Кінець програми

2.11.6 Функції і процедури, визначенні користувачем

В попередніх розділах ви ознайомилися з деякими вбудованими стандартними функціями QBASIC. Тепер розглянемо функції, що визначаються самим киристувачем.

Функції-вираз

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

Функції цього виду використовуються, коли необхідно обчислити той самий вираз при різних значеннях змінної. Формат опису функції

DEF FN < ім'я функції > (< аргумент 1 >, < аргумент 2 >...) = ( вираз ).

Аргументи, які використовуються в описі функції, називаються формальними параметрами функції. Один від іншого вони відділяються комами. Опис функції може знаходитися в будь-якому місці програми.

Функції могуть бути чисельними або символьними. Розглянемо чисельні функції. Вираз у цьому вигляді буде тільки алгебраїчним.

До функції, описаній в програмі можна звертатися, тобто вираховувати значення функції за будь-яких конкретних значень змінної, які називаються фактичними параметрами. В цьому випадку формальні параметри заміняються відповідними фактичними та відбувається обчислення функції, описаної виразом з правої частини опису функції. Чисельність формальних та фактичних параметрів повинно збігатися, а їх типи повинні бути сумісними. Фактичним параметром може бути змінна, число або вираз, наприклад:

А=17:N=3

DEF FNB(X,Y,Z)=X^2+Y-Z*A

C=FNB(N,3,A+N/A)

PRINT C

Якщо у вираз, що визначає функцію, входять деякі не фіктивні змінні, то при обчисленні функції в неї підставляють їх поточні значення.

Якщо під час роботи програми знаходиться синтаксична помилка та вказується номер рядка, в якому обчислюється функція, то сама помилка може бути не тільки в цьому рядку, але і в рядку програми, в якому міститься опис цієї функції.