МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ, МОЛОДІ ТА СПОРТУ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра БІ
З В І Т
до лабораторної роботи №3
з курсу: «Комп’ютерні методи дослідження інформаційних процесів і систем»
на тему: «Ітераційні методи розв’язування систем лінійних алгебраїчних рівнянь»
Варіант № 9
Львів – 2012р.
Мета роботи – ознайомлення з методами уточнення коренів нелінійних рівнянт з одним невідомим.
Завдання
Розв’язати систему лінійних алгебраїчних рівнянь класичним методом Гаусса.
, p=1; k=3.
Блок-схема алгоритму програми
/
Список ідентифікаторів констант, змінних, функцій,
використаних у блок-схемі алгоритму і програмі,
та їх пояснення
a,с – двовимірні масиви із елементами типу double;
x – одновимірний масив із значеннями коренів системи рівнянь;
i, j,L,n,K,m – змінні типу int з рівнем доступу public, що використовуються в коді програми;
Текст програми
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
int main ()
{
double a[4][5]; double x[4], x1[4], a1[4], a2[4];
int i,j,k,p;
double d,o,E,s,b,sn;
printf("vvedit znachennya pohubku E=");
scanf("%lf",&E);
printf("\n");
printf("vvedit znachennya p=");
scanf("%d",&p);
printf("\n");printf("vvedit znachennya k=");
scanf("%d",&k);
printf("\n");
s=0.2*k;
b=0.2*p;
a[0][0]=30.3;a[0][1]=12.62+s;a[0][2]=4.1;a[0][3]=1.9;a[0][4]=-10.55+b;
a[1][0]=3.92;a[1][1]=8.45;a[1][2]=-1.78+s;a[1][3]=1.4;a[1][4]=12.21;
a[2][0]=3.77;a[2][1]=1.21+s;a[2][2]=8.04;a[2][3]=0.28;a[2][4]=15.45-b;
a[3][0]=2.21;a[3][1]=3.65-s;a[3][2]=1.69;a[3][3]=9.99;a[3][4]=-8.35;
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
printf("%10.2lf ",a[i][j]);}
printf("\n");}
for(i=0;i<4;i++)
{
a1[i]=a[i][4]/a[i][i];
x[i]=a1[i];
a2[i]=a[i][i];
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
a[i][j]=a[i][j]/a2[i]*(-1);
a[i][i]=0;
}
d=1;
while(d<15)
{
for(i=0;i<4;i++)
x1[i]=x[i];
for(i=0;i<4;i++)
{
o=0;
for(j=0;j<4;j++)
o=o+(a[i][j]*x1[j]);
x[i]=a1[i]+o;
}
d=d+1;
}
for(i=0;i<4;i++)
{
printf("x[%d]=%lf",i+1,x1[i]);
printf("\n");
}
sn = 30.3*x[0] + (12.62+s)*x[1] + 4.1*x[2] + 1.9*x[3];
printf("sn=%lf",sn);
getch();
}
Результати роботи програми
/