Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Решение задания в Excel




Формулы, использованные в Excel:

для х1: =($E$6-$B$6*B11-$C$6*C11)/$A$6;

для х2: =($E$7-$A$7*A12-$C$7*C11)/$B$7;

для х1: =($E$8-$A$8*A12-$B$8*B12)/$C$8;

для нахождения максимума среди разностей:

=МАКС(ABS(A12-A11);ABS(B12-B11);ABS(C12-C11));

для определения приближенности к заданному значению:

=ЕСЛИ(D12<$D$10;"Стоп";"Продолжать").

Выполнение задания в Excel:

Алгоритм решения задачи:

 
 


xk+1,0=(b0-a01xk1-a02xk2)/a00

 
 

         
 
 
   
 
   


Текст программы в Си:

 

#include <stdio.h>

#include <conio.h>

#include <math.h>

int main()

{int a[3][3]={{4,-2,3},{2,3,1},{3,2,-5}}, i,j; float max;

int b[3]={14,-16,-8};

printf("massiv a[3][3]:");

for (i=0; i<3; i++)

{

printf("\n\n");

for (j=0; j<3; j++)

printf ("%d ", a[i][j]);

}

printf("\n\n\n");

printf("massiv b[3]:");

printf("\n\n");

for (i=0; i<3; i++)

printf("%d ", b[i]);

int k=0;

float x[42][3];

for (i=0; i<3; i++)

x[k][i]=0;

do {

x[k+1][0]=(b[0]-a[0][1]*x[k][1]-a[0][2]*x[k][2])/a[0][0];

x[k+1][1]=(b[1]-a[1][0]*x[k+1][0]-a[1][2]*x[k][2])/a[1][1];

x[k+1][2]=(b[2]-a[2][0]*x[k+1][0]-a[2][1]*x[k+1][1])/a[2][2];

float d[3];

for (i=0; i<3; i++)

d[i]=fabs(x[k+1][i]-x[k][i]);

for (i=0; i<3; i++)

{

max=d[0];

if (d[i+1]>max)

max=d[i+1];}

k++;

} while (max>0.000001);

printf("\n\n\n");

printf("vector resheniya X[3]:");

printf("\n\n");

for (i=0; i<3; i++)

printf("%f ", x[k][i]);

float s[3];

for (i=0; i<3; i++)

s[i]=0;

for (i=0; i<3; i++)

{

for(j=0; j<3; j++)

s[i]=s[i]+x[k][j]*a[i][j];

}

printf("\n\n\n");

printf("Proverka:");

printf("\n\n");

for (i=0; i<3; i++)

printf("%.0f ", s[i]);

getch();

}

 

Результат выполнения программы:

 

 

Заключение

 

В данной расчетно-графической работе я изучила метод Зейделя, который относится к методам простой итерации. При решении задачи в Excel я использовала математические функции МАКС, ABS, и логическую функцию ЕСЛИ.

При решении задачи в Си, я использовала два вида циклических операторов: оператор с постусловием и с параметрами. Оператор с постусловием я использовала, так как мне было неизвестно число повторов цикла, и он продолжался до тех пор, пока значение не приблизилось к заданному мной (т.е. 0,000001). А при проверке результата, т.е. при получении исходного массива b[3] при помощи вектора решения я использовала циклический оператор с параметрами for, так как число повторов известно, а значит он является более удобным.

 

Список использованной литературы

 

1. КерниганБ., РитчиД. ЯзыкпрограммированияСи = TheCprogramminglanguage. — 2-еизд. — М.: Вильямс, 2007. — С. 304.

2. Герберт Шилдт C: полное руководство, классическое издание = C: TheCompleteReference, 4thEdition. — М.: «Вильямс», 2010. — С. 704.

3. Прата С. Язык программирования С: Лекции и упражнения = C Primer Plus. — 1-е изд. — М.: Вильямс, 2006. — С. 960.

4. Кочан С. Программирование на языке Си = Programming in C. — 3-е изд. — М.: Вильямс, 2006. — С. 496.

5. Гукин Д. Язык программирования Си для «чайников» = C For Dummies. — М.: Диалектика, 2006. — С. 352.

6. http://vplaksina.narod.ru/uchebnik/algoritm.htm

 

 





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 365 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Либо вы управляете вашим днем, либо день управляет вами. © Джим Рон
==> читать все изречения...

2258 - | 1996 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.