- •(1) Основные определения языка с. Алфавит языка. Структ. Прог.
- •Void main () - имя осн. Программы
- •(2) Осн. Типы данных. Константы.
- •(3) Выражения. Операторы.
- •Int i_arr[10]; char liter[80]; double l_mas[100];
- •(18) Понятие об указателях.Объявление и разыменовывание указателей.
- •(22)Динамические структуры данных. Списки.
- •(25)Вычисление интеграла методом прямоугольников c заданной точностью.
- •(26)Вычисление интеграла
- •Void main(){unsigned int I,n; float a,b,X,h,y,s;
- •Designed by barcas&kitty
(25)Вычисление интеграла методом прямоугольников c заданной точностью.
Для
вычисления первого приближения интеграла
разделим отрезок [a, b] на n равных частей
(n=4), определим значения x
i
=
a + h i
–
h / 2; h = ( b – a ) / n.
В
ычислим
площадь однако прямоуг-ка S
i
=
h * f ( x i
).
Сумма S
i
площадей этих прямоугольников является
приближенным значением интеграла:Однако
одно приближение н
е
позволяет оценить точность, с которой
вычислено значение интеграла, необходимо
найти второе приближение. Для этого
увеличим n в два раза, то есть n=2n.
Аналогично S1
найдем S2:
Требуется
вычислить значение интеграла с точностью
E,
поэтому проверим условие |S1-S2|<E.
Если условие выполняется, то S2
принимается за искомое значение
интеграла; если не выполняется, то
последнее выполненное значение S2
считается
предыдущим, то есть S1=
S2.
После этого удвоим число точек деления
отрезка и вычислим новое значение S2.
Процесс удвоение n
и
вычисление S2
будем продолжать до тех пор, пока модуль
разности S1
и
S2
не станет меньше E.
#include<stdio.h> #include<conio.h> #include<math.h> #define Pi 3.141592654
void main() {unsigned int i,n; float a,b,x,h,y,s;
printf("n="); scanf("%d",&n); a=0;b=Pi/3;s=0;x=a;
h=(b-a)/(1*n);
for (i=0;i<n;i=i+1) { y=sin(x); x=x+h;
if(i%2!=0) s=s+4*y; else if(i==0||i==n) s=s+y;
else s=s+2*y; } s=s*h/3;
printf("S=%f\n",s);getche();}
(26)Вычисление интеграла
с помощью формулы Симпсона. Вычисление интеграла по формуле Симпсона определяется путем деления отрезка [ a, b ] на множество более мелких отрезков. Формула Симпсона имеет вид:
Здесь N – четное число делений интервала интегрирования: x i = a + i ( b – a ) / N.
Алгоритм состоит в циклическом выполнении расчетов f (x i). При этом следует отдельно рассмотреть случаи для границ интегрирования f (a) и f (b) и учесть, что при нечетном номере вычисляемого элемента, значение функции умножается на 4, при четном – на 2. При конечных значениях отрезка умножение не производится.
#include<stdio.h> #include<conio.h> #include<math.h>
Void main(){unsigned int I,n; float a,b,X,h,y,s;
printf("n=");scanf("%d",&n); a=0;b=Pi/3;s=0;x=a;
h=(b-a)/(1*n); for (i=0;i<n;i=i+1)
{y=sin(x); x=x+h; if(i%2!=0) s=s+4*y; else if(i==0||i==n) s=s+y; else s=s+2*y; } s=s*h/3;
printf("S=%f\n",s); getche(); }
