Pascal Next – руководство программиста. Описание языка программирования с примерами

000
ОтложитьЧитал
© Никита Культин, 2023
ISBN 978-5-0059-6712-1
Создано в интеллектуальной издательской системе Ridero
Pascal Next
Pascal Next – компилируемый язык программирования и среда разработки для начинающих программистов, ориентированные на решение задачи обучения основам программирования.
В основе синтаксиса языка Pascal Next лежит синтаксис «классического» Pascal.
Компилятор Pascal Next создает выполняемый Win32 файл.
• Среда разработки Pascal Next работает в операционных системах от Microsoft Windows XP до Microsoft Windows 10/11.
• Язык интерфейса среды разработки Pascal Next – русский (для русской локализации операционной системы) или английский (для остальных локализаций операционной системы).
• Сообщения компилятора об ошибках – на русском/английском языке.
• Встроенный справочник по языку программирования.
• Простой процесс установки – объем дистрибутива – 1,3 Мб, никакие дополнительные компоненты не нужны.
WWW.pascal-next.ru
Pascal Next можно бесплатно загрузить с сайта разработчика www.pascal-next.ru
Также с сайта можно загрузить примеры кода и документацию.
́
Структура программы
Программа Pascal Next представляет собой совокупность процедур и функций. Главная процедура, с инструкций которой начинается выполнение программы, обозначается идентификатором program. Все остальные процедуры обозначаются идентификатором procedure, функции – идентификатором function.
Простейшая программа представляет собой одну единственную процедуру program и в общем случае выглядит так:
program имя ()
var
// здесь объявления переменных
begin
// здесь выполняемые инструкции
end.
Пример:
// пересчет веса из фунтов в килограммы
program p1 ()
var
fnt: float; // вес в фунтах
kg: float; // вес в килограммах
begin
write (́ Вес в фунтах> ́);
readln (fnt);
kg:= fnt * 0.495; // 1 кг = 495 гр
writeln (fnt:6:2, ́ фнт. = ́, kg:6:3, ́ кѓ);
writeln (́ Press <Enter> ́);
readln;
end.
Перед разделом var может быть раздел const (раздел именованных констант), в который программист может поместить объявления констант, используемых в программе.
Пример:
// пересчет веса из фунтов в килограммы
program p1 ()
const
K = 0.495; // коэф. пересчета из фунтов в кг
var
fnt: float; // вес в фунтах
kg: float; // вес в килограммах
begin
write (́ Вес в фунтах> ́);
readln (fnt);
kg:= fnt * K;
writeln (fnt:6:2, ́ фнт. = ́, kg:6:3, ́ кѓ);
writeln (́ Press <Enter> ́);
readln;
end.
Типы данных
Pascal Next поддерживает целый, вещественный и строковый тип данных.
Целый
integer – целые числа в диапазоне -2 147 483 648 … 2 147 483 647
Вещественный
float – положительные и отрицательные вещественные числа в диапазоне от 1.5x10—38 до 3.4x1038
Строковый
string – строка символов длинной до 128 символов
Переменные
Все переменные программы должны быть объявлены в разделе var той процедуры или функции, в которой они используются.
Числовые
Инструкция объявления числовой переменной целого или вещественного типа в общем случае выглядит так:
имя: тип;
Где:
имя – имя переменной;
тип – тип переменной.
Примеры:
sum: float;
k: integer;
Допускается одной инструкцией объявить несколько переменных одинакового типа.
Пример:
a,b,c: float;
Строковые
Инструкция объявления строковой переменной в общем виде выглядит так:
имя: string [длина];
где:
длина – максимальное количество символов, которое может вместить переменная.
Максимальное допустимое значение параметра длина при объявлении строки – 128.
Пример:
name: string [25];
Допускается одной инструкцией объявить несколько переменных одинакового типа, например:
firstName, lastName: string [12];
При объявлении строковой переменной можно использовать целую именованную константу. Например, если в разделе const объявлена целая именованная константа LN, то объявление переменных firstName и lastName может быть таким:
firstName, lastName: string [LN];
Имя переменной
В качестве имени переменной можно использовать любую, начинающуюся с буквы и состоящую из букв и чисел последовательность символов. Помимо букв и чисел имя переменной может содержать символы «подчеркивание».
Примеры:
amount: integer;
x1: float;
month_salary: float;
annual_income: float;
first_name: string [20];
Компилятор Pascal Next не различает прописные и строчные буквы, т.е. нечувствителен к регистру записи идентификаторов. Таким образом, например, идентификаторы first_name, FIRST_NAME и First_Name обозначают один и тот же объект (переменную).
В качестве имен переменных (и других объектов программы) нельзя использовать зарезервированные слова языка программирования, а также имена встроенных процедур и функций.
Константы
Целые
Целые числовые константы записываются обычным образом.
Примеры целых констант:
123
– 45
0
Вещественные
При записи вещественных констант в качестве десятичного разделителя следует использовать точку.
Примеры вещественных констант:
5.0
25.5
– 34.05
0.0
Строковые
Строковая константа представляет собой заключенную в одинарные кавычки последовательность любых символов.
Примеры строковых констант:
́ Hello, World!́
́ Bart Simpsoń
́ (C) Nikita Kultin, 2021́
́ ́
́ ́
́ 100́
́ 99.5́
Именованные константы
Именованные константы должны быть объявлены в разделе const той процедуры или функции, в которой они используются.
Объявление именованной константы выглядит так:
Имя = Значение;
Где:
Имя – имя константы;
Значение – значение константы.
Пример объявления именованных констант:
const
Copyright =́ (c) Nikita Kultin, 2023́; // строковая константа
PI = 3.1415925; // вещественная именованная константа
HB = 7; // целая именованная константа
NL = 25; // целая именованная константа
После объявления именованная константа может использоваться в программе как обычная константа, в том числе в разделе объявления переменных.
Пример использования именованных констант при объявлении переменных:
matrix array [1..HB, 1..HB] of float;
students array [1..HB] of string [NL];
name: string [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);
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 – количество цифр дробной части (целая константа).
Примеры:
// переменные x1 и x2 – вещественного типа
writeln (́ x1=́, x1:9:3, ́ x2=́, x2:9:3);
// переменная name строковая, salary – вещественная
writeln (name:15, salary:12:3);
// выражение pound*0.453 вещественного типа
writeln (pound:5:2,́ фунтов =́, pound*0.453:6:3, ́ кг.́);
Ввод данных с клавиатуры
Ввод данных с клавиатуры обеспечивает инструкция readln, которая в общем виде записывается так:
readln (имя);
где:
имя – имя переменной, значение которой надо получить от пользователя во время работы программы.
Примеры:
readln (name);
readln (salary);
ВНИМАНИЕ! При вводе вещественных значений в качестве десятичного разделителя следует использовать точку. Если при вводе вещественного значения вместо точки будет введена запятая, ошибка ввода (исключение) не возникает, но дробная часть будет отброшена.