name: string[NL]; // NL – именованная константа
Пример использования именованных констант в коде:
sq := PI*r*r; // PI – именованная константа
for i:=1 to HB do // HB – именованная константа
for j:=1 to HB do
matrix[i,j]:=0;
end;
end;
Л
огический тип
В Pascal Next нет логического (boolean) типа данных, однако, его легко можно смоделировать, определив в программе целые именованные константы TRUE (истина) и FALSE (ложь) со значениями 1 и 0 соответственно. После этого, вместо переменных логического типа можно использовать переменные целого типа, трактуя их как логические.
Пример
// псевдо-логический тип
program p()
const
// "логические" константы
TRUE = 1;
FALSE = 0;
HB = 10;
var
a:array[1..HB] of integer; // массив чисел
r: integer; // число, которое надо найти в массиве
found: integer; // признак, что число есть в массиве (найдено)
i: integer;
begin
for i:= 1 to HB do
a[i] := Random(HB);
end;
write('Number list: ');
for i:= 1 to HB-1 do
a[i] := Random(HB);
write(a[i]:3,',');
end;
write(a[HB]:3);
r:= Random(HB);
writeln('Search: ',r);
found := FALSE; // пусть число не найдено
i:= 1;
repeat
if a[i] = r then
found := TRUE; // число найдено
else
i:=i+1;
end;
until( found = TRUE) OR (i > HB);
writeln('i=',i);
if found = TRUE then
writeln('Found!');
else
writeln('Not found!');
end;
write('Press <Enter>');
readln;
end.
В
ывод в окно консоли
Вывод информации на экран (в окно консоли) выполняют инструкции write и writeln.
В общем виде инструкции вывода информации в окно консоли записываются так:
write(список_вывода);
writeln(список_вывода);
где:
список_вывода – разделенные запятыми имена переменных, строковые константы или выражения.
Примеры:
write(sum);
write('Press <Enter>');
writeln('x1=', x1, ' x2=', x2);
writeln(pound,' фунтов =', pound*0.453, ' кг.');
Ф
орматированный вывод
В строке вывода после имени переменной или выражения через двоеточие можно задать формат вывода значения.
Для целых и строковых значений формат задает ширину поля вывода – количество позиций на экране, которое резервируется для вывода значения переменной.
В общем виде форматированный вывод целых и строковых значений задается так:
имя:n
где:
имя – имя переменной , значение которой надо вывести на экран;
n – ширина поля вывода (целая константа).
Форматированный вывод вещественных значений в общем виде задается так:
имя:n:m
где:
имя – имя переменной;
n – ширина поля вывода (целая константа);
m – количество цифр дробной части.
Примеры:
writeln('x1=', x1:9:3, 'x2=', x2:9:3); // переменные x1 и x2 – вещественного типа
writeln(name:15, salary:12:3); // переменная name строковая, salary – вещественная
writeln(pound:5:2,' фунтов =', pound*0.453:6:3, ' кг.'); // выражение pound*0.453 вещественного типа
В
вод данных
Ввод данных с клавиатуры обеспечивает инструкция readln, которая в общем виде записывается так:
readln(имя);
где:
имя – имя переменной, значение которой надо получить от пользователя во время работы программы.
Примеры:
readln(name);
readln(salary);
ВНИМАНИЕ! При вводе вещественных значений в качестве десятичного разделителя следует использовать точку. Если при вводе вещественного значения вместо точки будет введена запятая, ошибка (исключение) не возникает, но дробная часть будет отброшена.
Инструкция присваивания
Инструкция присваивания выглядит так:
имя := выражение;
Где:
имя – имя переменной или элемента массива;
выражение – выражение, значение которого присваивается переменной или элементу массива.
Выражение состоит из операндов и операторов. Операнды это – объекты, над которыми выполняется действие, операторы – символы, обозначающие действия.
В качестве операнда выражения могут использоваться константы, переменные, элементы массивов, функции.
Примеры:
k := 0;
x:=x1;
x:=x+dx;
x:=x+0.05;
n := Round((x1-x2)/dx);
m := Random(6);
Арифметические операторы
Арифметические операторы:
Оператор
Действие
Тип операндов
Тип выражения
+
сложение
integer, float
integer – если оба операнда integer;
float – если один из операндов float
-
вычитание
integer, float
integer – если оба операнда integer;
float – если один из операндов float
*
умножение
integer, float
integer – если оба операнда integer;
float – если один из операндов float
/
деление
integer, float
float
DIV
целая часть частного
integer
integer
MOD
остаток от деления как целое
integer
integer
Оператор + применим к операндам строкового типа. Результат применения оператора "сложение" к операндам строкового типа – конкатенация (объединение) строк-операндов.
Примеры:
name := 'Bart' + ' ' + 'Simpson';
name := FirstName + ' ' + LastName;
В приведенных инструкциях предполагается, что переменные name, FirstName и LastName строкового типа.
Приоритет операторов
Значение выражения вычисляется слева направо, при этом следует учитывать, что операторы умножения и деления имеют более высокий приоритет, чем операторы сложения и вычитания.
Для задания нужной последовательности вычисления значения выражения следует использовать скобки.
В
ыбор действия (инструкция
if
)
Выбор действия в зависимости от выполнения некоторого условия реализуется при помощи инструкции if.
Инструкция выбора одного из двух возможных вариантов действия записывается так:
if условие then
// здесь инструкции, которые должны быть выполнены,
// если условие выполняется (истинно)