Delphi. Лабораторная работа № 5 (4 часа).

«Программирование с использованием динамических массивов».

Цели:

  • Научиться разрабатывать приложения, в которых для обработки данных используются динамические массивы;
  • Развить навыки использования компонента StringGrid для хранения и отображения структурированных данных.

 

Ход работы:

1. Изучить (повторить) теоретический материал:

 

2. В состав задания на данную работу входит 2 задачи:

    1. Обработка линейных динамических массивов (5 баллов);

    2. Обработка прямоугольных динамических массивов (5 баллов).

Для отображения массивов на форме использовать компонент StringGrid, из которого необходимо прочитать данные для обработки в численный динамический массив, определив его в программе. Для решения задач можно создать два отдельных проекта, или объединить их в один.

3. Выбрать из списка номер вашего варианта и прочитать условия задач:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

4. Если возникли вопросы по условиям задач, задайте их преподавателю.

5. Скачать, распаковать, открыть и внимательно изучить примеры: Пример-1; Пример-2.

6. Разработать приложения для решения задач своего варианта.

7. Протестировать программы.

8. Оформить отчет по лабораторной работе. Для этого следует в строке заголовка главной формы записать:

"ЛР N. Вариант N. Группа. Фамилия Имя." В начале программного модуля главной формы записать как комментарий:

 

9. Сдать преподавателю выполненную работу:

 

10. Оценки по проверенным работам можно посмотреть в электронном журнале:


Индивидуальные задания

Вариант 1.

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование. Удалить из массива отрицательные элементы.

 

2. Составить программу формирования динамической матрицы А (n строк, m столбцов) случайными числами, сделать возможным ее редактирование. Получить динамический вектор B, присвоив его k-му элементу значение 1, если элементы k-й строки матрицы А упорядочены по убыванию, иначе 0.

Вариант 2.

1. Даны результаты проведения N экспериментов (порядковый номер эксперимента и полученное в нем численное значение некоторого параметра). Разместить результаты в динамическом массиве, удалить из массива элементы с максимальным и минимальным значением.

 

2. Составить программу формирования динамической матрицы А (n строк, m столбцов) случайными числами, сделать возможным ее редактирование. Получить динамический вектор B, присвоив его k-му элементу значение 0, если все элементы k-го столбца матрицы А нулевые, иначе 1.

Вариант 3.

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование. Вставить в массив новые элементы, равные сумме соседних элементов массива А. Например, исходный массив: (2, 7, 1, 3), обработанный массив: (2, 9, 7, 8, 1, 4, 3).

 

2. Составить программу формирования динамических матриц А и В (n строк, m столбцов) случайными числами, сделать возможным их редактирование. Вычислить динамическую матрицу С = 2А + 3В.

Вариант 4.

1. Составить программу формирования динамического массива А из N целых случайных чисел, сделать возможным его редактирование. Удалить из массива нечетные элементы.

 

2. Дана сводная ведомость выплаты заработной платы n рабочим за m месяцев (номер строки соответствует порядковому номеру рабочего, номер столбца - порядковому номеру месяца). Вычислить размер средней заработной платы за месяц для каждого рабочего. Все данные разместить в динамических массивах.

Вариант 5.

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование. Вставить в массив новые элементы, равные произведению соседних элементов массива А. Например, исходный массив: (2, 7, 1, 3), тогда обработанный массив будет: (2, 14, 7, 7, 1, 3, 3).

 

2. Составить программу формирования квадратных динамических матриц А и В n-го порядка (n строк и n столбцов) случайными числами, сделать возможным их редактирование. Вычислить сумму матриц (динамическая матрица С, в которой Cij = Aij + Bij).

Вариант 6.

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование. Удалить из массива положительные элементы.

 

2. Составить программу формирования динамической квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Построить динамический линейный массив B из сумм положительных элементов в столбцах матрицы А.

Вариант 7.

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование. Удалить из массива повторяющиеся элементы. Например, исходный массив: (2, 5, 2, 3, 2, 5, 6), тогда обработанный массив будет: (2, 5, 3, 6).

 

2. Составить программу формирования динамической квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Построить динамический линейный массив B из средних арифметических строк матрицы А.
 

Вариант 8.

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование, упорядочить элементы массива по возрастанию, затем удалить все элементы, кроме первых 3-х.

 

2. Составить программу формирования динамической квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Построить динамический линейный массив B из модулей отрицательных элементов матрицы А.

Вариант 9.

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование, упорядочить элементы массива по убыванию, затем удалить все элементы, кроме первых 5-ти.

 

