Зворотний зв'язок

Робота з файлами

Тема: Робота з файлами.

Мета: Навчитися працювати із файлами і використовувати їх для розв‘язування подальших задач.

Інформація про масив садових ділянок задана таблицею

Інв. номер Прізвище

Бєдениж {

Тип ґрунту Площа арГОЗ за 1 aрВартість

001

Беденюкдп 6 1798.5 10791

002Головачук чз7228916023

003 Боровець чп10261626160

004 Вітрук дп8 1798.514388

005 Клочко п12 1308 15696

006 Загура чз6228913734

007 Паріпа чз9 228920601

008 Ліщук дп8 1798.514388

009 Шалимов { чп11 261628776

010 Зінчик чз6 228913234

011 Пасько п10 981 9810

012 Дитина п12130815696

013 Хайлова чп9261623544

014 Позняковська Позняковська | дп8 1798.514388

015 Чуб'як чп102616 26160

Використовуючи записи, згідно моделі п. IV провести розрахунок ГОЗ для кожного садівника. Визначити вартість його ділянки (вид угідь = ‘сади‘), вивести повну таблицю на екран, а також виконати наступне завдання:

1)Відсортувати список в алфавітному порядку і вивести на екран потковий та відсортований список.

2)Відсортувати список по спаданню значення площі і вивести на ек¬ран початковий та відсортований списки.

3)Відсортувати список по спаданню вартості і вивести на екран початковий та відсортований списки.

4)Вивести на екран початковий список і окремо інформацію про записи, що містять прізвище з початковою літерою "Б".

5)Вивести на екран початковий список і окремо Інформацію про

ділянки, площа яких перевищує 9 арів,

6)Вивести на екран початковий список і окремо Інформацію про

ділянки, грошова оцінка вартості яких перевищує 12 млн. крб.

7)Вивести на екран початковий список і окремо інформацію про

ділянки з типом ґрунту 1лДарново-підзолисті".

8)Вивести на екран початковий список і значення площі всього садового масиву.

9)Вивести на екран початковий список і значення ГС вартості всього садового масиву.

10)Ю. Вивести на екран початковий список і середнє значення площі однієї садової ділянки.

11)Вивести на екран початковий список і середнє значення ціни за 1

ар.

12)Вивести на екран початковий список і середнє значення ГОЗ садо¬вої ділянки.

13)Вивести на екран початковий список і окремо інформацію про

ділянки, ГОЗ яких нижче середньої.

14)Вивести на екран початковий список і окремо інформацію про

ділянки з типом ґрунту - «чорноземи звичайні» і вартістю нижче середньої.

15)Вивести на екран початковий список і окремо інформацію про

ділянки, площа яких більше від середньої, а ГОЗ нижча

середньої.

ВИКОРИСТАННЯ ФАЙЛІВ ДЛЯ ЗБЕРІГАННЯ І ОБРОБКИ ІНФОРМАЦІЇ,

Записати у типізований файл Z1 дані таблиці п. V. Прочитати дані з файлу в оперативну пам'ять, використати завдання п.V (згідно варіанту п.VII) і новоутворені дані записати у файл Z2.

Розглянемо наприклад використання файлів даних для зберігання та обробки інформації про масив дачних ділянок (умова прикладу 7). По¬чатковий список запишемо у файл A: dacha, відсортований - у файл й А: dachasort.

Приклад 9.

Program DachFil;

Const N=15;

Type Dacha = Record

Num: Integer;

Pr: String [15];

G: String [2];

S, Oz, V: Real;

Zр. Bal: Integer;

End;

Var f, g: file of Dacha; {файлові змінні типу « запис Dacha»}

Dil :array [1..n] of Dacha; {масив записів –змінних типу Dacha}

Dil1: Dacha;

І. J: Integer;

begin

Assign (f, ' A:\dacha' );

Rewrite (f);

Writeln (' Запис розпочато' );

for i: = l to N do

with Dil [i] do begin

<Введення даних >

Write (‘ Номер’); readln (Num);

Write (‘Прізвеще’); readln (Pr);

Write (‘Тип ґрунту’); readln (G);

Write (‘Площа’); readln (S);

Write (‘ставка зем. податку); readln (Zp);

Wrlte (‘ Бал ґрунту ’); readln (Bal);

Oz: = 0. 3*Zp*Bal; V: Oz*S;

Write (f, Dil[i]); {Запис у файл}

Еnd; Writeln;

Writeln (‘Запис завершено ‘); readln;

{Вивід на екран }

Writeln (‘Масив землевласників ‘);

For i: =l to N do With Dil [i] do

Writeln (Num: 4, Pr:l5, G: 4, S:6:2, Оz:8:2, V:9:2’);

Readln;

{Сортування}

for i:=l to N do

for j:=i+1 to N do

if Dil[J]. Pr
Dil1:=Dil [j]; Dil [j]:= Dil [i];

Dil[i]:= Dil1; end;

Writeln (‘впорядкований масив ‘);

for i: = i to N do with Dil[i] do

writeln (Hum: 4. Pr: 15, G: 4, S: 6: 2, Оz: 8: 2, V: 9: 2) ;

readln;

Assign (g, ' A: dachasort' );

Rewrite (g);

For i: =l to N do Write (g, Dil [i]); {Запис у файл}

Writeln (' Запис завершено’); readln;

Close (f); close(g);

end.

виведення матриці змінних робиться так.for i:=l to 5 do begin

for j: = і to 5 do

write(Oz[i, j]:8:2); writeln; end;

Розглянемо приклад використання матриці для зберігання числових значень грошової оцінки землі.

Приклад 6. 1.

Для грошової оцінки землі (ГОЗ) сільськогосподарського призна¬чення ВИКОРИСТОВУЄТЬСЯ спрощена модель, згідно якої оцінка землі залежить від виду УГІДДЯ.

УГІДДЯЛІСПАСОВИЩАСАДИСІНОЖАТІРІЛЛЯ

СТАВКИ ЗЕМЕЛЬНОГО ПОДАТКУ (УМ. ОД.)

55

67

109

67

109

Та типу ґрунту

ҐрунтиСірі лісові

(СЛ)Лучно–

болотисті

(ЛВ)Чорноземи

звичайні

(ЧЗ)Дерново–

підзолисті

(ДП)Чорноземи типові (ЧТ)

Умовний бал

40

30

70

55

80

Грошова оцінка і га землі розраховується за ФОРМУЛОЮ

ГОЗ = 0.3*СЗП*Вал (млн. КРБ. /га),

де коефіцієнт 0,3 враховує індекс інфляції на РІВНІ 1985 РОКУ. Обрахувати і занести в пам'ять ЕОМ таблицю ГОЗ у вигляді матриці 5x5. вивести матрицю на екран, а також виконати НАСТУПНЕ завдання: визначити середнє значення ГОЗ для всіх типів ГРУНТУ і видів УГІДЬ.

Program GOZ?

Const U: array [0..5] of string[10] =

(' Угіддя ', ' Ліс ', ' Пасовища ', ' Рілля , ' Сади ' , ' Сіножаті ');

Zp: array [1..5] of integer = (55, 87, 109, 67, 108)?

G: array [1.. 5] of string[15] =

(‘СІРІ лісові ‘,' Лучно – болотисті’,' ЧОРНОЗ. звичайні ',

‘ ДЕРНОВО-ПІДЗОЛИСТІ ‘ .' ЧОРНОЗ. типові ');

Bal: array [1.. 5] of integer = (40, 30, 70, 55, 80)?

Var Oz: array [1..5, і..5] of Real; {Масив значень оцінки землі}

I,j: Integer; {індекси: І - НОМЕР рядка, J - НОМЕР стовпця}

IOz: Real;

Індивідуальне завдання:

Вивести на екран початковий список і окремо Інформацію про

ділянки, площа яких перевищує 9 арів, а також провести розрахунок ГОЗ для кожного садівника і визначити вартість його ділянки.

program Grunt;

const n=15;

type dacha = record

Num: integer;

Pr: string [15];

g: string [2];

S, Oz, V: real;

Zp,Bal: integer;

end;

var f: file of Dacha;

Dil: array [1..n] of dacha;

i: integer;

begin

Assign (f, 'd:\tree'); rewrite (f);

for i:=1 to n do

with dil[i] do begin

Write ('Nomer= ');

readln (num);

Write ('Prizveche ');

readln (Pr);

Write ('Tup grunty ');

readln (G);

Write ('Plosha ');

readln (S);

Write ('Stavca zem. podatcy ');

readln (Zp);

Write ('Bal grunty ');

readln (Bal);

Oz:=0.3*Zp*Bal; V:=Oz*s;

writeln ('Oz=' ,Oz:4:2, 'V=', V:4:2);

readln;

Write (f,dil[i]);

end;

close (f); reset (f); read (f,dil[i]);

for i:=1 to n do with dil[i] do begin

if S > 9 then write (pr);

readln; end; end.

Висновок: На цій лабораторній роботі я навчився працювати із файлами.


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат