- •Системы программирования
- •Разработка программ из нескольких функций. Обработка двумерных массивов
- •Применение адресов и указателей при возврате из функций нескольких значений
- •Программирование с возвратом из функции структур
- •Задание
- •Основы программирования в системе Code::Blocks Инструкция по работе в Code::Blocks
- •Разработка программ из нескольких функций. Вычисление значения интегралов
- •Задание
- •Библиографический список
- •Типы данных
- •Содержание
Разработка программ из нескольких функций. Вычисление значения интегралов
Пример. Вычислить значение интеграла двумя методами: методом прямоугольников и методом трапеций. Для каждого метода составить отдельную подпрограмму.
Подынтегральная функция 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 частей.
Библиографический список
ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов, пpогpамм, данных и систем. – М. : Изд-во стандартов, 1991. – 26 с.
Крылов, Е.В. Техника разработки программ / Е.В. Крылов, В.А. Острейковский, Н.Г. Типикин. – М. : Высш. шк., 2008. – 469 с.
Пpогpаммиpование на С и С++ : практикум / А.В. Кpячков [и дp.]. – М. : Радио и связь, 1997. – 344 с.
Макогон, В.С. Язык программирования Си для начинающих / В.С. Макогон. – Одесса : НПФ "АСТРОПРИНТ", 1993. – 96 с.
Методы проектирования программ : метод. указания / сост. О. П. Шафеева. – Омск : Изд-во ОмГТУ, 2004. – 32 с.
Павловская, Т.А. С/С++. Программирование на языке высокого уровня / Т.А. Павловская. – СПб. : Питер, 2002. – 462 с.
Подбельский, В.В. Программирование на языке Си / В.В. Подбельский, С.С. Фомин. – М., 2000. – 600 с.
Флоренсов, А.Н. Введение в программирование. Семантический подход : учеб. пособие / А.Н. Флоренсов. – Омск : Изд-во ОмГТУ, 1998. – 220 с.
Численные методы : метод. указания / сост.: О. Б. Малков, Е. Т. Гегечкори. – Омск : Изд-во ОмГТУ, 1995. – 28 с.
Шафеева, О.П. Технологии программирования. С++ : учеб. пособие / О.П. Шафеева. – Омск : Изд-во ОмГТУ, 2007. – 80 с.
Программирование на языке С : метод. указания / сост. О. П. Шафеева, Ю. Г. Каворина, Г. С. Шукурова. – Омск : Изд-во ОмГТУ, 2008. – 72 с.
Приложение А
Операции языка С/С++
Вес |
Знак |
Наименование операции |
Вид операции |
Порядок |
1 |
( ) [] .
->
|
вызов функции выделение элемента массива выделение элемента структуры или объединения выделение элемента структуры, адресуемой (го) указателем |
выражение |
слева направо |
2 |
! ~ - ++ -- & * (тип) sizeof |
логическое отрицание побитовое отрицание изменение знака (унарный минус) увеличение на 1 (инкремент) уменьшение на 1 (декремент) определение адреса обращение по адресу преобразование типа определение размера в байтах |
унарные |
справа налево |
3 |
* / % |
умножение деление остаток от деления |
бинарные арифметич. |
|
4 |
+ - |
сложение вычитание |
бинарные арифметич. |
|
5 |
<< >> |
сдвиг влево сдвиг вправо |
сдвига |
|
6 |
< <= > >= |
меньше чем меньше или равно больше чем больше или равно |
отношения |
|
7 |
== != |
равно неравно |
отношения |
|
8 |
& |
поразрядная операция "И" |
побитовая |
|
9 |
^ |
«исключающее "ИЛИ"» |
побитовая |
|
10 |
| |
поразрядная "ИЛИ" |
побитовая |
|
11 |
&& |
логическая операция "И" |
логическая |
|
12 |
|| |
логическая операция "ИЛИ" |
логическая |
|
13 |
? : |
условная операция |
тернарная |
|
14 |
=
+= -= *= /= %= <<= >>= &= |= ^= |
простое присваивание составные присваивания: сложение с присваиванием вычитание с присваиванием умножение с присваиванием деление с присваиванием остаток от деления с присваиванием сдвиг двоичного числа влево с присв. сдвиг двоичного кода вправо с присв. побитовая операция "И" с присв. поразрядная операция "ИЛИ" c присв. исключающее "ИЛИ" с присв. |
присваивания бинарные
(для двоичных операндов) |
|
15 |
, |
операция "запятая" (соединения) |
тернарная |
|
Приложение Б