Міністерство освіти і науки України

Український Державній Університет Водного господарства і природо
користування

Кафедра електротехніки і автоматики

Курсова робота

з дисципліни “Програмування і алгоритмічні мови”

на тему:

“Обробка масиву та використання простої ітерації .”

Виконав:

студент 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>4;

putpixel(x,y,color[bh]);

x++;

np++;

}

if (np

Похожие записи