- •Лабораторная работа № 2 программирование алгоритмов линейной структуры
- •Теоретические сведения
- •Запуск и остановка программы
- •Структура программы
- •Константы и переменные
- •Встроенные константы
- •Встроенные функции
- •Процедуры ввода-вывода данных
- •Процедура ввода информации
- •Процедура вывода информации.
- •Оператор присваивания
- •Пустой оператор
- •Примеры выполнения заданий
- •Контрольные вопросы
- •Задания
Процедура вывода информации.
Процедуры вывода (или записи информации) 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); «неслепой» вывод значения переменной,
где:
X, Y - переменные, значения которых нужно вывести на экран;
'Фраза' - некоторый пояснительный текст, который обычно сопровождает значение переменной;
X:6:2 - указывается формат значения переменной. Это значит, что всего 6 символов, отводится под значение переменной X, причем после десятичной точки будет выведено на экран 2 символа. Это так называемый форматированный вывод числа с фиксированной точкой.
Оператор присваивания
Оператор присваивания (:=) предписывает выполнить выражение, заданное в его правой части, и присвоит результат переменной, имя которой указано в левой его части. Переменная и выражение должны быть совместимы по типу. Его синтаксис:
Y:=2;
X:='Строка';
P:=V1;
Summa:=V2;
где:
X,Y,P,Summa - имена переменных, описанных в разделе описания переменных;
2, 'Строка' - некоторые значения;
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.
