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

Input "Сообщение", список переменных

При выполнении команды INPUT вычисления приостанавливаются и на экран дисплея выводится поясняющее сообщение, если вы его написали. В списке переменных через запятую указываются имена переменных, которые принимают вводимые данные.

Например:

Команда: INPUT"Введите коэффициент и код режима",B,KR$

Экран: Введите коэффициент и код режима

Курсор устанавливается следом за последним символом выведенного текста, и программа ожидает ввода данных. Вы должны через запятую набрать все данные и нажать клавишу {Enter}.

Если строка символов замкнута не запятой, а точкой с запятой, INPUT выводит следом за текстом символ "?" и устанавливает курсор через пробел после "?".

Например:

Команда: INPUT"Год рождения";GR$

Экран: Год рождения?_

Сообщение в INPUT можно опустить. Тогда на экран будет просто выдан знак вопроса.

Тип и количество вводимых данных должны соответствовать типу и количеству описанных переменных.

Например:

Команда: INPUT"Введите № школы, класс, фамилию";N,K,F$

Экран: Введите № школы, класс, фамилию? 2,10,Петров

Виды ошибок:

  1. Тип данных не совпадает с типом переменных.

  2. Ввели слишком много данных.

Оператор вывода данных

Формат:

PRINT список_выражений

В поле операндов через запятую или через точку с запятой перечисляются выражения, значения которых надо вывести. Значения данных выводятся с текущей позиции курсора.

1. Плотный вывод - разделитель ";"

Например:

a) Команда: PRINT"Мне";K;"лет"

Экран: Мне 16 лет (если К=16)

Перед значением числа выводится либо пробел, либо знак "минус".

b) Команда: PRINT"Пра";"бабушка"

Экран: Прабабушка

2. Зональный вывод - разделитель ","

Если указана запятая, QBASIC выводит данные по зонам, каждая зона - 14 позиций.

Например:

Команда: PRINT"Мне",K,"лет"

Экран: Мне 16 лет (если К=16)

3. Вывод в разных строках

Например:

Команда: PRINT "Зарплата"

PRINT ZP;"руб"

Экран: Зарплата

2000 руб

Пример. Даны катет прямоугольного треугольника и прилежащий угол. Определить площадь треугольника и гипотенузу. Длину и угол в радианах ввести динамически. Результат вычисления вывести в разных зонах.

INPUT"Введите катет прямоугольного треугольника и прилежащий угол";A,U

C=A/COS(U) 'Вычисление гипотенузы

B=SQR(C^2-A^2) 'Вычисление катета

S= 0.5*B*A 'Вычисление площади треугольника

PRINT"C=";C,"S=";S

End

Для самостоятельного решения:

  1. Кольцо задано радиусами двух окружностей. Вычислить площадь кольца. Данные задать динамически. Результат вычисления вывести в разных строках.

  2. Даны числа x, y, z. Вычислить s=x2+y/(z2+y2/(x+y)3). Данные ввести динамически.

Статический ввод данных

Если программа постоянно работает с некоторым набором числовых или символьных констант, то можно объявить такой набор блоком данных:

DATA список констант

В списке констант через запятую указываются значения констант, например:

10 DATA 5,25,19.6,30,12,"ABC"

20 DATA "BASIC","Pascal",25.9

В программе можно записать произвольное число операторов DATA. В блок данных по порядку включаются все константы и в памяти создаётся специальный указатель блока данных. Во время работы программы этот указатель содержит порядковый номер константы в блоке данных. При запуске программы указатель показывает на первую константу из блока данных.

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

READ список переменных

В списке переменных через запятую указываются имена переменных, которым присваиваются значения констант из блока данных. Типы переменных в списке READ должны соответствовать типам констант из блока данных. Например:

READ a%, m%, t

Переменным a%, m%, t присвоятся значения 5, 25 и 19.6. Указатель перемещается на 4-ую константу. Оператор

READ c, sc%, a$

Присвоит переменным c, sc%, a$ значения 30, 12, "ABC" и указатель переместится на "BASIC" и т.д.

Как несколько раз прочитать одни и те же данные из блока данных? Для восстановления указателя блока данных используется оператор RESTORE:

RESTORE номер строки или метка

где номер строки должен указывать на оператор DATA.

Если не указан номер строки, следующий после RESTORE, READ начнет чтение с первой константы блока данных. Например:

RESTORE

READ vk%, s%

RESTORE 20

READ z1$, z2$

vk%, s% присвоятся значения 5 и 25, а переменным z1$, z2$ - значения "BASIC" и "Pascal".

Блок данных удобен в тех случаях, когда несколько раз используется одна и та же последовательность констант.

Пример. Составить программу нахождения высоты равнобедренной трапеции, у которой основания 5м и 11м, а боковая сторона 4м. Данные ввести статически.

DATA 5,11,4

READ BC,AD,AB

AE=(AD-BC)/2 'Основание треугольника

HT=SQR(AB^2-AE^2)

PRINT"Высота трапеции =";HT

END

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