0% found this document useful (0 votes)
13 views

Csharp Cubic Equation Solver

Ushbu hujjat C# dasturlash tilida uchinchi tartibli algebraik tenglamalarni yechish dasturini taqdim etadi. Dastur foydalanuvchidan koeffitsiyentlarni qabul qilib, ularning yechimlarini hisoblaydi va haqiqiy ildizlarni chiqaradi. Dasturda Cardano formulalaridan foydalanilmagan bo'lib, umumiy algebraik yechimga asoslangan.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Csharp Cubic Equation Solver

Ushbu hujjat C# dasturlash tilida uchinchi tartibli algebraik tenglamalarni yechish dasturini taqdim etadi. Dastur foydalanuvchidan koeffitsiyentlarni qabul qilib, ularning yechimlarini hisoblaydi va haqiqiy ildizlarni chiqaradi. Dasturda Cardano formulalaridan foydalanilmagan bo'lib, umumiy algebraik yechimga asoslangan.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

C# Dastur: Uchinchi Tartibli Tenglamani Yechish

1. Kirish
Uchinchi tartibli algebraik tenglamalar ko‘rinishi quyidagicha bo‘ladi:

ax³ + bx² + cx + d = 0

Bu tenglamalarni yechishning turli usullari mavjud. Ushbu hujjatda C# dasturlash tilida


ushbu tenglamalarni yechish dasturi ishlab chiqiladi.

2. Dastur Tavsifi
Dastur foydalanuvchidan a, b, c va d koeffitsiyentlarini qabul qiladi va ularning yechimlarini
hisoblaydi. Kod C# dasturlash tilida yozilgan bo‘lib, Newton yoki Cardano usullaridan
foydalanmasdan, umumiy algebraik yechimga asoslangan.

3. C# Dastur Kodi

using System;
using System.Numerics;

class Program
{
static void Main()
{
Console.WriteLine("Uchinchi tartibli tenglama: ax³ + bx² + cx + d = 0");
Console.Write("a ni kiriting: ");
double a = Convert.ToDouble(Console.ReadLine());

Console.Write("b ni kiriting: ");


double b = Convert.ToDouble(Console.ReadLine());

Console.Write("c ni kiriting: ");


double c = Convert.ToDouble(Console.ReadLine());

Console.Write("d ni kiriting: ");


double d = Convert.ToDouble(Console.ReadLine());

double A = b / a;
double B = c / a;
double C = d / a;

double Q = (3 * B - Math.Pow(A, 2)) / 9;


double R = (9 * A * B - 27 * C - 2 * Math.Pow(A, 3)) / 54;
double D = Math.Pow(Q, 3) + Math.Pow(R, 2); // Diskriminant

if (D > 0) // Bitta haqiqiy ildiz


{
double S = Math.Cbrt(R + Math.Sqrt(D));
double T = Math.Cbrt(R - Math.Sqrt(D));

double x1 = -A / 3 + (S + T);
Console.WriteLine($"Bitta haqiqiy ildiz: x = {x1}");
}
else if (D == 0) // Ikki yoki uchta teng ildiz
{
double S = Math.Cbrt(R);
double x1 = -A / 3 + 2 * S;
double x2 = -A / 3 - S;

Console.WriteLine($"Ikki yoki uchta teng ildiz: x1 = {x1}, x2 = {x2}");


}
else // Uchta haqiqiy ildiz
{
double theta = Math.Acos(R / Math.Sqrt(-Math.Pow(Q, 3)));
double x1 = 2 * Math.Sqrt(-Q) * Math.Cos(theta / 3) - A / 3;
double x2 = 2 * Math.Sqrt(-Q) * Math.Cos((theta + 2 * Math.PI) / 3) - A / 3;
double x3 = 2 * Math.Sqrt(-Q) * Math.Cos((theta + 4 * Math.PI) / 3) - A / 3;

Console.WriteLine($"Uchta haqiqiy ildiz: x1 = {x1}, x2 = {x2}, x3 = {x3}");


}
}
}

4. Natija va Xulosa
Dastur foydalanuvchi kiritgan koeffitsiyentlar asosida uchinchi tartibli tenglamaning
ildizlarini hisoblab beradi. Dasturda Cardano formulalaridan foydalanilgan va u haqiqiy
ildizlarni chiqaradi. Tizimga kiritilgan qiymatlar asosida dastur natijani aniq hisoblaydi va
ekranga chiqaradi.

You might also like