Цели: 1. Познакомиться с организацией файлов.
2. Научиться создавать программы обработки информации, хранящейся в файле средствами Turbo Pascal.
Литература:
1. И.Г.Семакин, А.П.Шестаков «Основы программирования», М.:Мастерство; НМЦ СПО; Высшая школа, 2001.
2. Г.Д.Фролов, Э.И.Кузнецов «Элементы информатики», М.: Высшая школа, 1989., Глава 1.
3. Бородич Ю.С., Вальвачев А.Н., Кузьмич А.И. «Паскаль для персональных компьютеров» Справочное ипособие,-Мн.: Выш. Шк.: БФ ГИТМП «НИКА», 1991.
4. Д.В.Офицеров, А.Б.Долгий, В.А.Старых «Программирование на персональных ЭВМ»: Практикум; -Мн.: Выш. Шк., 1993.
Вопросы к допуску и защите:
1. Что такое файл? Для каких целей используются файлы?
2. Какими причинами диктуется целесообразность применения файлов?
3. Каким образом в Паскале объявляютсяфайлы?
4. Назовите общие и отличительные особенности текстовых, типизированных и нетипизированных фыайлов.
5. Зачем используется специальная файловая переменная? Как устонавливается соответствие файловой переменной файлу во внешней памяти?
6. Что общего у процедуры Reset и Rewrite и чем они отличаются?
7. Зачем применяется процедура Close?
8. Какие процедур ы применяются для переименования и удаления файлов? Каковы особенности их использования?
9. В чем заключается специфика текстовых файлов? Назначение процедуры Append.
10. Чем отличаются процедуры Read и Write от Readln и Writeln
11. Назначение функций Eoln, Eof, Seek
Ход работы:
1. Дан текстовый файл, содержащий целые числа. Найти:
а) максимальный элемент в каждой строке;
Ь) номер данного числа, если такого нет в данной строке, то сообщить об этом.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
2. Дан текстовый файл, содержащий строки. Найти:
а) количество строк;
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
Ь) количество строк, начинающихся и заканчивающихся одинаковыми символами;
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
с) самые короткие строки;
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
d) симметричные строки.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
3. Дан текстовый файл. Вставить в начало каждой строки ее номер и записать преобразованные строки в новый файл.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
4. Даны два текстовых файла. Записать в третий только те строки, которые есть и в первом и во втором файлах.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
5. Дан текстовый файл. Дописать в его конце следующие данные: количество строк, количество символов в каждой строке, количество элементов в каждой строке.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
6. Составьте программу, которая создает файл, состоящий из 10 значений типа integer. Прочитайте файл и вычислите сумму его элементов. Тип record не используйте.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
7. Составьте программу, которая создает файл 'RANDOM I.DAT', состоящий из 50 случайных цифр типа integer в диапазоне 0..200. После создания выведите элементы файла на экран.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
8. Составьте программу, которая создает файл 'RANDOM2.DAT', состоящий из 100 случайных цифр типа integer в диапазоне 0..300. Исследуйте получившийся файл с целью обнаружения в нем простых чисел 23,31,37,41,53,107,127,151,197. В конце программы уничтожьте созданный файл.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
9. Составьте программу, которая создает файл 'F1.DTA' из 10 элементов типа integer. Выведите его на экран. Удалите последние пять элементов и выведите его содержимое на экран.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
10. Составьте программу, которая создает файл из 20 компонентов: 1,2,...,20 типа integer с помощью for без ввода с клавиатуры. Выведите файл на экран. Дайте компоненту номер 15 новое значение — 99 и снова выведите файл на экран, затем уничтожьте файл.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
11. Составьте программу, которая считывает текст из файла, заменяет в нем все буквы "о" на "а" и записывает файл на диск.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
12. Напишите программу, которая создает файл данных, хранящий записи о владельцах автомототранспорта: марка автомобиля, номер регистрации в ГАИ, дата постановки на учет, ФИО владельца, домашний адрес (область, город, район, улица, дом, квартира), и обеспечивает обслуживание данного файла, запись, изменение данных, удаление, а также поиск данных по регистрационному номеру.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
13. Составьте программу, считывающую с диска файл, в котором записана некоторая последовательность символов, и переписывающую эти символы в другой файл, выбрасывая символы, расположенные между скобками (,). Сами скобки тоже выбрасываются. Предполагается, что внутри каждой пары скобок нет других скобок.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
14. Составьте программу, которая построчно выводит содержимое текстового файла на экран, печатает на бумаге.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
15. Имеется текстовый файл. Составить программу, которая, игнорируя исходное деление этого файла на строки, переформатирует его, разбивая на строки так, чтобы каждая строка оканчивалась точкой либо содержала ровно 60 литер, если среди них нет точки.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
16. Имеется файл из целых чисел. Составьте программу упорядочения файла по неубыванию.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
17. Составьте программу записывающую в файл одномерный массив случайных цели чисел, а затем считывающую его с диска и выполняющую запись четных элементов масса в другой файл.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
18. Составьте программу, которая создает файл записей — телефонный справочник одноклассников и обеспечивает ввод данных, поиск номера телефона по фамилии, вывод списка всех абонентов по критерию увлечение компьютерными играми. В записи о каждом однокласснике содержатся следующие сведения: фамилия, имя, телефон, хобби.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
19. Составьте программу, которая создает файл данных о жильцах дома, содержащий следующую информацию о каждом: номер квартиры, фамилию, имя, возраст, для S старше 18 лет в зависимости от рода занятий (учеба, работа, пенсия) — запись места учебы места работы и трудового стажа, для пенсионеров — год выхода на пенсию. Программа должна обеспечивать ввод данных, поиск квартиры с максимальным числом жильцов, поиск самого юного и самого пожилого жильца, поиск студентов, пенсионеров.
1.___________________________________________________________________________________
2.___________________________________________________________________________________
3.___________________________________________________________________________________
4. ___________________________________________________________________________________
5. ___________________________________________________________________________________
6. ___________________________________________________________________________________
7.___________________________________________________________________________________
8.___________________________________________________________________________________
9.___________________________________________________________________________________
Практическая работа №16.