Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прогр_пас_3.doc
Скачиваний:
111
Добавлен:
04.11.2018
Размер:
13.31 Mб
Скачать

3.14.Задачи на использование функций в качестве параметров других функций.

Составить программу по заданному условию. Первая часть условия является заданием на разработку процедуры для любой функции f или (f1,f2). Эти функции должны быть формальными параметрами разрабатываемой процедуры. Условие второй части задания предполагает обязательное использование разработанной процедуры и передачу ей через параметры указанных во второй части задания функций.

Для массива С из n элементов составить процедуру, определяющую количество положительных значений f(Сi) и количество отрицательных значений f(Сi).

Используя в качестве f натуральный логарифм, определить в скольких строках матрицы А количество положительных значений f(Аik) больше отрицательных.

Для заданного массива Т из n элементов составить процедуру, определяющую произведение значений f(Тi), попадающих в заданный диапазон.

Для матрицы А определить произведение элементов, абсолютная величина которых лежит в пределах от А1 до В1, рассматривая элементы только первого столбца, элементы первого и второго столбца, первых трех столбцов и т.д.

Для двух заданных массивов В и С одинаковой длины составить процедуру, определяющую максимальное значение частного f(Bi)/f(Ci) для всех элементов заданных массивов.

Для каждой пары строки и столбца матрицы А с одинаковым номером определить максимальные значения отношений ().

Для заданного массива Р из n элементов составить процедуру, заменяющую нулями те его элементы, для которых f(Рi) меньше заданной величины, и считающую число таких замен.

В каждой строке матрицы А заменить нулями все элементы, модуль которых меньше W. Определить среднее арифметическое измененной матрицы.

Составить процедуру, которая для заданного массива С из n элементов формирует массив из элементов, для которых значение f(Сi) попадает на заданный отрезок.

Сформировать одномерный массив из элементов матрицы А, абсолютная величина которых попадает на отрезок [CA; 2CA], где СА - среднее арифметическое матрицы А.

Составить процедуру, которая находит номер первого от начала массива Т элемента, для которого f(Тi) больше заданной величины.

Для каждой строки матрицы А отпечатать элементы, начиная с элемента, абсолютная величина которого больше R.

Составить процедуру, определяющую максимальное и минимальное значение из f(Хi), где Х - заданный массив.

Определить максимальные и минимальные по модулю значения элементов строк матрицы А.

Для элементов двух массивов Р и В разной длины составить процедуру, определяющую максимальное значение f(Нi), где в качестве Нi выступают элементы из Р и В.

В матрице А найти номера строки и столбца, на пересечении которых находится минимальный по абсолютной величине элемент (один из них, если их несколько). Затем среди элементов найденных строки и столбца определить максимальный.

Составить процедуру, которая из двух заданных массивов В и С одинаковой длины строит новый массив Т по правилу: Тi = .

Используя в качестве f1 синус, а в качестве f2 косинус, сформировать новую матрицу Е по правилу: первая строка формируется из двух первых строк матрицы А, вторая строка - из третьей и четвертой строк матрицы А и т.д.

Для заданного массива С из n элементов составить процедуру, подсчитывающую количество случаев равенства f(Сi) заданной величине.

В матрице А определить, в какой строке находится наибольшее число элементов, целая часть которых равна 1.

Составить процедуру, которая из элементов двух заданных массивов С и Т (не обязательно одинаковой длины) формирует новый массив В, для элементов которого f(Вi) больше некоторой величины, и вычисляет произведение элементов найденного массива.

Используя процедуру, найти произведение тех элементов матрицы А и массива Р из n элементов, натуральный логарифм которых больше 2,3.

Составить процедуру, которая для заданного массива С из n элементов определяет диапазон значений f(Сi).

Определить диапазон абсолютных значений элементов каждого столбца матрицы А.

Для двух массивов В и С разной длины составить процедуру, определяющую, на каком элементе массива С f(Сi) максимально и на каком элементе массива В f(Вi) - минимально, а также произведение найденных элементов.

Используя в качестве f синус, применить процедуру к парам столбцов и строк матрицы А с одинаковыми номерами и определить максимальное из найденных значений.

Для массива Т из n элементов составить процедуру, формирующую массив из индексов элементов массива Т, для которых f(Тi) больше заданной величины.

В каждой строке матрицы А распечатать только те элементы, десятичный логарифм которых больше G.

Для двух массивов В и С одинаковой длины составить процедуру, формирующую массив Т, по длине совпадающий с исходными, каждый элемент которого Тk равен сумме Вi и Сi в случае, если f2(Сi) > f1(Вi) > 0. Если массив Т по длине получается меньше исходных, то он дополняется нулями.

Используя в качестве f1 синус, а в качестве f2 косинус, сформировать матрицу Е из А по правилу: первая строка матрицы Е формируется с помощью процедуры из двух первых столбцов матрицы А, вторая строка - из следующей пары столбцов и т.д.

Для двух заданных целочисленных массивов К и М разной длины составить процедуру, формирующую третий массив L из элементов массива М, не совпадающих ни с одним из элементов массива f(К1), f(К2), ..., f(Кn), где n - длина массива К.

Сформировать массив из тех элементов строк целочисленной матрицы А, начиная со второй строки, значе­ния которых не совпадают со значениями квадратов элементов первой строки матрицы А.

Для заданного массива Р составить процедуру, которая заменяет нулями все элементы, для которых f(Рi) одинаково, и единицами все остальные элементы.

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

Для заданного массива Т составить процедуру, переставляющую в конец массива элементы, для которых f(Тi) больше заданной величины.

В столбцах матрицы А переместить в конец все элементы, модуль которых больше S.

Для заданного массива В составить процедуру формирования массива из индексов элементов, для которых f1(Bi) > f2(Bi).

Для каждой строки матрицы А определить сумму тех элементов, для которых k .

Составить процедуру, которая в заданном массиве С заменяет нулями элементы, не превышающие , где n - количество элементов в массиве С, а В - некоторая величина.

Задав в качестве f синус и В равное 5, применить процедуру к каждому столбцу матрицы А, подсчитав, как при этом изменится среднее арифметическое матрицы А.

Для двух заданных массивов С и В разной длины составить процедуру, которая находит все элементы, для которых значения функции f от них меньше заданной величины.

Сформировать новый массив из элементов матрицы А и заданного массива Т, абсолютная величина которых меньше некоторого Z.

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

Применить процедуру к строкам матрицы А (строка соответствует массиву В), используя в качестве массива С главную диагональ матрицы, а в качестве функции f - натуральный логарифм. Вывести измененную матрицу и номер ее строки, сумма элементов которой минимальна

Составить процедуру, которая изменяет все элементы заданного массива С, кроме первого, по правилу Сii + .

Применить процедуру к каждой строке матрицы А, используя в качестве f функцию определения абсолютной величины. Вычислить также сумму элементов главной диагонали.

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

Изменить матрицу А по правилу: первая строка формируется процедурой из первых двух строк матрицы А, вторая строка - из второй и третьей строк матрицы А и т. д. В качестве функции f использовать функцию синуса.

Составить процедуру, заменяющую нулями все элементы исходного массива Х, для которых выполняется условие f(Хi)<Хi, а затем переставляет все нули в конец массива Х.

Используя в качестве f многочлен х2-5х-7, применить процедуру к каждой строке матрицы А. Вывести часть матрицы, состоящую из первых столбцов без нулевых элементов.

Для заданного массива Х составить процедуру, вычис­ляющую значения функции f только для положительных элементов массива Х и вычисляющую , где Р - сумма найденных значений функции.

Используя в качестве f десятичный логарифм, применить процедуру поочередно: к совокупности элементов всей матрицы, к совокупности строк со второй по последнюю, с третьей по последнюю и т. д. В = 5.

Составить процедуру, которая для заданного массива Р вычисляет значение .

Используя в качестве f1 синус, а в качестве f2 косинус, применить процедуру к 10 квадратным частям матрицы А поочередно. Каждый часть задана индексами левого верхнего элемента и числом элементов в строке.

Для двух заданных массивов С и М составить процедуру, которая формирует массив К из значений функции f(Сi), а затем выделяет из массива М значения, которые совпадают с каким-либо значением из К.

Найти элементы целочисленной матрицы А, равные целой части какого-либо из элементов заданного массива Р.

Для заданного массива Т из n элементов составить процедуру, определяющую сумму значений f(Тi), попадающих в заданный интервал.

Для матрицы А определить сумму элементов, абсолютная величина которых лежит в пределах от C до D, рассматривая элементы только первой строки, элементы первой и второй строк, первых трех строк и т.д.

Для заданного массива В составить процедуру, определяющую отрезок, на который попадают все значения f(Вi).

Применить процедуру для k частей матрицы А. Часть матрицы состоит из элементов, образующих прямоугольный треугольник с гипотенузой на главной диагонали. Часть задается индексами элемента, лежащего в вершине прямого угла. В качестве f использовать ex