Лаба 2 АИСД. Лабораторная работа Робота з файлами записів
Скачать 84.82 Kb.
|
Министерство образования и науки Украины Донбасская государственная машиностроительная академия Кафедра ИСПР ОТЧЕТ к лабораторной работе №2 по дисциплине АЛГОРИТМИ ТА СТРУКТУРИ ДАНИХ. Лабораторная работа 2. «Робота з файлами записів» Выполнил : студент группы ИСТ-19-1 Пономаренко Иван Витальевич Проверил: Гудкова Екатерина Юрьевна Краматорск, 2020 Задание: Задача к работе. Создать файл и выполнить его обработку табл. 3. Обработка заключается в выборе из файла и выдачи на экран необходимой информации. Варианты структуры файла приведены в табл. 4. Выполнение: Program lab2; uses crt; (* Задание 4.3 Список кафедр заданного факультета, в которых процент уравновешенности преподавателей не превышает 50% *) const CountOfRecords = 3; // кол-во записей в файле Type teachers = record Kafedra, //Кафедра Fakultet: string[20];//Факультет Korpus: integer; //Корпус all_worker, //всего работников на кафедре stepen_worker :integer;//кол-во работников со степенями и званиями на кафедре end; Var i : integer; teacher: teachers; //переменная типа структура учитель FileData: file of teachers; //типизированный файл с данными percent : double; //процент уравновешенности Begin //Подключаем файл Assign(FileData, 'C:\PABCWork.NET\Output\Database.txt'); //путь где создается файл //Перезапись файла - обнуление Rewrite(FileData); Writeln('Введите данные:'); for i:= 1 to CountOfRecords do begin Write('1. Название кафедры: '); Readln(teacher.Kafedra); Write('2. Название факультета: '); Readln(teacher.Fakultet); Write('3. Номер корпуса: '); Readln(teacher.Korpus); Write('4. Кол-во работников всего: '); Readln(teacher.all_worker); Write('5. Кол-во работников со степенями и званиями: '); Readln(teacher.stepen_worker); Write(FileData, teacher); //Сохранить структуру собранных данных в файл Writeln('----------------------------------------------------------'); (* *) end;//for Close(FileData); //Завершили запись в файл Reset(FileData); //на начало файла (* Обработка полученных даннных Найти процент уравновешенности *) While not eof (FileData) do begin for i:= 1 to CountOfRecords do begin with teacher do begin Read(FileData, teacher); //Собираем значения в масив данных percent := (teacher.stepen_worker/teacher.all_worker)*100; //процент уравновешенности //Если результат percent менее 50%, то мы печатаем на экран значения, иначе пропускаем if (percent < 50) then begin Writeln('На кафедре процент уравновешенности: ', percent,'%'); Writeln('Название кафедры: ', Kafedra); Writeln('Название факультета: ', Fakultet); Writeln('Номер корпуса: ', Korpus); Writeln('Кол-во работников всего: ', all_worker); Writeln('Кол-во работников со степенями и званиями: ', stepen_worker); Writeln; end //if end;//with end;//for end;//while Close(FileData); End. Выполнение на языке Си Задание: |