Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УЧЕБНИК-Pascal.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
499.71 Кб
Скачать

2.3.5. Процедуры ввода и вывода данных

Для выполнения часто используемых операций, для облегчения работы программиста, в стандартную библиотеку языка Pascal (как и другие языки высокого уровня) включен ряд процедур и функций. Их текст, скрыт от программиста, и он выступает по отношению к ним как пользователь готовых подпрограмм. Если стандартные процедуры или функции отсутствуют, то можно либо использовать дополнительные библиотечные модули, либо написать свои (как это делается, мы рассмотрим позднее). Использование стандартных процедур освобождают программиста от рутинной работы. К этим процедурам относятся процедуры ввода и вывода данных.

Для того чтобы программа могла обрабатывать какие либо данные, надо их ввести в нее. Для этого служит процедура read(). Она имеет два вида: read() и readln(). Рассмотрим формат обращения к этой процедуре.

Read (место считывания информации, список фактических параметров);

Readln (место считывания информации, список фактических параметров);

Обращение к процедуре происходит по ее имени, внутри скобок описываются: место считывания информации - здесь указывается откуда информация (данные) будет вводится в компьютер и имена переменных под которыми будут хранится вводимые данные.

Одним из устройств ввода данных в ЭВМ является клавиатура. Если место считывания информации, не указано то, по умолчанию принимается, что данные считываются с клавиатуры.

Отличие процедур в том, что для read( ) после считывания данных курсор остается в той же строке, а при использовании readln() курсор переводится в начало следующей строки.

Напишем программу которая вводит в компьютер строку символов. Для того чтобы с данной строкой могла работать вся программа, опишем ее в блоке описания глобальных переменных:

program Primer_3;

var

Stroka:String;

В процедуру Init, между служебными словами begin и end, добавим следующие строки:

Read(Stroka);

Наша программа примет следующий вид:

program Primer_3;

var

Stroka:String;

procedure Init; { input data }

begin

Read(Stroka);

end;

procedure Work; { work with data }

begin

end;

procedure Exi; { output data }

begin

end;

begin

Init;

Work;

Exi;

end.

Перед запуском программы на выполнение, запишем ее на внешний носитель. Это необходимо для того, чтобы в случае неправильной работы и "зависания" компьютера, не потерять исходный текст программы. Запустим ее на выполнение, используя комбинацию клавиш Alt+F9. После запуска программы на экране монитора появится мигающий курсор. Программа готова считывать данные с клавиатуры. Наберите несколько символов на клавиатуре, включая и символ пробела. Для окончания ввода нажмите клавишу Enter. Перед вами вновь появится экран редактора интегрированной среды. Это значит, что программа считала данные с клавиатуры и закончила работу.

Мало ввести данные в компьютер, необходимо и получить каким либо образом результат. Для вывода данных в Паскале используется процедуры write() и writeln(). Рассмотрим формат обращения к этой процедуре.

write (направление вывода информации, список фактических параметров);

writeln (направление вывода информации, список фактических параметров);

Обращение к процедуре происходит по ее имени, внутри скобок описываются: направление вывода информации - здесь указывается куда информация (данные) будет выводится и имена переменных( или констант) которые будут выводиться.

Одним из устройств вывода данных в ЭВМ является экран монитора. Если направление вывода информации, не указано то, по умолчанию принимается, что данные выводятся на экран. Отличие между двумя записями процедур в том, что для write( ) после вывода данных курсор остается в той же строке, а при использовании writeln() курсор переводится в начало следующей строки.

Проведем модернизацию программы Primer_3. Пусть наша новая программа не только считывает строку с клавиатуры, но и выводит ее на экран. Для этого добавим процедуру вывода в процедуру Exi.

program Primer_3;

var

Stroka:String;

procedure Init; { input data }

begin

Readln(Stroka);

end;

procedure Work; { work with data }

begin

end;

procedure Exi; { output data }

begin

Writeln(Stroka);

end;

begin

Init;

Work;

Exi;

end.

Наша программа несмотря на то, что работает, имеет один недостаток - при начале работы, когда появляется мигающий курсор, непонятно что надо делать. Для устранения этого введем в процедуру Init, перед процедурой ввода данных, еще одно действие.

procedure Init; {input data}

begin

Write('Input Stroka -');

Readln(Stroka);

end;

Если мы хотим дать комментарий и при выводе строки на экран, то сделаем добавления в процедуре Exi, это можно сделать двумя способами:

а)

procedure Exi; {output data}

begin

Write(' Output Stroka -'); Writeln(Stroka);

end;

б)

Procedure Exi; { output data}

Begin

Writeln(' Output Stroka -',Stroka);

End;

Таким образом, наша программа может вводить данные с клавиатуры в компьютер и выводить данные на экран.