Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Процедуры ввода-вывода.
Для выполнения операций ввода-вывода служат четыре процедуры: READ, READLN, WRITE, WRITELN. Очистка экрана осуществляется командой CLRSCR и может выполняться только в текстовом режиме работы экрана. Процедура чтения READ обеспечивает ввод числовых данных, символов, строк и т.д. для последующей их обработки программой и имеет формат: READ([ имя-файла, ] переменная1, переменная2, …переменнаяN); Здесь переменные – переменные допустимых типов данных, значения этих переменных набираются минимум через один пробел на клавиатуре и высвечиваются при этом на экране. Набираемые значения должны соответствовать типам переменных. После набора данных для процедуры READ нажимается клавиша ENTER. Число переменных в списке может быть любым, разделяются переменные запятыми. Имя-файла – имя файла, откуда будет выполнятся чтение. При вводе с экрана дисплея этот параметр в команде отсутствует. Процедура чтения READLN аналогична процедуре READ, имеет такой же формат, но после считывания последнего в списке значения для одной процедуры READLN данные для следующей процедуры будут считываться с начала новой строки. Пример 13. При выполнении приведенных ниже операторов, после набора на клавиатуре значений А и В курсор автоматически перейдет на новую строку, где набирают значение переменной NOMER. READLN(A, B); READLN(NOMER); Процедура записи WRITE производит вывод числовых данных, символов, строк и значений булевского типа и имеет формат: WRITE([ имя-файла, ] переменная1, переменная2, …переменнаяN); Имя-файла – имя файла, куда производится вывод. Например, для вывода на принтер имя-файла – LST, при выводе на экран дисплея этот параметр в команде отсутствует. Переменная – имя переменной, значение которой хотим вывести. Процедура записи WRITELN производит вывод данных, но после последнего в списке значения для текущей процедуры WRITELN происходит перевод курсора к началу следующей строки. Процедура имеет формат аналогичный формату процедуры WRITE. Процедура WRITELN, записанная без параметров, вызывает перевод курсора на следующую строку. В процедурах WRITE и WRITELN имеется возможность записи выражения, определяющего ширину поля вывода, т.е. можно задать формат вывода переменной. Переменные в процедурах WRITE или WRITELN могут записываться в одной из следующих форм: 1) имя-переменной - если переменная целочисленного, символьного, строкового или булевского типа – выводится значение переменной, начиная с позиции расположения курсора, переменная вещественного типа выводится в десятичном представлении в поле шириной 18 символов в формате с плавающей точкой; 2) имя-переменной: m - если переменная целочисленного, символьного, строкового или булевского типа – выводится значение переменной в крайние правые позиции поля шириной m символов, переменная вещественного типа выводится в десятичном представлении в крайние правые позиции поля шириной m символов в формате с плавающей точкой; 3) имя-переменной: m: n - этот формат используется только для переменных вещественного типа, переменная выводится в крайние правые позиции поля шириной m символов в десятичном представлении в формате с фиксированной точкой, причем после десятичной точки выводится n цифр дробной части числа. При задании формата вывода необходимо учитывать, что точка и знак минус в случае отрицательного значения переменной занимают по одной позиции каждый в записи переменной. Примеры применения процедуры вывода с использованием форматов приведены в таблице 6. Таблица 6. Примеры форматов вывода.
Пример 14. Печать матрицы по строкам. FOR I: =1 TO 6 DO BEGIN FOR J: =1 TO 6 DO BEGIN {задание значения элемента матрицы} A[I, J]: =RANDOM(50); {вывод на экран элемента матрицы} WRITE(A[I, J]: 6); END; {перевод курсора на новую строку после печати строки матрицы} WRITELN; END;
|