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


 

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

44093. Проектировании учебно - лабораторного комплекса «Модель блока тепловой электрической централи» 1.13 MB
  Карагандинская ТЭЦ-3 расположена в северо-восточной части города Караганды и предназначена для покрытия тепловых нагрузок промышленности и культурно бытового сектора города. ТЭЦ-3 работает на привозном Экибастузском угле, для растопки котлов используют мазут.
44094. Изучение теоретических вопросов по учету и аудиту денежных средств ООО «Эталон – СПб» 802 KB
  Целью данной дипломной работы является изучение теоретических вопросов по учету и аудиту денежных средств,исследование их практического применения,разработка предложений по улучшению учета на предприятии и совершенствованию деятельности предприятия ООО «Эталон – СПб»
44095. Архитектура цифровой системы коммутации Квант 1011.5 KB
  Важнейшим этапом развития автоматической телефонной коммутации можно считать развитие автоматических телефонных станций АТС с программным управлением и коммутационным полем с магнитоуправляемыми герметизированными контактами герконами или электронными элементами АТС третьего поколения. Разработка АТС третьего поколения была начата в 1950е годы и шла по нескольким направлениям. Для создания новых АТС пытались использовать самые различные принципы и приборы. Многолетние исследования и разработки в конечном итоге привели к созданию АТС...
44097. Разработка художественного проекта и создание сувенира для ярких личностей 95.9 MB
  Он начинается с технического задания содержащего информацию о функциональном назначении и условиях эксплуатации проектируемого изделия основные технические данные габариты материалы и пр. Таким образом исследовательский этап образует основу процесса дизайнерского проектирования в ходе которого главную цель художника-конструктора составляет форма изделия ее связь с функцией и конструкцией ее приспособление к человеку и материальной среде. На следующем этапе рабочего проектирования выполняются чертежи общего вида изделия его...
44098. Анализ бухгалтерского учета операций, связанных с реализацией готовой продукции на примере НП ООО «Вольница» 533 KB
  Под готовой продукцией понимается продукция для продажи, являющаяся конечным результатом производственного процесса, законченная обработкой (комплектацией), технические и качественные характеристики которой соответствуют условиям договора или требованиям других документов, установленных законодательством».
44099. Проявление закона развития в организации 433.5 KB
  Развитие — это необратимое и направленное изменение материи. Цикл развития вносит элементы новизны в очередной виток создания технических устройств, зарождения жизни, создания научной теории. Развитие является важнейшим аспектом жизнедеятельности любой организации, а значит необходимо знать сущность развития, его составляющие и в нужное время применить нужный вариант развития.
44100. Государственное и муниципальное управление. Методические указания 178 KB
  Государственное и муниципальное управление Печатается по решению Учебно-методической комиссии факультета управления Методические указания по подготовке и защите выпускной квалификационной работы подготовлены с учетом требований сформулированных в Государственном образовательном стандарте высшего профессионального образования по специальности Государственное и муниципальное управление в соответствии с Положением об итоговой государственной аттестации выпускников высших учебных заведений РФ утвержденным приказом Минобразования РФ...