ТИПІЗОВАНІ ФАЙЛИ

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Основи програмування та алгоритмічні мови

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний технічний університет України “Київський політехнічний інститут” Кафедра ОТ ЗВІТ про виконання лабораторної роботи № 9.1 з дисципліни “Основи програмування та алгоритмічні мови” Тема: ТИПІЗОВАНІ ФАЙЛИ Варіант 28 Постановка задачі Заданий файл записів з полями: посада, оклад. Створити новий файл, який містить список посад у порядку зменшення їх окладів. Визначити середній посадовий оклад. Аналітичні викладки Зчитати файл у масив записів, відсортувати за окладами, визначити середній оклад, записати дані в файл. Блок-схема алгоритму розв’язання задачі   Текст програми program lab_9; uses crt; type str = string[10]; field = record prof : str; okl : word; end; mas = array[1..20] of field; fil = file of field; {створення файлу за допомогою програми} procedure create; var fin : file of field; t : field; y:char; begin Assign (fin, 'fin.txt'); rewrite (fin); repeat with t do begin Write ('Spec: ':7); readln(prof); Write ('Oklad: ':7); readln(okl); end; write(fin,t); writeln ('Eshe? (y/n)'); readln (y); until (y <> 'y') and (y <> 'Y'); close (fin); end; {зчитування файлу в масив} procedure readmas(var m:mas; var n:byte); var i:byte; fin : file of field; begin Assign (fin, 'fin.txt'); reset (fin); i := 1; while not eof(fin) do begin read(fin,m[i]); i := i + 1; end; n := i - 1; close(fin); end; {запис в файл} procedure writemas(const m:mas; n:byte); var i:byte; fout : file of field; var t:field; begin Assign (fout, 'fout.txt'); rewrite (fout); for i := 1 to n do begin t := m[i]; write(fout, t); end; close (fout); end; procedure swap(var a, b: field); var c : field; begin c := a; a := b; b := c; end; {сортування масиву} procedure sort(var m:mas; n:byte); var j, k: integer; begin For k:=1 to n-1 do for j := 1 to n-k do if m[j].okl < m[j+1].okl then swap(m[j],m[j+1]); end; {додання середнього окладу} procedure addmax(var m:mas; var n:byte); var i:byte; s:word; begin for i := 1 to n do s := s + m[i].okl; s := round (s/n); n := n + 1; with m[n] do begin prof := 'sred'; okl := s; end; end; {виведення файлу на екран} procedure out(s:string); var fout:file of field; t:field; begin assign (fout, s); reset (fout); while not eof(fout) do begin read (fout,t); writeln (t.prof:12, t.okl:7); end; close (fout); end; var m:mas; {Масив даних} n:byte; {кількість записів} y:char; begin TextColor(0); TextBackGround(7); clrscr; writeln('Sozdat fail? (y/n)'); readln(y); if (y = 'Y') or (y = 'y') then create; out('fin.txt'); writeln; readmas(m, n); sort (m, n); addmax (m, n); writemas (m, n); out('fout.txt'); readln end. Результати виконання програми / Висновок Під час виконання лабораторної роботи я вивчив особливості створення і обробки типізованих файлів. Програма працює правильно:сортує професії за окладом, додає запис про середній оклад в кінець файлу.
Антиботан аватар за замовчуванням

01.03.2013 19:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!