1) Изучите вопросы программирование алгоритмов формирования и обработки двумерных массивов (Тема 8).
2) Создайте приложение с именем Проект-8.
3) Выберите вариант задания из таблицы табл. 4.8.4-1.
4) Разработайте графический интерфейс пользователя.
5) Разработайте схемы алгоритмов процедур пользователя в соответствии с индивидуальным заданием, предварительно проведя формализацию.
6) Напишите программный код процедур в соответствии с разработанными схемами алгоритмов.
7) Разработайте проект приложения, решающий поставленную задачу, который состоит из интерфейса пользователя и соответствующего программного кода, а также написанных ранее процедур обработки и процедур ввода и вывода элементов массива. Все пользовательские процедуры должны находиться в модуле формы. Обмен данными между пользовательскими процедурами должен осуществляться через параметры, без использования глобальных переменных.
8) Подготовьте массивы чисел для решения задачи, если исходные данные не заданы.
9) Выполните приложение и получите результат.
10) Докажите правильность результата.
Варианты индивидуальных заданий
Таблица 4.8.4-1
№ | Задача |
1) | Сформируйте произвольный двумерный массив N(10,10). Из положительных элементов массива N сформировать массив M(10,max), где max – максимальное число положительных элементов строки массива N, располагая их в строках массива M подряд. Запишите нули на место отсутствующих элементов массива M. Выведите полученный массив. |
2) | Сформируйте двумерный массив L(10,8) по правилу: где r – случайное число из отрезка [0;1]. Поменяйте местами левую и правую половины этого массива. Выведите полученный массив. |
3) | Сформируйте произвольный двумерный массив L(9,9). Найдите в каждой строке наибольший элемент и поменяйте его местами с элементом главной диагонали. Выведите полученный массив. |
4) | Сформируйте произвольный двумерный массив N(12,12) по правилу: Вычислите и выведите сумму и количество положительных элементов массива, находящихся под главной диагональю. Преобразуйте матрицу, уменьшив каждый ее элемент на найденную сумму. |
5) | Сформируйте двумерный массив N(15,10) из случайных чисел, принадлежащих отрезку [-5;10]. Найдите строки с наибольшей и наименьшей суммой элементов. Выведите найденные строки и суммы их элементов. |
6) | Сформируйте двумерный массив K(8,8) по правилу: Kij=8∙(i - j)+j. Транспонируйте массив (поменяйте местами строки и столбцы), и выведите элементы главной диагонали и диагонали, расположенной под главной, разместив их в двух строках экрана |
7) | Сформируйте двумерный массив K(6,3) по правилу , где r – случайное число из отрезка [0;1]. Получите и выведите массив L(6,3), получаемый из массива K перестановкой строк: первой с последней, второй с предпоследней и т.д. |
8) | Сформируйте произвольный двумерный массив N(12,12).Вычислите и выведите сумму и кол-во положительных элементов массива, находящихся под побочной диагональю. Преобразуйте матрицу, увеличив каждый ее элемент на найденную сумму. |
9) | Сформируйте произвольный двумерный массив M(8,8). Найдите в каждой строке массива максимальный и минимальный элементы и поменять их местами соответственно с первым и последним элементами строки. Выведите полученный массив. |
10) | Сформируйте двумерный массив K(10,12) из случайных чисел, принадлежащих отрезку [-5;10]. Определите в каждом столбце количество простых чисел и запишите их в соответствующий элемент одномерного массива L.Выведите массив L. |
11) | Сформируйте произвольный двумерный массив L(7,9). Поменяйте местами левую верхнюю и правую нижнюю четверти матрицы. Выведите полученный массив. |
12) | Сформируйте двумерный массив М(4,5) по правилу: , где r – случайное число из отрезка [0;1]. Вставьте после столбца с заданным номером k (0<= k <=5) столбец из единиц (значение k вводится с клавиатуры). Выведите полученный массив M. |
13) | Сформируйте двумерный массив t(4,4) по правилу: Удалите из него столбцы, содержащие элементы, меньше, чем число 10. |
14) | Сформируйте произвольный двумерный массив Z(10,4). Вычислите максимальное значение суммы модулей элементов в столбцах массива и выведите этот столбец. |
15) | Сформируйте двумерный массив A(9,3) по правилу: . Определите наименьший элемент в каждой строке массива и запишите его в соответствующий элемент одномерного массива B. Выведите массив B. |
16) | Сформируйте двумерный массив M(6,5) из случайных чисел, принадлежащих отрезку [-15;5]. Преобразуйте массив перестановкой столбцов: первого с последним, второго с предпоследним и т.д. |
17) | Сформируйте произвольный двумерный массив B(4,4). Преобразуйте матрицу, перестановкой в каждой строке наибольшего по абсолютной величине элемента с диагональным. |
18) | Сформируйте произвольный двумерный массив N(10,10). Получите и выведите одномерный массив K(10), где Ki– наименьшее из значений элементов, находящихся в начале i-ой строки массива N до элемента, принадлежащего главной диагонали включительно. |
19) | Сформируйте произвольный двумерный массив X(4,4). Получите и выведите одномерный массив Y(4), где Yi – значение первого по порядку положительного элемента i-ой строки; если такого элемента нет, то примите Yi=1. |
20) | Сформируйте двумерный массив Z(10,3) из случайных чисел, принадлежащих отрезку [-2;15]. Получите и выведите одномерный массив P, где Pi – сумма элементов, расположенных за первым отрицательным элементом в i-й строке; если все элементы строки неотрицательны, то примите Pi=100. |
21) | Сформируйте произвольный двумерный массив F(10,3). Получите и выведите одномерный массив R, где Rj – сумма элементов, предшествующих последнему отрицательному элементу j-го столбца; если все элементы столбца неотрицательны, то примите Rj= -1. |
22) | Сформируйте произвольный двумерный массив R(8,3) Найдите и выведите значение и индексы элемента, являющегося одновременно наименьшим в своей строке и наибольшим в своем столбце. При отсутствии такого элемента выведите сообщение. |
23) | Сформируйте двумерный массив N(5,7) по правилу: Вставьте после строки с заданным номером k (0<= k <=5) строку из нулей (значение k вводится с клавиатуры). |
24) | Сформируйте произвольный двумерный массив M(5,7) Поменяйте местами строки, содержащие максимальный и минимальный элементы. Если минимум и максимум принадлежат одной строке, то поменяйте местами соответствующие столбцы. |
25) | Сформируйте произвольный двумерный массив K(8,4).Преобразуйте массив путем удаления из массива K строки и столбца, на пересечении которых находится наибольший элемент. |
26) | Сформируйте двумерный массив M(7,7) по правилу: , где r – случайное число из отрезка [0;1]. Введите одномерный массив K = {-5, -3, -1, 1, 3}. Замените нулями в массиве M те элементы, для которых имеются равные среди элементов массива K. Выведите полученный массив M. |
27) | Сформируйте произвольные двумерные массивы K(3,3) и L(3,3). Получите массив M путем прибавления к элементам каждого столбца массива K произведения элементов соответствующей строки массива L. Выведите массив M. |
28) | Сформируйте двумерный массив X(4,4) по правилу: . Вставьте столбец из единиц перед столбцом, содержащим минимальный элемент матрицы. |
29) | Сформируйте двумерный массив K(7,8) по правилу: где r – случайное число из отрезка [0;1]. Вставьте строку из нулей перед строкой, содержащей максимальный элемент матрицы. |
30) | Сформируйте произвольные двумерные массивы A(4,4) и B(4,4). Получите массив R(4,4) путем умножения элементов каждой строки массива A на наибольший из элементов соответствующей строки массива B. Выведите массив R. |
Содержание отчёта
1) Тема и название лабораторной работы.
2) Фамилия, имя студента, номер группы, номер варианта.
3) Задание на разработку проекта.
4) Формализация и уточнение задания.
5) Элементы, разрабатываемого проекта:
5.1) графический интерфейс пользователя;
5.2) таблица свойств объектов;
5.3) схема алгоритма решаемой задачи;
5.4) программный код проекта.
6) Результаты выполнения проектов.
7) Доказательство правильности работы программы.