КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Обработка двумерных числовых массивов данных
Цель работы. Практика составления алгоритмов и программ обработки числовых двумерных массивов.
Краткая теория Массивом называется упорядоченная последовательность переменных, обозначенных одним именем. Элемент массива - переменная с индексами. Элемент двумерного массива содержит два индекса. Двумерный массив является отображением в памяти ЭВМ совокупностей данных, оформляемых в виде таблиц, матриц. Положение элемента в матрице определяется двумя числами - номером строки номером столбца, которые соответствуют числовым значениям индексов. При записи элемента массива индексы располагаются после имени массива, в квадратных скобках. Так в переменной А[3,5] – число 3 соответствует номеру строки, 5 – номеру столбца. Индексами могут быть константы, переменные, арифметические выражения. При работе с массивами, особенно в операциях ввода – вывода необходимо знать последовательность расположения элементов массива в памяти ЭВМ. Для двумерных массивов в языке Pascal допускается работа со строками матрицы. Например, если описать двумерный массив c[5x4] следующим образом type stroka = [1..5] of real; matr = [1..4] of stroka; var a: stroke; c: matr; То для перестановки, скажем, первой и третьей строки матрицы, достаточно написать следующие операторы: a:= c[1]; c[1]:= c[3]; c[3]:= a;
Пример Ввести таблицу A числовых данных, состоящую из 4 строк и 5 столбцов, и переменную D.
Cоставить алгоритм и программу, которые позволят вычислить суммы элементов строк, напечатать номер строки и значения элементов ее, если сумма элементов строки имеет значение, большее значения переменной D. Блок – схема алгоритма представлена на рис. 1.
Контрольные вопросы. 1. Правила записи в языке Фортран переменной с двумя индексами. 2. Индексы, индексные выражения. 3. Описатель двухмерного массива. 4. Расположение элементов двухмерного массива в памяти ЭВМ. 5. Как записать в общем виде: элемент двухмерного массива; для случая квадратной матрицы – элемента главной диагонали; элемента первого, второго и т.д. столбцов; элемента первой, второй и т. д. строки? 6. Особенности ввода – вывода элементов массивов. 7. Использование операторов цикла в операциях обработки массивов.
Содержание задания. Вычислить элементы матрицы A={a i j }, {i=1, 2, .., n; j = 1, 2, .., m}. Произвести обработку элементов матрицы по указанным правилам, напечатать полученные значения. Напечатать исходную и результирующую матрицы.
Варианты задания.
1. n = m = 5 Определить число элементов матрицы A, значения которых лежат в интервале (c, b]. Напечатать это число. Значения c, b задаются по вводу.
2. n = m = 6 Определить в каждом столбце матрицы A, число элементов, значения которых лежат в интервале [c, b]. Напечатать эти числа. Значения c, b задаются по вводу.
4. n = m = 5
Определить в главной диагонали матрицы A число элементов, значение которых превышает значение выражения c*i+b, где i – номер строки. c и b задаются по вводу. Напечатать число элементов и номера строк, которым они принадлежат.
5. n = 5, m = 4. Числовое значение переменной b ввести по вводу. Определить число элементов матрицы, имеющих значения большее среднего значения элементов матрицы. Напечатать его.
6. n = 3, m = 6. Числовое значение переменной b ввести по вводу. Определить среднее значение элементов столбцов матрицы A. Напечатать их с указанием номера соответствующего столбца.
7. n = 4, m = 6. Определить средние значения элементов строк матрицы A, напечатать эти значения с указанием номера соответствующей строки.
8. n = 5, m = 3. Вычислить среднее значение элементов матрицы A, определить и напечатать число элементов в строках матрицы, имеющих четные номера, значение которых превышает найденное среднее значение.
9. Вычислить среднее значение элементов главной диагонали, напечатать его. Напечатать элементы 2-ой и 3-ей строки с номерами столбцов, если значения этих элементов больше среднего значения в диагонали.
10. n = 4, m = 6. Вычислить средние значения элементов первой и последней строки. Напечатать значения элементов этих строк, номера их столбцов, в том случае, когда эти значения превышают сумму найденных средних.
11. n = 3, m = 6. Вычислить средние значения элементов столбцов, имеющих нечетные номера, напечатать элементы этих столбцов с указанием номера строки, в том случае, если их значения будут меньше средних значений по соответствующим столбцам.
12. n = m = 6. Вычислить средние значения элементов строк, имеющих четные номера, напечатать элементы, значения которых больше значений соответствующих средних по строке.
13. Элементы матрицы, имеющие отрицательные значения, сделать равными нулю, подсчитать и напечатать число этих элементов.
14. Элементы матрицы, значения которых превышают значения выражения , напечатать вместе с номерами их строк и столбцов. d, b – переменные, числовые значения которых задаются по вводу.
15. n = 5, m = 6. Числовое значение переменной d задается по вводу. Сравнить первые элементы во второй и третьей строках. В случае если элемент второй строки больше элемента третьей строки, увеличить числовое значение элементов второй строки на величину , в противном случае – увеличить числовые значения элементов третьей строки на величину, полученную из выражения . Напечатать элементы второй и третьей строк.
16. n = m = 5. Числовое значение переменной d задается по вводу. Среди первых элементов строк имеющих нечетные номера, найти максимальное значение, элементы соответствующей строки напечатать.
17. n = m = 5. Числовое значение переменной b задается по вводу. Найти элемент главной диагонали, имеющий максимальное значение. Напечатать элементы и номер соответствующей ему строки.
18. n = m = 6. Числовое значение переменной d задается по вводу. Найти сумму элементов первой строки, напечатать полученное значение, умножить элементы третьей строки на полученное число. Напечатать элементы третьей строки.
19. n = 4, m = 5. Найти сумму элементов второго столбца, напечатать полученное число, прибавить его к элементам четвертого столбца, напечатать эти элементы.
20. n = 5, m = 6. Числовое значение переменных Q, d задаются по вводу. Сравнить элементы первых трех столбцов с Q, в том случае, если хотя бы один элемент матрицы будет больше величины 2*Q, остановить просмотр элементов, напечатать «недопустимое значение», в противном случае завершить просмотр всех элементов матрицы, напечатать «данные отвечают условиям».
21. n = 4, m = 6. Найти максимальное значение среди первых элементов строк, напечатать этот элемент и его номер, осуществить перестановку соответствующих по j элементов второй строки и строки имеющей максимальный по значению первый элемент. Напечатать элементы преобразованной матрицы.
23. n = m = 6. Числовые значения переменных d, T задаются по вводу. Поменять местами соответствующие по j элементы второй строки и первой из строк, имеющей сумму элементов, больше T. Напечатать элементы исходной и преобразованной матрицы.
24. n = 4, m = 6. Числовое значение переменной b задается по вводу. Поменять местами соответствующие по i элементы соседних столбцов, имеющих нечетные и четные номера. Отсчет вести с первого столбца по возрастанию номеров столбцов. Напечатать элементы исходной и преобразованной матрицы.
25. n = 5, m = 6. Числовые значения b, c задаются по вводу. Найти максимальный по значению элемент матрицы, напечатать его значение и индексы. Поменять местами соответствующие по j элементы строки, содержащий максимальный в матрице элемент и элементы третьей строки. Напечатать элементы исходной и преобразованной матрицы.
26. n = 6, m = 6. Числовые значения переменных b, c задаются по вводу. Найти первый по возрастанию номеров строк элемент, принимающий максимальное значение, напечатать его значение и индексы, умножить строку с максимальным элементов на b. Напечатать исходную и преобразованную матрицу.
27. n = 5, m = 6. Числовые значения переменных x и y задаются по вводу. Найти первые по возрастанию номеров строк элементы, имеющие минимальные и максимальные значения, напечатать их значения и номера индексов. Поменять местами элементы строк, которым принадлежат найденные элементы. Напечатать исходную и преобразованную матрицу.
28. n = m = 6. Числовые значения переменных x, y задаются по вводу. В главной диагонали матрицы найти элементы, принимающие максимальное и минимальное значения, поменять местами элементы строк, которым они принадлежат. Напечатать исходную и преобразованную матрицу.
29. n = m = 5. Числовые значения переменных x, y задаются по вводу. Найти среднее значение элементов матрицы. Во второй и третьей строке получить число элементов, значение которых больше средней величины. Элементы строки, для которой это значение больше поменять местами с соответствующими элементами первой строки. Напечатать элементы исходной и преобразованной матрицы.
30. n = 4, m = 7. Числовые значения переменных x, y задаются по вводу. Найти среднее значение для элементов первого и элементов второго столбца, подсчитать в каждом число элементов, значение которых больше среднего, элементы столбца, имеющего это значение наибольшим поменять местами с соответствующими по j элементами последнего столбца. Напечатать элементы исходной и преобразованной матрицы.
|