Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лекція- 5.3. Записи та файли ВСТУП Як розглядалося на попередньої лекції для вирішення науковотехнічних.

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 20.5.2024

План-конспект проведення лекційного заняття з дисципліни «Інформатика»

Модуль 5. Структуровані типи даних (масиви, рядки, записи та файли), підпрограми

Лекція: 5.3. Записи та файли

ВСТУП

Як розглядалося на попередньої лекції, для вирішення науково-технічних та економічних задач, де необхідно обробляти велику кількість даних, використовують масиви. Але всі елементи масиву повинні мати однаковий тип, що суттєво обмежує можливості їх використання. Наприклад, для вирішення задач спільного збереження та оброблення великих сукупностей даних різних типів необхідно використовувати окремі масиви для кожного типу даних, а встановлення їх відповідності здійснювати за допомогою складної індексації, що суттєво ускладнює програму.

Тому для подання комбінацій об’єктів різних типів у Pascal використовують записи.

Однією з найбільш фундаментальних структур даних, що використовуються у мові Pascal є файли.

1. Записи у Pascal АВС

Запис – це структурований тип даних, що складається із фіксованої кількості компонентів одного або декількох типів. Визначення типу запису починається ідентифікатором record та завершується ключовим словом end. Між ними розміщується список компонентів, що мають назву полів із зазначенням ідентифікаторів та типів кожного поля:

record список полів 1: тип1; ... список полів N: типN; end

Останній символ ; не є обов’язковим. Наприклад:

