
- •5. Общая характеристика языков программирования.
- •Тема 2. Введение в язык Турбо-Паскаль.
- •2. Структура и основные конструкции.
- •3. Алфавит языка.
- •Тема 3. Объекты и средства программирования на языке.
- •3.2. Данные как объекты работы программы.
- •3.3. Константы и их определение.
- •3.4. Идентификаторы и переменные.
- •3.5.Выражения.
- •3.7.Начальные сведения о вводе-выводе данных.
- •Var I,j: integer;
- •Var obl: char;
- •Vt: longint;
3.7.Начальные сведения о вводе-выводе данных.
Ввод данных.
Обработка любых данных, манипулирование ими могут производиться только в оперативной памяти компьютера. Сюда их надо как-то поместить или, как говорят - ввести.
Константы приобретают свои значения в программе и не меняют их в ходе ее работы. А значения переменным либо придаются оператором присваивания, либо поставляются (вводятся) из внешней среды. Под внешней средой понимается источник во внешней памяти (например, жесткий магнитный диск) или внешнее логическое устройство (например, клавиатура), предназначенное в данном случае для ввода данных.
Для ввода данных с клавиатуры используется специальная стандартная процедура READ. Ее простейшая форма записи следующая:
READ(<список имен переменных через запятую>);
В диалоговом режиме (т.е. «от руки», пользователем, в ходе общения с программой) она обеспечивает ввод (чтение) из системного стандартного файла INPUT некоторой последовательности значений, начиная с первой позиции строки ввода, и присваивание этих значений переменным, указанным в списке имен.
Именно файл INPUT связан либо с консольным устройством (клавиатурой), либо с терминалом (дисплеем).
Каждый вводимый символ (цифра, буква или специальный знак) по мере набора на клавиатуре отображается на экране. Параллельно, перед размещением в оперативной памяти он помещается в специальный буфер (промежуточную память). Длина этого буфера ограничена и составляет 128 символов. Заполнение буфера осуществляется до нажатия на клавишу «ENTER». После нажатия этой клавиши:
- вводимые данные помещаются в оперативную память, отводимую для той или иной переменной из списка;
- курсор устанавливается в начало следующей строки;
- уже введенные строки перемещаются вверх, а самая верхняя строка ввода исчезает.
Использование буфера позволяет редактировать (исправлять) вводимую информацию до момента нажатия «ENTER».
Каждой процедуре READ соответствует входной поток данных – констант, которые присваиваются переменным из READ. Важно, чтобы последовательность вводимых данных соответствовала последовательности имен из списка.
Арифметические значения в этом потоке разделяются между собой одним или несколькими пробелами и должны иметь вид правильных констант соответствующего типа. Пробелы внутри констант недопустимы.
Присвоение значений ведется слева направо в соответствии с порядком следования переменных в процедуре READ. Типы переменных и констант должны совпадать. Переменным типа REAL можно присваивать значения типа INTEGER.
Распознавание арифметического значения осуществляется от пробела(ов) до пробела(ов).
Пример:
Var I,j: integer;
A,B,C: REAL;
D: BYTE;
…
READ(I,A,B); READ(C,D,J);
При вводе:
-25 3.28Е2 34.08 9 024 1754
переменные получат следующие значения:
I=-25 A= 328.0 B=34.08 C=9.0 D=24 J=1754
Укажем особенности работы процедуры READ:
- значение числа выделяется от первого символа, отличного от пробела, и до следующего пробела; ведущие (перед числом) пробелы игнорируются;
- выделенное значение проверяется на соответствие формату правильной арифметической константы;
- полученное значение преобразуется в формат хранения числа и затем присваивается переменной.
При вводе значений символьного и строкового типов апострофы не указываются. Любой символ или их последовательность будут введены так, как они набраны на клавиатуре. Разделителей нет (!).
Пример: