Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИНФОРМАТИКА_Паскаль.doc
Скачиваний:
7
Добавлен:
08.05.2019
Размер:
1.77 Mб
Скачать

5.2. Конструкция «следование»

СGroup 24 ледованием называется конструкция, представляющая собой последовательное выполнение двух или более операторов. Линейная программа описывает буквально конструкцию СЛЕДОВАНИЕ.

Программа включает операторы присваивания, процедуры ввода – вывода.

Присваивание – занесение значения в память. В общем виде. В операторе присваивания слева всегда стоит имя переменной, а справа – значение, например:

A:=sin (x) * (c+d);

Y:= 4+1;

В последующем примере сначала из ячейки памяти, в которой храниться значение переменной y, выбирается это значение. Затем к нему прибавляется 1, после чего получившийся результат записывается в туже самую ячейку. При этом то, что хранилось там ранее6 теряется. Правая и левая части оператора присваивания должны быть, как правило, одного типа.

Процедуры ввода-вывода. Любая программа при вводе исходных данных и выводе результатов взаимодействует с внешними устройствами. Совокупность стандартных устройств ввода и вывода, то есть клавиатуры и экрана монитора , называется консолью. для ввода с клавиатуры применяются процедуры read и readln.

Read (x1, x2, …,xn); илиreadln [(x1, x2,…,xn)];

где x1, x2, …, xn – список вводимых переменных.

Квадратные скобки указывают на то, что список может отсутствовать. Например readln. Когда в программе встречается оператор read, ее действие приостанавливается до тех пор, пока не будут введены исходные данные. Вводимые переменные отделяются друг от друга пробелом, или ENTER.

Ввод данных выполняется через буфер – специальную область оперативной памяти. Процедура Read в отличии от Readln, не очищает буфер, поэтому следующий за ней ввод будет выполняться с того места, на котором закончился предыдущий, то есть начинается с символа конца строки. Например фрагмент программы.

Program odin;

Usus crt;

Var

A, b, c: real;

Begin

Read (a, b);

C:=a+b;

…………………………..

Для вывода информации применяются стандартные процедуры write и writeln

Write (список);

Writeln [(список)];

Процедуры write и writeln последовательно выводят все переменные на экране дисплея. Если используется процедура writeln, то после вывода информации курсор перемещается на новую строку.

Вещественные данные выводятся в формате с плавающей точкой.

#.# # # # # # # # # # E ± # # #,

где # любая десятичная цифра от 0 до 9. причем 10 из символов отводится под его дробную часть.

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

Writeln (a: m: n), где m – ширина поля вывода, n – количество знаков в дробной части числа. Если число a не помещается в m позиции й, то поле вывода расширяется до минимально необходимого. Допустим являются форматы a:2:2, a:1:2.

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

Пример линейной программы.

Вариант

Формулы для вычисления

Исходные данные

х

у

k= (h) n=[h]

31.01

-0.4917

Переменные с именами i, j, k, l, m, n – данные целого типа. Округление числа обозначается символом ( ). Операция отсекания дробной части числа обозначается символом [ ].

Program Z1;

Usus crt;

Const ramka = ‘********************’;

Var

K, n : integer; {целый тип}

X, y, h: real; {вещественный тип}

Begin

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

Write (‘ввод х=’);

Readln(x);

Write (‘ввод у=’);

Readln(y);

H:=(x*y+sin(x))/(abs(1-y)*ln(x));

K:= round (h);

N:= trunk (h);

Writeln(“:35, ramka);

Writeln(“:35,’*k=’,k,’ n=’,n,’ *’);

Writeln(“:35,’*x=’,x:8:4,’ y=’,y:8:4,’*’);

Writeln(“:35,’*h=’,h:8:4,’’:12,’*’);

Writeln(“:35,ramka); {два апострофа двоиточие 35 – это 35 пробелов}

Readln;

End.