Главная страница
Навигация по странице:

  • Function

  • Procedure

  • Комбинированный тип переменных – основа баз данных.. Лабораторная работа 7 по дисциплине Основы алгоритмизации и программирования. Тема Комбинированный тип переменных основа баз данных


    Скачать 24.52 Kb.
    НазваниеЛабораторная работа 7 по дисциплине Основы алгоритмизации и программирования. Тема Комбинированный тип переменных основа баз данных
    АнкорКомбинированный тип переменных – основа баз данных
    Дата02.10.2022
    Размер24.52 Kb.
    Формат файлаdocx
    Имя файлаLaba_7.docx
    ТипЛабораторная работа
    #709582

    МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

    ФЕДЕРАЛЬНОЕ государственное БЮДЖЕТНОЕ

    образовательное учреждение

    высшего образования

    «НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

    __________________________________________________________________
    Кафедра газодинамических импульсных устройств



    Лабораторная работа №7

    по дисциплине: Основы алгоритмизации и программирования.

    Тема: Комбинированный тип переменных – основа баз данных.

    Выполнил:Проверил:

    Студент гр. МА-11 , ФЛА доцент к.т.н.

    Пахоруков Е.А. Поляков Юрий Олегович

    «30» мая 2021 г.«___» ______ 2021 г.

    _________________ _________________

    (подпись) (подпись)

    Новосибирск

    2022
      1. Цель работы


    • Ознакомиться со сложным комбинированным типом данных – запись (record).

    • Изучить простейшие функции базы данных.

    • Научиться использовать комбинированный тип для организации простейших баз данных.

      1. Задача.


    Написать программу, реализующую небольшую базу данных в виде одномерного массива записей:

    1. Ввод c клавиатуры элементов базы данных.

    2. Вывод содержимого базы данных на дисплей.

    Дополнить программу функцией выборки данных по критерию, заданному преподавателем.

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

    Формат файла для программы:

    Страна

    Команда

    Количество игр (целое число)

    Количество очков (целое число)

    Место (целое число)

    (пропуск для следующего участника)
    Код программы:

    program lab8_1;

    const

    max_data = 200; //максимальное кол-во данных

    type

    idx_data = 1..max_data;

    Game = record

    Country : string;

    Team : string;

    Num : integer; //кол-во игр

    Point: integer;

    Place : integer;

    end;

    db = array[idx_data] of Game;

    var

    output_file: string;

    data: db;

    i: idx_data;

    //подпрограммы

    ///Процедура ввода данных пользователем. Запрашивает массив, в который вносить данные и количество строчек.

    Function read_file (var data:db; name:string ): idx_data;

    var F:text;

    i:idx_data;

    begin

    Assign (F, name);

    Reset(F);

    i:=0;

    while not(eof(F)) do

    begin

    i:=i+1;

    with data[i] do

    begin

    readln(F, Country);

    readln(F, Team);

    readln(F, Num);

    readln(F, Point);

    readln(F, Place);

    readln(F);

    end;

    end;

    Result:= i;

    end;

    ///Процедура ввода данных пользователем. Запрашивает массив, в который вносить данные и количество строчек.

    Procedure input_data (var data:db; const i:idx_data);

    var

    j: idx_data;

    begin

    begin

    for j:=1 to i do

    begin

    write ('Введите страну участника: '); readln(data[j].Country);

    write ('Введите команду участника: ');readln(data[j].Team);

    write ('Введите количество игр участника: ');readln(data[j].Num);

    write ('Введите количество очков участника: ');readln(data[j].Point);

    write ('Введите место участника: ');readln(data[j].Place);

    end;

    end;

    end;

    ///Процедура вывода данных в консоль. Запрашивает массив на вывод и количество элементов массива

    Procedure output_data (data:db; const i:idx_data);

    var

    j: idx_data;

    begin

    for j:=1 to i do

    begin

    with data[j] do

    begin

    writeln(j,': Страна ', Country, ', Команда ', Team, ', Количество игр ', Num , ', Количество очков ', Point, ', Место ', Place);

    end;

    end;

    end;

    ///Процедура сортировки базы данных. Запрашивает массив на сортировку и количество элементов в нём.

    Procedure process_data (var data:db; const i:idx_data);

    var j, jj: idx_data;

    temp, min: integer;

    begin

    for j:=1 to i do

    begin

    for jj:=j to i-1 do

    begin

    if data[j].Num < data[jj+1].Num then

    begin

    temp:=data[j].Num;

    data[j].Num:=data[jj+1].Num;

    data[jj+1].Num:=temp;

    end;

    end;

    end;

    end;

    //основное тело

    begin

    output_file:= 'input_8.txt';

    writeln('Чтение из файла или ввод данных? (1 или 0)');

    readln(i);

    case i of

    1: i:= read_file(data, 'input_8.txt');

    0: begin

    i:=2; input_data (data, i);

    end;

    end;

    output_data (data, i);

    writeln('Массив после обработки');

    process_data(data, i);

    output_data (data, i);

    end.


    написать администратору сайта