Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика_нов.doc
Скачиваний:
3
Добавлен:
24.09.2019
Размер:
657.41 Кб
Скачать

6.1. Порядок выполнения задания

Создать новый проект, содержащий одну форму. Исходя из условия задачи, выбрать и разместить на форме компоненты, которые будут использоваться для ввода исходных данных. Разместить на форме подписи к данным и управляющие элементы. Реализовать задание в виде обработчика событий управляющего элемента. Для выбора файлов пользователем для чтения и создания рекомендуется использовать стандартные компоненты TОpenDialog, TSaveDialog соответственно.

Во многих задачах перед реализацией задания следует иметь исходный файл или файлы. Если этот файл(ы) является текстовым, то его можно подготовить при помощи стандартных программ обработки текстов, например "Блокнота". Иначе обстоит дело, если файл является типизированным. В этом случае для формирования этого файла следует создать дополнительный проект. Заготовка кода для этого проекта приводится ниже:

(1) Var f: file of ТИП;

data: ТИП;

(2) assignfile(f,'Имя файла.расширение');

rewrite(f);

(3) подготовка переменной data

write(f,data);

(4) closefile(f).

Создайте новый проект, разместите на форме 2 управляющих элемента - кнопку и поле для ввода. Затем последовательно скопируйте части приводимого выше кода:

(1) - в раздел описаний глобальных переменных кода (туда же, где описана сама форма - Form1:TForm1). При этом следует заменить ТИП на тип переменных, хранимых в файле, согласно заданию

(2) - в обработчик события OnShow формы

(3) - в обработчик события OnClick кнопки, при этом вместо первой строки следует записать в переменную data значение, которое пользователь вводит в поле.

(4) - в обработчик события OnClose формы.

Таким образом, при создании формы создастся новый файл, а при каждом нажатии кнопки в этот файл будет добавлена одна запись соответствующего типа. При выходе из программы сработает событие OnClose и файл будет корректно закрыт.

6.2. Варианты заданий

  1. Компонентами типизированного файла являются целые числа, упорядоченные по возрастанию. Включить в состав файла произвольное число b, вводимое пользователем, не нарушая при этом упорядоченности компонент файла.

  2. Компонентами типизированного файла являются вещественные числа, упорядоченные по убыванию. Включить в состав файла произвольное число b, вводимое пользователем, не нарушая при этом упорядоченности компонент файла.

  3. Компонентами типизированного файла являются вещественные числа. Требуется обменять местами первый и второй отрицательные элементы. Учесть, что в частном случае в файле может быть менее двух таких элементов.

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

  5. Компонентами типизированного файла являются строки длиной 80 символов. Требуется отсортировать строки в алфавитном порядке.

  6. Компонентами типизированного файла являются целые числа. Требуется обменять местами минимальный элемент с последним нулевым элементом файла.

  7. Компонентами типизированного файла являются целые числа. Требуется удалить из файла все числа из диапазона k1..k2. k1 и k2 задает пользователь.

  8. Компонентами типизированного файла являются целые числа, причем среди них имеется один нулевой элемент. Обменять местами части файла, расположенные до и после нулевого элемента. Учесть, что в частном случае нулевой элемент может быть первым или последним в файле.

  9. Из типизированного файла, компонентами которого являются целые числа, удалить все отрицательные элементы, кроме первого такого элемента.

  10. Компонентой типизированного файла является строка с объявленной длиной 80 символов. В частном случае строка может быть пустой. Удалить из файла все пустые строки, кроме последней такой строки.

  11. Определить в текстовом файле, в котором находится текст программы, количество процедур и функций. Учесть, что регистр в Delphi не важен.

  12. Определить в текстовом файле, в котором находится текст программы, количество подключенных при помощи директивы Uses модулей и вывести их список.

  13. Определить в текстовом файле, в котором находится текст программы, количество свойств и методов класса TForm.

  14. В типизированный файл, компонентами которого являются вещественные числа, после каждого отрицательного элемента вставить нулевой элемент.

  15. В типизированном файле, компонентами которого являются вещественные числа, найти минимальное и максимальное значения, их среднее арифметическое. После этого дописать эти три числа в файл.

  16. Из типизированного файла с вещественными компонентами удалить элемент, в минимальной степени отличающийся от среднего арифметического значения элементов, содержащихся в файле.

  17. Дан текстовый файл F1. Переписать в обратном порядке его строки в файл F2.

  18. В текстовом файле записаны ненулевые элементы одномерного целочисленного массива. Форма записи элемента имеет вид: km, где k - индекс элемента, m - его значение. И k, и m занимают 1 байт. Предполагается, что индексация элементов массива начинается с 1. Сформировать новый текстовый файл, в который в явном виде записать все элементы массива.

  19. Компонентами типизированного файла являются целые числа. Исключить из файла повторные вхождения одного и того же числа. В каждом из двух типизированных файлов F1 и F2 компоненты, являющиеся целыми числами, упорядочены по возрастанию. Сформировать новый файл F3 из содержимого файлов F1 и F2, упорядочив его компоненты по убыванию. В файле F3 не должно быть повторяющихся чисел.

  20. В типизированный файл, компонентами которого являются целые числа, перед каждым нечетным элементом вставить удвоенное значение этого элемента.

  21. В типизированном файле с вещественными компонентами обменять местами максимальный элемент с первым нулевым элементом этого файла, если в нем имеется такой элемент. Учесть, что в частном случае максимальный элемент может быть равен нулю.

  22. Компонентами типизированного файла являются записи, определяющие координаты точек на плоскости. Каждая запись состоит из двух элементов - координаты X и Y соответственно. Удалить из файла точку с максимальным расстоянием от начала координат.

  23. Компонентами типизированного файла являются строки фиксированной длины по 80 символов. Заданы два тестовых файла F1 и F2. Сравнить их и определить количество несовпадающих в них строк. Если две строки отличаются лишь количеством пробелов, такие строки считать одинаковыми. Если один из файлов короче другого, то условно дополнить более короткий файл пустыми строками.

  24. Заданы два текстовых файла с внешними именами "F1.pas" и "F2.pas". Если в какой-либо строке файла F1.pas имеется фраза {$I F2.pas}, то включить в это место файла F1.pas текст файла F2.pas.

  25. Удалить из текстового файла, в котором находится текст программы, все однострочные коментарии, т.е. коментарии вида "// коментарий"

  26. Проверить в текстовом файле, в котором находится текст программы, правильность расстановки операторных скобок "begin" и "end". Учесть, что регистр в Delphi не важен.

  27. Задан символьный файл (file of char), элементами которого являются цифры и пробелы, разделяющие между собой числа. Удалить из файла нечетные числа.

  28. В символьном файле записаны слова, разделенные пробелами. Удалить из файла слова, состоящие менее чем из трех букв, и лишние пробелы.

  29. В символьном файле записан произвольный текст. Получить для него количество m наиболее часто встречающихся букв, вывести число их повторений и сами буквы, а также их процентное соотношение.

  30. Даны два символьные файла F1 и F2. Файл F1 содержит произвольный текст, слова которого разделены пробелами и знаками препинания. В файле F2 записаны пары слов, которые разделены пробелом. Первое слово пары считается заменяемым, второе - заменяющим. Найти в файле F1 все заменяемые слова и заменить их соответствующими заменяющими словами. Результат разместить в файле F3.

Практическое занятие №7

Работа с записями и структурированными типами данных