Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

PDF / INTEGRATION

.pdf
Скачиваний:
40
Добавлен:
07.01.2014
Размер:
49.68 Кб
Скачать

1: program INTEGRATION; 2:

3:

const

 

4:

a =

3;

5:b = -63;

6:c = 416;

7:d = -837;

9:range_start = 4;

10:range_end = 7;

11:step_count = 10;

12: step = (range_end - range_start)/step_count; 13:

14:

15:function f(x: real): real; // вычисление значений функции

16:begin

17:f:=x*x*x*a + x*x*b + x*c + d;

18:end;

19:

20:procedure rectangles_forward; // метод прямоугольников "вперед"

21:var

22:i: integer;

23:S: real;

24:begin

25:S:=0;

26:for i:=0 to step_count-1 do

27:S:=S + f(range_start + step*i);

28:S:=S*step;

29: WriteLn(' метод прямоугольников вперед : ', S:12:6); 30: end;

31:

32:procedure rectangles_rearward; // метод прямоугольников "назад"

33:var

34:i: integer;

35:S: real;

36:begin

37:S:=0;

38:for I:=1 to step_count do

39:S:=S + f(range_start + step*i);

40:S:=S*step;

41: WriteLn(' метод прямоугольников назад : ', S:12:6); 42: end;

43:

44:procedure rectangles_average; // метод прямоугольников "в середине"

45:var

46:i: integer;

47:S: real;

48:begin

49:S:=0;

50:for i:=0 to step_count-1 do

51:S:=S + f(range_start + step*i + step/2);

52:S:=S*step;

53:WriteLn(' метод прямоугольников "посередине" : ', S:12:6);

54:end;

55:

56:procedure trapezium; // метод трапеций

57:var

58:i: integer;

59:S: real;

60:begin

61:S:=0;

62:for i:=0 to step_count-1 do

63:S:=S + (f(range_start + step*i) + f(range_start + step*(i+1)));

64:S:=S*(step/2);

65: WriteLn(' метод трапеций : ', S:12:6); 66: end;

67:

68:procedure simpson; // метод Сипмсона

69:var

70:i: integer;

71:S: real;

72:mult: byte;

73:begin

74:S:=0;

75:mult:=1;

76:for i:=0 to step_count do

77:begin

78:if i mod 2 = 0 then mult:=4 else mult:=2;

79:if (i = step_count) or (i=0) then mult:=1;

80:S:=S + mult*f(range_start + step*i);

81:end;

82:S:=S*(step/3);

83: WriteLn(' метод Симпсона : ', S:12:6); 84: end;

85:

86:begin

87:WriteLn('-- Вычисление определенного интеграла --');

88:rectangles_forward;

89:rectangles_rearward;

90:rectangles_average;

91:trapezium;

92:simpson;

93:ReadLn;

94:end.

Соседние файлы в папке PDF