Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Обработка двумерных числовых массивов данных




 

Цель работы.

Практика составления алгоритмов и программ обработки числовых двумерных массивов.

 

Краткая теория

Массивом называется упорядоченная последовательность переменных, обозначенных одним именем. Элемент массива - переменная с индексами. Элемент двумерного массива содержит два индекса. Двумерный массив является отображением в памяти ЭВМ совокупностей данных, оформляемых в виде таблиц, матриц. Положение элемента в матрице определяется двумя числами - номером строки номером столбца, которые соответствуют числовым значениям индексов. При записи элемента массива индексы располагаются после имени массива, в квадратных скобках. Так в переменной А[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.

 

11.782 -0.234 197.342 254.132 0.597
-8.301 116.539 -11.362 0.231 0.226
32.874 23.453 21.239 216.433 -34.54
43.329 65.009 25.371 -0.418 34.109

 

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 задаются по вводу.

 

 


3. n = 4, m = 5

 


Определить в каждой строке матрицы A, число элементов, значения которых лежат в интервале [c, d]. Напечатать эти числа. Значения c, d задаются по вводу.

 

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.
n = m = 6.

Вычислить среднее значение элементов главной диагонали, напечатать его. Напечатать элементы 2-ой и 3-ей строки с номерами столбцов, если значения этих элементов больше среднего значения в диагонали.

 

10. n = 4, m = 6.

Вычислить средние значения элементов первой и последней строки. Напечатать значения элементов этих строк, номера их столбцов, в том случае, когда эти значения превышают сумму найденных средних.

 

11. n = 3, m = 6.

Вычислить средние значения элементов столбцов, имеющих нечетные номера, напечатать элементы этих столбцов с указанием номера строки, в том случае, если их значения будут меньше средних значений по соответствующим столбцам.

 

12. n = m = 6.

Вычислить средние значения элементов строк, имеющих четные номера, напечатать элементы, значения которых больше значений соответствующих средних по строке.

 

13.
n = 3, m = 6.

Элементы матрицы, имеющие отрицательные значения, сделать равными нулю, подсчитать и напечатать число этих элементов.

 

14.
n = 4, m = 5.

Элементы матрицы, значения которых превышают значения выражения , напечатать вместе с номерами их строк и столбцов. 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 элементами последнего столбца. Напечатать элементы исходной и преобразованной матрицы.


Поделиться:

Дата добавления: 2015-09-15; просмотров: 105; Мы поможем в написании вашей работы!; Нарушение авторских прав


<== предыдущая лекция | следующая лекция ==>
 | 
lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты