Опишіть алгоритм методу Ньютона для СНАР і складові частини інтерфейсу при його програмуванні.



Мы поможем в написании ваших работ!


Мы поможем в написании ваших работ!



Мы поможем в написании ваших работ!


ЗНАЕТЕ ЛИ ВЫ?

Опишіть алгоритм методу Ньютона для СНАР і складові частини інтерфейсу при його програмуванні.



1. Задаємо і вводимо значення таких параметрів

-N – розмір системи

- Eps – точність

- константа Kmax – максимально допустима кіл-ть ітерацій.

2. Вводимо вектор початкових умов X(0)

3. запускаємо ітераційний цикл за змінною k=1..Kmax ,у цьому циклі:

- обчислюємо вектор F процедурою FM

- обчислюємо матрицю Якобі Ja процедурою JAC

- знаходимо вектор Dx, розв’язуючи систему процедурою GAUSS.

- виконуємо ітерацію Ньютона X(k+1)=X(k)- Dx(k), циклом по компонентах вектора Х

- визначаємо норму вектора Dx, як значення модуля його максимальної компоненти:

- якщо DxMax Eps, розв’язок X вважаємо знайденим, друкуємо його і завершуємо роботу програми. Якщо ця умова не справджується – виконуємо наступну ітерацію (повертаємо управління на початок нашого циклу)

4. якщо за задане число Kmax ітерацій збіжності не досягнуто, друкуємо повідомлення і завершуємо роботу програми.

При програмуванні методу Ньютона для СНАР потрібно на формі зробити певну кількість міток(Label) та полів вводу (Edit), де будуть вводитися (виводитися):

· Вектор наближених значень

· Максимальну кількість ітерацій

· Точність обчислень

· Кількість ітерацій

· Вектор розв’язку

Також буде потрібна кнопка(Button) щоб по кліку на неї обчислювалася система.

43. Опишіть загальний синтаксис оголошення класів у C++

Класи – створені програмістом нові структуровані типи даних. Змінні цих типів наз. об’єктами. У С++ об’єкти можна створити 3-ма способами:

1. На основі структур(struct);

2. На основі об’єднань(union);

3. На основі введеного у С++ ключового слова(class).

Об’єкти, утворені від класу зберігаються у динамічній пам’яті.

У C++ Builder описова і реалізаційна частина знаходиться у двох текстових файлах:перша у файлі <ім’я>.h , а друга у файлі <ім’я>.cpp .

Синтаксис опису класу:

class <ім’я класу>:<опис класів предків>

{

public //доступні всім дані методи, властивості

published//видимі в Object Inspector і можуть бути змінені на етапі дизайну

protected//доступні тільки нащадкам дані, методи, властивості, події

private// доступні тільки в класі дані, методи, властивості, події

}

<список змінних>;

На відміну від Delphi, клас у С++ може мати кількох предків. В С++ не обов’язково всі класи мають єдиного прабатька.

<ім’я класу> може бути будь-яким допустимим ідентифікатором. Ідентифікатором класів, що успадковують класи бібліотеки компонентів С++ Builder прийнято починати з «Т».

Клас може успадковувати поля(елементи-дані), методи(елементи-функції), властивості і події від інших класів-предків, може відміняти якийсь з цих елементів класу або вводити нові.

Якщо передбачині такі класи-предки, то в оголошенні класу після його імені ставлять (:) і потім іде список предків. Якщо серед предків є класи бібліотеки компонентів С++ Builder, або класи, що є їхніми нащадками, то множинне успадкування заборонене.

Приклад класу:

class Date

{

private

int dd,mm,yy;

public

void Init(int d,int m,int ,y);

int Day();

int Month();

int Year();};

void Date::Init(int d,int m,int y)

{dd=d;

mm=m;

yy=y;

}

45.Успадкування в С++

Для створення класів з доданою функціональністю вводять успадкування. Клас-нащадок має поля і функції-члени базового класу, але не має права звертатися до приватних (private) полів і функцій базового класу. У цьому і полягає різниця між приватними і захищеними членами.

Клас-нащадок може додавати свої поля і функції або перевизначати функції базового класу.

За замовчуванням, конструктор нащадка без параметрів викликає конструктор базового класу, а потім конструктори доданих елементів. Деструктор працює в зворотному порядку. Інші конструктори доводиться визначати щоразу наново. На щастя, це можна зробити викликом конструктора базового класу.

class ArrayWithAdd : public Array {

ArrayWithAdd(int n) : Array(n) {}

ArrayWithAdd() : Array() {}

ArrayWithAdd(const Array& a) : Array(a) {}

void Add(const Array& a);

};

Нащадок — це більш ніж базовий клас, тому він може використовуватися скрізь, де використовується базовий клас, але не навпаки.

Успадкування буває публічним, захищеним і приватним. При публічному успадкуванні, публічні і захищені члени базового класу зберігають свій статус, а до приватних не можуть звертатися навіть функції-члени нащадка. Захищене успадкування відрізняється тим, що при нім публічні члени базового класу є захищеними членами нащадка. При приватному успадкуванні, до жодного члена базового класу навіть функції-члени нащадка права звертатися не мають. Як правило, публічне успадкування зустрічається значно частіше за інші.

Клас може бути нащадком декількох класів. Це називається множинним успадкуванням. Такий клас володіє полями і функціями-членами всіх його предків. Наприклад, клас FlyingCat може бути нащадком класів Cat і FlyingAnimal.

class Cat {

...

void Purr();

...

};

class FlyingAnimal {

...

void Fly();

...

};

class FlyingCat : public Cat, public FlyingAnimal {

...

PurrAndFly() {Purr(); Fly();}

...

з них своїх унікальних особливостей.



Последнее изменение этой страницы: 2016-08-14; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 35.170.64.36 (0.005 с.)