SOLUTION OF SOCIAL PROBLEMS IN
MANAGEMENT AND ECONOMY
International scientific-online conference
30
MATEMATIK ALGORITMLAR YORDAMIDA MURAKKAB
MATEMATIK MASALALARNI OSON VA TEZDA HAL QILISH
Farmonov Sherzodbek Raxmonjonovich
Farg’ona davlat universiteti amaliy matematika va informatika kafedrasi
katta o‘qituvchisi
Rejabaliyeva Mashhuraxon O‘tkirbek qizi
Farg’ona davlat universiteti talabasi
rejabaliyevamashhuraxon2005@gmail.com
https://doi.org/10.5281/zenodo.14498638
Annotatsiya:
Ushbu maqola C# dasturlash tilida matematik algoritmlarni
amalga oshirish va ularni dastur yozish jarayonida qo‘llashga bag‘ishlangan.
Maqolada matematik algoritmlarning asosiy turlari, ularga oid ishlash
prinsiplari va C# tilida ularni qanday amalga oshirish haqida batafsil
tushuntirish berilgan. Shuningdek, maqolada sodda misollar va C# dastur
kodlari keltirilgan. Bu maqola dasturlashni o‘rganayotganlar va matematik
algoritmlar bilan ishlashni xohlagan dasturchilar uchun foydali manba bo‘lishi
mumkin.
Kalit so‘zlar:
C#, matematik algoritmlar, dasturlash, algoritmlar, sonli
metodlar, iteratsiya, rekursiya, funksiyalar.
Аннотация:
Данная статья посвящена реализации математических
алгоритмов на языке программирования C# и их применению в процессе
написания программ. В статье подробно объясняются основные типы
математических алгоритмов, принципы их работы и способы их
реализации на языке C#. Также в статье приведены простые примеры и
исходные коды программ на C#. Эта статья может быть полезна для
начинающих программистов, а также для тех, кто хочет работать с
математическими алгоритмами.
Ключевые
слова:
C#,
математические
алгоритмы,
программирование, алгоритмы, численные методы, итерация, рекурсия,
функции.
Annotation:
This article is dedicated to the implementation of
mathematical algorithms in the C# programming language and their application
in the process of writing programs. The article provides a detailed explanation
of the main types of mathematical algorithms, their working principles, and
how to implement them in C#. Simple examples and C# program codes are also
provided in the article. This article may serve as a useful resource for those
SOLUTION OF SOCIAL PROBLEMS IN
MANAGEMENT AND ECONOMY
International scientific-online conference
31
learning programming and developers interested in working with mathematical
algorithms.
Keywords:
C#, mathematical algorithms, programming, algorithms,
numerical methods, iteration, recursion, functions.
Kirish:
Matematik algoritmlar — bu muayyan matematik masalalarni hal
qilish uchun ishlab chiqilgan qadamlar ketma-ketligi. Ular dasturlashda keng
qo‘llaniladi va har xil sohalarda, jumladan, fizika, iqtisodiyot, statistika,
muhandislik va kompyuter fanlarida ham ishlatiladi. C# dasturlash tili, o‘zining
kuchli sintaksisi va keng kutubxonalar to‘plami bilan, matematik algoritmlarni
ishlab chiqishda samarali vositadir. Ushbu maqolada matematik algoritmlarni
C# dasturlash tilida qanday samarali tarzda amalga oshirishni ko‘rib chiqamiz.
Matematik algoritmlar ko‘pincha sonli metodlar, optimizatsiya, algebraik
masalalarni yechish, integral va differensial tenglamalarni yechish, va boshqalar
kabi turli xil muammolarni hal qilishda qo‘llaniladi. C# dasturlash tilida bu
algoritmlar ko‘pincha iteratsiya va rekursiya usullaridan foydalanib amalga
oshiriladi.
Asosiy qism:
1. Sonli metodlar
Sonli metodlar, analitik yechimni topish qiyin bo‘lgan matematik
muammolarni yechish uchun qo‘llaniladi. Masalan, tenglamalar sistemasini
yechishda yoki funksiyaning ildizini topishda sonli metodlar ishlatiladi. C#
dasturida sonli metodlarni qo‘llashning bir misoliga quyidagi
Newton-
Raphson
metodini keltirish mumkin.
Misol: Newton-Raphson metodi
Quyidagi C# dasturi berilgan funksiyaning ildizini Newton-Raphson usuli
bilan topish uchun yozilgan:
C#
using
System;
namespace
ConsoleApp5
{
class
NewtonRaphson
{
// Funksiya
static
double
F(
double
x)
{
return
x * x - 2;
// x^2 - 2 = 0 ni yechish
SOLUTION OF SOCIAL PROBLEMS IN
MANAGEMENT AND ECONOMY
International scientific-online conference
32
}
// Funksiyaning hosilasi
static
double
FPrime(
double
x)
{
return
2 * x;
// 2x
}
static
double
NewtonRaphsonMethod(
double
x0,
double
tolerance = 1e-7,
int
maxIterations = 100)
{
double
x = x0;
int
iteration = 0;
while
(iteration < maxIterations)
{
double
fx = F(x);
double
fpx = FPrime(x);
if
(Math.Abs(fx) < tolerance)
break
;
x = x - fx / fpx;
iteration++;
}
return
x;
}
internal
class
Program
{
static
void
Main(
string
[] args)
{
double
initialGuess = 1.0;
double
root = NewtonRaphsonMethod(initialGuess);
Console.WriteLine(
$"Funktsiyaning ildizi:
{root}
"
);
Console.ReadKey();
}
}
}
}
Tushuntirish
: Ushbu dastur, x^2 - 2 = 0 tenglamasining ildizini topish
uchun Newton-Raphson metodidan foydalanadi. Funksiya va uning hosilasi
SOLUTION OF SOCIAL PROBLEMS IN
MANAGEMENT AND ECONOMY
International scientific-online conference
33
sifatida F(x) va F'(x) funksiyalarini ta'rifladik. Metod iteratsiya orqali ildizni
aniqlaydi va natijada 1.41421356 ga yaqin qiymatni beradi.
2. Rekursiya
Rekursiya — bu algoritmni o‘zini-o‘zi chaqirish tamoyiliga asoslangan
yechimdir. Matematik masalalarni rekursiv tarzda yechish ko‘p hollarda
kodning soddaligini oshiradi. Misol uchun, Fibonachi sonlari rekursiv usulda
quyidagicha hisoblanadi.
Misol: Fibonachi sonlari
Quyidagi C# dasturi Fibonachi sonlarini rekursiv usulda hisoblaydi:
C#
using
System;
namespace
ConsoleApp5
{
class
Fibonachi
{
static
int
FibonachiRecursive(
int
n)
{
if
(n <= 1)
return
n;
else
return
FibonachiRecursive(n - 1) + FibonachiRecursive(n - 2);
}
internal
class
Program
{
static
void
Main(
string
[] args)
{
int
n = 10;
Console.WriteLine(
$"Fibonachi soni:
{FibonachiRecursive(n)}
"
);
Console.ReadKey();
}
}
}
}
Tushuntirish
: Bu dastur Fibonachi sonlarini rekursiv usulda hisoblaydi.
FibonachiRecursive funksiyasi o‘zini-o‘zi chaqirib, n-chi Fibonachi sonini
hisoblaydi. Bu usulning ishlash prinsipi quyidagicha: F(n) = F(n-1) + F(n-2).
SOLUTION OF SOCIAL PROBLEMS IN
MANAGEMENT AND ECONOMY
International scientific-online conference
34
3. Iteratsiya
Iteratsiya, algoritmni bir nechta marta takrorlash jarayonidir. Matematik
algoritmlarda iteratsiya ko‘plab sonli metodlar, optimizatsiya masalalarida
qo‘llaniladi. Quyidagi misolda, C# dasturida
Corti
metodidan foydalanib, 0 dan
n gacha bo‘lgan sonlar yig‘indisini hisoblaymiz.
Misol: Sonlar yig‘indisi (Iteratsiya)
C#
using System;
class SumOfNumbers
{
static int CalculateSum(int n)
{
int sum = 0;
for (int i = 1; i <= n; i++)
{
sum += i;
}
return sum;
}
static void Main()
{
int n = 100;
Console.WriteLine($"1 dan {n} gacha bo‘lgan sonlar yig‘indisi:
{CalculateSum(n)}");
}
}
Tushuntirish
: Bu dastur 1 dan n gacha bo‘lgan sonlarning yig‘indisini
hisoblaydi. Iteratsiya yordamida har bir sonni qo‘shib boramiz va natijada 5050
ni olamiz.
C# dasturlash tilida matematik algoritmlar yaratish juda qulay va samarali
bo‘lishi mumkin. Dasturlashning asosiy tamoyillaridan biri — algoritmlarni
optimallashtirish va ularni samarali tarzda amalga oshirishdir. Ushbu maqolada
sonli metodlar, rekursiya va iteratsiya kabi turli xil algoritmlar C# dasturlash
tilida qanday qo‘llanishi ko‘rib chiqildi. Matematik algoritmlar yordamida
dasturchilar murakkab matematik masalalarni oson va tezda hal qilishlari
mumkin. Shuningdek, C# dasturlash tili algoritmning yuqori samaradorligi va
SOLUTION OF SOCIAL PROBLEMS IN
MANAGEMENT AND ECONOMY
International scientific-online conference
35
intuitiv sintaksisi bilan matematik hisob-kitoblarni o‘ta tez va aniq bajarish
imkonini beradi.
Foydalanilgan adabiyotlar:
1. Marcin Jamro. C# Data Structures and Algorithms. Second Edition. Published
by Packt Publishing Ltd., in Birmingham, UK. 2024. – 349 p.
2. Дж.Эриксон. Алгоритмы.: – М.: " ДМК Пресс ", 2023. – 528 с.
3. Hemant Jain. Data Structures & Algorithms using Kotlin. Second Edition. in
India. 2022. – 572 p.
4. Н. А. Тюкачев, В. Г. Хлебостроев. C#. Алгоритмы и структуры данных:
учебное пособие для СПО. – СПб.: Лань, 2021. – 232 с.
5. Mykel J. Kochenderfer. Tim A. Wheeler. Algorithms for Optimization.
Published by The MIT Press., in London, England. 2019. – 500 p.
6. Рафгарден Тим. Совершенный алгоритм. Графовые алгоритмы и
структуры данных. – СПб.: Питер, 2019. - 256 с.
7. Ахо Альфред В., Ульман Джеффри Д., Хопкрофт Джон Э.
Структуры данных и алгоритмы. – М.: Вильямс, 2018. – 400 с.
8. Дж.Хайнеман, Г.Поллис, С.Стэнли. Алгоритмы. Справочник с примерами
на С, C++, Java и Python, 2-е изд.: Пер. с англ. — СпБ.: ООО "Альфа-книга",
2017. — 432 с.
9. Farmonov, S., & Nazirov, A. (2023). C# DASTURLASH TILIDA GRAY KODI
BILAN ISHLASH. В CENTRAL ASIAN JOURNAL OF EDUCATION AND
INNOVATION (Т. 2, Выпуск 12, сс. 71–74). Zenodo.
10. Farmonov, S., & Toirov, S. (2023). NETDA DASTURLASHNING ZAMONAVIY
TEXNOLOGIYALARINI O'RGANISH. Theoretical aspects in the formation of
pedagogical sciences, 2(22), 90-96
11. Raxmonjonovich, F. S. (2023). Array ma’lumotlar tizimini talabalarga
o’qitishda Blockchain metodidan foydalanish. Yangi O'zbekiston taraqqiyotida
tadqiqotlarni o'rni va rivojlanish omillari, 2(2), 541-547.
12. Raxmonjonovich, F. S. (2023). Dasturlashda interfeyslardan foydalanishning
ahamiyati. Yangi O'zbekiston taraqqiyotida tadqiqotlarni o'rni va rivojlanish
omillari, 2(2), 425-429.
13. Raxmonjonovich, F. S. (2023). Dasturlashda obyektga yo’naltirilgan
dasturlashning ahamiyati. Yangi O'zbekiston taraqqiyotida tadqiqotlarni o'rni va
rivojlanish omillari, 2(2), 434-438.
14. Raxmonjonovich, F. S. (2023). Dasturlash tillarida fayllar bilan ishlash
mavzusini Blended Learning metodi yordamida o'qitish. Yangi O'zbekiston
taraqqiyotida tadqiqotlarni o'rni va rivojlanish omillari, 2(2), 464-469.
SOLUTION OF SOCIAL PROBLEMS IN
MANAGEMENT AND ECONOMY
International scientific-online conference
36
15. Raxmonjonovich, F. S. (2023). DASTURLASHDA ISTISNOLARNING
AHAMIYATI. Yangi O'zbekiston taraqqiyotida tadqiqotlarni o'rni va rivojlanish
omillari, 2(2), 475-481.
16. Raxmonjonovich, F. S. (2023). Dasturlashda abstraksiyaning o’rni. Yangi
O'zbekiston taraqqiyotida tadqiqotlarni o'rni va rivojlanish omillari, 2(2), 482-
486.
17. Raxmonjonovich, F. S., & Ravshanbek o’g’li, A. A. (2023). Zamonaviy
dasturlash tillarining qiyosiy tahlili. Yangi O'zbekiston taraqqiyotida
tadqiqotlarni o'rni va rivojlanish omillari, 2(2), 430-433.
18. Raxmonjonovich, F. S. (2023). C# dasturlash tilida fayl operatsiyalari
qo’llashning qulayliklari haqida. Yangi O'zbekiston taraqqiyotida tadqiqotlarni
o'rni va rivojlanish omillari, 2(2), 439-446.
19. Raxmonjonovich, F. S. (2023). C# tilida ArrayList bilan ishlashning
afzalliklari. Yangi O'zbekiston taraqqiyotida tadqiqotlarni o'rni va rivojlanish
omillari, 2(2), 470-474.
20. Farmonov Sherzodbek Raxmonjonovich, & Rustamova Humoraxon
Sultonbek qizi. (2024). C# DASTURLASH TILIDA TO’PLAMLAR BILAN ISHLASH.
Ta’lim Innovatsiyasi Va Integratsiyasi, 11(10), 210–214. Retrieved from
http://web-journal.ru/index.php/ilmiy/article/view/2480.
21. Raxmonjonovich, F. S., & Ravshanbek o’g’li, A. A. (2023). Zamonaviy
dasturlash tillarining qiyosiy tahlili. Yangi O'zbekiston taraqqiyotida
tadqiqotlarni o'rni va rivojlanish omillari, 2(2), 430-433.
22. Farmonov, S., & Rasuljonova, Z. (2024). OB'EKTGA YO'NALTIRILGAN
DASTURLASH
ZAMONAVIY
DASTURLASHNING
ASOSI
SIFATIDA.
Центральноазиатский журнал образования и инноваций, 3(1), 83-86.
23. Farmonov, S., & Roʻzimatov, J. (2024). DASTURLASH TILLARINI
OʻRGANISHDA ONLINE TA’LIM PLATFORMALARIDAN FOYDALANISH.
Theoretical aspects in the formation of pedagogical sciences, 3(1), 5-10.
24. Farmonov, S. R., & qizi Xomidova, M. A. (2024). C# VA JAVA DASTURLASH
TILLARIDA
FAYLLAR
BILAN
ISHLASHNING
TURLI
USULLARINING
SAMARADORLIGI HAQIDA. Zamonaviy fan va ta'lim yangiliklari xalqaro ilmiy
jurnal, 1(9), 45-51.
25. Raxmonjonovich, F. S. (2024). C# VA MASHINA TILI. Ta'lim innovatsiyasi va
integratsiyasi, 12(1), 59-62.
26. Farmonov, S. (2023). C# DASTURLASH TILIDA GRAY KODI BILAN ISHLASH.
Центральноазиатский журнал образования и инноваций, 2(12 Part 2), 71-
74.
SOLUTION OF SOCIAL PROBLEMS IN
MANAGEMENT AND ECONOMY
International scientific-online conference
37
27. Farmonov, S., & Jo’rayeva, M. (2023, December). DASTURLASHDA
POLIMORFIZMNING
AHAMIYATI.
In
Международная
конференция
академических наук (Vol. 2, No. 13, pp. 5-8).
28. Farmonov, S., & Usmonaliyev, U. (2024). O'ZBEKISTON RESPUBLIKASI IT
SOHASINING RIVOJLANISH ISTIQBOLLARI. Бюллетень педагогов нового
Узбекистана, 2(1), 59-62.
29. Raxmonjonovich, F. S., & Xasan o'g'li, X. O. (2023). DASTURLASHDA SANA VA
VAQTLAR BILAN ISHLASH. Ta'lim innovatsiyasi va integratsiyasi, 11(11), 3-6.