69894

Програмування задач обробки структур даних, розташованих на зовнішніх носіях

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

Информатика, кибернетика и программирование

Мета: ознайомитися з поняттям файлу навчитися створювати і читати файли. Теоретичні питання план Поняття файлу. Основні типи файлових структур. Особливості роботи з текстовими файлами.

Украинкский

2014-10-12

94 KB

1 чел.

Лабораторна робота №4

Тема. Програмування задач обробки структур даних, розташованих на зовнішніх носіях

Мета: ознайомитися з поняттям файлу, навчитися створювати і читати файли.

Професійна спрямованість: дана лабораторна робота є складовою частиною професійної підготовки фахівця з інформатики до роботи.

Теоретичні питання (план)

  1.  Поняття файлу.
  2.  Основні типи файлових структур.
  3.  Особливості роботи з текстовими файлами.

Хід виконання роботи

  1.  Ознайомтеся з основними теоретичними відомостями.
  2.  Згідно номеру свого варіанту оберіть умову задачі.
  3.  Опишіть алгоритм виконання завдання.

Теоретичні відомості

Файл є сукупністю даних, в якій всі дані повинні бути одного типу. Необхідність у файлах виникає тоді, коли пам'ять (ОЗУ) мала для даних, і коли дані потрібно зберегти. На перший погляд файл схожий на масив. Проте між масивом і файлом існує чітка відмінність. Однією з таких відмінностей є те, що у масиві за допомогою індексу можна вказати будь-який елемент. У файлу ж викликати бажані дані у такий спосіб не можна. Наочніше файл можна уявити у вигляді паперового рулону, на якому одне за іншим записані дані. Читати дані, записані таким чином можна тільки з початку, і у міру читання слід переміщатися послідовно з одного запису на інший. Таким чином, після кожного звернення до файлу покажчик файлу автоматично зміщується на наступну позицію (вікно). Проілюструємо вище сказане міркування малюнком.

                   ...

      ВІКНО

Файловий тип визначається в програмі за допомогою відповідного опису:

TYPE <ім’я типу> = FILE OF <тип елемента>

Наприклад, визначення типів

       CONST

               MAX = 80;

  TYPE

               M=1. . MAX;

        F = ARRAY [M] OF CHAR;

         FF = FILE OF F;

задає файл FF, елементами  якого є масиви символів довгої M. Файловий тип можна визначити і в розділі змінних:

VAR  <ім’я файлу>: FILE OF <тип елементів>;

Змінна, що має сенс файлу, описується в розділі змінних. Над файлами можна виконувати деякі дії: запис (створення і поповнення файлу) і читання.

Операція запису додає до файлу нову компоненту. Нові елементи можуть додаватися тільки до кінця файлу.

Розглянемо деякі процедури, які можна виконувати над файлами:

1) зв'язок програмного імені файлу з дисковим ім'ям файлу

    ASSIGN (F, ‘A: FILE. EXE’);

    F – програмне ім'я файлу;

    A – ім'я диска;

    FILE.EXE- дискове ім'я і розширення (з цим розширенням зберігається на диску створений файл).

2) відкриття існуючого файлу на диску для читання (файлове вікно встановиться на початок файлу)

    RESET (F);

3) відкриття нового файлу на диску для запису (файлове вікно встановлюється на початок файлу)

    REWRITE (F);

4) читання з файлу

    READ (F, V);

    V ім'я змінною.

     Через поточне вікно прочитується компоненти файлу в змінну V. V має тип компоненти файлу.

5) запис у файл

    WRITE (F, V);

     Записується значення V в компоненту файлу.

6) відкриття файлу і установка вікна для додавання символів в кінець існуючого файлу

     APPEND (F);      

7) закриття файлу.

     CLOSE (F);

Приклад. Створити, а потім прочитати файл, в якому  містяться квадрати чисел від 1 до 100.

      PROGRAM KO;

VAR F: FILE REAL;          {визначення файлу}

V: REAL; I: INTEGER;                                             

      BEGIN

        ASSIGN (F,’A: REL.DAT’); {зв'язок програмного імені

                                                       файлу  F з дисковим REL.DAT}

       REWRITE (F);                       {відкриття файлу для запису}

       FOR I: =1 TO 100 DO          {початок циклу}

   BEGIN

       V: =SQR (I);                          {обчислення чергового

                                                        значення квадрата числа}

       WRITE (F, V);                        {запис отриманого значення  

                                                        V у файл}

   END;                                          {кінець файлу}

      CLOSE (F);                             {закриття файлу}

      RESET (F);                             {відкриття файлу для читання}

      FOR I: =1 TO100 DO

  BEGIN

      READ (F, V);                           {читання з файлу}

      WRITE (V);                              {виведення прочитаного

                                                         значення}

   END;

      CLOSE (F);                              {закриття файлу}      

  END.

В наведеному прикладі було наперед відомо, що повинно бути прочитано 100 значень. Якщо це наперед не відомо, то неперервною повинна бути перевірка на ознаку кінця файлу. Для цього використовують функцію EOF(F). Ця функція дає значення TRUE, якщо вікно на кінці файлу і FALSE –в протилежному випадку.

