Pascal Next руководство программиста
Описание языка программирования с примерами
Никита Культин
© Никита Культин, 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имяvarbeginendПример:
programvarbeginПеред разделом var может быть раздел const (раздел именованных констант), в который программист может поместить объявления констант, используемых в программе.
Пример:
programconstvarbeginТипы данных
Pascal Next поддерживает целый, вещественный и строковый тип данных.
Целый
integer целые числа в диапазоне -2 147 483 648 2 147 483 647
Вещественный
float положительные и отрицательные вещественные числа в диапазоне от 1.5x10
38
38
Строковый
string строка символов длинной до 128 символов
Переменные
Все переменные программы должны быть объявлены в разделе var той процедуры или функции, в которой они используются.
Числовые
Инструкция объявления числовой переменной целого или вещественного типа в общем случае выглядит так:
имятипГде:
имя имя переменной;
тип тип переменной.
Примеры:
Допускается одной инструкцией объявить несколько переменных одинакового типа.
Пример:
Строковые
Инструкция объявления строковой переменной в общем виде выглядит так:
имядлинагде:
длина максимальное количество символов, которое может вместить переменная.
Максимальное допустимое значение параметра длина при объявлении строки 128.
Пример:
Допускается одной инструкцией объявить несколько переменных одинакового типа, например:
При объявлении строковой переменной можно использовать целую именованную константу. Например, если в разделе const объявлена целая именованная константа LN, то объявление переменных firstName и lastName может быть таким:
Имя переменной
В качестве имени переменной можно использовать любую, начинающуюся с буквы и состоящую из букв и чисел последовательность символов. Помимо букв и чисел имя переменной может содержать символы «подчеркивание».
Примеры:
Компилятор Pascal Next не различает прописные и строчные буквы, т.е. нечувствителен к регистру записи идентификаторов. Таким образом, например, идентификаторы first_name, FIRST_NAME и First_Name обозначают один и тот же объект (переменную).
В качестве имен переменных (и других объектов программы) нельзя использовать зарезервированные слова языка программирования, а также имена встроенных процедур и функций.
Константы
Целые
Целые числовые константы записываются обычным образом.
Примеры целых констант:
Вещественные
При записи вещественных констант в качестве десятичного разделителя следует использовать точку.
Примеры вещественных констант:
Строковые
Строковая константа представляет собой заключенную в одинарные кавычки последовательность любых символов.
Примеры строковых констант:
Именованные константы
Именованные константы должны быть объявлены в разделе const той процедуры или функции, в которой они используются.
Объявление именованной константы выглядит так:
Имя ЗначениеГде:
Имя имя константы;
Значение значение константы.
Пример объявления именованных констант:
const// строковая константа// вещественная именованная константа// целая именованная константа// целая именованная константаПосле объявления именованная константа может использоваться в программе как обычная константа, в том числе в разделе объявления переменных.
Пример использования именованных констант при объявлении переменных:
arrayofarrayofПример использования именованных констант в коде:
// PI именованная константаfortodo// HB именованная константаfortodoendendЛогический тип
В Pascal Next нет логического (boolean) типа данных, однако, его легко можно смоделировать, определив в программе целые именованные константы TRUE (истина) и FALSE (ложь) со значениями 1 и 0 соответственно. После этого, вместо переменных логического типа можно использовать переменные целого типа, трактуя их как логические.
Пример
programconst// «логические» константыvar array// массив чисел/ число, которое надо найти в массиве/ признак, что число есть в массиве (найдено)beginfortodoendfortodoend// пусть число не найденоrepeatifthen// число найденоelseenduntilifthenelseendВывод в окно консоли
Вывод информации на экран (в окно консоли) выполняют инструкции write и writeln.
В общем виде инструкции вывода информации в окно консоли записываются так:
списоквыводасписоквыводагде:
список_вывода разделенные запятыми имена переменных, строковые константы или выражения.
Примеры:
Форматированный вывод
В строке вывода после имени переменной или выражения через двоеточие можно задать формат вывода значения.
Для целых и строковых значений формат задает ширину поля вывода количество позиций на экране, которое резервируется для вывода значения переменной.
В общем виде форматированный вывод целых и строковых значений задается так:
имя: nгде:
имя имя переменной, значение которой надо вывести на экран;
n ширина поля вывода (целая константа).
Форматированный вывод вещественных значений в общем виде задается так:
имя nmгде:
имя имя переменной;
n ширина поля вывода (целая константа);
m количество цифр дробной части (целая константа).
Примеры:
// переменные x1 и x2 вещественного типа// переменная name строковая, salary вещественная// выражение pound*0.453 вещественного типаВвод данных с клавиатуры
Ввод данных с клавиатуры обеспечивает инструкция readln, которая в общем виде записывается так:
имягде:
имя имя переменной, значение которой надо получить от пользователя во время работы программы.
Примеры:
ВНИМАНИЕ! При вводе вещественных значений в качестве десятичного разделителя следует использовать точку. Если при вводе вещественного значения вместо точки будет введена запятая, ошибка ввода (исключение) не возникает, но дробная часть будет отброшена.
Инструкция присваивания
Инструкция присваивания выглядит так:
имявыражениеГде:
имя имя переменной или элемента массива;
выражение выражение, значение которого присваивается переменной или элементу массива.
Выражение состоит из операндов и операторов. Операнды это объекты, над которыми выполняется действие, операторы символы, обозначающие действия.
В качестве операнда выражения могут использоваться константы, переменные, элементы массивов, функции.
Примеры:
Тип выражения должен соответствовать типу переменной, которой присваивается значение.
Тип выражения определяется типом операндов, входящих в выражение, и действием, выполняемым над операндами.
Арифметические операторы
Арифметические операторы:
Оператор «сложение» применим к операндам строкового типа. Результат его применения к операндам строкового типа конкатенация (объединение) строк-операндов.
Примеры:
В приведенных инструкциях предполагается, что переменные name, FirstName и LastName строкового типа.
Приоритет операторов
Значение выражения вычисляется слева направо, при этом следует учитывать, что операторы умножения и деления имеют более высокий приоритет, чем операторы сложения и вычитания.
Для задания нужной последовательности вычисления значения выражения следует использовать скобки.
Пример:
Выбор действия
Инструкция if
Выбор действия в зависимости от выполнения некоторого условия реализуется при помощи инструкции if.
Инструкция выбора одного из двух возможных вариантов действия записывается так:
ifусловиеthen// здесь инструкции, которые должны быть выполнены, // если условие выполняется (истинно)else// здесь инструкции, которые должны быть выполнены, // если условие НЕ выполняется (ложно) endПример:
ifthen else endЕсли при выполнении условия надо выполнить некоторое действие, а в случае, если условие не выполняется, это действие надо пропустить и перейти к следующей инструкции программы, то инструкция if записывается так:
ifусловие then // здесь инструкции, которые будут выполнены, // если условие выполняется (истинно) endПример:
ifthen endМножественный выбор
Множественный выбор (выбор одного действия из нескольких возможных) осуществляется при помощи вложенных инструкций if.
Приведенные ниже инструкции показывают, как можно реализовать выбор одного действия из четырех возможных вариантов.
ifусловие1then// здесь инструкции, которые будут выполнены, // если условие1 истинноelse ifусловие2 then// здесь инструкции, которые будут выполнены, // если уловие1 ложно, а условие2 истинноelse ifусловие3 then // здесь инструкции, которые будут выполнены, // если условия условие1 и условие2 ложны, // а условие3 истинноelse// здесь инструкции, которые будут выполнены, // если ни одно из условий условие1, условие2 или // условие3 НЕ выполняетсяendendendУсловие
Условие это выражение логического типа, которое может принимать одно из двух значений: Истина (True) или Ложь (False).
Различают простое и сложное условия.
Простое условие
Простое условие в общем виде записывается так:
op1 оператор_сравнения op2где:
op1 и op2 сравниваемые операнды, в качестве которых могут выступать константы, переменные, функции или выражения.
Операторы сравнения:
Примеры простых условий:
Сложное условие
Сложное условие в общем виде записывается так:
усл1 логический_оператор усл2где:
усл1 и усл2 выражения логического типа, в качестве которых могут выступать простые или сложные условия.
Логические операторы:
Примеры сложных условий:
Циклы
Цикл for
Инструкция цикла for в общем виде записывается так:
fortodo // здесь инструкции, которые надо выполнить несколько разendГде:
сч счетчик циклов (переменная целого типа);
start и finish выражения целого типа (в простейшем случае целые константы), определяющие, соответственно, начальное и конечное значение счетчика циклов.
Примеры:
fordoendfordoendЦикл While
Инструкция цикла While (цикл с предусловием) в общем виде записывается так:
while// здесь инструкции, которые будут выполняться до тех пор, // пока условие истинноendГде:
условие простое или сложное условие выполнения инструкций, находящихся между словами do и end.
Пример:
whileendЦикл Repeat
Инструкция цикла Repeat (цикл с постусловием) в общем виде записывается так:
repeat// здесь инструкции, которые будут выполняться до тех пор, // пока условие ложноuntilусловиеГде:
условие простое или сложное условие завершения цикла (прекращения выполнения инструкций, находящихся между словами repeat и until).
Пример:
repeat untilИнструкция Goto
Инструкция goto (безусловный переход) в общем виде записывается так:
gotoметка;Где:
метка идентификатор инструкции, к которой необходимо выполнить переход.
Метка представляет собой любую начинающуюся буквой и состоящую из букв и цифр строку.
Метка записывается перед инструкцией, к которой надо выполнить переход, и отделяется от этой инструкции двоеточием.
Метка должна быть объявлена в разделе объявления меток в той процедуре или функции, в которой она используется. Начало раздела объявления меток помечает ключевое слово label.
Раздел объявления меток предшествует разделу объявления констант или, если раздел const отсутствует, разделу объявления переменных.
Пример:
// вычисление наибольшего общего делителя (НОД)// двух целых положительных чиселprogramlabel// раздел объявления метокvarbeginifthengotoendifthengotoelsegotoendМассивы
Одномерный массив
Объявление одномерного массива в общем виде выглядит так:
имяarrayHBofтипгде:
имя имя массива
HB верхняя граница диапазона индекса массива (количество элементов массива)
тип тип элементов массива (тип массива)
Внимание! Максимальное допустимое количество элементов одномерного массива 255
Примеры:
arrayofarrayofarrayofДопускается одной инструкцией объявить несколько массивов одинакового типа и размера, например:
arrayofarrayofПри объявлении одномерного массива в качестве верхней границы диапазона индекса можно использовать целую именованную константу. Например, если в разделе const объявлены целые именованные константы HB и NL, то объявление массива students может быть таким:
Именованные константы, использованные в инструкции объявления массива, удобно использовать в инструкциях его обработки.
Пример:
fortodoendВнимание! При работе с большим количеством массивов или с массивами большой размерности следует учитывать, что суммарный размер данных (памяти, занимаемой переменными программы, в том числе и массивами) и кода программы не может превышать 64K.
Двумерный массив
Объявление двумерного массива в общем виде выглядит так: