1-Mustaqil ish. Mavzu: Chiziqli va tarmoqlanuvchi algoritmlar. Savollarga nazariy javob bering


Download 40.31 Kb.
bet6/7
Sana25.04.2023
Hajmi40.31 Kb.
#1398419
1   2   3   4   5   6   7
3-amaliy mashg’ulot topshiriqlari
1-topshiriq
Quyidagi masalalar uchun algoritm va dastur kodini yozing. Har bir talaba o’zining jurnaldagi raqami bo’yicha bittadan masalani yechadi. Masalalar kam bo’lganda sanoq tartib boshidan boshlanadi. Masalan, 20 masala bo’lsa, 21-o’rindagi talaba 1-masalani, 22-o’rindagi talaba 2-masalani yechadi.
Quyidagi transsendent tenglamani oraliqni teng ikkiga bo’lish va oddiy iteratsiya usuli yordamida yechimini aniqlovchi dastur tuzing:

x2+4sinx=0




Ma'nosi:

Oddiy iteratsiya usuli - bu, bir o'zgaruvchining qiymatini yanada aniqlash uchun ishlatiladigan algoritm.


Oddiy iteratsiya usuli orqali katta qiymatli tenglam qiymatlari to'g'ri yechish mumkin.
Quyidagi C++ kodida bir x qiymatida vazifa bajariladi. Algoritm x1 qiymatidan boshlab x2 qiymatini hisoblash uchun foydalanadi. Agar x2 qiymati x1 qiymatiga yaqinroq yoki to'g'ri kelmasa, algoritm natijani qaytaradi. Aks holda, algoritm yana x2 qiymatidan foydalanadi va yana oddiy iteratsiya hisoblashni qayta boshlaydi.


Dastur kodi

#include


#include
using namespace std;
double func(double x)
{ return x * x + 4 * sin(x); }
int main()
{
double x1, x2, tol;
int ite = 1;
cout << "x1 qiymatni kiriting: ";
cin >> x1;
cout << "toleranceni kiriting: ";
cin >> tol;

do
{


x2 = func(x1);
cout << "takrorlash " << ite << ": x = " << x2 << endl;
ite++;
x1 = x2;
}
while (fabs(x2 - x1) > tol);
cout << "ildiz: " << x2 << endl;
return 0;
}

Kod natijasi quyidagi formatda chiqadi:


```
x1 qiymatini kiriting: [foydalanuvchi kiritadi]


Toleranceni kiriting: [foydalanuvchi kiritadi]
Iteration 1: x = -1.88364
Iteration 2: x = -4.92636
Iteration 3: x = -0.804451
Iteration 4: x = -5.38591
Iteration 5: x = -0.432702
Iteration 6: x = -5.66659
Iteration 7: x = 0.324392
Iteration 8: x = -5.56207
Iteration 9: x = 0.839696
Iteration 10: x = -4.93392
Iteration 11: x = 0.917751
Iteration 12: x = -3.16704
Iteration 13: x = 0.908989
Iteration 14: x = -3.2669
Iteration 15: x = 0.881753
Iteration 16: x = -3.76334
Iteration 17: x = 0.834907
Iteration 18: x = -4.60987
Iteration 19: x = 0.715196
Iteration 20: x = -5.29341
Iteration 21: x = 0.500202
Iteration 22: x = -5.8687
Iteration 23: x = 0.110845
Iteration 24: x = -5.92731
Iteration 25: x = -0.0375038
Iteration 26: x = -5.87597
Iteration 27: x = 0.0377169
Iteration 28: x = -5.87783
Iteration 29: x = -0.0340527
Iteration 30: x = -5.87526
The root is: -0.0340527


2-topshiriq
Quyidagi masalalar uchun algoritm va dastur kodini yozing. Har bir talaba o’zining jurnaldagi raqami bo’yicha bittadan masalani yechadi. Masalalar kam bo’lganda sanoq tartib boshidan boshlanadi. Masalan, 20 masala bo’lsa, 21-o’rindagi talaba 1-masalani, 22-o’rindagi talaba 2-masalani yechadi.

Download 40.31 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling