4. Ввести матрицу А(4,4). Поменять в ней местами столбцы и строки, т.е. произвести транспонирование матрицы.
5. Ввести матрицу А(3,4). Найти среднее арифметическое всех её элементов.
6. Ввести матрицу А(25). Вычислить разницу между максимальным и минимальным элементами.
7. Ввести матрицу А(4,5). Найти в ней минимальные элементы и на их место записать 0.
8. Ввести 20 целых чисел. Определить сколько из них принимает наименьшее значение.
9. Ввести матрицу А(4,5). Найти в ней минимальный и максимальный элемент. Напечатать позиции этих элементов.
10. Ввести 20 целых чисел. Определить среди них минимальное и максимальное число. Найти сумму чисел расположенных между максимальным и минимальным числами, включая и оба этих числа.
Как и в любом другом языке программирования в Pascal можно некоторые относительно самостоятельные фрагменты программы оформить в подпрограммы.
Подпрограммы имеют своё имя, к ним обращаются по имени из основной программы или другой подпрограммы, при этом подпрограммы могут иметь параметры в круглых скобках, которые определяют вариант её выполнения. Подпрограммы делятся на процедуры и функции.
Любая подпрограмма подобна программе: у неё есть заголовок, начало, тело подпрограммы, конец. В подпрограмме могут быть метки, константы, переменные, свои подпрограммы. Подпрограмма должна быть описана до того как она будет использована и всегда перед основным Begin. В подпрограммах используются те же операторы, что и в обычной программе.
Принципиальное отличие этих двух программных единиц состоит в том, что функция используется для тех подпрограмм, которые возвращают в качестве результата работы одно единственное значение, в то время как процедура позволяет возвращать несколько значений (например, массив).
Обращение к функции осуществляется в правой части оператора присваивания или внутри оператора Writeln, при этом в выражении записываются имя функции и фактические параметры.
Обращение к процедуре осуществляется оператором процедуры, в котором записываются её имя и фактические параметры. При этом имя процедуры записывается отдельной строкой.
Любую функцию, перед тем как её использовать в программе, необходимо описать и задать. Секция описания функций начинается с ключевого слова FUNCTION.
Форма записи:
FUNCTION f(x:тип):тип;
Begin
f:=выражение
end;
Далее в программе к функции обращаются по f(x).
Если в некоторой подпрограмме нужно вычислить несколько значений или одно значение сложного типа (матрица), то нужно использовать не функции, а процедуры.
Процедура в чем-то похожа на функцию, также имеет имя, параметры, тело подпрограммы отличия от функции заключаются в описании и вызове.
Общая форма записи:
Procedure Имя (x, y: real; var z: boolean; var r: real);
Параметры делятся на два вида:
1. Невозвращаемые (входные) (без var- x, y)
2. Возвращаемые (выходные) (с var - z, r)
Возвращаемые параметры - это результат процедуры. И те, и другие могут отсутствовать. Отличие процедуры и функции различаются при вызове.
Функции вызываются внутри Writeln (имя_ функции) или справа от оператора присваивания в составе выражений у: = имя_ функции (х); процедура всегда вызывается отдельной строкой.
х:= 2; у:=4;
имя_ процедуры (x, y, z);
Пример выполнения задания 5.
Цель расчёта – приобретение опыта в решении задач с использованием процедур и функций.
Постановка задачи 1:
Написать функцию, которая вычисляет значение ab. Числа a и b могут быть любыми дробными положительными числами.