Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторная работа № 6
студента группы XXX
XXXXXXXXXXXXXXXXX
Выполнение____________ Защита____________
ПРОЦЕДУРЫ И ФУНКЦИИ
Цель работы: научиться организовывать и использовать процедуры
и функции.
СОДЕРЖАНИЕ РАБОТЫ
1. Составить блок-схему, подпрограмму-процедуру и подпрограмму функцию для вычисления значений элементов aij матрицы A = ||aij||nm по формуле aij = z(xi, yj), где xi = a + (i 1)×h1, yj = c + (j 1)×h2, где h1 = (b a)/n, h2 = (d c)/m, i = 1, 2, …, n+1, j = 1, 2, …, m+1, z = z(x, y) функция, заданная в варианте задания.
2. Составить подпрограмму-процедуру для вычисления матрицы B, элементы строк которой равны элементам строк матрицы А, расположенных в порядке убывания (возрастания).
3. Составить подпрограмму-процедуру для вычисления матрицы строки (вектора) Х.
4. Составить подпрограмму-процедуру для вычисления матрицы Х' (вектор столбец). Х' транспонированная матрица Х.
5. Используя составленные выше процедуры и функцию, нарисовать блок-схему, написать программу для вычисления величины M = X×A×X'. Вариант задания см. в лабораторной работе № 5.
КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Процедура и функция это именованная последовательность описаний и операторов. При использовании процедур или функций Паскаль-программа должна содержать текст процедуры или функции и обращение к процедуре или функции. Тексты процедур и функций помещаются в раздел описаний процедур и функций.
Процедура может содержать такие же разделы описаний, что и Паскаль-программа, а именно: разделы описания модулей, меток, констант, типов, переменных, процедур и функций. В заголовке функции определяется идентификатор функции, формальные параметры (если они имеются) и тип результата функции. Примеры описания процедуры и функции:
procedure NumString(N: integer; var S: string);
var
V: integer;
begin
V := Abs(N); S := ' ';
...
end;
function Max(a: Vector; n: integer): real;
var
x: real; i: integer;
begin
x := a[1];
for i := 2 to n do if x < a[i] then x := a[i];
Max := x;
end;
Процедура активизируется с помощью оператора процедуры, в котором содержатся имя процедуры и необходимые параметры. Пример вызова процедуры и функции:
NumString(25432, str);
rMax := Max(rV, 10);
ХОД РАБОТЫ
Рис.1. Блок-схема FunZ.
Рис. 2. Блок-схема ComputeA
Рис.3. Блок-схема ComputeB
Рис. 4. Блок-схема ComputeX
Рис. 5. Блок-схема ComputeXt
Рис. 6. Блок-схема ComputeM
Рис. 7. Блок-схема программы