Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Сортировка файлов.






     

    Для сортировок файлов можно воспользоваться несколькими приемами:

    1. Записать файл в массив. Отсортировать массив. Записать массив в файл;
    2. Используя динамические структуры создать в памяти структуру, подобную файлу. Отсортировать в этой структуре файл и переписать его заново;
    3. Сортировка файлов без записи в память, т.е. на внешних устройствах.

    Третий прием может быть реализован следующими способами:

    1) просматривается весь файл. Находится максимальный элемент. Записывается в новый файл. Старый файл переписывается без найденного элемента и т.д.

    2) пузырьковая сортировка. Из файла читаются два элемента. Больший записывается в новый файл, а меньший в конец старого. Просматривается весь файл до конца. Созданный вновь файл сортируется тем же способом. Сортировка останавливается когда в сортируемый файл не производится записи.

    3) сортировка слиянием. Сортировка проводится в два этапа. На первом этапе сортируемый файл разделяется на два по определенному признаку. Элементы в новых файлах будут отсортированы. На втором этапе созданные файлы сливаются, создавая общий порядок сортировки.

    function order (x, y: integer): boolean;

    begin

    if x< y then order: =true else order: =false;

    end;

    procedure separator (s, d1, d2: file; var sort: boolean);

    var a, b: integer;

    last: boolean;

    dirout: 1..2;

    begin

    reset (s);

    rewrite (d1);

    rewrite (d2);

    sort: =true;

    dirout: =1;

    if not eof (s) then

    begin

    read (s, a);

    while not eof (s) do

    begin

    read (s, b);

    last: = not order (a, b);

    case dirout of

    1: write (d1, a, last);

    2: write (d2, a, last);

    end;

    if last then begin

    case dirout of

    1: dirout: =2;

    2: dirout: =1;

    end;

    sort: =false;

    end;

    a: =b;

    end;

    case dirout of

    1: write (d1, a, true);

    2: write (d2, a, true);

    end;

    end;

    close (s);

    close (d1);

    close (d2);

    end;

     

     

    Модуль 7. Объектно - ориентированное программирование

     

    Тип объект.

     

    Объект можно рассматривать как усовершенствование типа запись, в которой описание свойств и параметры моделируемой сущности дополняются методами - описаниями действий с объектом. В отличие от записи объект объявляется словом object.

    Пример: создадим простейший объект: позицию на экране в графическом режиме:

    program oop;

    uses graph;

    type pozicia = object

    x, y: integer;

    procedure init (xn, yn: integer);

    procedure locate (var xl, yl: integer);

    end;

    procedure pozicia.init;

    begin

    x: =xn;

    y: =yn;

    end;

    procedure pozicia.locate;

    begin

    xl: =x;

    yl: =y;

    end;

    var d, r, xx, yy: integer;

    p: pozicia;

    begin

    d: =detect;

    randomize;

    initgraph (d, r, 'c: \tp\bgi');

    p.init (random(GetMaxX), random(GetMaxY));

    closegraph;

    p.locate (xx, yy);

    write (xx, yy);

    end.

     

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.