Extended Pascal
Диалект языка программирования PascalДиалект языка Pascal, определенный в стандарте ISO 10206 (1990 год).
Отличия от Standard Pascal:
-
добавлены операторы
**(возведение в степень),><(симметричная разность) и=>(переименование переменных при импорте/экспорте). -
добавлены ключевые слова
AND_THEN, BINDABLE, EXPORT, IMPORT, MODULE, ONLY, OR_ELSE, OTHERWISE, POW, PROTECTED, QUALIFIED, RESTRICTED, VALUE(относящиеся в основном к модульности и сокращенному вычислению логических выражений). - модульность и раздельная компиляция. Каждый модуль экспортирует интерфейс, делающий ряд сущностей из этого модуля доступными из других модулей.
- схемы — коллекции похожих типов.
- расширенные возможности работы со строками.
- связанные переменные.
- работа с файлами по прямому доступу, возможность дописывать данные в конец существующего файла.
- константные выражения.
- конструкторы для составных типов данных (массивов, множеств и записей).
- обобщенные результаты функций.
- возможность задавать начальное значение переменной.
- ослабление ограничений на порядок объявления элементов программы.
- запрос типа: переменную или параметр можно объявить как имеющую тип другой переменной.
-
константы
maxchar, minreal, maxrealиepsrealдают информацию об особенностях реализации типовcharиreal. -
изменение формата оператора
case: варианты могут быть диапазонами значений,otherwiseописывает все значения, не заданные явно. -
расширение возможностей структуры данных множество: симметричная разность
><, количество элементовcard, циклforдля итерации по всем элементам. -
тип данных
TimeStampи функции для работы со временем. - стандартный ввод числовых данных.
- представление чисел, отличное от десятичного.
-
в названиях переменных может использоваться нижнее подчеркивание (
_). -
в параметрах функции
writeширина полей может быть нулевой. -
процедура
haltостанавливает выполнение программы. - комплексные числа.
- сокращенное вычисление логических выражений.
-
параметры
protected(не могут изменяться внутри функции). -
возведение в степень (
**иpow). - совместимые массивы.
Примеры:
Квадратное уравнение:
Пример для версий Free Pascal 2.2.0, PascalABC.NET 1.8, Turbo Pascal 1.0, Turbo Pascal 2.0, Turbo Pascal 3.0, Turbo Pascal 4.0, Turbo Pascal 5.0, Turbo Pascal 6.0, gpc 20070904В Pascal есть встроенный комплексный тип данных complex, но команда writeln не работает с ним напрямую (только через функции Re и Im), поэтому существенного удобства от его использования нет. Вычисления проводятся в типе real. Библиотечная функция halt, введенная в Extended Pascal, позволяет выйти из текущего блока (в более поздних версиях заменена на exit).
program Quadratic;
var
A,B,C,D: integer;
begin
write('A = ');
readln(A);
if (A=0) then
begin
writeln('Not a quadratic equation.');
halt;
end;
write('B = ');
readln(B);
write('C = ');
readln(C);
D := B*B-4*A*C;
if (D=0) then
begin
writeln('x = ',-B/2.0/A);
halt;
end;
if (D>0) then
begin
writeln('x1 = ',(-B+Sqrt(D))/2.0/A);
writeln('x2 = ',(-B-Sqrt(D))/2.0/A);
end
else
begin
writeln('x1 = (',-B/2.0/A,',',Sqrt(-D)/2.0/A,')');
writeln('x2 = (',-B/2.0/A,',',-Sqrt(-D)/2.0/A,')');
end;
end.
Комментарии
]]>blog comments powered by Disqus
]]>