- •Ответственный за выпуск: Бивойно п.Г. , декан факультета электронных и информационных технологий, канд. Техн. Наук, доцент
- •Содержание
- •Лабораторная работа № 7. Одномерные массивы
- •Краткие теоретические сведения о массивах
- •7.1.1Понятие массив.
- •7.1.2Объявление массива.
- •7.1.3Передача массивов в процедуры и функции
- •7.1.4Операции с массивами.
- •Типовые процедуры и функции для работы с массивами
- •7.1.5Описание типа учебного массива
- •7.1.6Процедуры создания, ввода и вывода массивов
- •Процедура создания случайного массива
- •Процедура ввода массива из строки текста
- •Процедура ввода массива из компонента tMemo
- •Процедура ввода массива с помощью функции InputBox
- •Функция преобразования массива в строку символов
- •Процедура вывода массива в компонент tMemo
- •7.1.7Обработка массивов
- •Функция вычисления суммы элементов массива
- •Процедура определения минимального, максимального, и их индексов в массиве
- •Функция определения позиции элемента в массиве
- •Процедура удаления элементов из массива
- •Процедура переворота массива
- •Процедура циклического сдвига части элементов массива влево
- •Процедура формирования массива накопленных значений
- •Задание для самостоятельной работы
- •Содержание отчета.
- •Контрольные вопросы
- •Лабораторная работа № 8. Сортировка массивов
- •Методы сортировки массивов
- •7.1.8Сортировка выбором.
- •Пример сортировки массива по возрастанию методом выбора
- •Процедура сортировки массива методом выбора
- •7.1.9Сортировка обменом (метод пузырька)
- •Пример сортировки массива по возрастанию методом обмена
- •Процедура сортировки массива методом обмена
- •7.1.10Сортировка вставкой или включением.
- •Пример сортировки массива по возрастанию методом вставки
- •Процедура сортировки методом вставки
- •Сортировка по усложненным правилам
- •Обработка упорядоченных массивов
- •7.1.11Вставка элемента в отсортированный массив
- •7.1.12Слияние двух отсортированных массивов в один
- •7.1.13Поиск позиции элемента в отсортированном массиве
- •7.1.14Удаление элемента из отсортированного массива
- •Задание для самостоятельной работы
- •7.1.15Описание матриц
- •7.1.16Использование компонента StringGrid для ввода-вывода матриц
- •7.1.17 Тотальная обработка данных в матрицах
- •7.1.18Выборочная обработка матрицы
- •7.1.19Перестановки элементов матрицы
- •7.1.20Удаление и вставка элементов матрицы
- •7.1.21Сортировка элементов матрицы
- •Задание для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 10. Работа с записями
- •Краткие теоретические сведения
- •7.1.22Объявление типа для записи
- •7.1.23Массивы записей
- •7.1.24Поля записей как массивы
- •7.1.25Сортировка массивов записей
- •7.1.26Ввод-вывод записей
- •Создание проекта «Результаты аттестации»
- •7.1.27Интерфейс пользователя для проекта
- •7.1.28Определение типов данных
- •7.1.29Инициализация интерфейса
- •7.1.30Добавление строки в таблицу
- •7.1.31Удаление строки из таблицы
- •7.1.32Процедура создания массива записей по содержимому StringGrid
- •7.1.33Процедура отображения массива в компоненте StringGrid
- •7.1.34Процедура сортировки массива записей по группе и фамилии
- •7.1.35Сортировка записей по количеству неудовлетворительных оценок и среднему баллу
- •7.1.36Выборка студентов какой-нибудь группы, имеющих средний балл выше 4
- •7.1.37Подсчет числа студентов, имеющих более 2-х неудовлетворительных оценок и вывод упорядоченного списка этих студентов
- •Задание для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 11. Работа с типизироваными файлами
- •Краткие теоретические сведения
- •7.1.38Объявление файловой переменной
- •7.1.39Назначение файла файловой переменной
- •7.1.40Открытие файла
- •7.1.41Текущая позиция файла
- •7.1.42Чтение данных из файла
- •7.1.43Запись данных в файл
- •7.1.44Обрезка “хвоста” файла
- •7.1.45Закрытие и удаление файлов
- •Перечень основных процедур и функций для работы с типизированными файлами
- •Создание проекта «Результаты аттестации»
- •7.1.46Требования к проекту
- •7.1.47Интерфейс пользователя для проекта
- •7.1.48Определение типов данных
- •7.1.49Настройка интерфейса пользователя
- •7.1.50Вспомогательные процедуры для работы с файлом Процедура выбора имени файла
- •Процедура открытия файла
- •Процедура вывода файла в StringGrid
- •7.1.51Процедуры работы со StringGrid1
- •7.1.52Процедуры реализации пунктов меню fileMenu Добавление данных из StringGrid1 в файл
- •Поиск записи по фамилии
- •Удаление записи по фамилии
- •Сохранение файла под другим именем
- •7.1.53Процедуры для работы с упорядоченными файлами Процедура сортировки файла
- •Поиск записи в отсортированном файле
- •Добавление записи в отсортированный файл
- •Удаление записи из отсортированного файла
- •7.1.54Процедуры реализации пунктов меню sortMenu Реализация пункта меню «Сортировка файла по фамилиям»
- •Реализация пункта меню «Поиск студента по фамилии»
- •Реализация пункта меню «Добавление в упорядоченный файл из StringGrid1»
- •Реализация пункта меню «Удаление записи из отсортированного файла»
- •Задание для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 12. Работа с текстовыми файлами
- •Краткие теоретические сведения
- •7.1.55Объявление файловой переменной для текстового файла
- •7.1.56Связывание файловой переменной с конкретным файлом
- •7.1.57Открытие файла
- •Создание нового файла
- •Открытие файла для чтения
- •Открытие файла для дополнения
- •7.1.58Текущая позиция файла
- •7.1.59Записи данных в файл.
- •7.1.60Чтение данных из файла
- •Особенности чтения чисел из текстового файла
- •Особенности чтения данных типа String
- •Особенности чтения и записи символов
- •7.1.61Закрытие и удаление файлов
- •Перечень основных процедур для работы с текстовыми файлами
- •Общая схема работы с текстовым файлом
- •7.1.62Примеры работы с текстовыми файлами
- •Пример ввода-вывода при решении простейшей задачи
- •Пример добавления данных из одного файла к другому
- •Пример чтение из файла в поле Memo
- •Пример ввода-вывода при работе с массивом
- •Пример ввода-вывода при работе с матрицей
- •Пример ввода-вывода при работе с записями
- •Задания для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Рекомендованая литература
Задание для самостоятельной работы
Расчетно-графическая работа № 3 выполняется в рамках проекта для данной лабораторной работы. Варианты заданий приведены в таблицах 9.3, 9.4, 9.5 и 9.6. Номер варианта выбирается в соответствии с последней цифрой номера зачетной книжки.
Выполнение РГР предусматривает разработку алгоритма решения задачи, написание процедур их реализации, и обращение к этим процедурам через пункты меню проекта.
Интерфейс разрабатываемого проекта должен обеспечивать тестирование ваших заданий по РГР3, которые приведены ниже. Все компоненты интерфейса выбирайте по своему усмотрению. Примеры решения подобных задач можете найти в примерах к лекциям и модуле UnitMatrixDop.
Таблица 9.3 Задачи тотальной обработки матриц |
|
Вариант |
Задание |
0 |
Найти наибольшее и наименьшее число и его координаты в матрице случайных чисел.
|
1 |
Подсчитать количество нулей и единиц в матрице, состоящей из случайных двоичных чисел. |
2 |
Найти наибольшее и наименьшее из четных значений и их координаты в матрице. |
3 |
Найти координаты всех элементов равных заданному числу в матрице. |
4 |
Подсчитать суммы для четных и нечетных чисел в матрице. |
5 |
Сравнить элементы двух матриц и создать третью, элементы которой равны большему числу из каждой пары чисел. Результат вывести в окно ShowMessage |
6 |
Создать и вывести в окно ShowMessage матрицу, в которой нули расположены в клетках, у которых четная сумма индексов. Остальные клетки заполнить единицами. |
7 |
Из матрицы, заполненной числами, создать новую матрицу, элементы которой равны сумме цифр чисел в исходной. |
8 |
Создать матрицу, значения элементов которой равны сумме индексов этих элементов. |
9 |
Подсчитать, сколько раз встречается заданное число в матрице. Число вводить через InputBox. |
Таблица 9.4 Задачи на выборочную обработку матриц |
|
|||||
Вариант |
Задание |
|
||||
0 |
Создать массив, элементы которого равны количеству цифр чисел, расположенных по кромке матрицы. |
|
||||
1 |
Создать массив, элементы которого равны максимальным элементам в нечетных столбцах матрицы. |
|
||||
2 |
Создать массив, элементы которого равны минимальным элементам в четных строках матрицы. |
|
||||
3 |
Создать массив, элементы которого равны сумме цифр чисел, расположенных по кромке случайно заполненной матрицы. |
|
||||
4 |
Создать массив, элементы которого равны суммам пар чисел, расположенных на главной и вспомогательной диагонали матрицы. |
|
||||
5 |
Создать массив, элементы которого соответствуют столбцу матрицы, номер которого вводится через InputBox. |
|
||||
6 |
Создать массив, элементы которого равны сумме элементов в нечетных столбцах матрицы. |
|
||||
Продолжение таблицы 9.3 |
|
|||||
7 |
Создать массив, элементы которого равны сумме элементов в четных строках матрицы. |
|
||||
8 |
Создать массив, элементы которого соответствуют строке матрицы, номер которой вводится через InputBox. |
|
||||
9 |
Создать массив, элементы которого равны суммам пар чисел, на осях квадратной матрицы с нечетного размера |
|
||||
Таблица 9.5 Задачи на перестановку элементов матрицы |
||||||
Вариант |
Задание по обработке |
|||||
0 |
Поменять местами наибольший и наименьший элементы матрицы. |
|||||
1 |
Перевернуть квадратную матрицу вдоль второй диагонали |
|||||
2 |
Перевернуть матрицу вдоль горизонтальной оси. |
|||||
3 |
Перевернуть матрицу вдоль вертикальной оси. |
|||||
4 |
Поменять местами элементы главной и вспомогательной диагонали матрицы. |
|||||
5 |
Поменять местами элементы вертикальной и горизонтальной оси квадратной матрицы с нечетным размером. |
|||||
6 |
Перевернуть задом - наперед элементы главной диагонали квадратной матрицы |
|||||
7 |
Перевернуть задом - наперед элементы второй диагонали квадратной матрицы |
|||||
8 |
Сдвинуть элементы по кромке квадратной матрицы так, чтобы первая строка стала последним столбцом, последний столбец – нижней строкой в обратном порядке, нижняя строка – первым столбцом и перевернутый первый столбец – первой строкой. |
|||||
9 |
Удалить заданные столбец и строку матрицы |
|||||
Таблица 9.6 Задачи на сортировку матриц |
|
|||||
Вариант |
Маршрут сортировки |
|
||||
|
Уголком, сверху – вниз – налево, от начала главной диагонали. |
|
||||
0 |
Уголком, сверху – вниз – налево, с конца главной диагонали. |
|
||||
1 |
Уголком, слева – направо – вверх, от начала главной диагонали. |
|
||||
2 |
Уголком, слева – направо – вверх, с конца главной диагонали. |
|
||||
3 |
Уголком, снизу – верх – направо, от начала главной диагонали. |
|
||||
4 |
Уголком, снизу – верх – направо, с конца главной диагонали. |
|
||||
5 |
Уголком, справа – налево – вниз, от начала главной диагонали. |
|
||||
6 |
Уголком, справа – налево – вниз, с конца главной диагонали. |
|
||||
7 |
Уголком, слева – направо – вниз, от начала второй диагонали |
|
||||
8 |
Уголком, сверху – вниз – направо, с конца второй диагонали |
|
||||
9 |
Уголком, слева – направо – вниз, с конца второй диагонали |
|