ПРОЦЕДУРЫ ВВОДА-ВЫВОДА

 

Для выполнения операций ввода-вывода служат 4 процедуры: Read, ReadLn, Write, WriteLn.

Процедура чтения Read обеспечивает ввод числовых данных, символов, строк и т.д. для последующей их обработки программой. Формат:

Read (X1,X2,…,Xn);

где X1, X2, …, Xn – переменные допустимых типов.

Значения X1,…,Xn набираются минимум через один пробел на клавиатуре пользователем и высвечиваются на экране. После ввода данных для одной процедуры Read нажимается клавиша ввода Enter. Значения переменных должны вводиться в строгом соответствии с синтаксисом языка.

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

Пример.

Var A,B: Integer; C,D: Real; Begin Read (A,C); Read (B,D); End. Поток ввода: 25 2.34<Enter> 451 25.685<Enter>

 

Процедура чтения ReadLn аналогична процедуре Read, единственное отличие заключается в том, что после считывания последнего в списке значения для одной процедуры ReadLn данные для следующей процедуры ReadLn будут считываться с начала новой строки. Заменим в предыдущем примере процедуры Read на процедуры ReadLn:

 

Var A,B: Integer; C,D: Real; Begin ReadLn (A,C); ReadLn (B,D); End. Поток ввода: 25 2.34 <Enter> 451 25.685 <Enter>  

Процедура записи Write производит вывод числовых данных, символов, строк и булевских значений. Формат:

Write (Y1,…,Yn);

где Y1,…,Yn – выражения целочисленного, вещественного, символьного, строкового, булевского и др. типов.

Форматы вывода:

Процедура Значение Поток вывода

Write (I); 134 134

Write (I:5); 134 _ _134

(Для вывода целого числа отводится 5 позиций. При выводе число автоматически прижимается к правому краю).

Write (R); 715.342 _ _7.153420000E+02

Write (R:12); 46.78 4.678000E+01

(На вещественное число отводится 12 позиций).

Write (R:6:2); 46.78 _46.78

(На вещественное число отводится 6 позиций, из них 2 знака после запятой. Число прижимается к правому краю).

Write (CH); 'X' X

Write (CH:4); 'X' _ _ _X

Write (S); 'Привет !' Привет !

Write (S:10); 'Привет !' _ _ _Привет !

Write (B); True True

Write (B:6); True _ _True

Процедура записи WriteLn аналогична процедуре Write, но после вывода последнего в списке значения для текущей процедуры WriteLn происходит перевод курсора к началу следующей строки. Процедура WriteLn, записанная без параметров, вызывает перевод строки.

Пример:

Write ('A=',A:3);

WriteLn ('_C=',C:3);

WriteLn ('D=',D:6:2);

Поток вывода

A=_23_C=_34

D=_ _3.24

 

Пример. Вычислить значения функций f и g:

Написать две программы, использующие:

· вещественные значения;

· целочисленную арифметику (целочисленные данные, промежуточные и конечные результаты, операции целочисленной арифметики, константу MAXINT, диапазоны оператора выбора Case).

Program example1;

{Программирование ветвящихся вычислительных процессов}

{использование вещественных значений }

Uses Crt;

Var

x,y,f,g:Real;

Begin

Clrscr; {Очистка экрана}

WriteLn('Введите значения x,y');

ReadLn (x,y);

WriteLn ('При x=',x:5:2,' y=',y:5:2);

If x+y<0 then

Begin

WriteLn ('x+y=',x+y:5:2,'<0');

f:=1/sqrt(x*x+y*y);

g:=x-y;

End

Else

If x+y<=5 then

Begin

WriteLn ('0<=x+y=',x+y:5:2,'<=5');

f:=2*x*y;

g:=2*x+3;

End

Else

Begin

WriteLn ('x+y=',x+y:5:2,'>5');

f:=1/(x+y);

g:=1/sqrt(x*x+1);

end;

WriteLn ('f=',f:6:4);

WriteLn ('g=',g:6:4);

ReadLn; {Задержка экрана}

End.

 

Program example2;

{Программирование ветвящихся вычислительных процессов}

{использование целочисленной арифметики }

Uses Crt;

Var

x,y,f,g:Integer;

Begin

Clrscr; {Очистка экрана}

WriteLn('Введите значения x,y');

ReadLn (x,y);

WriteLn ('При x=',x,' y=',y);

Case x+y of

-Maxint..-1: begin

WriteLn ('x+y=',x+y,'<0');

f:=1 div round(sqrt(x*x+y*y));

g:=x-y;

end;

0..5 : begin

WriteLn ('0<=x+y=',x+y,'<=5');

f:=2*x*y;

g:=2*x+3;

end;

6..Maxint : begin

WriteLn ('x+y=',x+y,'>5');

f:=1 div (x+y);

g:=1 div round (sqrt(x*x+1));

End

end;

WriteLn ('f=',f);

WriteLn ('g=',g);

ReadLn; {Задержка экрана}

End.

 








Дата добавления: 2015-04-15; просмотров: 960;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.014 сек.