Добавлен: 04.04.2023
Просмотров: 67
Скачиваний: 1
СОДЕРЖАНИЕ
2. Программирование на языке BASIC
2.2.1. Арифметические операции
3.1. Оператор присваивания LET
3.3. Операторы вывода данных на экран монитора CLS и PRINT
6. Управляющие операторы языка BASIC
6.8. Оператор DO-WHILE(UNTIL)-LOOP
6.9. Оператор DO- LOOP-WHILE(UNTIL)
Оператор SWAP осуществляет обмен значениями между двумя переменными.
Он оказывается полезен при составлении программ сортировки числовых и символьных массивов.
Формат записи оператора SWAP.
SWAP имя-переменной1,имя-переменной2
В результате выполнения оператора переменной1 присваивается значение переменной2, а переменной2 присваивается значение переменной1. Обе переменные должны быть одного типа, иначе выдается сообщение об ошибке: “несоответствие типов”.
3.3. Операторы вывода данных на экран монитора CLS и PRINT
Оператор CLS (CLear Screen) очищает экран.
Формат записи оператора:
CLS [{0 | 1 | 2}]
CLS очищает либо текстовую, либо графическую области просмотра. Если
была установлена графическая область просмотра (с помощью VIEW), то очищает только графическую область просмотра. В противном случае очищает текстовую область просмотра или весь экран.
CLS 0 полностью очищает экран, как текст, так и графику.
CLS 1 очищает графическую область просмотра или весь экран, если графическая область просмотра не была установлена.
CLS 2 очищает текстовую область просмотра.
Оператор PRINT(напечатать) выводит информацию на экран монитора.
Формат оператора:
PRINT [{константа, переменная}][,;пробел].
Если в качестве разделителя используется запятая, то данные выводятся на экран в зонном формате, когда для каждого элемента списка на экране отводится14 колонок. Если точка с запятой, то в уплотненном формате. Если в конце списка переменных стоит пробел, то следующий оператор PRINT выводит данные с новой строки.
3.4. Оператор DATA
Оператор DATA(данные) помещает константы в стек. Стек представляет собой область оперативной памяти, куда помещаются константы, которые могутпотребоваться в процессе выполнения программы.
Формат оператора:
DATA {константа}[,]{константа}[,]...
Константы могут быть числовыми и символьными. Разделителем между константами служит запятая. Следующий добавляет в стек данные к предыдущим.
Оператор DATA может быть записан в любом месте программы и столько раз, сколько это необходимо. Вместе с оператором DATA нельзя использовать комментарии, которые начинаются одиночным апострофом.
3.5. Оператор READ
Оператор READ(читать) выбирает данные из стека, организованного с помощью оператора DATA.
Формат оператора READ:
READ [{имя_переменной, имя_переменной,....}]
Следует учитывать позиционное соответствие констант в операторе DATA и типов переменных в операторе READ, так как в операторе READ происходит последовательное присваивание значений констант оператора DATA переменным оператора READ. Присваивание начинается с первого элемента стека и до последнего. Константы из стека выбираются последовательно в порядке появления очередного оператора READ. Если в операторах READ указать количество переменных больше, чем констант в стеке, то выдается сообщение об ошибке: данные окончены.
3.6. Оператор RESTORE
Оператор RESTORE (восстановить) изменяет последовательный порядок выбора констант из стека.
Формат оператора RESTORE
RESTORE [{номер_строки_оператора_DATA, метка_оператора_DATA}]
Если операнд отсутствует, то выборка констант из стека начнется с первого
элемента, иначе с того оператора DATA, номер строки или метка которого
указаны в операторе RESTORE.
3.7. Оператор CONST
Оператор CONST описывает одну или несколько констант. Удобно использовать в случаях, когда одна и таже константа используется в нескольких местах программы.
Формат записи оператора CONST:
CONST имя_конс = выражение [,имя_конс = выражение], где имя_константы – Имя константы. Имя может состоять из максимум 40 символови должно начинаться с буквы. Допустимыми символами являются: A—Z, 0—9 и точка (.)
выражение – Выражение, присваиваемое константе. Выражение может состоять из буквальных констант (например 1.0), других констант, любых арифметических и логических знаков операций, исключая возведение в степень (^), или одной строки литералов.
Пример
CONST PI = 3.141593
INPUT “Радиус окружности: “; r
PRINT “Площадь = “; PI * r ^ 2
3.8. Типы данных
Основным типом данных в языке Visual basic является тип variant, который используется по умолчанию с автоматической установкой требуемого формата.
Этот тип данных прост в использовании. Но, если вы хотите создать компактную и быстро исполняемую программу, может возникнуть потребностьв использовании более эффективных типов данных. Если переменная в процессе работы программы всегда имеет значение одного типа данных (например — целое число), вы можете увеличить производительность работы вашей программы, объявив для переменной ее тип (integer), а не как variant, что позволит сэкономить память. Использование переменной типа integer увеличивает также скорость выполнения. Объявления типа переменной можно делать двумя способами: явно и неявно. Явно тип переменной объявляется в операторе DIM.
3.8.1. Оператор DIM.
DIM {имя_переменной} AS {тип_переменной}
Здесь тип переменной должен соответствовать нижеприведенной таблице. В колонке “Пример использования” указано правильное использование суффиксов языка Basic.
Таблица 3.1
3.8.2. Оператор REDIM.
Оператор REDIM описывает или изменяет размер динамического массива,
стирая все предыдущие значения.
Формат оператора REDIM:
REDIM [SHARED] переменная(индекс) [AS тип]
[,переменная(индекс) [AS тип]]
где
SHARED Указывает, что переменные используются совместно всеми процедурами
SUB или FUNCTION в модуле.
Переменная Имя переменной массива.
Индекс Размеры массива в следующем виде:
[низ TO] верх [,[низ TO] верх]...
где Низ Нижняя граница индекса массива. По умолчанию нижняя границаравна нулю.
Верх Верхняя граница.
AS тип Описывает тип данных массива или переменной (INTEGER, LONG, SINGLE, DOUBLE, STRING или тип данных, описанный пользователем).
Оператор REDIM всегда описывает динамические массивы.
3.8.3. Оператор ERASE
Оператор ERASE заново инициализирует элементы массива или освобождает область хранения динамического массива.
Формат оператора ERASE:
ERASE имя_массива [,имя_массива]...
где имя_массива Имя массива.
Для статических массивов, ERASE устанавливает каждый элемент числового массива в ноль, а каждый элемент строкового массива в строку нулевой длины.
Для динамических массивов, ERASE освобождает память, используемую массивом. Придется заново описать размеры массива в REDIM или DIM прежде, чем использовать его.
3.8.4 Оператор OPTION BASE
Оператор OPTION BASE (оптимальная база) устанавливает минимальное
значение индексов в массиве. В процессе использования массивов в программе
сталкиваешься с неудобством, связанное с тем, что размерность массива не совпадает с максимальным значением индексов массивов. Например, массив с размерностью (100) имеет сто элементов, но максимальное значение индекса равно 99, а минимальное нуль. В то же время стало уже привычным нумеровать
какие либо элементы с 1 до 100. Оператор OPTION BASE устанавливает иное минимальное значение индексов в массиве.
Формат оператора OPTION BASE:
OPTION BASE n,
где n равно 0 или 1 и устанавливает нижнюю границу всех массивов в данной программе.
3.8.5. Оператор TYPE.
Определяет тип данных, содержащий один или несколько элементов.
Формат Оператора TYPE:
TYPE тип-пользов
Имя-элемента AS тип
[имя-элемента AS тип]
....
....
....
END TYPE
где
Тип-пользов —имя определяемого типа данных. Имя может быть длиной до
40 символов и должно начинаться с буквы. Допустимые символы:A-Z, 0-9 и точка (.).
Имя-элемента— элемент типа данных, определенного пользователем.
Тип
— тип элемента (INTEGER, LONG, SINGLE, DOUBLE,
STRING или тип данных, определенный пользователем).
В приведенном ниже примере определен тип пользователя Card, состоящий из двух переменных: символьной Suit и целочисленной Value. Далее массив Deck, состоящий из 52 элементов, определяется как тип Card, и в дальнейшем каждый элемент массива имеет по два подэлемента-Deck(i).Suit и Deck(i).Value.
4. Ввод информации
Эта необходимость возникает в тех случаях, когда исходные данные на этапе написания программы неизвестны и определяются только во время диалога, либо часто изменяются. Для ввода данных используются такие операторы как INPUT, LINE INPUT, INPUT$(n), INKEYS$.
Ввод-вывод информации обеспечивается достаточно большим набором программных средств. В этой главе мы ограничимся рассмотрением простейших вариантов работы операторов ввода-вывода PRINT и INPUT, которые позволяют вводить информацию с клавиатуры и выводить информацию на экранмонитора.
4.1. Оператор INPUT
Оператор INPUT (ВВОД) позволяет присвоить значение переменным с клавиатуры во время выполнения программы.
Когда в программе встречается оператор INPUT, выполнение программы приостанавливается, так как она ждет ввода с клавиатуры значения переменных, перечисленных в списке переменных оператора INPUT. На экране появляется текст приглашения, если он был указан в операторе, и знак вопроса, если после приглашения стоит точка с запятой. Если приглашение отсутствует, то на экран выводится знак вопроса. При вводе значений должно соблюдаться позиционное соответствие между переменными, указанными в списке переменных и значениями переменных, вводимых с клавиатуры. Данные вводятся в виде констант, разделенных запятыми. Тип вводимых данных должен соответствовать типу переменных в списке переменных, иначе выдается сообщение “Red o from start”-(повторите ввод) и необходимо повторить ввод.
Значения переменных вводятся с места, определенного мигающим курсором.
Курсор можно сдвинуть на несколько позиций вправо клавишей ПРОБЕЛ, но эти пробелы в значение переменной не попадут. Позиция курсора устанавливается сразу после текста приглашения, если после него стоит запятая, или после текста приглашения, знака вопроса и пробела, если после текста приглашения стоит точка с запятой.
Значение вводимых переменных не должно превышать 253 символов. Оператор INPUT заканчивает свою работу при нажатии клавиши ВВОДА(Enter).
Если количество введенных переменных равно количеству переменных в операторе INPUT, то после нажатия клавиши ВВОД программа продолжает свою работу с оператора, следующего за оператором INPUT.
Если количество введенных значений меньше или больше, чем указано в операторе INPUT, то после ввода данных на следующей строке экрана дисплея появится сообщение
Redo from start(повторите ввод)
Если в операторе INPUT указана только одна переменная, и данные не вводятся,а сразу нажата клавиша ВВОД, то числовой переменной будет присвоено нулевое значение, а символьной — пробел.
Значение символьной переменной, если она не содержит первых пробелов и запятых, можно вводить без двойных кавычек.
4.2. Оператор LINE INPUT
Оператор LINE INPUT (ввод строки) позволяет ввести с клавиатуры строку символов длиной до 254 символов, включающую любые( в том числе и управляющие) знаки во время выполнения программы.
4.3. Оператор INPUT$(n)
Функция INPUT$(n) позволяет ввести с клавиатуры символьную информацию, которая при ее вводе не отображается на экране дисплея.
4.4. Оператор INKEY$
Функция INKEY$ позволяет программным путем остановить выполнение программы до тех пор, пока не будет нажата какая-либо клавиша. Нажатая клавиша на экране не отображается. Функция INKEY$ анализирует некоторуюпеременную, которой перед обращением к этой функции всегда присваиваетсязначение пробела, а во время обращения этой переменной присваивается код нажатой клавиши.
5. Вывод информации
Для ввода данных используются операторы LOCATE, SCREEN, PSET, PRESET, LINE, CIRCLE.