МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||
Приклади програм// 1) Розв’язання нелінійного рівняння методом Ньютона #include <iostream> #include <conio.h> #include <cmath> using namespace std; float F(float x) { float y; y=3*pow(x, 4)+4*pow(x, 3)-12*pow(x, 2)+1; return y; }; float dF(float x) { float y; y=12*pow(x, 3)+12*pow(x, 2)-24*x; return y; }; void main() { clrscr(); int p=0; float a, b, x, e, i=0, q; float y1, y2, x1, x2; do { clrscr(); cout<<"\n ROZV’JAZANNJA NELINIJNOGO RIVNJANNJA METODOM NJUTONA: "; cout<<"\n \n 3*x^4+4*x^3-12*x^2+1=0"; cout<<"\n \n 1) Znajtu koreni zadanogo nelinijnogo rivnjannja \n \n \n"; cout<<"2) Exit \n \n \n"; cout<<"Vash vubir(1, 2)\t"; cin>>p; if(p==2) exit(1); if(p==1) { clrscr(); cout<<"\n Vvedit promigok [a;b]:"; cout<<"\na="; cin>>a; cout<<"\nb="; cin>>b; cout<<"\nVvedit pohubky e="; cin>>e; i=0; if(a>b) { x=a; a=b; b=x; } cout<<"\n\nKoreni:\n"; for(x=a; x<b; x+=e*100) { y1=F(x); y2=F(x+e*100); if(((y1>0)&&(y2<0))||((y1<0)&&(y2>0))) { i++; do { x1=x; x2=x1-F(x1)/dF(x1); x1=x2; q=fabs(x1-x2); } while(q>e); cout<<"\nx"<<i<<"="<<x1<<"\n"; } } } getch(); } while(p!=2); getch(); } // 2) Розв’язання нелінійного алгебраїчного рівняння методом бісекції #include <iostream> #include <conio.h> #include <cmath> using namespace std; int const W=60; int const M=W*1; float const CY=0.1; int const CX=1; char ss[11]; int gd, gm, errorcode; int flag, x1, y1, z, k, q, s, i, l; float x, y, a, b, t, p, p1, p2, n, c; char ch; float f(float x) { return 3*pow(x, 4)+4*pow(x, 3)-12*pow(x, 2)+1; } void calc() { clrscr(); cout<<"Vvedit promigok [a;b]:"; cout<<"\na="; cin>>a; cout<<"\nb="; cin>>b; if (a>=b) goto A; cout<<"\nVvedit pohubky e="; cin>>t; p1=a; p2=b; p=(p1+p2)/2; n=1; q=0; z=6; k=5; i=1; do { n*=10; q++; } while (n*t<1); if (f(p1)*f(p2)>0) goto A; y=f(p); cout<<"f("<<p<<")="<<y<<endl; do { if (f(p1)*f(p)<0) { p1=p1; p2=p; p=(p1+p2)/2; } else { p1=p; p2=p2; p=(p1+p2)/2; } z++; i++; y=f(p); cout<<"f("<<p<<")="<<y<<endl; if (z==21) { k=42; l=z; z=5; } } while (fabs(f(p))>t); c=fabs((p1-p2)/2); cout<<"Koren' rivnjannja x="<<p<<endl; getch(); goto C; A: cout<<"Na zadanom intervali koreniv nema "; getch(); C: } void main() { B: clrscr(); cout<<"\nRivnjannja 3x^4+4x^3-12x^2+1=0 \n \n"; cout<<"1) Exit \n \n"; cout<<"2) Rozvjazok rivnjannja metodom bisekcii \n \n"; cout<<"Vash vybir (1, 2): "; cin>>ch; if (ch=='1') exit(0); if (ch=='2') { calc(); goto B; } if (ch==13) goto D; else goto B; D: calc(); goto B; } Контрольні питання 1) Наведіть алгоритм знаходження кореня нелінійного рівняння за допомогою числових методів. 2) У чому полягає етап відокремлення коренів нелінійного рівняння за умови використання числових методів? 3) Назвіть відомі вам методи розв’язання нелінійних алгебраїчних рівнянь. 4) Наведіть алгоритм уточнення коренів методом бісекції. 5) Яка умова є критерієм для зупинки ітераційного процесу методу бісекції? 6) Дайте геометричну інтерпретацію методу бісекції. 7) Наведіть алгоритм уточнення коренів методом Ньютона (методом дотичних). 8) Дайте геометричну інтерпретацію методу Ньютона (методу дотичних). 9) Яка умова є критерієм для зупинки ітераційного процесу методу Ньютона (методу дотичних)?
Лабораторна робота №3
|
||||||||
|