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