Целью настоящей работы является получение студентами практических навыков по решению задач, требующих составить подпрограмму - процедуру пользователя.
Составить блок-схему алгоритма и программу на языке 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 по следующему правилу:
.
9. Напишите подпрограмму - процедуру поиска минимального и максимального элементов матрицы. Подпрограмма должна менять максимальный и минимальный элементы между собой. Ввести на экран исходную и преобразованную матрицы.
10. Для произвольно заданной матрицы A напишите подпрограмму - процедуру вычисления значений .
11. Напишите подпрограмму - процедуру транспонирования матрицы. Вывести исходную и транспонированную матрицу на экран.
12. Напишите подпрограмму - процедуру, которая преобразует матрицу А, разделив все ее элементы на максимальный элемент. Выведите на печать исходную, преобразованную матрицы и максимальный элемент матрицы А.
13. Напишите подпрограмму - процедуру, которая в заданной матрице A определяет номера столбцов, в которых положительных элементов больше, чем отрицательных, печатает найденные номера столбцов и число положительных элементов в этих столбцах.
14. Напишите подпрограмму- процедуру, которая элементы одномерного массива построчно располагает в матрице указанного размера. Подпрограмма должна проверять корректность вводимых размерностей.
15. Напишите подпрограмму- процедуру, которая в заданной матрице среди элементов, расположенных в столбцах с нечетными номерами, находит максимальный элемент. На экран выведите найденный максимальный элемент и соответствующий номер столбца.
16. Напишите подпрограмму- процедуру умножения матриц. Программа должна проверять корректность вводимых данных.
17. Напишите подпрограмму- процедуру, которая по заданной матрице A формирует вектор С, в котором i‑ый элемент равен разности между числом положительных и числом отрицательных элементов i -ой строки матрицы А.
18. Напишите подпрограмму - процедуру, которая в заданной матрице A каждый последний элемент строки заменяет максимальным элементом этой строки.
19. Напишите подпрограмму - процедуру, которая в каждой строке заданной матрицы A заменяет первый встретившийся нулевой элемент произведением предыдущих элементов этой строки.
20. Напишите подпрограмму - процедуру, умножения матрицы на вектор. Программа должна проверять корректность вводимых данных.
21. Напишите подпрограмму - процедуру, которая по заданной матрице A размерностью n m формирует вектор z размерностью n, состоящий из максимальных элементов строк матрицы A.
22. Напишите подпрограмму - процедуру, которая по заданной матрице A размерностью n m формирует вектор z размерностью m, состоящий из арифметических средних столбцов матрицы A.
23. Напишите подпрограмму - процедуру, которая для заданной матрицы A и вектора X вычисляет элементы вектора Z как скалярное произведение строки матрицы A на вектор X.
24. Напишите подпрограмму - процедуру, вычисления скалярного произведения каждой строки матрицы на ее главную диагональ.
25. Имеется экзаменационная ведомость студенческой группы из 20 человек по 5 дисциплинам. Напишите подпрограмму - процедуру, вычисления и вывода средних баллов по каждой дисциплине и для каждого студента, а также отклонения среднего балла каждого студента от общего среднего балла группы.
26. Напишите подпрограмму - процедуру, подведения итогов Олимпийских игр. Пользователь вводит количество медалей разного достоинства, завоеванных каждой из команд-участниц. Программа считает число очков, набранное каждой из команд и упорядочивает список команд-участниц по количеству набранных очков (за золотую медаль начисляется 3 очка, за серебряную – 2, за бронзовую – 1).
27. Напишите подпрограмму - процедуру, которая матрицу размерностью заполняет числами от 1 до по спирали, начинающейся в левом верхнем углу и закрученной по часовой стрелке
.
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 по формуле:
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.