Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб2.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
178 Кб
Скачать
☆
  1. Процедура вывода информации.

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

Синтаксис процедуры Write и WriteLn:

Write (X,Y);

или «Слепой» вывод значений переменных.

WriteLn (X,Y);

Write (X+Y);

или Вывод результата выражения.

WriteLn (X+Y);

Write (X:6:2);

или Форматированный вывод значения переменной.

WriteLn (X:6:2);

Write ('Фраза');

или Вывод некоторой фразы на дисплей.

WriteLn ('Фраза');

Write ('Фраза',Y);

или Вывод фразы и значения переменной на экран,

WriteLn ('Фраза',Y); «неслепой» вывод значения переменной,

где:

  1. X, Y - переменные, значения которых нужно вывести на экран;

  2. 'Фраза' - некоторый пояснительный текст, который обычно сопровождает значение переменной;

  3. X:6:2 - указывается формат значения переменной. Это значит, что всего 6 символов, отводится под значение переменной X, причем после десятичной точки будет выведено на экран 2 символа. Это так называемый форматированный вывод числа с фиксированной точкой.

Оператор присваивания

Оператор присваивания (:=) предписывает выполнить выражение, заданное в его правой части, и присвоит результат переменной, имя которой указано в левой его части. Переменная и выражение должны быть совместимы по типу. Его синтаксис:

Y:=2;

X:='Строка';

P:=V1;

Summa:=V2;

где:

  1. X,Y,P,Summa - имена переменных, описанных в разделе описания переменных;

  2. 2, 'Строка' - некоторые значения;

  3. V1,V2 - выражения, значения которых нужно вычислить.

Пустой оператор

Пустой оператор не обозначается и не вызывает никаких действий. Пустой оператор - это просто символ ";" (точка с запятой) в программе. Операторы отделяются друг от друга символом "точка с запятой" (;). Поэтому точку с запятой часто называют разделителем. Если разделитель между двумя операторами отсутствует, то это приведет к возникновению ошибки, поскольку компилятор часто не может "понять", что же хотел сказать автор программы. Пусть, например, записано

x:=1

y:=2;

Несмотря на то, что операторы присваивания записаны на разных строчках, компилятор будет воспринимать эту запись как

x:=1y:=2

В итоге получается "оператор", в котором используются два знака присваивания и неправильный идентификатор 1y (идентификатор не может начинаться с цифры).

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

Пример 1. Вывести на экран дисплея предложение: «Это наша первая программа на языке Pascal!»

PROGRAM Primer_1;

BEGIN

WriteLn ('Это наша первая программа на языке Pascal!');

END.

Пример 2. Демонстрация операций над данными типа Byte.

PROGRAM Primer_2;

var x: Byte; {Первый аргумент}

y: Byte; {Второй аргумент}

z: Byte; {Результат операции}

BEGIN

Write ('Введите значение переменной X типа Byte...');

Read (x);

Write ('Введите значение переменной Y типа Byte...');

Read (y);

z:=x+y; WriteLn ('x + y -> ',z);

z:=x-y; WriteLn ('x - y -> ',z);

z:=x*y; WriteLn ('x * y -> ',z);

z:=x DIV 2; WriteLn ('x DIV 2 -> ',z);

z:=x MOD 2; WriteLn ('x MOD 2 -> ',z);

WriteLn ('x=y -> ',x=y);

WriteLn ('x<>y -> ',x<>y);

WriteLn ('x>=y -> ',x>=y)

END.

Пример 3. Демонстрация операций над данными типа Word.

PROGRAM Primer_3;

var x: Word; {Первый аргумент}

y: Word; {Второй аргумент}

z: Word; {Результат операции}

BEGIN

Write ('Введите значение переменной X типа Word...');

Read (x);

Write ('Введите значение переменной Y типа Word...');

Read (y);

z:=x+y; WriteLn ('x + y -> ',z);

z:=x-y; WriteLn ('x - y -> ',z);

z:=x*y; WriteLn ('x * y -> ',z);

z:=x DIV 2; WriteLn ('x DIV 2 -> ',z);

z:=x MOD 2; WriteLn ('x MOD 2 -> ',z);

WriteLn ('x=y -> ',x=y);

WriteLn ('x<>y -> ',x<>y);

WriteLn ('x>=y -> ',x>=y)

END.

Пример 4. Демонстрация операций над типом Integer.

PROGRAM Primer_4;

var x: Integer; {Первый аргумент}

y: Integer; {Второй аргумент}

z: Integer; {Результат операции}

BEGIN

Write ('Введите значение переменной X типа Integer...');