2. Составить программу формирования динамической квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Вычислить количество нечетных элементов ниже k-ой строки.

Вариант 10.

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование, вычислить среднее арифметическое элементов массива и полученное значение вставить в начало массива.

 

2. Составить программу формирования динамической квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Вычислить количество четных элементов выше k-ой строки.

Вариант 11.

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование, вычислить сумму элементов массива и вставить ее в конец массива.

 

2. Составить программу формирования динамической квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Вычислить количество нечетных элементов на главной диагонали матрицы.

Вариант 12.

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование, вычислить сумму положительных элементов массива и вставить ее в начало массива, а сумму отрицательных элементов вставить в конец массива.

 

2. Составить программу формирования динамической квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Вычислить сумму положительных элементов на главной диагонали матрицы.

Вариант 13.

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование, удалить из массива элементы со значением меньше 0 и больше 10.

 

2. Составить программу формирования динамической квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Вычислить количество четных элементов в заданной строке.

Вариант 14.

1. Составить программу формирования динамического массива А из N случайных вещественных чисел, сделать возможным его редактирование. Вычислить сумму элементов массива, расположенных между первым и последним нулевыми элементами.

 

2. Составить программу формирования динамической квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Удалить в матрице элементы, стоящие выше главной диагонали.

 

Вариант 15.

1. Составить программу формирования динамического массива А из N случайных вещественных чисел, сделать возможным его редактирование. Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами.

 

2. Составить программу формирования динамической квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Удалить в матрице элементы, стоящие ниже главной диагонали.

Вариант 16.

1. Составить программу формирования массива А из N случайных вещественных чисел, сделать возможным его редактирование. Вычислить сумму дробных частей положительных элементов массива.

 

2. Составить программу формирования динамического прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Вычислить суммы элементов в каждой строке до k-ого столбца и вставить их перед k-столбцом.

 

Вариант 17.

1. Составить программу формирования массива А из N случайных целых чисел, сделать возможным его редактирование. Определить наименьший положительный элемент в массиве (его значение и номер).

 

2. Составить программу формирования динамического прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Вычислить суммы элементов в каждой строке после k-ого столбца и вставить их в матрицу последним столбцом.

 

Вариант 18.

1. Составить программу формирования массива А из N случайных целых чисел, сделать возможным его редактирование. Вычислить произведения однозначных положительных элементов в первой и во второй половине массива. Количество элементов N - четное число.

 

2. Составить программу формирования динамического прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Вычислить суммы элементов в каждом столбце после k-ой строки и вставить их в матрицу последней строкой.

Вариант 19.

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

 

2. Составить программу формирования динамического прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Вычислить средние значения элементов в каждой строке до k-ого столбца и вставить их в матрицу перед k-м столбцом.

Вариант 20.

1. Составить программу формирования динамического массива А из N случайных целых чисел, сделать возможным его редактирование. Удалить элементы с четными номерами.

 

2. Составить программу формирования динамического прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Удалить строку в матрице с наименьшей суммой элементов.

Вариант 21.

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

 

2. Составить программу формирования динамического прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Удалить столбец в матрице с наибольшей суммой элементов.

Вариант 22.

1. Составить программу формирования динамического массива А из N случайных целых чисел, сделать возможным его редактирование. Вычислить и сравнить суммы элементов первой и второй половины массива. Количество элементов N - четное число.

 

2. Составить программу формирования динамического прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Вычислить средние значения элементов в каждой строке и добавить их матрицу последним столбцом.

Вариант 23.

1. Составить программу формирования динамического массива А из N случайных целых чисел, сделать возможным его редактирование. Построить динамический массив В из элементов массива А, которые являются простыми числами (число называется простым, если оно делиться нацело только на единицу и на себя, например - 7, 11, 17).

 

2. Составить программу формирования динамического прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Вычислить средние значения элементов в каждом столбце и добавить их матрицу последней строкой.

Вариант 24.

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование, определить элемент, наиболее удаленный по значению от среднего арифметического всех элементов массива.

 

2. Составить программу формирования динамического прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Удалить в матрице k-й столбец.

 

Вариант 25.

 

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование, вычислить разность между наибольшим и наименьшим элементами массива.

 

2. Составить программу формирования динамического прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Удалить в матрице k-ю строку.

 

Вариант 26.

1. Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование, вычислить среднее арифметическое отрицательных элементов массива.

 

2. Составить программу формирования динамического прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Вставить в матрицу столбец между k-м и (k+1)-м столбцом, элементы которого вычисляются как модуль разности между левым и правым элементом.