ВУЗ:
Составители:
Рубрика:
80
{* главная программа *}
{*************************************************************}
Begin
GetMatr('A', A); {Вызов процедуры для ввода значений матрицы А}
GetMatr('B', B); {Вызов процедуры для ввода значений матрицы B}
{ алгоритм перемножения матриц }
For i1:= 1 to N do
For i2:= 1 to M do
begin
C[i1,i2]:= 0;
For i3:= 1 to N do
C[i1,i2]:= C[i1,i2] + A[i1,i2] * B[i3,i1];
end;
{ вывод значений результирующей матрицы }
For i1:= 1 to N do
begin
For i2:= 1 to M do
Write(' C[',i1:1, ',', i2:1, '] = ', C[i1,i2]:8:3);
WriteLn; { перевод на новую строку }
end;
End. { конец главной программы }
11.3. Различия между процедурами и функциями
Главное различие (из которого следуют все остальные) состоит в том, что функция всегда
возвращает, причем в явной форме, одно-единственное значение, которое может быть
использовано в качестве составной части выражения; процедура такого значения не
возвращает. Однако применительно к процедуре все же можно говорить о возвращаемой
информации - процедура способна изменять значения своих параметров (тех, что описаны с
атрибутом VAR).
Помимо главного различия можно отметить ряд второстепенных различий
синтаксического характера. Так, например, заголовок функции всегда завершается указанием
типа возвращаемого значения. В заголовке процедуры такая информация не нужна. Для
функции типично, чтобы в качестве последнего шага имени функции было назначено
некоторое вычисленное значение. В процедурах этого нет. И наконец, еще одно различие.
Поскольку функция возвращает какое-то значение, вызов функции может появляться прямо
в выражении. Вызов процедуры не может быть частью выражения - это всегда отдельное
предложение.
Контрольные вопросы
1. Для чего предназначены функции?
2. Для чего предназначены процедуры?
3. Чем отличаются формальные и фактические параметры?
4. Опишите способы передачи параметров в подпрограммы и их особенности?
4. Что включает в себя заголовок подпрограммы?
5. Чем отличаются глобальные и локальные переменные?
6. Какая разница между процедурой и функцией?
Задание к работе
1. Модифицируйте подпрограмму, вычисляющую степенную функцию так, чтобы она
вычисляла и отрицательные степени.
2.
Напишите подпрограмму, способную вычислять любые степени: положительные и
отрицательные, целочисленные и действительные.
3.
Выполните индивидуальное задание:
{* главная программа *} {*************************************************************} Begin GetMatr('A', A); {Вызов процедуры для ввода значений матрицы А} GetMatr('B', B); {Вызов процедуры для ввода значений матрицы B} { алгоритм перемножения матриц } For i1:= 1 to N do For i2:= 1 to M do begin C[i1,i2]:= 0; For i3:= 1 to N do C[i1,i2]:= C[i1,i2] + A[i1,i2] * B[i3,i1]; end; { вывод значений результирующей матрицы } For i1:= 1 to N do begin For i2:= 1 to M do Write(' C[',i1:1, ',', i2:1, '] = ', C[i1,i2]:8:3); WriteLn; { перевод на новую строку } end; End. { конец главной программы } 11.3. Различия между процедурами и функциями Главное различие (из которого следуют все остальные) состоит в том, что функция всегда возвращает, причем в явной форме, одно-единственное значение, которое может быть использовано в качестве составной части выражения; процедура такого значения не возвращает. Однако применительно к процедуре все же можно говорить о возвращаемой информации - процедура способна изменять значения своих параметров (тех, что описаны с атрибутом VAR). Помимо главного различия можно отметить ряд второстепенных различий синтаксического характера. Так, например, заголовок функции всегда завершается указанием типа возвращаемого значения. В заголовке процедуры такая информация не нужна. Для функции типично, чтобы в качестве последнего шага имени функции было назначено некоторое вычисленное значение. В процедурах этого нет. И наконец, еще одно различие. Поскольку функция возвращает какое-то значение, вызов функции может появляться прямо в выражении. Вызов процедуры не может быть частью выражения - это всегда отдельное предложение. Контрольные вопросы 1. Для чего предназначены функции? 2. Для чего предназначены процедуры? 3. Чем отличаются формальные и фактические параметры? 4. Опишите способы передачи параметров в подпрограммы и их особенности? 4. Что включает в себя заголовок подпрограммы? 5. Чем отличаются глобальные и локальные переменные? 6. Какая разница между процедурой и функцией? Задание к работе 1. Модифицируйте подпрограмму, вычисляющую степенную функцию так, чтобы она вычисляла и отрицательные степени. 2. Напишите подпрограмму, способную вычислять любые степени: положительные и отрицательные, целочисленные и действительные. 3. Выполните индивидуальное задание: 80
Страницы
- « первая
- ‹ предыдущая
- …
- 78
- 79
- 80
- 81
- 82
- …
- следующая ›
- последняя »