- •Общая характеристика языка
- •Элементы языка qbasic
- •Ключевые слова
- •Синтаксические соглашения
- •Комментарии
- •Арифметические выражения.
- •Строковые выражения
- •Типы данных
- •Стандартные типы данных.
- •Константы и переменные. Константы.
- •Переменные.
- •Присвоение значений переменным.
- •Ввод/вывод.
- •Вывод на экран.
- •Очистка экрана.
- •Ввод с клавиатуры.
- •Input "Введите, пожалуйста, высоту :"; height!
- •Input "Введите, пожалуйста, ширину :"; breadth!
- •Input "Введите, пожалуйста, длину :"; length!
- •Форматированный вывод на экран.
- •Позиционирование курсора.
- •Вывод пробелов.
- •Функция табуляции.
- •Остановка программы.
- •Управляющие операторы.
- •Оператор безусловного перехода.
- •Условия .
- •Оператор условного перехода в программе.
- •Цикл while.
- •Цикл do.
- •Оператор выбора select case.
- •Input "Задать число "; zahl%
- •Input "Ввести число "; zahl%
- •Логические операции.
- •Input "Ввести число 1, zahl1%
- •Input "Ввести число 2", zahl2%
- •Логическое и (and) .
- •Логическое или (or) .
- •Input "Введите число 1", zahl1%
- •Input "Введите число 2", zahl2%
- •Логическое отрицание (not).
- •Input "Введите число " zahl%
- •Обработка строк
- •Определение длины строки.
- •Получение символов кода ascii.
- •Input "Ввести ascii-значение ", ascii%
- •Функция вычисления экспоненты.
- •Input "Задать аргумент функции ",х!
- •Вычисление натурального логарифма.
- •Input "Задать аргумент функции ",х!
- •Преобразование к типу integer.
- •Input "Задать число ";х!
- •Выделение целой части числа.
- •Извлечение квадратного корня.
- •Определение знака числа (функция сигнатуры).
- •Преобразование числа в строку.
- •Массивы в qbasic.
- •Функции и процедуры, определенные пользователем. Собственные функции.
- •Input "Ввести аргумент: ", argument!
- •Input "Ввести степень корня: ", wurz%
- •Собственные процедуры.
- •Установка цветов экрана.
- •Работа с файлами. Введение и основные функции.
- •Input "Фамилия : ", nachnameS
- •Input "Заглавие : ", stichwortS
- •Работа с адресами в справочнике.
- •Обработка ошибок.
- •Input "Введите, пожалуйста, число ",а!
- •Input "Введите, пожалуйста, число ",а1
- •Графические возможности Basica
- •Переход в графический режим экрана
Input "Фамилия : ", nachnameS
INPUT "Имя . ", vorname$
INPUT "Улица : ", strasse$
INPUT "Почт.индекс: ", plz$
INPUT "Местность : ", ort$
INPUT "Телефон : ", telefon$
Input "Заглавие : ", stichwortS
'Записать предложение
WRITE #1,nachname$,vorname$,strasse$,plz$,ort$,telefon$,stichwort$
'Спросить, продолжить ли ввод
INPUT "Следующий адрес? (Y/N)", nocheln$
LOOP WHILE UCASE$(nochein$)-"Y"
'Закрыть файл
CLOSE #1
'Конец программы
Далее необходимо вывести содержимое созданного файла на экран. Это значит, что данные последовательно читаются, и отдельные поля при необходимости появляются на экране. Для распознавания конца файла используется функция EOF.
Функция EOF Функция EOF (Номер_файла) применяется с аргументом Номер_файла и возвращает логическое значение "истина", если достигнут конец файла, и "ложь" — в противном случае.
Отдельные записи файла считываются одним из вариантов команды INPUT. Ранее было рассмотрено считывание данных с клавиатуры и запоминание полученной информации в переменных. Для того чтобы читать данные из файла, следует применять оператор INPUT в таком виде: INPUT #Номер_фаила, Поле_данных_1 [,Поле_данных_2]... [,Поле_данных_n]
'Работа с файлами
'Программа для последовательного чтения адресов
'Объявление полей данных
DIM nachname$, vornameS, strasse$, plz$, ort$, telefon$,stichwort$
'Открыть файл в режиме INPUT
OPEN "adresse.asc FOR INPUT AS #1
CLS
'Читать файл до тех пор, пока функция EOF не примет
'значение "ложь" (0)
DO UNTIL EOF(1)
'0 до тех пор, пока не достигнут конец файла
'Читать запись
INPUT #1,nachname$,vornamee$,strasse$,plz$,ort$,telefon$, stichworrtS
'Вывести на экран
PRINT nachname$," "; vorname$; " "; strasse$
PRINT plz$; " "; ort$, " ", telefonS; " "; stichwort$
PRINT LOOP
'Закрыть файл CLOSE *1
Работа с адресами в справочнике.
В данном разделе работу с адресами в справочнике дополним несколькими важными функциями. Прежде всего должны быть разработаны удобные формы представления справочных данных на экране. Не следует обходить вниманием этот раздел, даже если Вас отпугнут несколько пространные примеры. Интенсивная проработка этого раздела несомненно даст Вам ценный материал для собственной практики программирования. У Вас появится возможность повторить основные операции QBASIC. Программа управления адресами должна выполнять следующие действия:
искать адрес
изменять адрес
В главной программе для выбора отдельных действий необходимо создать меню. Из меню программа разветвляется на отдельные процедуры, которые выполняют независимые задачи. Преимущество такой структуры программы в том, что, во-первых, можно достаточно быстро получить доступ к любому фрагменту рабочей программы, а также меню - очень удобный интерфейс любой программы. Для начала попробуем нарисовать некую рамку, в которой и будет находится наша программа. Пример программы представлен ниже.
Пример:
CLS
FOR i = 17 TO 64
COLOR 1
LOCATE 10, i
PRINT "=" 'Прорисовка 1-й горизонтальной линии
LOCATE 23, i
PRINT "=" 'Прорисовка 2-й горизонтальной линии
NEXT i
FOR j = 11 TO 22
LOCATE j, 17
PRINT "" 'Прорисовка 1-й вертикальной линии
LOCATE j, 65
PRINT "¦" 'Прорисовка 2-й вертикальной линии
NEXT j
LOCATE 10, 17 ' Прорисовка уголков
PRINT "?"
LOCATE 10, 65
PRINT "?"
LOCATE 23, 17
PRINT "?"
LOCATE 23, 64
PRINT "?"
COLOR 2
LOCATE 21, 39
PRINT "OK"
Ну что теперь мы имеем рамочку в центре экрана и внутри написано ОК. Далее... Во первых нам нужен обработчик клавиш для передвижения по меню, а во вторых требуется составить алгоритм прорисовки экрана после каждого нового перехода от одного пункта к другому. Попробуйте составить программу самостоятельно