Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Копия СистемыПрограммирования.doc
Скачиваний:
26
Добавлен:
30.03.2015
Размер:
1.55 Mб
Скачать

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

Пример. Вычислить значение интеграла двумя методами: методом прямоугольников и методом трапеций. Для каждого метода составить отдельную подпрограмму.

Подынтегральная функция f = pow((x+1),(-1/3)).

# include <stdio.h>

# include <math.h>

double mpr(double a,double h,int n)

{

double s = 0, i2;

int i;

for (i=1; i<(n+1); i++)

s = s + pow(((a+(i-0.5)*h)+1), (-1/3.0));

i2 = h*s;

return i2;

}

double mtr(double a,double b,double h,int n)

{

double s = 0, i3;

int i;

for (i=1; i<n; i++)

s+ = pow(((a+i*h)+1),(-1/3.0));

i3=h*((pow((a+1),(-1/3.0))+pow((b+1),(-1/3.0)))/2+s);

return i3;

}

void main()

{

double a,b,h;

int n;

printf("Введите границы отрезка интегрирования\n");

scanf("%lg %lg",&a,&b);

printf("Введите количество отрезков разбиения\n");

scanf("%d",&n);

h = (double)(b-a)/n;

printf("Интеграл по методу прямоугольников равен %lg\n", mpr(a,h,n));

printf("Интеграл по методу трапеций равен %lg\n", mtr(a,b,h,n));

}

Задание

Разработать программу для вычисления значения определенного интеграла на интервале [a,b] (a, b подобрать самостоятельно) численными методами прямоугольников и трапеций [9] для следующих вариантов.

1. 2. 3.

4. 5. 6.

7. 8. 9.

10. 11. 12.

13. 14. 15.

16. 17. 18.

19. 20.

Интервал интегрирования разбить равномерно на N > 50 частей.

Библиографический список

  1. ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов, пpогpамм, данных и систем. – М. : Изд-во стандартов, 1991. – 26 с.

  2. Крылов, Е.В. Техника разработки программ / Е.В. Крылов, В.А. Острейковский, Н.Г. Типикин. – М. : Высш. шк., 2008. – 469 с.

  3. Пpогpаммиpование на С и С++ : практикум / А.В. Кpячков [и дp.]. – М. : Радио и связь, 1997. – 344 с.

  4. Макогон, В.С. Язык программирования Си для начинающих / В.С. Макогон. – Одесса : НПФ "АСТРОПРИНТ", 1993. – 96 с.

  5. Методы проектирования программ : метод. указания / сост. О. П. Шафеева. – Омск : Изд-во ОмГТУ, 2004. – 32 с.

  6. Павловская, Т.А. С/С++. Программирование на языке высокого уровня / Т.А. Павловская. – СПб. : Питер, 2002. – 462 с.

  7. Подбельский, В.В. Программирование на языке Си / В.В. Подбельский, С.С. Фомин. – М., 2000. – 600 с.

  8. Флоренсов, А.Н. Введение в программирование. Семантический подход : учеб. пособие / А.Н. Флоренсов. – Омск : Изд-во ОмГТУ, 1998. – 220 с.

  9. Численные методы : метод. указания / сост.: О. Б. Малков, Е. Т. Гегечкори. – Омск : Изд-во ОмГТУ, 1995. – 28 с.

  10. Шафеева, О.П. Технологии программирования. С++ : учеб. пособие / О.П. Шафеева. – Омск : Изд-во ОмГТУ, 2007. – 80 с.

  11. Программирование на языке С : метод. указания / сост. О. П. Шафеева, Ю. Г. Каворина, Г. С. Шукурова. – Омск : Изд-во ОмГТУ, 2008. – 72 с.

Приложение А

Операции языка С/С++

Вес

Знак

Наименование операции

Вид

операции

Порядок

1

( )

[]

.

->

вызов функции

выделение элемента массива

выделение элемента структуры или объединения

выделение элемента структуры, адресуемой (го) указателем

выражение

слева направо

2

!

~

-

++

--

&

*

(тип)

sizeof

логическое отрицание

побитовое отрицание

изменение знака (унарный минус)

увеличение на 1 (инкремент)

уменьшение на 1 (декремент)

определение адреса

обращение по адресу

преобразование типа

определение размера в байтах

унарные

справа налево

3

*

/

%

умножение

деление

остаток от деления

бинарные

арифметич.

4

+

-

сложение

вычитание

бинарные

арифметич.

5

<<

>>

сдвиг влево

сдвиг вправо

сдвига

6

<

<=

>

>=

меньше чем

меньше или равно

больше чем

больше или равно

отношения

7

==

!=

равно

неравно

отношения

8

&

поразрядная операция "И"

побитовая

9

^

«исключающее "ИЛИ"»

побитовая

10

|

поразрядная "ИЛИ"

побитовая

11

&&

логическая операция "И"

логическая

12

||

логическая операция "ИЛИ"

логическая

13

? :

условная операция

тернарная

14

=

+=

-=

*=

/=

%=

<<=

>>=

&=

|=

^=

простое присваивание

составные присваивания:

сложение с присваиванием

вычитание с присваиванием

умножение с присваиванием

деление с присваиванием

остаток от деления с присваиванием

сдвиг двоичного числа влево с присв.

сдвиг двоичного кода вправо с присв.

побитовая операция "И" с присв.

поразрядная операция "ИЛИ" c присв.

исключающее "ИЛИ" с присв.

присваивания

бинарные

(для двоичных операндов)

15

,

операция "запятая" (соединения)

тернарная

Приложение Б