Read (x);

Write ('Введите значение переменной Y типа Integer...');

Read (y);

z:=x+y; WriteLn ('x + y -> ',z);

z:=x-y; WriteLn ('x - y -> ',z);

z:=x*y; WriteLn ('x * y -> ',z);

z:=x DIV 2; WriteLn ('x DIV 2 -> ',z);

z:=x MOD 2; WriteLn ('x MOD 2 -> ',z);

WriteLn ('x=y -> ',x=y);

WriteLn ('x<>y -> ',x<>y);

WriteLn ('x>=y -> ',x>=y)

END.

Пример 5. Демонстрация операций над типом Real. Операции с переменными типа Real реализуются программно, т.е. математический сопроцессор в этом случае не используется

PROGRAM Primer_5;

var x: Real; {Первый аргумент}

y: Real; {Второй аргумент}

z: Real; {Результат операции}

BEGIN

Write ('Введите значение переменной X типа Real...');

Read (x);

Write ('Введите значение переменной Y типа Real...');

Read (y);

z:=x+y; WriteLn ('x + y -> ',z);

z:=x-y; WriteLn ('x - y -> ',z);

z:=x*y; WriteLn ('x * y -> ',z);

z:=x/2; WriteLn ('x/2 -> ',z);

WriteLn ('x=y -> ',x=y);

WriteLn ('x<>y -> ',x<>y);

WriteLn ('x>=y -> ',x>=y)

END.

Пример 6. Демонстрация операций над типом Char.

PROGRAM Primer_6;

var x,y: Char;

BEGIN

Write ('Введите значение переменной X типа Char...');

Read (x);

Write ('Введите значение переменной Y типа Char...');

Read (y);

WriteLn ('x = ',x); WriteLn ('y = ',y);

WriteLn ('x=y -> ',x=y);

WriteLn ('x<>y -> ',x<>y);

WriteLn ('x<y -> ',x<y)

END.

Пример 7. Демонстрация операций над типом Boolean.

PROGRAM Primer_7;

var x,y,z: Boolean;

BEGIN

x:=TRUE; y:=FALSE; WriteLn ('x = ',x); WriteLn ('y = ',y);

z:=NOT x; WriteLn ('NOT x -> ',z);

z:=x AND y; WriteLn ('x AND y -> ',z);

z:=x OR y; WriteLn ('x OR y -> ',z);

WriteLn ('x=y -> ',x=y);

WriteLn ('x<>y -> ',x<>y);

WriteLn ('x>y -> ',x>y)

END.

Пример 8. Демонстрация вычисления значений стандартных функций: UpCase, Ord и Chr

PROGRAM Primer_8;

var x: Char;

BEGIN

Write ('Введите значение аргумента типа Char: ');

ReadLn (x);

WriteLn ('UpCase (x) -> ',UpCase (x));

WriteLn ('Ord (x) -> ',Ord (x));

WriteLn ('Chr (65) -> ',Chr (65))

END.

Пример 9. Демонстрация вычисления значений элементарных функций.

PROGRAM Primer_9;

(*Демонстрация вычисления значений элементарных функций*)

var X: Real; {Аргумент}

Y: Real; {Аргумент}

Z: Integer; {Аргумент}

F: Real; {Результат}

BEGIN

WriteLn ('Значение MaxInt: ',MaxInt);

WriteLn ('Значение Пи: ',PI);

Write ('Введите значение аргумента: ');

ReadLn (X);

WriteLn ('Trunc (X) -> ',Trunc (X));

WriteLn ('Int (X) -> ',Int (X));

WriteLn ('Frac (X) -> ',Frac (X));

F:=Abs (X); WriteLn ('Значение функции Abs : ',F);

F:=Sqrt (X); WriteLn ('Значение функции корень: ',F);

F:=Exp (X); WriteLn ('Значение функции Exp : ',F);

F:=Ln (X); WriteLn ('Значение функции Ln : ',F);

{Аргумент тригонометрических функций выражен в радианах}

F:=Sin (X); WriteLn ('Значение функции Sin : ',F);

F:=Cos (X); WriteLn ('Значение функции Cos : ',F);

F:=ArcTan (X); WriteLn ('Значение функции ArcTg: ',F);

{-------------------------------------------------------------}

Write ('Введите значение аргумента: '); ReadLn (Y);

F:=Exp (Y*Ln(X));

WriteLn ('Значение функции X^Y : ',F);

{-------------------------------------------------------------}

Write ('Введите значение аргумента типа Integer: '); ReadLn (Z);

WriteLn ('Odd (Z) -> ',Odd (Z))

END.