- •Лабораторная работа № Реализация программ, использующих процедуры и функции пользователя
- •Цель работы
- •2. Краткие сведения из теории
- •2.1 Глобальные, локальные блоки и объекты
- •2.2 Понятие процедур и функций
- •2.3 Описание процедур и функций
- •2.4 Вызов процедур и функций
- •2.5 Формальные параметры процедур и функций
- •3 Примеры Pascal-программ использующих процедуры и функции
- •3.1 Постановка задачи 1
- •3.1.2 Программы
- •3.2 Постановка задачи 2
- •3.2.1 Программа
- •3.3 Постановка задачи 3
- •Укрупненная блок схема
- •Программа
- •Результат
- •3.3.4 Варианты заданий
- •4 Контрольные вопросы
-
Результат
Рисунок после запуска программы из BorlandPascal для DOS.
Рис. 2
3.3.4 Варианты заданий
-
Сформировать две квадратные матрицы (двухмерных массива) {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l), вводом элементов с клавиатуры. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать функцию, определяющую сумму элементов строк матрицы, если на главной диагонали матрицы располагается отрицательный элемент. Вывести на экран матрицы, сумму матриц и максимальную из них.
-
Сформировать матрицы (двухмерный массив) {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l) , элементы которых определяются случайно из диапазона вещественных чисел от 0 до 1. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать процедуру, определяющую одномерный массив (вектор), состоящий из сумм каждого столбца матрицы. Причем суммируются элементы . Вывести на экран исходные и результирующие массивы.
-
Сформировать матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l), по заданным правилам: (i+j)/2, (i*j)/. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы, а также признак выбора заданного правила вводить с клавиатуры. Создать процедуру, определяющую одномерный массив (вектор), состоящий из сумм каждой строки матрицы с четными номерами. Вывести на экран исходные и результирующие массивы.
-
Сформировать матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l), по заданному правилу sin(i+j/2). Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать функцию, определяющую сумму первой строки и последнего столбца матрицы. Вывести на экран исходные массивы и среднее значение сумм.
-
Сформировать две квадратные матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l), вводом элементов с клавиатуры. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать функцию, определяющую произведение элементов столбцов матрицы, если на главной диагонали матрицы располагается не нулевой элемент. Вывести на экран матрицы, произведение матриц и среднее произведение.
-
Сформировать матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l) , элементы которых определяются случайно из диапазона целых чисел от -3 до 3. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать процедуру, которая присваивает нулевым элементам матрицы единицы и определяет произведение матрицы. Вывести на экран исходные, результирующие массивы и сумму произведений матриц.
-
Сформировать две квадратные матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l), вводом элементов с клавиатуры. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать функцию, определяющую сумму элементов строки матрицы, имеющей первый минимальный элемент. Вывести на экран матрицы, сумму матриц и максимальную из них.
-
Сформировать матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l) , элементы которых определяются случайно из диапазона целых чисел от -3 до 3. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать процедуру, которая определяет последний минимальный элемент в трех средних строках матрицы. Заменить в матрице этот элемент нулем. Вывести на экран: исходные, результирующие массивы.
-
Сформировать матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l) по заданным правилам: sin((i+j)/2), cos(5j-2i). Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы, а также признак выбора заданного правила вводить с клавиатуры. Создать процедуру, заменяющую все отрицательные элементы матрицы на положительные элементы. Вывести на экран исходные и результирующие матрицы.
-
Сформировать две квадратные матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l), вводом элементов с клавиатуры. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать процедуру, которая заменяет нулевые диагональные элементы единицами. Вывести на экран исходные и результирующие матрицы.
-
Сформировать матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l) , элементы которых определяются случайно из диапазона целых чисел от -3 до 3. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать процедуру, которая определяет все максимальные по модулю элементы, если их несколько, в трех последних столбца матрицы и заменяет их суммой элементов соответствующего столбца. Вывести на экран исходные и результирующие массивы.
-
Сформировать квадратные матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l), по заданным правилам: sin(i/5+j), cos(2i+3/2j). Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы, а также признак выбора заданного правила вводить с клавиатуры. Создать процедуру, заменяющую все положительные элементы, лежащие выше главной диагонали, исходной матрицы нулями. Вывести на экран исходные и результирующие матрицы.
-
Сформировать две квадратные матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l), вводом элементов с клавиатуры. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать функцию, определяющую количество отрицательных элементов, лежащих ниже главной диагонали. Вывести на экран исходные и результирующие матрицы.
-
Сформировать матрицы{aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l) , элементы которых определяются случайно из диапазона целых чисел от -100 до 100. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать функцию, которая меняет местами наибольший и наименьший элемент матрицы. Вывести на экран: исходные, результирующие массивы, а также наибольший и наименьший элементы матриц.
-
Сформировать квадратные матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l),по заданным правилам: sin(3i+j), 3.5i+j/2. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы, а также признак выбора заданного правила вводить с клавиатуры. Создать функцию, определяющую суммы наибольших и наименьших значений элементов каждой строки матрицы. Вывести на экран исходные матрицы и их суммы.
-
Сформировать две матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l), вводом элементов с клавиатуры. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать процедуру, формирующую новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент. Вывести на экран исходные и результирующие матрицы.
-
Сформировать матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l) , элементы которых определяются случайно из диапазона целых чисел от -100 до 100. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать процедуру, определяющую одномерный массив (вектор), состоящий из минимальных элементов строк матрицы. Вывести на экран: исходные матрицы, вектора и наименьшую сумму векторов.
-
Сформировать квадратные матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l), элементы которых определяются случайно из диапазона вещественных чисел от -50 до 50. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создать процедуру, определяющую одномерный массив (вектор), состоящий из максимальных элементов столбцов матрицы. Вывести на экран: исходные матрицы, результирующие вектора и произведение векторов, при условии, что количество строк первой матрицы равно количеству столбцов второй матрицы.