Дан Текст Из Строчных Латинских Букв, За Которым Следует Точка. Напеча

Тема в разделе "Pascal and Delphi", создана пользователем Kuba174, 10 май 2013.

  1. Kuba174

    Kuba174 New Member

    Регистрация:
    10 май 2013
    Сообщения:
    2
    Симпатии:
    0
    ФАЙЛЫ ЗАПИСЕЙ (ТИПИЗИРОВАННЫЕ ФАЙЛЫ)

    Цель работы: освоение приемов объявления файлов и овладение навыками обработки типизированных файлов.
    Образец решения задачи.
    Задача. Имеются данные о нескольких линиях электропередач (ЛЭП): шифр, напряжение, протяженность, год ввода в действие, дата последних линейных работ. Требуется выдать справку о ЛЭП, введенных в действие более 10-ти лет назад, а также выдать сведения о ЛЭП минимальной протяженности.
    Постановка задачи.
    Сведения о ЛЭП занесем в типизированный файл. Каждый элементами файла – запись такой же структуры, как и в разобранной задаче лабораторной работы № 9 (Записи).
    Входные данные.
    Сведения о ЛЭП – sved (тип - файл записей).
    Текущий год – present_year (константа =2011).
    Выходные данные.
    Сведения о ЛЭП минимальной протяженности – minn (тип – запись).
    Справка о ЛЭП, введенных в действие более 10-ти лет назад – элементы типизированного файла, отвечающие заданному условию задачи.
    Алгоритм.
    1. Заполнение файла.
    2. Вывод сведений о ЛЭП, введенных в действие более 10-ти лет назад.
    3. Нахождение ЛЭП минимальной протяженности.
    4. Вывод сведений о ЛЭП минимальной протяженности.
    Текст программы
    Модуль 1.
    Код (Delphi):
    unit op;
    interface
    const
    present_year=2011;
    type
    lep= record
    сode    : string[8];
    voltage : word;
    space    : word;
    year      : 1900..2010;
    data      : record                       
    day   : 1..31;
    month : 1..12;
    year     : 1900..2010;
    end;
    end;
    svedd = file of lep;
    implementation
    end.
    Модуль 2.


    Код (Delphi):
    unit obrabotka;
    interface
    uses op;
    procedure vvod (var sved:svedd);
    procedure spravka (var sved:svedd);
    procedure min_prot (var sved:svedd; var lepp: lep);
    implementation
    procedure vvod;
    var
    lepsved  : lep;
    ch        : char;
    begin
    rewrite (sved);      {откроем файл для записи}
    ch:=’y’;
    while (ch=’y’) or (ch=’д’) do
    begin
    with lepsved do
    begin
    write('Введите шифр ЛЭП’);
    readln(code);
    write('
    Введите напряжение ЛЭП');
    readln(voltage);
    write('
    Введите протяженность ЛЭП');
    readln(space);
    write('
    Введите год ввода в действие ЛЭП');
    readln(year);
    write('
    Введите дата последних линейных работ на ЛЭП');
    with data do begin
    readln(day);
    readln(month);
    readln(year);
    end;
    end;
    write(sved, lepsved);    {запись элемента в файл}
    writeln(‘Будете еще вводить данные, если ‘да’, то наберите ‘y’или ‘д'
    );
    readln(ch);
    end;
    close(sved);     
    end;
    procedure spravka;
    var
    lepsved  : lep;
    begin
    reset(sved);                 {откроем файл для чтения}
    writeln(‘Cправкa о ЛЭП, введенных в действие более 10-ти лет назад’);
    while NOT EOF(sved) do
    begin
    read(sved, lepsved);     {чтение элемента из файла}
    with lepsved do
    if present_year – year>10 then
    writeln(code:12, voltage:6, space:6, year:6);
    end;
    close(sved);
    end;
    procedure min_prot;
    var
    min      : word;
    lepsved  : lep;
    begin
    reset(sved);             {откроем файл для чтения}
    read(sved, lepsved);         {чтение элемента из файла}
    min:= lepsved.space;
    lepp:= lepsved;
    while NOT EOF(sved) do
    begin
    read(sved, lepsved);        {чтение элемента из файла}
    if lepsved.space<min then begin
    min:=lepsved.space;
    lepp:= lepsved;
    end;
    end;
    close(sved);
    end;
    begin
    assign(sved, 'lep_zap');     
    end.
    Основная программа.
    Код (Delphi):
    uses
    op, obrabotka;
    var
    minn         : lep;
    sved         : svedd;
    begin
    vvod (sved);
    spravka (sved);
    min_prot (sved, minn);
    writeln(‘Сведения о ЛЭП, имеющую минимальную протяженность’);
    with minn do
    writeln(code:12, voltage:6, space:6, year:6)
    end.
    ВАРИАНТЫ.

    Взяв за основу свой вариант Дан текст из строчных латинских букв, за которым следует точка. Напечатать все буквы, входящие в текст по одному разу. (массивы записей), реализовать ввод и обработку записей, используя типизированные файлы (файлы записей). В программе должны быть предусмотрены соответствующие процедуры и функции, корректно обрабатывающие входные данные, ввод-вывод файлов базы данных.
     
Загрузка...

Поделиться этой страницей