Подпрограммы - процедуры и двухмерные массивы

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

Составить блок-схему алгоритма и программу на языке Pascal. Если массив в ходе выполнения процедуры не изменяется, его нужно описать как параметр-константу, а если изменяется, то, как параметр-переменную. В программе предусмотреть процедуры ввода-вывода элементов массивов и процедуры их обработки.

1.Задана действительная матрица aij размерности n×m. Написать программу, которая определяет числа b1 , b2 ,…, bn , равные суммам элементов строк матрицы. Сформировать вектор b1 , b2 ,…, bn с помощью подпрограммы - процедуры.

2.Написать подпрограмму - процедуру, определяющую максимум и минимум введенных матриц A и B.

3.Написать подпрограмму - процедуру, заполняющую двумерный массив таблицей умножения.

4.Напишите подпрограмму-процедуру, которая в заданных матрицах A и B заменяет все положительные элементы нулями, если количество отрицательных элементов окажется больше, чем количество положительных элементов.

5.Для заданных матриц A и B напишите подпрограмму - процедуру, вычисления и печати квадрата суммы положительных элементов и суммы квадратов отрицательных элементов матрицы.

6.Напишите подпрограмму-процедуру, которая в заданных матрицах A и B заменяет элементы, расположенные ниже главной диагонали, нулями. Напечатайте исходные и полученные матрицы.

7.Напишите подпрограмму-процедуру и подсчитайте в полученной матрице количество элементов, имеющих значение 1, количество элементов, имеющих значение –1, и количество нулевых элементов.

8.Напишите подпрограмму- процедуру, формирования матрицы Sign, определяющую знаки чисел матрицы A по следующему правилу:

подпрограммы - процедуры и двухмерные массивы - student2.ru .

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

10.Для произвольно заданной матрицы A напишите подпрограмму - процедуру вычисления значений подпрограммы - процедуры и двухмерные массивы - student2.ru .

11.Напишите подпрограмму - процедуру транспонирования матрицы. Вывести исходную и транспонированную матрицу на экран.

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

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

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

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

16.Напишите подпрограмму- процедуру умножения матриц. Программа должна проверять корректность вводимых данных.

17.Напишите подпрограмму- процедуру, которая по заданной матрице A формирует вектор С, в котором i‑ый элемент равен разности между числом положительных и числом отрицательных элементов i -ой строки матрицы А.

18.Напишите подпрограмму - процедуру, которая в заданной матрице A каждый последний элемент строки заменяет максимальным элементом этой строки.

19.Напишите подпрограмму - процедуру, которая в каждой строке заданной матрицы A заменяет первый встретившийся нулевой элемент произведением предыдущих элементов этой строки.

20.Напишите подпрограмму - процедуру, умножения матрицы на вектор. Программа должна проверять корректность вводимых данных.

21.Напишите подпрограмму - процедуру, которая по заданной матрице A размерностью n подпрограммы - процедуры и двухмерные массивы - student2.ru m формирует вектор z размерностью n, состоящий из максимальных элементов строк матрицы A.

22.Напишите подпрограмму - процедуру, которая по заданной матрице A размерностью n подпрограммы - процедуры и двухмерные массивы - student2.ru m формирует вектор z размерностью m, состоящий из арифметических средних столбцов матрицы A.

23.Напишите подпрограмму - процедуру, которая для заданной матрицы A и вектора X вычисляет элементы вектора Z как скалярное произведение строки матрицы A на вектор X.

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

25.Имеется экзаменационная ведомость студенческой группы из 20 человек по 5 дисциплинам. Напишите подпрограмму - процедуру, вычисления и вывода средних баллов по каждой дисциплине и для каждого студента, а также отклонения среднего балла каждого студента от общего среднего балла группы.

26.Напишите подпрограмму - процедуру, подведения итогов Олимпийских игр. Пользователь вводит количество медалей разного достоинства, завоеванных каждой из команд-участниц. Программа считает число очков, набранное каждой из команд и упорядочивает список команд-участниц по количеству набранных очков (за золотую медаль начисляется 3 очка, за серебряную – 2, за бронзовую – 1).

27.Напишите подпрограмму - процедуру, которая матрицу размерностью подпрограммы - процедуры и двухмерные массивы - student2.ru заполняет числами от 1 до подпрограммы - процедуры и двухмерные массивы - student2.ru по спирали, начинающейся в левом верхнем углу и закрученной по часовой стрелке

подпрограммы - процедуры и двухмерные массивы - student2.ru .

