Операторы ввода данных
Линейные программы
Линейные программы представляют собой, как уже отмечалось, последовательность операторов, циклов и условных переходов нет. Структурная схема такой программы включает блок ввода данных, блок вычислений и блок вывода результатов.
Для ввода данных используются операторы LET, DATA, READ, RESTORE, INPUT, LINE INPUT, функция INPUT$.
Оператор LET. Служит для присвоения значений переменным. Формат оператора: LET <имя переменной> = <выражение>
Оператор LET может быть опущен, поэтому выражения
LET A=exp(x)+ sin(x) и A=exp(x)+ sin(x)
эквивалентны.
Операторы DATA и READ позволяют вводить данные из программы. Оператор DATA заносит данные в специальную область оперативной памяти компьютера, а оператор READ считывает эти данные из оперативной памяти и присваивает их переменным. Эта область данных содержит специальный указатель. При запуске программы указатель устанавливается в начале области данных. При считывании данных из области памяти он также перемещается. Если число переменных в операторе READ больше числа значений в операторе DATA, то указатель выходит за область данных и будет выдано сообщение об ошибке.
Типы данных в операторах DATA и READ должны соответствовать друг другу. Эти операторы могут располагаться в любом месте программы. Строковые переменные записываются без кавычек, если в них нет пробелов, и заключаются в кавычки, если содержат пробелы.
Форматы операторов:
DATA <список данных>
READ <список переменных>
Пример 9.4.1. Использование операторов DATA, READ
DATA 125, 34.78, 1.24E-5, БРЕСТ, “МИНСК - СТОЛИЦА”
READ A,B,D,C$,C1$
Переменным A, B и D будут присвоены, соответственно, числовые значения 125, 34.78 и 0.0000124, переменным C$ и C1$ - “БРЕСТ” и “МИНСК - СТОЛИЦА”.
Для повторного использования данных используется оператор RESTORE. Формат оператора: RESTORE [<метка>].
Если метка в операторе RESTORE не указана, то указатель устанавливается в начало области данных, иначе указатель устанавливается на соответствующую метку в области данных.
Пример 9.4.2. Использование операторов DATA, READ, RESTORE
10 REM ПРИМЕР ИСПОЛЬЗОВАНИЯ ОПЕРАТОРОВ DATA, DEAD, RESTORE
20 DATA 136.75, 18E5,123.45,1978,.9875
25 DATA .5439,1.567,4.65,12.23,48.56
30 READ A1,A2,A3,A4,А5 : REM чтение данных из строки 20
...
150 READ B1,B2 : REM чтение данных из строки 25
...
250 RESTORE 25 : REM перевод указателя данных на метку 25
260 INPUT "Введите размерность массива N, не более 5",N
260 DIM D2(N)
270 FOR i=1 TO N
280 READ D2(i) : REM чтение данных из строки 25 в одномерный массив
290 NEXT i
Оператор INPUTслужит для ввода данных с клавиатуры в режиме диалога с пользователем. Формат оператора:
INPUT [;] “текстовое выражение”[;/,]<список переменных>
Здесь [;] – необязательный параметр, оставляет курсор в текущей строке; [;/,] - означает, что в качестве разделителя может использоваться один из указанных знаков ";" или ",".
При выполнении оператора INPUT на экран выдается запрос на ввод данных. Если в качестве разделителя используется “;”, то запрос сопровождается выводом на экран вопросительного знака, при использовании в качестве разделителя “,” вопросительный знак на экран не выводится. Текстовое сообщение позволяет сделать запрос понятным пользователю. В списке переменных данные разделяются запятыми или пробелами (предпочтительнее разделять данные запятыми). С помощью оператора INPUT можно вводить как числовые, так и символьные переменные. Если символьная переменная не содержит пробелов и других разделителей, то при вводе данных заключать ее в кавычки не обязательно.
Не используйте оператор INPUT без текстового комментария.
Пример 9.4.3. Использование оператора Input
INPUT “Введите переменные А и B”; A,B
INPUT “Введите Ваш год рождения”, GR$
Здесь A и B - числовые переменные, GR$ - символьная переменная.
Оператор LINE INPUT служит для ввода одной символьной переменной. При вводе значение символьной переменной в кавычки не заключается, в ней допускается наличие пробелов и других разделителей. Конец строки определяется символом возврата каретки - нажатие клавиши ENTER. Формат оператора LINE INPUT аналогичен формату оператора INPUT.
Функция INPUT$ служит для ввода символов, не отображаемых на экране, например пароля. Формат функции: с1$ = INPUT$(n [,[#]nf])
Здесь n - число вводимых символов, # - номер канала при вводе данных из файла, nf - имя файла.
Пример 9.4.4. Использование оператора LINE INPUT и функции INPUT$
LINE INPUT "Введите фамилию, имя и отчество ",FIO$
B$=INPUT$(5)
Символьной переменной B$ присваивается код из пяти символов, при выдаче запроса вводимые символы отображаться на экране не будут. Когда в программе встречается оператор INPUT$(n), программа останавливается и ожидает ввода данных. Поэтому данный оператор в формате B$= Input$(1) может быть использован для остановки программы до нажатия любой клавиши.
Функция Input$(1) может быть использована для остановки программы до нажатия любой клавиши.