type
  Date=record
    Day: 1..31;
    Month: (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
    Year: Integer;
  end;

Тепер можна описувати змінні типу Date:

var d1,d2: Date;

Для того, щоб отримати доступ до полів запису, необхідно використовувати складні імена змінних із зазначенням відповідних полів, де ім’я змінної та ім’я поля розділяються крапкою:

Складне ім’я можна використовувати скрізь, де припустимо застосування типу поля. Для присвоювання полям значень використовують оператор присвоювання. Як і для масивів, можна копіювати вміст полів одної змінної у іншу:

Звернення до полів запису за допомогою складних імен іноді має громіздкий вигляд. Для скорочення звернення у мові Pascal існує оператор with. Він має вигляд:

with ім’я запису або об’єкта do оператор

або with список імен do оператор

Усередині оператора можна використовувати прості імена полів (без зазначення імені запису). Наприклад, хай описана змінна:

var
  DateOfBirthday=record
    Day: Integer;
    Month: Integer;
    Year: Integer;
  end;

Тоді присвоювання значень її полям без використання оператора with має вигляд:

DateOfBirthday.Day:=23;
DateOfBirthday.Month:=2;
DateOfBirthday.Year:=1965;

Використання оператора with дозволяє скоротити попередній фрагмент:

with DateOfBirthday do
begin
  Day:=23;
  Month:=2;
  Year:=1965; 
end;

Pascal допускає вкладення записів. Відповідно, й оператор with також може бути вкладеним. Наприклад, якщо є опис:

var
  x,y,z: integer;
  a: record
    x,y: integer;
  end;
  b: record
    x: integer;
  end;

то наступні фрагменти програм еквівалентні:

with a,b do
begin
  x:=1;
  y:=2;
  z:=3; 
end;

with a do  with b do
 begin
   x:=1;
   y:=2;
   z:=3; 
 end; 

b.x:=1;
a.y:=2;
z:=3;

Звичайно записи використовують при обробленні динамічних структур та для організації файлів на дисках. Для вирішення задач створення баз даних корисні масиви записів. Записи також можуть використовуватися для опису комплексних чисел, тому що у стандартній мові Pascal засобів для цього немає. В цьому випадку дійсна та уявна частини комплексного числа подаються як поля запису. У Pascal АВС є стандартний тип complex, який також організований як запис.

2. Оброблення файлів у Pascal АВС

Файл у Pascal – це послідовність елементів одного типу, що зберігається на диску. Будь-який файл, що може бути оброблений засобами Pascal АВС, має три характерні особливості: по-перше, він має ім’я, що надає можливість програмі використовувати декілька файлів одночасно; по-друге, він містить компоненти одного типа. Компонентом може бути буд-який тип Pascal АВС, крім файлового типу. Тобто, може бути файл рядків, записів або масивів, але не може бути створений файл файлів. Третя особливість: довжина файлу, що створюється, не визначається при його опису і обмежується тільки ємністю накопичувача інформації.

Для доступу до файлу описується спеціальна файлова змінна, яка вважається «представником» файлу у Pascal – програмі найчастіше її позначають літерою F. Pascal АВС підтримує два типи файлів – типізовані та текстові.

Для опису текстового файлу використовується стандартне ім’я типа text, а для опису типізованого файлу - конструкція file of тип елементів:

Файл можна уявити як потенціальне нескінченний список значень одного базового типу. Всі елементи файлу пронумеровані, початковий елемент має нульовий номер. У будь-який момент часу програмі доступний тільки один елемент файлу, на який посилається поточний покажчик. Як правило, всі дії з файлами виконуються заелементне, у поточній дії бере участь той елемент, на який вказує поточний покажчик. У результаті виконання дій покажчик може переміщуватися до іншого елемента файлу.

Засоби оброблення файлів у Pascal АВС

Тому що кожному файлу ставиться у відповідність файлова змінна, до початку роботи з файлом необхідно встановити цю відповідність. Для цього використовується процедура Assign(f, name), де f – змінна будь-якого файлового типу, а name типe string – повне ім’я файла, що відповідає вимогам ОС. Процедура Assign завжди передує іншим процедурам роботи з файлами. Слід пам’ятати, що використання процедури Assign для вже відкритого файла неможливо.

Для роботи з файлом перш за все необхідно його відкрити. У Pascal АВС для цього існують дві процедури:

  •  Reset(f) – відкриває вже існуючий на диску файл. Текстові файли відкриваються тільки для читання, типізовані – для читання і запису;
  •  Rewrite(f) – створює та відкриває новий файл. Текстові файли відкриваються тільки для запису, типізовані – для читання і запису. Якщо файл із вказаним ім’ям вже існує, він видаляється та замість нього створюється новий.

Приклад: стандартне відкриття файла.

Якщо файловій змінній призначити порожній рядок, виконується автоматичне посилання на стандартний файл введення, тобто з відкриттям такого файла з’являється можливість введення даних з клавіатури.

Операція закриття файла є логічним завершенням роботи з будь-яким відкритим файлом. Для цього використовується процедура Close(f).

Приклад: повний ланцюжок команд для створення простого текстового файла WORK.TXT:

var

F: text;

begin

Assign(F, ‘WORK.TXT’);

Rewrite (F);

Write(F, ‘Простий текстовий файл’);

Close(F);

end.

До файлів застосовні процедури введення-виведення Read(f,a,b,...), Write(f,a,b,...), Readln(f,a,b,...), Writeln(f,a,b,...), де f – змінна файлового типу. Ці процедури зчитують з файла (або записують у файл) змінні a,b... Якщо файл типізований, то типи змінних повинні співпадати з типом файла. Для процедур виведення у текстові файли можна використовувати формати виведення.

Існує ще багато процедур та функцій, що виконують файлові операції (перейменування, вилучення) або деякі функції редагування файлів. Повний перелік процедур та функцій для роботи з файлами наведений у довідковій системі Pascal АВС.

Література

  1.  Попов В.Б. Паскаль и Дельфи. Самоучитель – СПб.: Питер, 2004. – 544 с.
  2.  Глушаков С.В., Зорянский В.Н., Хоменко С.Н. Программирование на Turbo Pascal 7.0 (TP 7) – Харьков: Фолио, 2005. – 501 с.
  3.  Справочная система Pascal ABC.




1. Порядка 95 галактик образуют группы галактик[21]
2. Охорона довкілля від забруднення вуглеводневої сировини
3. з курсу ldquo;Безпека життєдіяльностіrdquo; студента 2 курсу ДКТ Підгорного Свєтослава Київ 199
4. Курсовая работа- Дееспособность граждан в Гражданском праве Республики Казахстан
5. 1 Производство земляных работ при устройстве котлована под промышленное здание
6. і Знання і уміння необхідні для роботи
7. Введем понятие мгновенного центра скоростей
8. Перспективы связи в Украине
9. и заботьтесь о благосостоянии города в который Я переселил вас и молитесь за него Господу; ибо при благосос
10. документах. Существуют две большие группы PRдокументов- внутренние и внешние.
11. Управление маркетинговой деятельностью на предприятии
12. Мир героев Островского
13. Прогнозирование и планирование использования земель.html
14. область хирургии позволяющая выполнять радикальные операции или диагностические процедуры без широкого р
15. темам на тему- анализ и оценка способов коммутации абонентов в ТКС
16. ая береза Наречия деепричастия слова категории состояния модальные слова служебные слова междометия зв
17. то достаточно давно я наткнулась в Ютюбе на одну французскую социальную рекламу которая меня возмутила и н
18. Операции банков с ценными бумагам
19. Реферат- Корреляционный анализ для ранговых шкал.html
20. Провести у 2013 році в Україні Рік дитячої творчості