Algebraik tenglama sistemasini dasturlash tillari yordamida yechish

|
Algebraik tenglama sistemasini dasturlash tillari yordamida yechish
|
bet | 5/7 | Sana | 21.12.2023 | Hajmi | 299,33 Kb. | | #126126 |
Bog'liq Srukturada kurs ishi namunasi (2)Algebraik tenglama sistemasini dasturlash tillari yordamida yechish:
C# dasturlash tilida:
C# da algebraik tenglamalar sistemasini yechish uchun almashtirish, nomalumlarni ketma ket yo’qotish yoki matritsalar kabi turli usullardan foydalanishingiz mumkin. Misol sifatida ikkita o'zgaruvchiga ega ikkita chiziqli tenglamalarning oddiy sistemasini ko'rib chiqaylik:
a1*x + b1*y = c1
a2*x + b2*y = c2
Algebraik tenglamalar sistemasini yechish bir vaqtning o'zida bir nechta tenglamalarni echishni o'z ichiga oladi. Mana C# tilida ikkita chiziqli tenglamalar tizimini yecha oladigan oddiy konsol ilovasi:(Ilovalarda 18-bet).
Bu dastur ikkita chiziqli tenglamaning koeffitsientlarini (ax + by = c) va (dx + ey = f) ko'rinishida oladi. Keyin yagona yechim mavjudligini aniqlash uchun koeffitsient matritsasining determinantini hisoblab chiqadi. Agar determinant nolga teng bo'lmasa, u tenglamalar sistemasining yechimini tashkil etuvchi "x" va "y" qiymatlarini hisoblash va ko'rsatishga o'tadi.
Kirish va hisobni mos ravishda kengaytirish orqali biz ushbu misolni ko'proq tenglamali sistemalar uchun kengaytirishimiz mumkin. Shuni yodda tutish kerakki, bu yerda qo'llaniladigan usul chiziqli tenglamalarga xosdir. Chiziqli bo'lmagan tenglamalarga ega bo'lgan sistemalar turli xil yechim usullarini talab qilishi mumkin, masalan, raqamli usullar yoki maxsus algoritmlar.
Men misol tariqasida : 2*x + 3*y = 6 1*x + 4*y = 8 tenglamani yozdm va quyidagicha javob oldim:
C++ dasturlash tilida:
Mana C++ tilida ikkita chiziqli tenglamalar tizimini yechadigan oddiy konsol ilovasi:
(Ilovalarda 19-bet).
Ushbu C++ dasturi oldin keltirilgan C# misoliga o'xshash tuzilishga amal qiladi. U ikkita chiziqli tenglamaning koeffitsientlarini (a1x + b1y = c1) va (a2x + b2y = c2) shaklida oladi. Keyin yagona yechim mavjudligini aniqlash uchun koeffitsient matritsasining determinantini hisoblab chiqadi. Agar determinant nolga teng bo'lmasa, u tenglamalar sistemasini yechimini tashkil etuvchi "x" va "y" qiymatlarini hisoblash va ko'rsatishga o'tadi.
Kirish va hisobni mos ravishda kengaytirish orqali biz ushbu misolni ko'proq tenglamali sistemalar uchun kengaytirishimiz mumkin. Shuni yodda tutish kerakki, bu yerda qo'llaniladigan usul chiziqli tenglamalarga xosdir. Chiziqli bo'lmagan tenglamalarga ega bo'lgan tizimlar turli xil yechim usullarini talab qilishi mumkin, masalan, raqamli usullar yoki maxsus algoritmlar.
Misol tariqasida men : 2*x + 3*y = 6 va : 4*x + y = 5 tenglamani yozdim va quyidagicha javob oldim:
JAVA da algebraik tenglama yechish dasturi:
Quyida ikkita chiziqli tenglamalar sistemasini yechish uchun oddiy Java dasturi keltirilgan: (Ilovalarda 20-bet ).
Ushbu Java dasturi foydalanuvchidan (a1x + b1y = c1) va (a2x + b2y = c2) ko'rinishdagi ikkita chiziqli tenglama uchun koeffitsientlarni oladi. Keyin yagona yechim mavjudligini aniqlash uchun koeffitsient matritsasining determinantini hisoblab chiqadi. Agar determinant nolga teng bo'lmasa, u tenglamalar sistemasining yechimini tashkil etuvchi "x" va "y" qiymatlarini hisoblash va ko'rsatishga o'tadi.
Misol tariqasida men : 3*x + y = 5 va : 2*x +4*y = 3 tenglamani yozdim va quyidagicha javob oldim:
Python da algebraik tenglama yechish dasturi:
Ikki chiziqli tenglamalar sistemasini yechish uchun oddiy Python dasturi(Ilovalarda 21-bet).
Ushbu Python dasturi ikkita chiziqli tenglamalar sistemani yechish uchun “tenglamalar_sistemasini_yechish” funksiyasini belgilaydi. Keyin u (a1x + b1y = c1) va (a2x + b2y = c2) ko'rinishdagi ikkita chiziqli tenglama uchun foydalanuvchidan koeffitsientlarni oladi. Dastur tenglamalar_sistemasini_yechish funksiyasini chaqiradi va agar yagona yechim mavjud bo'lsa, "x" va "y" qiymatlarini chop etadi.
Biz ushbu Python skriptini ishga tushirishimiz va tenglamalar sistemasini yechimini ko'rish so'ralganda koeffitsientlarni kiritishimiz mumkin.
Masalan men 1*x +2* y = 5 va : 3*x +1*y = 6 tenglamalar sistemasini yechishni berdm va quyidagocha javob oldm:
Xulosa:
Berilgan kurs ishini yozish jarayonida men Algebraik tenglamalar sistemasi
yechish usullarini va algebraik sistemalarga doir ko’pgina misollar yechishni o’rgandim. Algebraik tenglamalar sistemalari yechishning Kramer,Gauss,matritsa usullarini yanada takrorlab mustahkamlab oldim.C# dasturlash tilida algebraic tenglamalar uchun “System.Numerics” nom fazosidagi matritsalar va “Matrix” sinfidan foydalangan holda dastur yozishni o’rgandm.Algebraik tenglamalar yechishni C++,JAVA, Python dasturlash tillarida qanday yozilishini ko’rib chiqdm. Shu o‘rinda men algebraic tenglama sistemasini yechishni o’rganish davomida dasturchilik sohasiga bo’lgan qiziqishim yanada ortdi. Hozirgi kunda biz yoshlar yurtimizda yosh
dasturchilarga qaratilgan yuksak e’tibor va shart sharoitlardan unumli
foydalanishimiz, va bizga berilgan ishonchni oqlashimiz zarur.
Foydalanilgan adabiyotlar
1. Ахо А., Хопкрофт Д., Ульман Д. Структуры данных и алгоритмы. «Вильямс», Москва, 2010.
2. Narzullayev U.X., Qarshiyev А.В., Boynazarov I.M. Ma’lumotlar tuzilmasi va algoritmlar. “Tafakkur”, Toshkent, 2013 y.
3. Назаренко П.А. Алгоритмы и структуры данных. Учеб.пособие Самара. ПГУТИ, 2015. -196 с.
4. Raxmonov Z. R., Xojiyev T. Q. “Algoritmlar va berilganlar strukturasi” Uslubiy qo’llanma. Toshkent “Ziyo-Print” 2021; 105 b;
5. Род Стивенс «Алгоритми. Теория и прктическое применение» Москва 2016, -548 с.
6. Вирт Н. Алгоритмы и структуры данных, Спб: Невский диалект, 2007.
7. Юлдашев З.Х. Алгоритмы и структуры данных: Учебное пособие, - Ташкент: Национальный университет Узбекистана, 2011. - 101 стр.
8. Макконнел Дж. Основы современных алгоритмов. “Техносфера” Москва, 2004, 368 с.
9. M.U.Yaxshiboyev U.X.Narzullayev Algebradan O’quv uslubiy majmua.
https://docs.dot-net.uz/ sayti
https://ru.wikipedia.org/ sayti
https://ru.wikipedia.org/wiki/ sayti.
ILOVA
|
| |