Kitobni o'qish: «Pascal Next. Руководство программиста»
Pascal Next
Pascal Next – компилируемый, типизированный, алгоритмический, универсальный язык программирования и среда разработки, ориентированные на решение задачи обучения основам программирования.
В основе синтаксиса языка Pascal Next лежит синтаксис "классического" Pascal. В тоже время, синтаксис инструкций выбора и циклов заимствован из Basic, что позволило отказаться от "избыточных" инструкций begin.
Язык позволяет работать с целыми и вещественными числами, строками, одномерными и двумерными массивами, текстовыми файлами. В языке определены стандартные математические функции (Sqrt – квадратный корень, Sin – синус, Cos, – косинус Arctg -арктангенс, Trunc – округление с недостатком, Roung – округление с избытком, Rnd – случайное число), функции преобразования типов (IntToStr, StrToInt, FloatToStr, StrToFloat), функции манипулирования строками (Legth – длина строки, Pos – позиция подстроки в строке, Substr – подстрока, UpCase – преобразование к верхнему регистру, LowCase – преобразование к нижнему регистру) и датами (getDay, getMonth, getYear, getDayOfWeek, getTime); есть возможность инициализации массива в инструкции объявления;в текст программы можно включать как многострочные, так и однострочные комментарии.
Книга, которую вы держите в руках, представляет собой описание языка программирования Pascal Next с примерами, демонстрирующие использование инструкций ввода-вывода, инструкций выбора, использование циклов, работу с массивами, строками, файлами, встроенными и пользовательскими функциями.
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 той процедуры или функции, в которой они используются.
Инструкция объявления числовой переменной целого (integer) или вещественного (float) типа в общем случае выглядит так:
имя: тип;
Где:
имя – имя переменной;
тип – тип данных.
Примеры:
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 обозначают один и тот же объект (переменную), а инструкцию выбора действия можно записать if, If или IF.
В качестве имен переменных (и других объектов программы) нельзя использовать зарезервированные слова языка программирования, а также имена встроенных процедур и функций.
Константы
Числовые константы записываются обычным образом.
Примеры целых констант:
123
–45
0
Примеры вещественных констант:
5.0
27542.15
25.7
–34.05
0.0
Строковая константа представляет собой заключенную в одинарные кавычки последовательность любых символов.
Примеры строковых констант:
'Hello, World!'
'Bart Simpson'
'(C) Nikita Kultin, 2023'
' '
''
'100'
'99.5'
Именованные константы
Именованные константы должны быть объявлены в разделе const программы, процедуры или функции, в которой они используются.
Объявление именованной константы выглядит так:
Имя = Значение;
Пример:
const
Copyright ='(c) Nikita Kultin, 2021'; // строковая именованная
PI = 3.1415925; // вещественная константа
HB = 7; // целая именованная константа
После объявления именованная константа может использоваться в программе как обычная константа, в том числе в разделе объявления переменных.
Пример использования именованных констант при объявлении переменных:
const
HB = 7;
NL = 25;
var
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;
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.
Bepul matn qismi tugad.