28.Напишите подпрограмму - процедуру, преобразующую матрицу размерностью N*M в вектор соответствующей размерности. Возможно сканирование матрицы как по строкам, так и по столбцам, в зависимости от значения дополнительного параметра.

29.Напишите подпрограмму - процедуру, которая по переданной матрице размерностью N*M, содержащей оценки за сессию группы студентов из N человек по M предметам, создает вектор, содержащий размеры стипендий для каждого из студентов. Стипендия в 1300 рублей начисляется отличникам, 900 рублей – хорошистам, для остальных студентов вместо размера стипендии в соответствующий элемент вектора записывается 0.

30.Напишите подпрограмму – процедуру, которая заполняет двухмерный массив из двадцати элементов слу­чайным образом вещественными значениями, лежащими в диапа­зоне от 0 до 1.

31.Напишите подпрограмму – процедуру, которая заполняет двухмерный массив из двадцати элементов слу­чайным образом вещественными значениями x (22 <= х < 23).

32.Напишите подпрограмму – процедуру, которая заполняет двухмерный массив из двадцати элементов слу­чайным образом вещественными значениями x (0 <= х < 10).

33.Напишите подпрограмму – процедуру, которая заполняет двухмерный массив из двадцати элементов слу­чайным образом вещественными значениями x (— 50 <= х < 50).

34.Напишите подпрограмму – процедуру, которая заполняет двухмерный массив из двадцати элементов слу­чайным образом целыми значениями, лежащими в диапазоне от 0 до 10 включительно.

35.Напишите подпрограмму – процедуру, которая заполняет двухмерный массив 2х5 десятью первыми членами арифметической про­фессии с известным первым членом прогрессии а и ее разностью Р.

36.Напишите подпрограмму – процедуру, которая заполняет двухмерный массив 4х5 двадцатью первыми членами геометрической про­грессии с известным первым членом прогрессии а и ее знаменателем Z.

37.Напишите подпрограмму – процедуру, которая заполняет двухмерный массив 4х3 двенадцатью первыми членами последовательнос­ти Фибоначчи (последовательности, в которой первые два члена равны 1, а каждый следующий равен сумме двух предыдущих).

38.Напишите подпрограмму – процедуру, которая заполняет двухмерный массив 4х5 двадцатью первыми натуральными числами, деля­щимися нацело на 13 или на 17 и находящимися в интервале, левая граница которого равна 300.

39.Напишите подпрограмму – процедуру, которая заполняет двухмерный массив 6х5 тридцатью первыми простыми числами (простым называется натуральное число, большее 1, не имеющее других делителей, кроме единицы и самою себя).

40.Напишите подпрограмму – процедуру, которая переставляет максимальный и минимальный элементы матрицы A(m*n).

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

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

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

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

45.Напишите подпрограмму – процедуру, которая позволяет в матрице найти произведение и количество элементов в каждой строке, попадающих в интервал от А до В.

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

47.Дана матрица. Напишите подпрограмму – процедуру, которая позволяет сформировать одномерный массив, каждый элемент которого равен максимальному по абсолютному значению элемента соответствующей строки.

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

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

50.Напишите подпрограмму – процедуру, которая позволяет поменять в матрице местами первый максимальный и последний минимальный элементы.

51.Напишите подпрограмму – процедуру, которая позволяет поменять в матрице поменять местами первый и последний столбцы.

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

53.Напишите подпрограмму – процедуру, которая позволяет сформировать двухмерный массив А[1..25,1..25] случайными значениями в диапазоне [0..100] и одномерный массив B[1..25], значения элементов которого вычисляются как суммы столбцов двухмерного массива.

54.Напишите подпрограмму – процедуру, которая позволяет сформировать двухмерный массив А[1..50,1..50] случайными значениями в диапазоне [0..50] и одномерный массив B[1..50], значения элементов которого равны максимальным элементам строк двухмерного массива.

55.Дана целочисленная матрица A3*4. Напишите подпрограмму – процедуру, которая позволяет вычислить и напечатать матрицу B3*4 по формуле: подпрограммы - процедуры и двухмерные массивы - student2.ru

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

57.Дана матрица F(3,3). Напишите подпрограмму – процедуру, которая позволяет найти максимальный элемент каждой строки матрицы F и сумму всех положительных элементов.

58.Напишите подпрограмму – процедуру, которая позволяет вычислить и напечатать Z= m/n, где m - количество элементов, нацело делящихся на 3, а n - произведение этих элементов целочисленной матрицы A (3,4).

