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.  Куди поміщається при записі черговий компонент типізованого файлу?


 

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

40969. Одноцикловые характеристики при растяжении 469.5 KB
  Составные части полной деформации материалов. Первая половина цикла нагружение соответствует режиму ползучести а вторая режиму уменьшения деформации за счет исчезновения высокоэластической деформации. В качестве входного возбуждения используется изменение деформации в виде широкого импульса а в качестве выходной функции изменение внутреннего усилия в пробе во времени рис. Первая половина цикла соответствует режиму релаксации усилия вторая режиму уменьшения деформации за счет исчезновения высокоэластической деформации.
40970. Основні характеристики систем спеціального зв’язку 116.5 KB
  При розгляді цього питання насамперед необхідно згадати визначення криптографічної системи та системи криптографічного захисту інформації КЗІ оскільки вони є об'єктом дослідження в рамках нашої лекції. Так для фахівця з організації захисту інформації найбільш зручним є нормативноправовий підхід. Криптографічна система це сукупність засобів КЗІ необхідної ключової нормативної експлуатаційної а також іншої документації у тому числі такої що визначає заходи безпеки використання яких забезпечує належний рівень захищеності...
40971. Обернена матриця. Операція ділення для матриць 201 KB
  Оберненою матрицею до квадратної матриці А порядка n називають матрицю таку що . З означення слідує що матриці А і взаємообернені і переставні. Нехай матриці обернені до матриці А. Знаходження оберненої матриці за допомогою визначників Знайдемо умову оборотності квадратної матриці А порядка n тобто умову існування такої матриці для якої .
40972. ПРАВОВА ОРГАНІЗАЦІЯ ПРАЦЕВЛАШТУВАННЯ ГРОМАДЯН 86.5 KB
  Поняття зайнятості населення. Поняття зайнятості населення. Основні принципи державної політики зайнятості населення проявляються у забезпеченні рівних можливостей усім громадянам незалежно від походження соціального і майнового стану расової та національної належності статі віку політичних переконань ставлення до релігії в реалізації права на вільний вибір виду діяльності відповідно до здібностей та професійної підготовки з урахуванням особистих інтересів і суспільних потреб; сприянні забезпеченню ефективної зайнятості...
40973. Причини міжнародної міграції робочої сили 85 KB
  Міжнародна міграція робочої сили. Причини міжнародної міграції робочої сили Основні етапи міжнародної міграції робочої сили. Сучасні центри притягання робочої сили.
40974. МІЖОСОБИСТІСНА КОМУНІКАЦІЯ 156.5 KB
  Соціокультурні особливості мовної особистості Мовна особистість це власне особистість охарактеризована з боку впливу належної їй мовної культури на її особистісні якості та соціальнокультурну ефективність її діяльності як субєкта суспільних відносин. Проблема лінгвоетнічної ідентифікації постає однією з фундаментальних в процесі трансформації сучасного українського суспільства а тому так важливо визначити специфіку характеристик ролі мови в суспільстві і в житті особистості. Мова має індивідуальне закорінення перебуваючи в залежності...
40975. Лідерство та керівництво в колективі 63.5 KB
  Однозначної думки про доцільність поєднання в одній особі керівника і групового лідера у соціальнопсихологічній науці немає. Поширеним є твердження що лідерські можливості збільшують силу впливу керівника; за активної реалізації керівником якостей ділового і мотиваційного лідера зростає задоволеність індивідів членством у групі. Не менш настирними є міркування що ролі керівника і лідера у групі мають належати різним особам. Щодо цього використовують такі аргументи: діяльність лідера і керівника має неоднакову спрямованість.
40976. Міжнародна передача технологій 67.5 KB
  Розвиток міжнародного ринку технологій міжнародного технологічного обміну зумовлений прискоренням науковотехнічного прогресу НТП. Купівля передової іноземної технології є важливим засобом подолання технічної відсталості створення власної промисловості яка здатна задовольнити потреби внутрішнього ринку і зменшити залежність від імпорту. На міжнародному ринку технологій передача технології здійснюється некомерційним і комерційним шляхом. Розвиток ринку наукоємних технологій.
40977. Особливості технології приготування тортів 799 KB
  Торти займають особливе місце в кондитерській промисловості. Торти відрізняються від інших кондитерських виробів тим що є продуктами з нетривалим терміном зберігання. За складністю оздоблення торти поділяються на такі групи: торти масового виробництва фігурні та фірмові торти.