Міністерство освіти і науки України
Український Державній Університет Водного господарства і природо
користування
Кафедра електротехніки і автоматики
Курсова робота
з дисципліни “Програмування і алгоритмічні мови”
на тему:
“Обробка масиву та використання простої ітерації .”
Виконав:
студент 1-го курсу
ФПМ і КІС
АУТП 12
Лотоцький М.
Перевірив:
Пастушенко
Рівне 2002
Завдання
Завдання. Скласти на одній з алгоритмічних мов програму, що запускається
і видає на екран меню з двох пунктів (рішення системи, вихід).
На вибір першої опції меню ввести з чи клавіатури згенерувати за
допомогою вбудованого в мову генератора псевдовипадкових чисел
(запросити спосіб) матрицю коефіцієнтів при невідомих і масив вільних
членів системи n рівнянь з n невідомими і, при виконанні необхідних умов
одержати рішення системи за допомогою методу ітерацій з точністю
0.000001. Прийняти, що 2 ( n ( 10. Значення n=6 ввести з клавіатури по
запиту програми. Здійснити перевірку отриманого рішення.
На вибір другої опції чи меню натисканні користувачем на клавішу ESC
здійснити вихід із програми.
Зміст
Вступ………………………………………………………….
…………………………………………………………3
Задача і теорія
ітерації……………………………………………………….
……………..4
Текст
програми……………………………………………………….
…………………………………5
Приклад………………………………………………………..
…………………………………………………..11
Висновок……………………………………………………….
………………………………………………… 12
Література……………………………………………………..
………………………………………………..13
Вступ
Для закріплення здобутих теоретичних знань, застосування їх при
вирішенні питань математичного характеру, а також з метою набуття
навиків по створенню програмного забезпечення , виконується курсова
робота з дисципліни “Програмування та алгоритмічні мови” . В курсовій
роботі необхідно розробити програму на мові програмування C++,яка
знаходила корені системи рівняннь за допомогою методу простої ітерації
.Важливо також щоб програма була універсальною, тобто працювала при
різних даних.
Задача і теорія ітерації
Завдання. Скласти на одній з алгоритмічних мов програму, що запускається
і видає на екран меню з двох пунктів (рішення системи, вихід).
На вибір першої опції меню ввести з чи клавіатури згенерувати за
допомогою вбудованого в мову генератора псевдовипадкових чисел
(запросити спосіб) матрицю коефіцієнтів при невідомих і масив вільних
членів системи n рівнянь з n невідомими і, при виконанні необхідних умов
одержати рішення системи за допомогою методу ітерацій з точністю
0.000001. Прийняти, що 2 ( n ( 10. Значення n=6 ввести з клавіатури по
запиту програми. Здійснити перевірку отриманого рішення.
Ітераційні методи мають в основі своїй повторювальні процеси уточнення
коренів заданої точності.У більшості випадків самі реалізації методів є
не складними, однак для досягнення заданої точності вимагається досить
велика кількість повторів.
Нехай задана СЛАР
Одним із методів ітерації є метод Якобі . Розпишемо :
А=Ав+Ан+d, де
Ан= d= Ав=
Ітераційний процес виду
при домножуючій матриці С=d відповідає методу простої ітерації . Цей
метод називається ще методом Якобі у компонентній формі система (10)
матиме вигляд :
Систему (11) зручно використовувати при чисельній реалізації методу на
ЕОМ.(в нашому випадку)
Встановимо умови збіжності ітераційного процесу (10),(12) . Для цього
визначимо норму відображаючого оператора . В якості норми виберемо (суму
норми елементів матриці ) , тоді
Тепер дана умова (13) визначає критерій для збіжності ітераційного
процесу і передбачає обв’язковість діагональної переввваги матриці А .
Таким чином перед використанням ітераційних співвідношень методу Якобі
необхідно спочатку перевірити матрицю А на діагональну перевагу . Якщо
(13) виконується, то в якості помножуючою матриці вибирається обернена
до діагональної частини матриці А : С=D . Якщо ж умова діагональної
переваги не виконується , то необхідно при допомозі лінійних
перетворень звести систему (1) , до еквівалентної А(х=В( ,так щоб для
неї виконувалась ця умова ,і тоді можна використовувати метод Якобі.
Принцип роботи:
Запустивши програму ми можемо побачити титулку курсової роботи.
Текст програми
//———————————————————————-
——————————
#include
#include
#include
#include
#include
#define N 10
float a[N][N],b[N],x[N],y[N];
float sam [N],dil[N];
void maxa(void)
{
float??????????????????????????
printf(“Введiть кiлькiсть елементiв”);
scanf(“%d”,&n);
if (n>10)n=10;
//—–введення чисел а————
printf(“якщо не хочете вводить числа то натисныть 1 , инакше будуте
вводить”);
calo=getch();
if(calo==49)
{ for(i=0;i
putpixel(x,y,color[bh]);
x++;
np++;
}
if (np
Нашли опечатку? Выделите и нажмите CTRL+Enter