Next:5.3
Прямая на плоскости
Up:5
Выбор представления данных
Previous:5.1
Вопросы выбора представления
множество-точек::= количество-точек { точка }*
количество-точек::= целое точка::= пробелы абсцисса пробелы
ордината
абсцисса::= ордината::= вещественное
вещественное::= цифра { цифра }*. цифра { цифра}*
пробелы::= символ-пробела { символ-пробела }*
В н у т р е н н е е п р е д с т а в л е н и е:
object{public, value} POINT;
var { public } X,Y:real
end POINT;
const MAXPOINTNUMBER=200; (*Максимальное число точек*)
type POINTSET=array MAXPOINTNUMBER
of POINT;
var POINTNUMBER : integer; DATA : POINTSET;
Перевод из внешнего представления во внутреннее может выглядеть, например, так:
procedure INP;
const PRINTLEN=9; (*ШИРИНА ПОЛЯ ДЛЯ ПЕЧАТИ
*)
EE=6; (*ПОСЛЕ ДЕСЯТИЧНОЙ ТОЧКИ*)
var I:integer;
begin read(POINTNUMBER);
writeln('ЗАДАНО',POINTNUMBER,'ТОЧЕК:':10);
for I:=1 to POINTNUMBER do
read(DATA[I]. X, DATA[I].
Y);
writeln(i:3,'; X=', DATA[I].
X:PRINTLEN:EE,
', Y=', DATA[I]. Y:PRINTLEN:EE)
end
end INP;
Отметим, что вместе с переводом из внешнего представления во внутреннее мы одновременно печатаем вводимые данные, т.е. делаем и обратный перевод.
Аналогично строятся внешнее и внутреннее представления для множества точек в трехмерном пространстве, а также и для множества материальных точек.
Next:5.3
Прямая на плоскости
Up:5
Выбор представления данных
Previous:5.1
Вопросы выбора представления