Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания к лаб. раб.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
805.38 Кб
Скачать

Контрольные вопросы

  1. Что представляет собой матрица?

  2. Как объявить двумерный массив?

  3. Как располагается матрица в памяти компьютера?

  4. Как ввести элементы двумерного массива с клавиатуры?.

  5. Как заполнить элементы матрицы случайными числами?

  6. Как правильно вывести матрицу?

  7. Как обратиться к элементу матрицы?

  8. Каковы особенности обработки матрицы?

  9. Чем отличается просмотр элементов матрицы по столбцам от просмотра по строкам?

  10. Можно ли просмотреть все элементы матрицы в одном цикле?

Лабораторная работа № 6 Подпрограммы

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

Постановка задачи

Написать две программы согласно индивидуальному варианту. Одно задание должно быть выполнено с использованием функции, другое – с использованием процедуры. Ввод и вывод массивов и других данных не объединять с обработкой данных. На экран вывести исходные данные и результат. Использовать форматный вывод.

Варианты заданий

1. Даны три матрицы: Х, Y, Z размером n×m (n, m<=12). Определить, в какой из них среднее арифметическое положительных элементов больше.

2. Даны две квадратные матрицы: А размером 6×6 и В размером 10×10. Сформировать одномерные массивы А1 и В1 из элементов главных диагоналей матриц А и В.

1. Для 10 значений Х, изменяющегося от -А до А (А задано) с постоянным шагом, вычислить с точностью eps значение суммы . Результат вычисления каждой суммы записать в массив.

2. Для заданной матрицы А сформировать одномерный масс сив B, содержащий суммы максимальных и минимальных элементов соответствующих столбцов матрицы.

1. В массивах Х и Y найти минимумы (количество минимумов в каждом массиве может быть больше одного), то есть сформировать новые массивы из позиций минимальных значений в массивах Х и Y. Поменять местами значения минимумов в массивах.

2. Даны две матрицы А и В размером n×m (n, m <= 15). Вывести ту из них, в которой среднее арифметическое отрицательных элементов меньше. Для определения среднего значения в одной матрице использовать функцию.

1. Для каждого из массивов Х и Y получить массивы из позиций элементов, равных заданному числу Z.

2. Для заданной матрицы найти номер столбца с минимальной суммой положительных элементов. Использовать подпрограмму для нахождения суммы в одном столбце.

1. Дана вещественная матрица D размером 8×12. Сформировать одномерный массив, состоящий из номеров столбцов, элементы которых образуют возрастающую последовательность. Для проверки одного столбца использовать функцию.

2. Для каждого из массивов: А из 10 элементов, В из 20 и С из 12 – произвести перестановку элементов, поменяв порядок их следования на обратный.

1. Найти меньшие корни квадратных уравнений: x– 2– = 0 и ax– bx – 2 = 0 (считать, что все корни действительные).

2. В заданной вещественной матрице В размером 7×8 обнулить столбцы, в которых имеются нулевые элементы (все элементы таких столбцов сделать нулевыми).

1. Для каждого из элементов целочисленного массива С выяснить, является ли он факториалом какого-либо числа, и если да, то какого. Использовать функцию для проверки одного числа, результатом которой является n, если , и 0 в противном случае.

2. Bычислить , где и – сумма и количество отрицательных четных элементов целочисленного массива X из n элементов (n<=30), а и – сумма и количество отрицательных четных элементов целочисленного массива Y из m элементов (m<=20).

1. Даны два одномерных массива: А из 10 элементов и В из 15 элементов. Сформировать два новых массива: Х из элементов массива А, не входящих в массив В, и Y из элементов массива В, не входящих в массив А.

2. Даны три одномерных массива A, B и C (три вектора) с одинаковым количеством элементов. Получить S=(b, c)(a,a), где (x,y) скалярное произведение векторов x и y, .

1. Дана матрица D размером n×m (n, m <= 20). Сформировать три одномерных массива: А – из элементов матрицы D, лежащих в диапазоне от -5 до 5, в порядке следования по строкам, В – из элементов от 10 до 20, С – от 30 до 50. Использовать подпрограмму для выборки в новый массив элементов для одного диапазона.

2. Дан массив X из n (п ≤ 10) элементов. Сформировать массив Y, в котором yi =1/(xi+1) +2/(xi+2)+3/(xi+3)+ ... + 12/(xi+12) . Использовать подпрограмму для вычисления одного yi .

1. Дана матрица А размером n×m (n, m<=15). В каждой нечетной ее строке найти среднее арифметическое элементов, не принадлежащих отрезку от 0 до 10, и сформировать из них одномерный массив. Для расчёта значения в одной строке использовать подпрограмму.

2. Дана последовательность {ai}. Для каждого элемента последовательности определить количество элементов левее ai, которые по модулю меньше ai, и количество элементов справа от ai, которые по модулю больше ai. Использовать подпрограмму, производящую вычисления для одного элемента ai.

1. Дан одномерный массив A размером n (n<=30). Получить новый массив B, каждый элемент которого вычисляется по формуле .

2. Дана квадратная матрица B размером 10×10. Преобразовать её к такому виду, чтобы на побочной диагонали стояли максимальные элементы всех строк. Использовать процедуру для поиска максимального элемента строки и перестановки его с элементом главной диагонали в этой строке.

1. Дана матрица А размером 10×10. В каждом ее столбце обнулить минимальное количество элементов так, чтобы сумма элементов столбца не превышала заданного Р. Использовать подпрограммы для преобразования одного столбца и поиска максимума в столбце.

2. Даны два массива: Х из n элементов и Y из m (n, m<=15). Найти количество элементов массива Х, не лежащих в диапазоне от 0 до 10, и количество элементов массива Y, не лежащих в диапазоне от 1 до 5. Для нахождения количества элементов, не лежащих в диапазоне от А до В, использовать функцию.

1. Заданный массив целых чисел А делится на три части двумя элементами: максимальным и минимальным. Определить сумму и количество четных значений в каждой части массива. Использовать подпрограммы для нахождения индексов минимального и максимального элементов и подсчёта суммы и количества четных значений в одной части массива.

2. Дана квадратная матрица А размером 6×6. Определить номера строк, не содержащих отрицательных элементов. Для проверки одной строки использовать функцию.

1. Даны матрица Х размером n×m (n<=10, mнечетное число <10) и одномерный массив Y из n элементов. Заменить массивом Y первый, средний и последний столбцы матрицы. Для замены одного столбца использовать подпрограмму.

2. Дана матрица С размером 7×3. Найти номер строки с максимальной суммой элементов. Использовать функцию для нахождения суммы в одной строке.

1. Дан целочисленный массив А из 3 n элементов (n<=10). В каждой десятке найти наименьшее значение и вывести ту часть массива, где минимум больше. Для ввода, вывода массива и поиска минимума в одной части массива использовать подпрограммы.

2. Дана вещественная матрица В размером 5×7. Заменить единицами те столбцы матрицы, где положительных значений больше, чем отрицательных. Использовать подпрограммы для ввода, замены столбцов и вывода матрицы.

1. Дана матрица А размером n×m (n, m<=16) и два числа c и d. В каждом четном столбце матрицы найти среднее арифметическое элементов, не принадлежащих отрезку [c, d], и сформировать из них одномерный массив. Для нахождения среднего значения в одном столбце использовать функцию.

2. В заданной вещественной матрице В размером 7×8 заменить на нули те строки, в которых есть хотя бы один нулевой элемент (все элементы таких строк сделать нулевыми).

1. Дана вещественная матрица D размером 8×12. Проверить, что суммы элементов в столбцах матрицы образуют возрастающую последовательность. Для определения суммы элементов в одном столбце использовать функцию.

2. Для каждого из массивов А, B, C из 2n элементов (n<=20) произвести перестановку элементов по следующему правилу: an+1an+2,…, a2n,a1,a2,…,an.

1. Для заданной матрицы А размером n×n (n<=20) найти максимум из всех минимальных элементов матрицы по столбцам. Для нахождения минимального элемента одного столбца использовать подпрограмму.

2. Написать процедуру, преобразующую одномерный массив A1 из n2 элементов в квадратную матрицу A2 размером n×n. Использовать её для массива X из 36 элементов.

1. Дана квадратная матрица А размером 10×10. Преобразовать её к такому виду, чтобы на главной диагонали стояли минимальные элементы всех столбцов. Использовать процедуру для поиска минимального элемента столбца и перестановки его с диагональным элементом в этом столбце.

2. Дан массив Х из п элементов (n<=20). Значения элементов принадлежат интервалу [-10, 10]. Этот интервал разбивается на m одинаковых подынтервалов (m вводится). Используя функцию, определить количество элементов массива Х, попадающих в каждый подынтервал.

1. Для каждого значения z (z =1; 1.2; 1.4;...;2.6) вычислить значение полинома p(z)=a6za5za4z+...+ a1a0. Использовать подпрограмму для нахождения значения полинома для одного zi.

2. Дана целочисленная матрица А размером 10×12. Сформировать вектор D, состоящий из номеров строк, содержащих хотя бы один отрицательный элемент. Использовать процедуру для формирования вектора.

1. Дана матрица А размером n×m (n,m<=15). Отсортировать в порядке убывания четные строки матрицы. Использовать подпрограмму для сортировки одной строки.

2. Координаты точек на плоскости заданы матрицей А размером 20×2. В первом столбце записаны координаты Х, во втором – координаты Y. Найти количество точек, попадающих внутрь окружности с радиусом ri и центром в начале координат. Значения ri заданы массивом R из 10 элементов.

Вариант22

1. В заданной матрице С размером n×m (n, m<=20) найти количество столбцов, которые образуют арифметическую прогрессию. Использовать подпрограмму проверки одного столбца.

2. Элементы матрицы A размером n×n (n<=10) вычисляются по формуле Аij= (-1)i i j. Получить матрицу В, в которой элементы определяются по правилу: . Использовать подпрограммы для формирования матриц А и В, нахождения максимума в одной строке матрицы А, вывода матриц.