нет
Комментарии, которые могут быть вложенными (*...*) или {...} или (*...} или {...*)
Регистрозависимость нет
Регулярное выражение идентификатора переменной [A-Za-z_][A-Za-z0-9_]*
Регулярное выражение идентификатора функции [A-Za-z_][A-Za-z0-9_]*
Присваивание значения переменной varname := value
Объявление переменной varname: type
Объявление переменной с присваиванием значения varname: type = value
Группировка выражений ( ... )
Блок begin ... end
Тождественное равенство =
Тождественное неравенство <>
Сравнение < > <= >=
Определение функции function f(p1: type1; p2: type2; ...): returntype;
Вызов функции f(a, b, ...)
Вызов функции без параметров f
Последовательность ;
Если - то if condition then trueBlock
Если - то - иначе if condition then trueBlock else falseBlock
Бесконечный цикл while true do loopBody
Цикл с предусловием while condition do loopBody
Цикл с постусловием repeat loopBody until condition
Цикл for - next для диапазона целых чисел с инкрементом на 1 for i := first to last do loopBody
Цикл for - next для диапазона целых чисел с декрементом на 1 for i := last downto first do loopBody
Объяснение:


program название;
var a, b, s, p:integer;
begin
writeln ('Введите число a');
readln (a);
writeln ('Введите число b');
readln (b);
s:=a+b;
p:=a*b;
writeln ('Сумма чисел равна:', s);
writeln (Произведение чисел равно:', p);
end.
Объяснение:
/ - деление.
* - умножение.
sqrt - квадратный корень (всё что будет в корне заключается в скобки).
sqr - квадрат (всё что возводится в квадрат заключается в скобки).
В начале вводишь данные с клавиатуры (значение переменной a и значение переменной b).
Переменной s присваивается сумма переменных a и b.
Переменной p присваивается произведение переменных a и b.
Затем, выводится ответ.