Важливе місце серед даних файлового типу займають текстові файли, тобто файли, компоненти яких відносяться до символьного типу CHAR. Для опису текстових файлів визначений стандартний тип TEXT. Наприклад

VAR F: TEXT;

Особливістю текстових файлів є розподіл їх на рядки за допомогою спеціального маркера кінця рядка. З маркером кінця рядка пов'язана  стандартна функція EOLN. Вона дає значення TRUE, якщо прочитані всі літери в рядку і FALSE  в протилежному випадку. Є ще дві спеціальні процедури для текстового файлу:

1) READLN(F)  пропустити всі символи поточного рядка включаючи маркер кінця рядка, і встановити покажчик на початок наступного рядка;

2) WRITELN(F)  поставити маркер кінця рядка в поточному вікні.

Варіанти завдань

Завдання 1

Виконати завдання з таблиці згідно заданому варіанту і скласти програму.

Номер варіанту

Завдання

1.

Створити файл X, компонентами якого є елементи масиву M.

Переписати з файлу X у файл Y всі компоненти, які стоять на парних місцях. Прочитати файл Y.

M=(0,1; 5,6; 0.8; 2,4; 7,3; 6,8; 0,5; 2,3).

2.

Створити файл X, кожна компонентa якого обчислюється за формулою:

I=1,2,.10.

Переписати у файл Y з файлу X перші 5 компонент файлу X. Прочитати файл X.

3.

Створити файл А, компонентами якого є числа від 1 до 20. Переписати у файл B з файлу А ті компоненти файлу А, які діляться без залишку на 2. Прочитати файл B.  

4.

Створити файл C, компонентами якого є числа від 1 до 1000. Переписати у файл D з файлу С ті компоненти, які є повними квадратами. Прочитати файл D.

5.

Створити файл P, компонентами якого є елементи масиву M. Переписати з файлу P у файл G всі компоненти в зворотному порядку. Прочитати файл G.

M=(0,4; 6,1; 2,3; 0,7; 6,2; 3,1; 0,9; 10,1).

6.

Створити файл F, компонентами якого є елементи масиву M. Переписати у файл G всі компоненти, які менше 5. Прочитати файл G.

M=(2,7; 6,8; 0,4; 3,7; 8,4; 7,2; 0,2; 0,1).

7.

Створити файл А, компоненти якого обчислюються за формулою:

   I=1,2,.10.

Отримати файл B, кожна компонента якого рівна компоненті файлу А в квадраті (). Прочитати файл B.

8.

Створити файл А, компонентами якого є елементи масиву С в квадраті. Отримати файл D, кожна компоненту якого дорівнює компоненті файлу А, збільшеної в два рази. Прочитати файл D.

C=(4; 2; 3; 8; 6; 7).

9.

Створити файл F, компоненти якого обчислюються за формулою:

I=1,2,.8.

Отримати файл R, компоненти якого дорівнюють компонентам файлу F, що стоять на непарних місцях. Прочитати файл R.

10.

Створити файл G, компонентами якого є елементи масиву D. Переписати у файл F всі компоненти масиву D, які більше 0,5. Прочитати файл F.

D=(0,1; 0,2; 6,7; 0,6; 0,3; 2,8; 0,4).

11.

Створити файл К, компонентами якого є всі парні числа в діапазоні від 2 до20. Переписати у файл E всі компоненти файлу К, заздалегідь зменшивши їх вдесятеро. Прочитати файл E.

12.

Створити файл F, кожна компонента якого обчислюється за формулою:

  I=1,2,.8.

Записати у файл L суму і добуток всіх компонент файлу F. Прочитати файл L.

13.

Створити файл Q, компонентами якого є всі непарні числа від 1 до 19. Записати у файл P суму п'яти перших і суму всіх інших компонент файлу Q. Прочитати файл P.

14.

Створити файл А, компонентами якого є елементи масиву L. Записати у файл B квадрати компонент файлу А, що стоять на парних місцях. Прочитати файл B.

L=(0,6; 1,8; 0,7; 6,7; 5,1; 2,5; 4,7; 2,9).  

15.

Створити файл D, компоненти якого обчислюються за формулою:

I=1,2,.6.

Записати у файл D суми компонент файлу С, що стоять на парних і непарних місцях. Прочитати файл D.

16.

Створити файл F, компонентами якого є елементи масиву E. Записати у файл L перші п'ять компонент файлу F, збільшені в два рази. Прочитати файл L.

E=(0,3; 3,1; 5,2; 0,7; 0,1; 6,8; 4,1; 3,7).

17.

Створити файл К, компонентами якого є елементи масиву M, зменшені в два рази. Записати у файл F суму компонент файлу К, які більше 5. Прочитати файл F.

M=(10,7; 6,1; 0,6; 1,7; 6,8; 4,9; 1,9; 7,2).

18.

Створити файл Q, компоненти якого обчислюються за формулою:

  I=1,2,.10

Записати у файл R перші п'ять компонент файлу Q в зворотному порядку.

19.

Створити файл S, компонентами якого є елементи масиву T. Записати у файл X перші п'ять компонент файлу S і суму всіх інших. Прочитати файл X.

T=(0,2; 0,4; 6,1; 5,8; 4,9; 9,8; 7,1; 2,4;).

20.

Створити файл Y, компоненти якого обчислюються за формулою:

    I=1,2,.10

Записати у файл Z всі компоненти і суму останніх чотирьох компонент файлу Y. Прочитати файл Z.

Завдання 2

Створити в редакторі Тоtal Commander текстовий файл, наступного змісту:

Житомирський державний університет імені Івана Франка.

Кафедра прикладної математики та інформатики.

Спеціальність «Інформатика*».

Група 14.

(Вказати ім'я, по батькові, прізвище студента).

Написати програму для читання текстового файлу в Паскалі.

Рекомендована література

Базова

  1.  Ахо А.В. Структуры данных и алгоритмы / Ахо А.В., Хопкрофт Д.Э., Ульман Д.Д./ М: Вильямс, 2003.— 384 с.
  2.  Вирт Н. Алгоритмы и структуры данных. — М.: Мир, 1989. — 360 с.

Зміст звіту

Тема роботи; умова задачі; алгоритм виконання завдання; висновки за результатами розв’язання.

Контрольні запитання

  1.  Що таке файл?
  2.  Відмінність файлу від масиву.
  3.  Як визначається файловий тип у програмі?
  4.  Процедури над файлами.
  5.  Призначення функцій EOF і EOLN.
  6.  Поняття текстового файлу і його особливості.
  7.  Чим відрізняються файли прямого і послідовного доступу?
  8.  Як описати типізований файл?
  9.  Як розпізнати кінець файлу даних? Як розпізнати файл на диску?
  10.  Якого типу можуть бути компоненти файлу?
  11.  Чи потрібно при визначенні файлу наперед указувати його довжину?
  12.  Куди поміщається при записі черговий компонент типізованого файлу?


 

А также другие работы, которые могут Вас заинтересовать

66296. Одномембранні органели 71.5 KB
  Цистерни комплексу Гольджі полярні: до одного полюса підходять пухирці, що відриваються від ЕПС і містять продукти синтезу. З іншого полюса цістерн відокремлюються пухирці, наповнені ферментами та іншими речовинами.
66297. Сьогодні, жінки, Ваше свято 48 KB
  Ти жінка. Жінка чарівне слово Жінка життя прикраса Жінку прославляють знов І не підвладна часу жінка. Жінка кохана й мати Жінка сестра й бабуся Жінка життєве свято Свято що вічно в русі. Жінка це у першу чергу матір.
66298. Міжнародний жіночий день 8 березня 35 KB
  Земля зітхає ледве чутно І прокидається від сну... І березень дарує чудо, Розпочинаючи весну. Це чудо-в усмішках чарівних, У морі квітів навкруги. Ми Вас вітаємо царівни, Найкращі, милі, дорогі! Вальс з квітами.
66299. 8 Марта. Мамин праздник 48 KB
  Празднично убранный класс. На стенде рисунки детей, посвященные Дню 8 Марта. На доске слова: Спасибо, женщины вам И вашим умелым и нежным рукам, Они золотые, как солнце, всегда. Нам маминых рук не забыть никогда! Пусть мамины славятся всюду дела! Трудящимся женщинам честь и хвала.
66300. Двомембранні органели. Фотосинтез 77 KB
  Процес фотосинтезу відбувається у дві фази: світова і темнова. Приваблюють тварин що сприяє запиленню та розповсюдженню насіння Фази фотосинтезу хлорофія відновлюється Під дією ферментів світло Гетеротрофи Використовують готові органічні речовини Фототрофи...
66301. Сценарий праздника, посвященного Дню Победы «Память – лучшая награда» 67.5 KB
  Прощай отчий край Ты нас вспоминай Прощай милый взгляд Прости прощай прости прощай. Прощай отчий край Ты нас вспоминай Прощай милый взгляд Прости прощай прости прощай. Прощай отчий край Ты нас вспоминай Прощай милый взгляд Не все из нас придут назад.
66302. Ядро. Клітинний цикл. Мітоз. Хромосоми. Каріотип 92.5 KB
  Мета: вивчити будову ядра хромосоми їх роль в клітині та житті; дати поняття про каріотип різні види хромосом; поглибити та систематизувати знання студентів про будову клітини; встановити подібність та відмінність рослинних та тваринних клітин зробити еволюційні висновки.
66303. Обмін речовин 47 KB
  Мета: дати загальне уявлення про етапи енергетичного обміну та біосинтез білка; здійснити міжпредметні зв’язки з хімією та фізикою. Розвинути світогляд студентів. План Загальна характеристика обміну речовин. Фази енергетичного обміну.
66304. Форми розмноження організмів. Статевий процес. Мейоз 100 KB
  Мета: показати розмноження як універсальну властивість живих організмів; дати поняття про форми розмноження статевий процес будову статевих клітин. План Форми розмноження організмів. Форми розмноження організмів.