Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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





 

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

Цель работы: Познакомиться с понятием файла, научиться создавать и читать файлы.

 

1.Теоретические сведения.

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

 


..…

 

ОКНО

 

Файловый тип определяется в программе с помощью соответствующего описания:

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 OF 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)-поставить маркер конца строки в текущем

окне.

 

2.Задание.

1.Взять задание из таблицы согласно заданному варианту и составить программу.

2.Создать в редакторе Norton Commander текстовый файл, следующего содержания:

Павлодарский университет.

Кафедра (указать кафедру).

Специальность (указать специальность).

Группа (указать номер группы).

(Указать имя, отчество, фамилию студента).

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

 

3.Контрольные вопросы.

1.Что такое файл?

2.Отличие файла от массива.

3.Как определяется файловый тип в программе?

4.Процедуры над файлами.

5.Назначение функций EOF и EOLN.

6.Понятие текстового файла и его особенности.

Таблица 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, каждая компонента которого вычисляется по формуле: I=1,2,…10. Переписать в файл Y из файла X первые 5 компонент файла X. Прочитать файл X.
3. Создать файл A, компонентами которого являются числа от 1 до 20.Переписать в файл B из файла A те компоненты файла A, которые делятся без остатка на 2.Прочитать файл B.
4. Создать файл C, компонентами которого являются числа от 1 до 1000.Переписать в файл D из файла C те компоненты, которые являются полными квадратами. Прочитать файл 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. Создать файл A, компоненты которого вычисляются по формуле: I=1,2,…10. Получить файл B, каждая компонента которого равна компоненте файла A в квадрате (). Прочитать файл B.
8. Создать файл A, компонентами которого являются элементы массива C в квадрате. Получить файл D, каждая компонента которого равна компоненте файла A, увеличенной в два раза. Прочитать файл 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. Создать файл K, компонентами которого являются все четные числа в диапазоне от 2 до20.Переписать в файл E все компоненты файла K, предварительно уменьшив их в десять раз. Прочитать файл E.
12. Создать файл F, каждая компонента которого вычисляется по формуле: I=1,2,…8. Записать в файл L сумму и произведение всех компонент файла F. Прочитать файл L.
13. Создать файл Q, компонентами которого являются все нечетные числа от 1 до 19. Записать в файл P сумму пяти первых и сумму всех остальных компонент файла Q. Прочитать файл P.
14. Создать файл A, компонентами которого являются элементы массива L. Записать в файл B квадраты компонент файла A, стоящие на четных местах. Прочитать файл 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 суммы компонент файла C, стоящих на четных и нечетных местах. Прочитать файл 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. Создать файл K, компонентами которого являются элементы массива M, уменьшенные в два раза. Записать в файл F сумму компонент файла K, которые больше 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.

 







Дата добавления: 2015-09-15; просмотров: 1915. Нарушение авторских прав; Мы поможем в написании вашей работы!




Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия