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

1.5 Цикл с параметром

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

Рассмотрим данную тему на примерах.

Задание1: Составить программу вычисления выражения.

Дано натуральное число n и действительное число х. Найти сумму конечного ряда

Технология выполнения задания

Постановка задачи: Создать приложение вычисления суммы конечного ряда s.

Математическая модель представляется так: исходные данные – x, n, результат – s, i- параметр цикла.

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

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

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

Двойным щелчком по компоненту Button1 (кнопка Вычислить) автоматически создается в окне кода стандартная структур.

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

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

procedure TForm1.Button1Click(Sender: TObject);

var x,s:real;

i,n: integer;

begin

n:=StrToInt(Edit1.Text);

x:=StrToFloat(Edit2.Text);

s:=0;

for i:=1 to n do

s:=s+(sqr(x)-sin(i*x))/exp(i*ln(x));

Label3.Caption:='сумма ='+FloatToStrF(s,ffFixed,6,3);

end;

Задание2: Рассмотрим вычисление суммы ряда

Технология выполнения задания

Постановка задачи: Создать приложение вычисления суммы конечного ряда S.

Математическая модель представляется так: исходные данные – x, n, результат – S, k- параметр цикла.

Предварительная работа: Общее слагаемое суммы ai (i=1,2,…,n) выражается формулой . Однако использовать эту формулу для расчетов нерационально. Действительно, например, для определения а10 требуется вычислить (sin2x)11. Между тем при нахождении а9 было вычислено значение (sin2x)10, которое достаточно умножить на sin2x, чтобы получить нужную нам степень, а не вычислять ее заново. Для рационального вычисления общего члена конечной суммы, выведем рекуррентное соотношение, связывающее текущее слагаемое суммы с предыдущим. Рассмотрим отношение двух последующих слагаемых аi и ai-1

Запишем рекуррентные соотношения

Для начала счета по этим формулам нужно задать значения

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

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

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

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

procedure TForm1.Button1Click(Sender: TObject);

var x,s,a:real;

k,n: integer;

begin

n:=StrToInt(Edit1.Text);

x:=StrToFloat(Edit2.Text);

a:=x/sqr(sin(2*x));

s:=a;

for i:=2 to n do

begin

a:=a*x/sin(2*x);

s:=s+a

end;

Label3.Caption:='сумма ='+FloatToStrF(s,ffFixed,6,3);

end;

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

Задание3: Вычислить произведение N!=123…N (N - факториал).

Технология выполнения задания

Постановка задачи: Создать приложение вычисления факториала N.

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

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

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

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

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

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

procedure TForm1.Button1Click(Sender: TObject);

var f,N:real;

i: integer;

begin

N:=StrToInt(Edit1.Text);

f:=1;

for i:=2 to N do

f:=f*i;

Label2.Caption:='N! ='+FloatToStrF(f);

end;

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

В

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

1

Вычислить сумму для указанного значения х

2

Вычислить сумму для указанного значения х

3

Вычислить сумму для указанного значения х

4

Вычислить сумму для указанного значения х

5

Вычислить сумму для указанного значения х

6

Вычислить сумму для указанного значения х

7

Вычислить сумму для указанного значения х

8

Вычислить сумму для указанного значения х

9

Вычислить сумму для указанного значения х

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

10

Вычислить сумму для указанного значения х

11

Вычислить сумму для указанного значения х

12

Вычислить произведение для указанного значения х

13

Вычислить сумму для указанного значения х

14

Вычислить произведение для указанного значения х

15

Вычислить произведение для указанного значения х

16

Вычислить произведение для указанного значения х

17

Вычислить сумму

;

18

Вычислить сумму

;

19

Вычислить произведение

20

Вычислить произведение

;

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

21

Вычислить произведение

;

22

Вычислить сумму

;

23

Вычислить сумму

;

24

Вычислить сумму

;

25

Вычислить сумму

;

26

Вычислить сумму

;

27

Вычислить произведение

;

28

Вычислить сумму

;

29

Вычислить сумму

;

30

Вычислить сумму

;