Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РЕШЕНИЕ ФУНКЦИОНАЛЬНЫХ И ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧ.doc
Скачиваний:
25
Добавлен:
25.11.2018
Размер:
4.81 Mб
Скачать

1.10 Процедуры и функции

Цель: Умение составлять и использовать функции и процедуры.

Рассмотрим конкретный пример.

Задание1: Даны действительные числа s,t. Используя функцию, получить f(s,2t,0.12) + f(-1,t,s/2), вывод результата оформить в виде процедуры, где

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

Математическая модель представляется так: исходные данные s,t результат –f.

Алгоритм решения задачи: запишем алгоритм решения поставленной задачи с помощью блок-схемы (описываем только процедуру вычисления значения функции).

возврат

Программа: Установите компоненты на форме и измените свойство Caption для каждого компонента в соответствии с рисунком 20.

Рисунок 20 - Образец размещения компонентов на форме

Для компонента BitBtn1 (кнопка Закрыть) в инспекторе объектов измените свойство Kind – bkClose.

Двойным щелчком по компоненту Button1 (кнопка Вычислить) автоматически создается в окне кода стандартная структур. В данную структуру впишите часть программы (у каждого варианта своя индивидуальная часть программы). Для задания 1 эта часть выглядит следующим образом:

procedure TForm1.Button1Click(Sender: TObject);

var s,t,rez:real;

procedure result;

begin

rez

Label3.Caption:=FloatToStr(rez);

end;

function f(a,b,c:real):real;

описание функции f

begin

f:=(sqrt(sqr(a)+exp(3*ln(b)))+c)/(a+c)*(c+b);

end;

begin

s:=StrToFloat(Edit1.Text);

описание процедуры Tform1.Button1Click

t:=StrToFloat(Edit2.Text);

rez:=f(s,2*t,0.12)+f(-1,t,s/2);

result;

end;

Таблица 12 - Индивидуальные варианты лабораторной работы №10

В

Варианты индивидуальных заданий

Для заданных N и x1,x2,…,xn написать программу, используя подходящую функцию.

1

2

Продолжение таблицы 12

3

4

5

6

r=min(x1,x2,…,xn); v=min

7

r=max(); v=max

8

r=min() v=min

9

r=min(); v=min()

10

r=max v=max

В следующих примерах используется обозначение

11

S=

12

S=

13

14

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

15

Написать программу вычисления площади треугольника по формуле Герона. Вычисление площади оформить в виде функции.

Продолжение таблицы 12

16

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

17

Написать программу, вводящую четыре числа: координаты двух векторов на плоскости (x1,y1,x2,y2) и определяющую, являются ли они коллинеарными. Проверку коллинеарности оформить в виде логической функции.

18

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

19

Написать программу вычисления наибольшего общего делителя (НОД) и наименьшего общего кратного (НОК) двух натуральных чисел. Вычисление НОД и НОК оформить в виде функции.

20

Даны действительные числа s, t. Используя функцию, получить f(s,4*t)+f(t,-0.2), вывод результата оформить в виде процедуры, где

21

Даны действительные числа s, t. Используя функцию, получить f(t,s)+f(s,0.2*t), вывод результата оформить в виде процедуры, где ;

22

Даны действительные числа s, t. Используя функцию, получить f(1,t,s)-f(s,2*t,3), вывод результата оформить в виде процедуры, где ;

23

Даны действительные числа s, t. Используя функцию, получить f(s,-1,t)*f(s,t,2), вывод результата оформить в виде процедуры, где ;

Продолжение таблицы 12

24

Даны действительные числа s, t. Используя функцию, получить f(-t,0.3*s)/f(-s,t), вывод результата оформить в виде процедуры, где ;

25

Даны действительные числа s, t. Используя функцию, получить f(t,s,1)*f(s,0.2,t), вывод результата оформить в виде процедуры, где ;

26

Даны действительные числа s, t. Используя функцию, получить f(s,4*t)-f(t,-0.2), вывод результата оформить в виде процедуры, где ;

27

Даны действительные числа s, t. Используя функцию, получить f(t/2,s)+f(t,3s), вывод результата оформить в виде процедуры, где

28

Даны действительные числа s, t. Используя функцию, получить f(s/2,t)-f(s,t/2), вывод результата оформить в виде процедуры, где

29

Даны действительные числа s, t. Используя функцию, получить f(s,2,t)*f(s,t,-1), вывод результата оформить в виде процедуры, где

30

Даны действительные числа s, t. Используя функцию, получить f(t,s,1)*f(s,0.5,t), вывод результата оформить в виде процедуры, где ;