Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ к Практическим.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
9.48 Mб
Скачать

Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.

Краткие теоретические и учебно-методические материалы по теме практической работы

Функции предназначены для вычисления какого либо значения (числового или текстового). У них три основных отличия от процедур.

Первое отличие - в записи заголовка. Заголовок функции имеет следующую структуру:

FUNCTION имя (список параметров: тип): тип результата;

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

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

Рассмотрим пример вычисления факториала числа N. Известно, что N! = N*(N-1)*(N-2)*(N-3)*…*2*1.

Функция для вычисления факториала может иметь следующий вид:

Function Factorial(N: Byte):Longint;

Var

Fact: Longint;

I: Byte;

Begin

Fact:=N;

For i:=N-1 downto 2 do Fact:=Fact*I;

Factorial:=Fact

End;

Вызов данной функции может иметь следующие виды:

  • Part:=Factorial(20)/b;

  • Part:=Factorial(M)+c/2;

  • Part:=Factorial(M+L);

К функциям можно обращаться тремя способами: из тела основной программы, из тела другой функции, из тела самой функции, т.е. функция может вызывать саму себя. Функции называются рекурсивными, если в описании функции происходит вызов самой себя, а процесс обращения – рекурсией.

Вопросы для закрепления теоретического материала к практическому занятию:

1. В чем состоит принципиальное отличие процедур от функций?

2. Чем отличается вызов функции от вызова процедуры?

3. Какой переменной присваивается значение в процедуре и в функции?

5. Какие функции называют рекурсивными?

Задания и инструкция по выполнению практической работы

  1. Напишите функцию поиска максимального числа. Измените программу, чтобы она находила максимальное из девяти чисел.

Введите код программы P9_1. Самостоятельно проведите модификацию программы и функции, так чтобы программа находила максимальное число из 9 чисел.

  1. Решите задачу 1 с использованием процедуры.

  2. Используя функцию IntPower, напишите программу, которая для заданных значений N и M вычисляет и выводит на экран значение функции z=xn +yn

  1. Переделайте функцию таким образом, чтобы в ней не было рекурсии. Можно использовать простую итерацию: xn=x*x*x*x*..*x (n-раз).

  2. Составьте программу вычисления величины S по формуле S = F(b)-F(a), где

Вычисление функции F(x) оформите в виде функции.

  1. Даны действительные числа s, t. Получить: g(1.2,s)+g(t,s)-g(2s-1.5t), где

(оформить в виде функции).

  1. Решите задачу по варианту, используя при решении функции нахождения a и b. Номер варианта, это номер Вашего ПК. Вычислить значения выражения z для своего варианта:

1. z= a+b;

6. z=sin(a)+b;

11. z=a-2b;

16. z=2b+sin(a);

2. z= ab;

7. z= btg (a);

12. z=atg(b);

17. z=4ba-b;

3. z= tg(b)-a;

8. z=a2+3b;

13. z=cos(ab);

18. z=2a-b;

4. z=(a+b)2;

9. z=(ab)1/4;

14. z=(a-b)/8;

19. z=2a-cos(b);

5. z=5ab-4;

10. z=ab-10;

15. z=ctg(2a)-b;

20. z=2a-b;

если

где i - номер варианта, x - целое число. Вывести значения a, b, z.