59.Даны матрицы: A3*2 и B3*2. Напишите подпрограмму – процедуру, которая позволяет найти сумму положительных и сумму отрицательных элементов матрицы C, в которой элементы вычисляются по формуле: c[i,j]=i*a[i,j] + j*b[i,j].

60.Дана матрица: A4*4. Напишите подпрограмму – процедуру, которая позволяет вычислить сумму отрицательных элементов и количество неотрицательных элементов.

61.Дана матрица: S3*4. Напишите подпрограмму – процедуру, которая позволяет найти максимальный элемент, расположенный на главной диагонали и номер строки, в которой он находится.

62.Дана матрица В4*4. Напишите подпрограмму – процедуру, которая позволяет вычислить произведение и количество положительных элементов матрицы.

63.Дана матрица A3*3. Напишите подпрограмму – процедуру, которая позволяет вычислить сумму всех элементов матрицы и произведение ненулевых элементов.

64.Дана матрица A(3,4). Напишите подпрограмму – процедуру, которая позволяет найти номер столбца, который содержит наибольший элемент матрицы. Напечатать наибольший элемент и соответствующий ему номер столбца.

65.Дана матрица M4*4. Напишите подпрограмму – процедуру, которая позволяет вычислить сумму и количество тех элементов матрицы M, абсолютная величина которых равна 1.

66.Дана целочисленная матрица D (4,3). Напишите подпрограмму – процедуру, которая позволяет найти максимальный и минимальные элементы и, если они отрицательны, то поменять их местами. Напечатать полученную матрицу.

67.Дана матрица C(3,3). Напишите подпрограмму – процедуру, которая позволяет найти номера столбцов, в которых, положительных элементов больше, чем отрицательных. Напечатать найденные номера столбцов и число положительных элементов в этих столбцах.

68.Дана матрица С2*42. Напишите подпрограмму – процедуру, которая позволяет определить сумму и количество элементов матрицы, попадающих в интервал (-2,5).

69.Дана матрица A(3,2). Напишите подпрограмму – процедуру, которая позволяет вычислить величину L=Max-¦Min¦, где Max - целая часть максимального элемента; Min - целая часть минимального элемента матрицы A.

70.Дана матрица С3*3. Напишите подпрограмму – процедуру, которая позволяет вычислить и напечатать квадрат суммы положительных элементов и сумму квадратов отрицательных элементов матрицы.

71.Дана матрица C(3,3). Напишите подпрограмму – процедуру, которая позволяет среди элементов, расположенных в столбцах с нечетными номерами, найти максимальный элемент. На печать вывести найденный максимальный элемент и соответствующий ему номер столбца.

72.Дана матрица A(3,4). Напишите подпрограмму – процедуру, которая позволяет cформировать массив C, в котором i-ый элемент равен разности между числом положительных и числом отрицательных элементов i-ой строки матрицы A.

73.Даны матрицы A2*2 и B2*2. Напишите подпрограмму – процедуру, которая позволяет, найти произведение положительных и сумму отрицательных элементов матрицы C, в которой элементы вычисляются по формуле: c[i,j]=i*a[i,j] + j*b[i,j].

74.Дана матрица A2*2. Напишите подпрограмму – процедуру, которая позволяет, определить произведение и количество элементов матрицы, попадающих в интервал (-3,6).

75.Даны две матрицы A(3,3) и B(3,3). Напишите подпрограмму – процедуру, которая позволяет, сложить их и найти наибольший элемент на главной диагонали, полученной матрицы.

76.Дана матрица P3*3. Напишите подпрограмму – процедуру, которая позволяет, вычислить сумму положительных элементов и количество отрицательных элементов матрицы.

77.Напишите подпрограмму – процедуру, которая позволяет, в целочисленной матрице D (4,3) найти максимальный и минимальные элементы и, если они положительны, то поменять их местами. Напечатать полученную матрицу.

78.Дана матрица M2*3. Напишите подпрограмму – процедуру, которая позволяет, вычислить сумму и количество тех элементов матрицы M, абсолютная величина которых равна 5.

79.Дана матрица C(3,3). Напишите подпрограмму – процедуру, которая позволяет, найти номера строк, в которых положительных элементов больше, чем отрицательных. Напечатать найденные номера столбцов и число положительных элементов в этих строках.

80.Дана матрица: A3*4. Напишите подпрограмму – процедуру, которая позволяет, подсчитать и вывести на печать число элементов, отличных от нуля, и номер столбца максимального элемента.

