Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга_мат_3_new1.doc
Скачиваний:
31
Добавлен:
17.02.2016
Размер:
1.19 Mб
Скачать

Rewrite(f) - Створює новий файл і відриває йог для запису і читання якщо файл з таким ім'ям вжі існує, його вміст стирається, а сам файл відкривається заново.

Close(f) - Закриваєт відкритий раніше файл, пов’язанний з вказанною змінною в якості параметра файлової змінної. Зверніть увагу на те, що при спробі закрити з допомогою процедури Close файл, який небув до цього відкритий або вже закритий, виникає помилкова ситуація.

Прямийдоступ до вмісту файлів надають процедури і функції:

FilePos(f) – повертає номер поточної позиції показчика в файлі(позиції нумеруються від нуля !)

FileSize(f) – повертає поточний розмір файла (число елементів прирахунку від одиниці! ).

Seek(f) – переміщує показчик поточної позиції в файлі на елемент з заданим номером (при рахунку від нуля !).

Особливості роботи з типізовами файлами

Приклад 16. Створити файл записів з полями: прізвище та дата народження. Надрукувати всіх тих хто народився зі мною в одному році 1979.

USES crt;

TYPE a=record

fio,rik:string;

end;

VAR q:a;

f:file of a;

qq:integer;

{=================================}

procedure create(path:string);

begin {Процедура ініціалізації файла}

clrscr;

writeln('Вы создаете файл записей');

writeln('Файл состоит из 2 компонент: фамилии и года рождения');

writeln('После каждой компоненты нажимаеться ENTER в конце ввода CTRL+Z');

writeln;

assign(f,path);rewrite(f);

checkeof:=true;

while not eof do

begin

readln(q.fio);

readln(q.rik);

write(f,q);

writeln;

end;

close(f);

writeln;

end;

{=================================}

procedure print_f(path:string);{Процедура друкування файла}

var f:file of a;

begin

clrscr;

writeln('СозданныйФайлвыглядиттак:');writeln;

assign(f,path);reset(f);

while not eof(f) do

begin

read(f,q);

writeln(q.fio,' ',q.rik);

end;

close(f);

writeln;

end;

{=================================}

procedure poisk(path:string);{Прцедура обробки данних}

begin

assign(f,path);

reset(f);

while not eof(f) do

begin

read(f,q);

if q.rik='1978' then

begin

qq:=1;

writeln(q.fio)

end;

end;

writeln;

if qq=0 then writeln('Такихдюдейнет')

else writeln('Эти люди родились вместе сомной');

end;

BEGIN {Основна програма}

clrscr;

qq:=0;

create('hh'); {Ви створюэте файл пiд іменем hh}

print_f('hh');

writeln;

poisk('hh');

END.

Завдання

  1. Створити файл записів, який містить про учнів: прізвище, клас, номер школи і додатково оцінки за останню четверть (середній бал). Вияснити скільки учнів мають оцінку не нижчу за 4.

  2. Створити файл записів, який містить дані про книги. Дані про кожну книгу-це прізвище автора, назва книги та рік видання. Вивести на екран всі книги вказаного автора та їх роки видання.

  3. Створити файл записів, який містить дані про автомобілі, що складаються з його марки, номера та прізвища господаря. Знайти прізвища господарів та номер автомобіля певної марки.

  4. Створити файл записів з полями: прізвище учня, число та місяць народження. Надрукувати список учнів, які народилися влітку.

  5. Створити файл записів, який містить різні дати. Кожна з цих дат складається з числа, місяця та року. Знайти дату з найменшим номером року.

  6. Створити файл записів, який містить дані про книги. Дані про кожну книгу – це прізвище автора, назва книги та рік видання. Визначити чи є книга з назвою”Інформатика”, якщо є, то повідомити прізвище автора та рік видання.

  7. Створити файл записів, який містить дані про куби: розмір кожного куба (довжину ребра), його колір та матеріал. Знайти кількість деревяних кубів.

  8. Створити файл записів, який містить дані про учнів школи. Поля запису: прізвище, ім’я, клас та номер школи. Надрукувати дані про учня, прізвище якого найкоротше.

  9. У типізованому файлі міститься інформація про учнів даної школи у такому вигляді: прізвище, ім’я, клас (рік навчання та літера). Визначити кількість учнів у даному класі.

  10. Створити файл записів, який містить про учнів: прізвище, клас, номер школи і гурток, в роботі якого учень приймає участь. Вияснити скільки учнів і хто саме відвідують вказаний гурток.

  11. Створити файл записів, який містить дані про куби: розмір кожного куба (довжину ребра), його колір та матеріал. Знайти кількість кубів з ребром рівним 5.

  12. Створити файл записів з полями: назва книги, автор та рік видання. Надрукувати дані про книги, які видані з 1960 року.

  13. На Олімпійських Іграх в Сіднеї приймали участь гімнасти з різних країн. Відомості про кожного складаються з імені, прізвища, країни та кількості балів. Створити файл записів, який містить відомості про спортсменів. Вивести на екран дані про представників України.

  14. В змаганнях зі спортивної гімнастики приймають участь декілька спортсменів. Вони виконують вправи на 4 снарядах. Створити файл записів,що містить відомості про кожного спортсмена: прізвище та оцінки на кожному снаряді. Вивести прізвища тих спортсменів, які в сумі отримали найбільще балів.

  15. Створити файл записів, що зберігає координати точки xi, yi . Знайти всі точки, які найменше віддалені від даної точки М.