ТОП 10:

Организация ввода исходных данных.



 

Операторы, используемые для организации ввода исходных данных

Оператор задания спмска констант – DATA

Назначение: Содержит числовые и строковые данные для оператора

Синтаксис: DATA <константа 1> [ , <константа 2>]…,

где <константа i> - числовая или строковая константа (i=1, 2…)

Оператор ввода данных с клавиатуры - INPUT

Назначение: Создает условия для ввода данных с клавиатуры в процессе выполнения программы.

Синтаксис: INPUT[;]["<строка приглашения>" {; | ,}] <список переменных>

Аргумент Описание
; Точка с запятой после ключевого слова INPUT предписывает курсору оставаться на той же самой строке после нажатия клавиши ENTER
<строка приглашения> Текстовая константа или текстовая переменная, заключённая в кавычки и выводимая на экран в качестве приглашения
; Точка с запятой после строки приглашения выводит на экран вопросительный знак.
, Запятая отменяет вывод вопросительного знака после строки приглашения
<список переменных> Список разделенных запятыми переменных, которым присваиваются вводимые значения

В ответ на приглашение пользователь вводит данные в соответствии со списком переменных.

При несоответствии числа или типа вводимых данных числу и типу переменных списка выдается следующее сообщение об ошибке: Redo from start - повторить сначала. Присваивание входных значений переменным не производится до тех пор, пока не будут введены все данные в соответствии со списком переменных. До нажатия клавиши ENTER допускается внесение исправлений в набираемую строку ввода.

Редактирующие комбинации клавиш, предназначенные для перемещения курсора, удаления и вставки символов текста во входную строку, описаны в табл. 1.

 

Таблица 1.

Редактирующие комбинации клавиш

Клавиши Действие
CTRL+\ или RIGHT Перемещение курсора на один символ вправо
CTRL+] или LEFT Перемещение курсора на один символ влево
CTRL+F или CTRL+RIGHT Перемещение курсора на одно слово вправо
CTRL+B или CTRL+LEFT Перемещение курсора на одно слово влево
CTRL+K или HOME Перемещение курсора в начало вводимой строки
CTRL+N или END Перемещение курсора в конец вводимой строки
CTRL+R или INS Переключение режимов вставки и замены. В режиме вставки по мере ввода новых символов символы над курсором и справа от него сдвигаются вправо; в режиме замены просто заменяются
CTRL+I или TAB Перемещает курсор к ближайшей позиции табуляции. В режиме вставки символы над курсором и справа от него сдвигаются вправо
DEL Удаление символа над курсором
CTRL+H или BACKSPACE Удаление символа слева от курсора. При достижении курсором начала строки удаляются символы над курсором
CTRL+E или CTRL+END Удаление символов от курсора до конца строки;
CTRL+U или ESC Удаление всей строки независимо от положения курсора
CTRL+M или RETURN Запись входной строки в память
CTRL+T Переключение режима отображения наименования функциональной клавиши в нижней части экрана
CTRL+BREAK или CTRL+C Отказ от ввода данных и принудительное завершение программы

Примечание: знак "+" указывает на одновременное нажатие двух клавиш.

 

Оператор ввода данных из файла - INPUT #

Назначение: Считывание элементов данных с устройства последовательного доступа или из файла и присваивание их переменным

Синтаксис:

INPUT# <номер файла>, <список переменных>

<Номер файла> соответствует файлу, уже открытому для чтения.

<Список переменных> содержит имена переменных, которым присваиваются считываемые из файла значения. Тип считываемых элементов данных должен соответствовать типам переменных списка.

В отличие от оператора INPUT оператор INPUT# не выводит на экран вопросительный знак.

Элементы данных в файле должны быть записаны таким образом, как если бы они вводились в ответ на приглашение оператора INPUT. Для числовых значений начальные пробелы, символы «возврат каретки» и «перевод строки» игнорируются. Первый символ, не являющийся пробелом, символом «возврат каретки» и «перевод строки», рассматривается как начало числа. Число завершается пробелом, запятой или символами «возврат каретки», «перевод строки».

Если BASIC осуществляет поиск строкового элемента данных в последовательном файле, он также игнорирует начальные пробелы и символы «возврат каретки», «перевод строки». Если при вводе очередного числового или строкового элемента данных достигнут конец файла, то ввод прекращается.

 

Оператор считывания входных констант - READ

Назначение: Считывание данных из оператора DATA и присваивание их переменным.

Синтаксис: READ <список переменных>

Аргумент <список переменных> представляет собой последовательность переменных языка BASIC, разделенных запятыми. Оператор READ всегда используется совместно с операторами DATA. Оператор READ устанавливает однозначное соответствие между <списком переменных> и данными, содержащимися в операторе DATA. Эти переменные могут быть как числовыми, так и строковыми. Попытка присвоить строковое значение числовой переменной вызывает синтаксическую ошибку на этапе выполнения. Считывание числового значения в строковую переменную не порождает ошибки и формирует ее значение как строку цифр.

Считываемые в переменные целого типа значения округляются перед присваиванием. Если считываемое значение выходит за допустимый диапазон изменения переменной, то возникает ошибка выполнения.

При считывании строковых значений в строковые переменные фиксированной длины лишние символы отбрасываются справа. Если строковые значения короче строковых переменных, то они выравниваются по левой границе, а оставшиеся позиции заполняются пробелами.

В операторе READ можно использовать только отдельные элементы записей.

Отдельный оператор READ может иметь доступ к одному или нескольким операторам DATA, или несколько операторов READ могут использовать один и тот же оператор DATA. Если число переменных в <списке переменных> оператора READ превышает количество значений в операторах DATA, то появляется сообщение об ошибке: Out of DATA - ошибка в данных.

Если число переменных в операторе READ меньше числа элементов одного или нескольких операторов DATA, то следующий оператор READ начнет чтение данных с первого непрочитанного элемента в операторах DATA. Если операторов READ больше нет, то лишние данные не используются.

Для того чтобы заново прочитать операторы DATA, используется оператор RESTORE.

 

Оператор ввода строки символов – LINE INPUT

Назначение: Ввод строки длиной до 256 символов в строковую переменную без использования разделителей.

Синтаксис: LINE INPUT[,] ["<строка приглашения>",] <строковая переменная>

Аргумент <строка приглашения> является строковой константой и выводится на экран в качестве подсказки. Вопросительный знак в конце <строки приглашения> не выводится. Все символы, введенные в ответ на приглашение присваиваются, <строковой переменной>.

Точка с запятой, указанная непосредственно после оператора LINE INPUT, оставляет курсор на прежней строке после нажатия клавиши ENTER.

Оператор LINE- INPUT использует те же редактирующие комбинации клавиш, что и оператор INPUT.

Оператор установки флажка считывания в начало входного потока - RESTORE

Назначение: Установка флажка считывания на выбранный оператор DATA.

Синтаксис: RESTORE [[<номер строки> или <метка строки>}]

После выполнения оператора RESTORE без указания <номера строки> или <метки строки> следующий оператор READ будет считывать первый элемент из первого оператора DATA программы.

Если <номер строки> или <метка строки> заданы, то следующий оператор READ обратится к первому элементу выбранного оператора DATA, причем номер или метка строки должны относиться к программе уровня модуля. Отметим, что в среде QuickBASIC операторы DATA автоматически переносятся в программу уровня модуля.

 







Последнее изменение этой страницы: 2016-04-19; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.66.217 (0.008 с.)