Ввод и вывод результатов вычислений

Для ввода исходных данных и вывода результатов вычислений используются процедуры ввода и вывода.

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

Read (a, b, с);

readln(x, y);

При выполнении read программа приостанавливает свою работу и ждет, пока на клавиатуре будут набраны соответствующие данные. Если вводятся числа, то они отделяются друг от друга одним или несколькими пробелами или нажатием на клавишу Enter. После нажатия Enter введенные значения присваиваются переменным, имена которых указаны в скобках в процедуре read (по порядку).

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

write(x, y);

writeln(a, b,c);

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

На практике для целых констант и переменных указывается только количество позиций, а для действительных – общее количество позиций, занимаемых числом, а также количество позиций под дробную часть числа (задают формат вывода). Формат отделяется от имени выводимой переменной двоеточием, например:

write(¢x=¢, х:7:3,¢ у=¢, у:8:4);

writeln(i:3, k:5, п:7);

При использовании процедуры writeln курсор на дисплее компьютера после вывода данных переместится в начало следующей строки, в отличие от процедуры write, когда курсор остается в той же строке. При вводе данных с помощью процедуры readln необходимо нажимать клавишу Enter после ввода значений всех переменных, содержащихся в списке ввода, соответствующем этому оператору.

Общая структура программы на Turbo Pascal

 

program имя программы; {заголовок программы}
uses crt;   {подключение модулей, в данном случае стандартного модуля crt }
label const type function procedure var меток, констант, типов, функций процедур переменных,
begin P1; P2; …; Pn end. {основной блок операторов}

 

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

Для каждой переменной, входящей в программу, должен быть задан ее тип в разделе описания переменных. Для этого используется служебное слово var (variable – переменная), например:

var х, у:real;

т, n, к:integer;

где integer (целый тип), real (действительный тип).

Если константа обозначается именем, то она должна быть описана в разделе описания констант, который начинается со служебного слова const, например:

const f = –2; z = 1.5;

Раздел операторов начинается со служебного слова begin(начало) и заканчивается словом end (конец) и точкой.

В Turbo Pascal имеется возможность применения модулей (библиотек). Turbo Pascal имеет несколько стандартных модулей (crt, dos, graph и т.п. Подключают модули с помощью служебного слова uses (использовать), после которого через запятую перечисляются названия модулей, которые будут использованы в программе.

При выполнении лабораторных работ мы будем пользоваться только модулем crt.

В нем сосредоточены процедуры и функции, управляющие текстовым режимом работы экрана (очистка экрана, переме­щение курсора в произвольную позицию экрана и т. П.).

Наиболее часто используют процедуры:

 

clrscr; – очистка экрана
readkey; – задержка экрана пользователя с исходными данными и результатами вычислений

 

Пример выполнения задания 1

Вычислить значение переменной

если

Значения переменных а и b ввести с клавиатуры, для задания значений констант использовать раздел описаний const.

Вывести на экран дисплея значения вспомогательных переменных х, у и z результат с точностью до 2-х десятичных знаков. Вывод резуль­тата сопроводить пояснительным текстом, например: 'х=', 'y=', z='.

Примечание. Сначала вычисляется значение x, так как оно зависит от переменных a, b и констант к, т, определенных в программе, затем значения y, z.

рrogram labl;

uses crt;

const k = 1.5; m = 2;

var a, b, x, y, z:real;

begin clrscr;

readln (a, b);

x:=(k – l/(a – 1) + sqrt(m))/(b + sqrt(b + 1.68));

у:=(sqr(cos(x))* cos(x) + ln(a/5)/ln(2))*exp(abs(xa))/

(k*sqr(sqr(k)) + sqrt(sqrt(abs(l – x))));

z := (exp(–k*x)+exp(m*y))*sin(a*b+x*y);

writeln (‘x=’, x:5:2,y=’, y:5:2,’z=’, z:5:2);

readkey;

end.