81.Дана матрица: А4*3. Напишите подпрограмму – процедуру, которая позволяет, вычислить величину y=Ln S1 + Tg ¦S2¦, где S1 - сумма квадратов элементов матрицы A; S2 - сумма отрицательных элементов матрицы A.

82.Дана матрица: С3*2. Напишите подпрограмму – процедуру, которая позволяет, вычислить сумму положительных элементов к числу отрицательных элементов заданной матрицы.

83.Дана матрица A(2,3).Напишите подпрограмму – процедуру, которая позволяет, преобразовать матрицу A, разделив все ее элементы на минимальный элемент. Вывести на печать преобразованную матрицу и максимальный элемент матрицы A.

84.Дана матрица B3*3. Напишите подпрограмму – процедуру, которая позволяет, вычислить и напечатать значение переменной T=(S+R)2, где S- сумма отрицательных элементов матрицы; R- произведение элементов, удовлетворяющих условию: a[i,j]>1.2.

85.Дана матрица A(4,4). Напишите подпрограмму – процедуру, которая позволяет, найти отношение максимального элемента к минимальному.

86.Дана матрица: B3*3. Напишите подпрограмму – процедуру, которая позволяет, найти произведение элементов матрицы, лежащих на главной диагонали и ниже ее. Найти номер строки минимального элемента.

87.Дана матрица: А4*3. Напишите подпрограмму – процедуру, которая позволяет, определить сумму и количество элементов матрицы, по модулю больших 1,5.

88.Дана матрица A(3,2). Напишите подпрограмму – процедуру, которая позволяет, вычислить величину L=Max-¦Min¦, где Max - целая часть максимального элемента; Min - целая часть минимального элемента матрицы A.

89.Дана матрица А3*3. Напишите подпрограмму – процедуру, которая позволяет, заменить положительные элементы матрицы нулями, а отрицательные - единицами. На печать вывести исходную и полученную матрицы.

90.Дана матрица А4*3. Напишите подпрограмму – процедуру, которая позволяет, вычислить значение y=Sin(S1+S2)/k , где S1 - сумма элементов матрицы A; S2 - произведение положительных элементов матрицы A. k - номер максимального элемента.

91.Дана матрица C(3,4). Напишите подпрограмму – процедуру, которая позволяет, среди элементов, расположенных в столбцах с четными номерами, найти максимальный элемент. На печать вывести найденный максимальный элемент и соответствующий ему номер столбца.

92.Дана матрица A(3,4). Напишите подпрограмму – процедуру, которая позволяет, сформировать массив C, в котором i-ый элемент равен разности между числом положительных и числом отрицательных элементов i-ой строки матрицы A.

93.Дана матрица С2*3. Напишите подпрограмму – процедуру, которая позволяет, вычислить и напечатать квадрат суммы положительных элементов и сумму квадратов отрицательных элементов матрицы.

94.Дана матрица А3*3. Напишите подпрограмму – процедуру, которая позволяет, в заданной матрице заменить все отрицательные элементы нулями, если количество отрицательных элементов больше, чем количество положительных элементов.

95.Даны матрицы: А3*3 и B3*3. Напишите подпрограмму – процедуру, которая позволяет, найти произведение положительных и сумму отрицательных элементов матрицы C , в которой элементы вычисляются по формуле: c[i,j]=i*a[i,j] + j*b[i,j].

96.Дана матрица: А3*3. Напишите подпрограмму – процедуру, которая позволяет, определить сумму и количество элементов матрицы, попадающих в интервал (-3,6).

97.Дана матрица: А3*3. Напишите подпрограмму – процедуру, которая позволяет, заменить отрицательные элементы матрицы их абсолютными величинами, деленными на 3. Напечатать матрицу A с замененными элементами.

98.Дана матрица А3*3. Напишите подпрограмму – процедуру, которая позволяет в заданной матрице заменить все положительные элементы единицами, если количество отрицательных элементов больше, чем количество положительных элементов.

99.Дана матрица A(3,4). Напишите подпрограмму – процедуру, которая позволяет сформировать массив C, в котором i-ый элемент равен разности между числом отрицательных и числом положительных элементов i-ой строки матрицы A.

100.Дана матрица M4*4. Напишите подпрограмму – процедуру, которая позволяет вычислить сумму и количество тех элементов матрицы M, абсолютная величина которых равна 3.

Наши рекомендации