nextupprevious

Next:5.3 Прямая на плоскости
Up:5 Выбор представления данных
Previous:5.1 Вопросы выбора представления


5.2 Множество точек на плоскости

В н е ш н е е п р е д с т а в л е н и е:

множество-точек::= количество-точек { точка }*
количество-точек::= целое точка::= пробелы абсцисса пробелы ордината
абсцисса::= ордината::= вещественное
вещественное::= цифра { цифра }*. цифра { цифра}*
пробелы::= символ-пробела { символ-пробела }*

В н у т р е н н е е п р е д с т а в л е н и е:

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 Вопросы выбора представления


© В.Н. Касьянов, Е.В.Касьянова,2004