- •Краткое введение в язык программирования PascalAbc (материал взят из справки по системе PascalAbc). Общие сведения
- •Структура программы
- •Описание переменных и констант
- •Описание типов
- •Ввод и вывод. Форматы вывода
- •Выражения и операции
- •Задание 1. Вычисление значения выражения
- •Задание 2. Ms Word
- •Задание 3. Решение уравнения методом последовательных приближений
- •Задание 4. Решение уравнения усовершенствованным методом последовательных приближений
- •Задание 5. Решение уравнения методом хорд
- •Задание 6. Решение уравнения методом касательных (метод Ньютона)
- •Задание 7. Решение уравнения комбинированным методом хорд и касательных
- •Задание 8. Решение системы линейных алгебраических уравнений (слау) методом Крамера
Описание типов
Раздел описания типов начинается со служебного слова type, после которого следуют строки вида
имя типа = тип;
Например,
type
myint = integer;
arr10 = array [1..10] of integer;
pinteger = ^integer;
A = class
i: integer;
constructor Create(ii: integer);
begin
i:=ii;
end;
end;
При описании рекурсивных структур данных указатель на тип может фигурировать раньше описания самого типа в определении другого типа:
type
PNode = ^TNode;
TNode = record
data: integer;
next: PNode;
end;
При этом важно, чтобы определения обоих типов находились в одном разделе type.
Следующее описание, однако, ошибочно:
type
TNode = record
data: integer;
next: ^TNode;
end;
(сообщение об ошибке: "Тип TNode полностью не определен").
Ввод и вывод. Форматы вывода
Для вывода в окно вывода используются стандартные процедуры write и writeln. Они могут вызываться как без параметров, так и со списком параметров. Параметры в списке перечисляются через запятую и должны иметь простой тип (кроме перечислимого типа и интервального типа, построенного на базе перечислимого), либо тип string, либо тип указателя. Процедура writeln после вывода своих параметров осуществляет переход на следующую строку.
В процедурах вывода write и writeln после каждого выводимого значения типа может указываться формат вывода, представляющий собой двоеточие, после которого следует целое число или выражение. Это число или выражение задает ширину поля вывода, то есть количество позиций, отводимых под выводимое значение. Если длина выводимого значения меньше ширины поля вывода, то выводимый текст дополняется слева пробелами до нужной ширины; в результате выводимое значение выравнивается по правому краю. Если длина выводимого значения больше ширины поля вывода, то формат вывода игнорируется. Вещественные и комплексные значения с форматом вывода вида :m всегда выводятся в экспоненциальной форме.
Например, если a, b - целые переменные, то при выполнении операторов
a:=-2437; b:=13555;
writeln(a:6,'Привет!':9);
writeln(b:1);
в окно вывода будет выведен следующий текст:
-2437 Привет!
13555
Для вещественных и комплексных значений можно также использовать формат :m:n, где m и n - целые значения. Значение m задает ширину поля вывода, а значение n количество знаков после десятичной точки. Например:
writeln(-14.859:10:3); // ___-14.859
writeln(-14.859:10:5); // _-14.85900
writeln(-14.859:10:2); // ____-14.86
writeln(-14.859:10:0); // _______-15
writeln(-14.859:10:7); // -14.8590000
writeln((0,1):10:1); // _(0.0,1.0)
(здесь символом _ изображены пробелы).
Для ввода с клавиатуры используются стандартные процедуры read и readln. Они могут вызываться как без параметров, так и со списком параметров. Параметры в списке перечисляются через запятую и должны быть переменными простого типа (кроме перечислимого типа и интервального типа, построенного на базе перечислимого), либо типа string. Процедура readln после ввода пропускает данные до конца текущей строки ввода.
Процедуры write, writeln, read, readln - единственные, для которых можно указывать список параметров произвольной длины.
Для ввода-вывода в текстовый файл используются те же процедуры, но в качестве первого параметра указывается файловая переменная:
writeln(f,'abc',1,True,2.4);