- •Ответственный за выпуск: Бивойно п.Г. , декан факультета электронных и информационных технологий, канд. Техн. Наук, доцент
- •Содержание
- •Лабораторная работа № 7. Одномерные массивы
- •Краткие теоретические сведения о массивах
- •Понятие массив
- •Объявление массива
- •Передача массивов в процедуры и функции
- •Операции с массивами
- •Типовые процедуры и функции для работы с массивами
- •Описание типа учебного массива
- •Процедуры создания, ввода и вывода массивов
- •Процедура создания случайного массива
- •Процедура ввода массива из строки текста
- •Процедура ввода массива из компонента tMemo
- •Процедура ввода массива с помощью функции InputBox
- •Функция преобразования массива в строку символов
- •Процедура вывода массива в компонент tMemo
- •Обработка массивов
- •Функция вычисления суммы элементов массива
- •Процедура определения минимального, максимального, и их индексов в массиве
- •Функция определения позиции элемента в массиве
- •Процедура удаления элементов из массива
- •Процедура переворота массива
- •Процедура циклического сдвига части элементов массива влево
- •Процедура формирования массива накопленных значений
- •Задание для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 8. Сортировка массивов
- •Методы сортировки массивов
- •Сортировка выбором
- •Пример сортировки массива по возрастанию методом выбора
- •Процедура сортировки массива методом выбора
- •Сортировка обменом (метод пузырька)
- •Пример сортировки массива по возрастанию методом обмена
- •Процедура сортировки массива методом обмена
- •Сортировка вставкой или включением
- •Пример сортировки массива по возрастанию методом вставки
- •Процедура сортировки методом вставки
- •Сортировка по усложненным правилам
- •Обработка упорядоченных массивов
- •Вставка элемента в отсортированный массив
- •Слияние двух отсортированных массивов в один
- •Поиск позиции элемента в отсортированном массиве
- •Удаление элемента из отсортированного массива
- •Задание для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 9. Работа с двумерными массивами (матрицами)
- •Краткие теоретические сведения
- •Описание матриц
- •Использование компонента StringGrid для ввода-вывода матриц
- •Тотальная обработка данных в матрицах
- •Выборочная обработка матрицы
- •Перестановки элементов матрицы
- •Удаление и вставка элементов матрицы
- •Сортировка элементов матрицы
- •Задание для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 10. Работа с записями
- •Краткие теоретические сведения
- •Объявление типа для записи
- •Массивы записей
- •Поля записей как массивы
- •Сортировка массивов записей
- •Ввод-вывод записей
- •Создание проекта «Результаты аттестации»
- •Интерфейс пользователя для проекта
- •Определение типов данных
- •Инициализация интерфейса
- •Добавление строки в таблицу
- •Удаление строки из таблицы
- •Процедура создания массива записей по содержимому StringGrid
- •Процедура отображения массива в компоненте StringGrid
- •Процедура сортировки массива записей по группе и фамилии
- •Сортировка записей по количеству неудовлетворительных оценок и среднему баллу
- •Выборка студентов какой-нибудь группы, имеющих средний балл выше 4
- •Подсчет числа студентов, имеющих более 2-х неудовлетворительных оценок и вывод упорядоченного списка этих студентов
- •Задание для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 11. Работа с типизироваными файлами
- •Краткие теоретические сведения
- •Объявление файловой переменной
- •Назначение файла файловой переменной
- •Открытие файла
- •Текущая позиция файла
- •Чтение данных из файла
- •Запись данных в файл
- •Обрезка “хвоста” файла
- •Закрытие и удаление файлов
- •Перечень основных процедур и функций для работы с типизированными файлами
- •Создание проекта «Результаты аттестации»
- •Требования к проекту
- •Интерфейс пользователя для проекта
- •Определение типов данных
- •Настройка интерфейса пользователя
- •Вспомогательные процедуры для работы с файлом Процедура выбора имени файла
- •Процедура открытия файла
- •Процедура вывода файла в StringGrid
- •Процедуры работы со StringGrid1
- •Процедуры реализации пунктов меню fileMenu Добавление данных из StringGrid1 в файл
- •Поиск записи по фамилии
- •Удаление записи по фамилии
- •Сохранение файла под другим именем
- •Процедуры для работы с упорядоченными файлами Процедура сортировки файла
- •Поиск записи в отсортированном файле
- •Добавление записи в отсортированный файл
- •Удаление записи из отсортированного файла
- •Процедуры реализации пунктов меню sortMenu Реализация пункта меню «Сортировка файла по фамилиям»
- •Реализация пункта меню «Поиск студента по фамилии»
- •Реализация пункта меню «Добавление в упорядоченный файл из StringGrid1»
- •Реализация пункта меню «Удаление записи из отсортированного файла»
- •Задание для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 12. Работа с текстовыми файлами
- •Краткие теоретические сведения
- •Объявление файловой переменной для текстового файла
- •Связывание файловой переменной с конкретным файлом
- •Открытие файла
- •Создание нового файла
- •Открытие файла для чтения
- •Открытие файла для дополнения
- •Текущая позиция файла
- •Записи данных в файл.
- •Чтение данных из файла
- •Особенности чтения чисел из текстового файла
- •Особенности чтения данных типа String
- •Особенности чтения и записи символов
- •Закрытие и удаление файлов
- •Перечень основных процедур для работы с текстовыми файлами
- •Общая схема работы с текстовым файлом
- •Примеры работы с текстовыми файлами
- •Пример ввода-вывода при решении простейшей задачи
- •Пример добавления данных из одного файла к другому
- •Пример чтение из файла в поле Memo
- •Пример ввода-вывода при работе с массивом
- •Пример ввода-вывода при работе с матрицей
- •Пример ввода-вывода при работе с записями
- •Задания для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •РекомендоваНная литература
Пример ввода-вывода при работе с записями
Особенность считывания записей из текстового файла состоит в том, что записи могут иметь поля разного типа. Если есть поля типа строка символов, то их лучше располагать отдельными строками. Не следует в одной строке располагать данные разных записей.
Вывод записей следует организовать так, чтобы было удобно анализировать информацию.
Ниже приведен пример процедуры обработки записей, каждая из которых содержит фамилию студента и оценки на пяти экзаменах.
Предполагается, что данные в текстовом файле расположены таким образом.
Борщ К.Е.
3 4 5 1 2
Бублик К.П.
1 2 3 4 5
Вареник Г.Т.
3 4 5 5 5
Нетудикидайченко Н.К.
1 2 1 2 1
Процедура обработки выглядит так.
//Обработка записей
procedure TForm1.btnRecordClick(Sender: TObject);
type
Trec = record
fio:string[10];
marks: array[1..5] of integer;
end;
var a:array[1..100] of TRec; count, i, j:integer;
begin
Reset(f1);
//Считывание массива записей
count := 0;
while not eof(f1) do begin
count:=count + 1;
readln(f1,a[count].fio);
for j:= 1 to 5 do read(f1,a[count].marks[j]);
readln(f1);
end;
closeFile(f1);
//Вывод массива записей в текстовый файл
Rewrite(f2);
for i:=1 to count do begin
write(f2, a[i].fio:10);
for j:=1 to 5 do write(f2, a[i].marks[j]:2);
writeln(f2);
end;
closeFile(f2);
end;
Результаты работы программы будут такими.
Борщ К.Е. 3 4 5 1 2
Туз К.П. 1 2 3 4 5
Вареник Г. 3 4 5 5 5
Нетудикида 1 2 1 2 1
Задания для самостоятельной работы
В качестве заданий для самостоятельной работы студент должен выполнить задания из ранее выполненных работ, используя в качестве источника исходных данных текстовый файл и выводя результаты тоже в текстовый файл.
Для удобства просмотра исходных данных и результатов обработки следует использовать компоненты TMemo.
Образцом для выполнения задания может служить проект из папки kid\pub\subject\1_kurs\ projectToLection\.To_lection_20.
Следует решить такие задачи в соответствии со своими вариантами:
-
Табулирование значений функции аналогично работе №6.
-
Получение нового массива по варианту работы №7.
-
Сортировку массива по варианту работы №8.
-
Задачи на перестановку элементов матрицы по варианту работы №9.
-
Выборка записей по варианту работы №10
Содержание отчета
-
Наименование работы.
-
Цель работы.
-
Краткая характеристика текстовых файлов.
-
Основные процедуры и функции, обеспечивающие работу с текстовым файлом.
-
Интерфейс созданного проекта.
-
Текст модуля проекта с пояснениями в виде комментариев.
-
Результаты тестирования проекта в виде копий формы с результатами.
-
Выводы.
Контрольные вопросы
-
Характеристики текстовых файлов.
-
Процедуры, используемые при открытии файла.
-
Анализ исключительных ситуаций, возникающих при открытии файла.
-
Процедуры, используемые для чтения и записи данных в файл.
-
Закрытие и удаление файла.
-
Особенности чтения чисел из текстовых файлов.
-
Особенности вывода чисел в текстовые файлы.
-
Особенности чтения строк из текстовых файлов.
-
Особенности вывода строк в текстовые файлы.
-
Особенности хранения записей в текстовых файлах
-
Ввод массивов из текстовых файлов.
-
Ввод матриц из текстовых файлов.
-
Объяснение текстов подпрограмм модуля и связей их с событиями и другими подпрограммами.
-
Написать процедуру для реализации запроса к файлу по указанию преподавателя.
-
Написать процедуру для реализации выбора некоторых данных из исходного файла в новый файл, по заданию преподавателя.