Oraliq nazorat Nº1


Download 166.07 Kb.
bet5/8
Sana02.06.2024
Hajmi166.07 Kb.
#1838692
1   2   3   4   5   6   7   8
Bog'liq
Algoritm Odinaxon 2106

Dasturning C#dagi matni:
using System;
using System.Linq;

class Program


{
static void Main()
{
double[] sonlar = { 1.2, 3.4, 5.6, 7.8 }; // haqiqiy sonlar uchun misol
int n = sonlar.Length;
double natija = 1;
for (int i = 0; i < n / 2; i++)
{
natija *= (sonlar[i] + sonlar[n - 1 - i]);
}
if (n % 2 == 1) // agar sonlar soni toq bo'lsa, o'rtadagi sonni ham qo'shib hisoblaymiz
{
natija *= sonlar[n / 2] * 2;
}
Console.WriteLine(natija);
Console.ReadKey();
}
}
Natija:

в) ( x1 + x2 + 2*xn )* ( x2 + x3 + 2*xn-1 ) . . . ( xn-1 + xn + 2*x2 )
Algoritmi:
Berilgan sonlar orasidagi ifodani hisoblash uchun quyidagi algoritmni amalga oshirish mumkin:

1. ifoda = 1 # boshlang'ich qiymati


2. for i in range(1, n): # sonlar orasida yurish
ifoda *= (x[i-1] + x[i] + 2*x[n-i])
3. print(ifoda)

Shunday qilib, berilgan sonlar orasidagi ifoda quyidagi Python funksiyasi yordamida hisoblanishi mumkin:

```
def calculate_expression(x):
n = len(x)
res = 1
for i in range(1, n):
res *= (x[i-1] + x[i] + 2*x[n-i])
return res
```

Funksiya sinfdosh parametr sifatida berilgan sonlardan foydalanadi va hisoblangan ifodani natija sifatida qaytaradi.


Dasturning C#dagi matni:
using System;
using System.Linq;

class Program


{
static void Main()
{
double[] sonlar = { 1.2, 3.4, 5.6, 7.8 }; // haqiqiy sonlar uchun misol
int n = sonlar.Length;
double natija = 1;
for (int i = 0; i < n / 2; i++)
{
natija *= (sonlar[i] + sonlar[i + 1] + 2 * sonlar[n - 1 - i]);
}
Console.WriteLine(natija);
Console.ReadKey();
}
}

Download 166.07 Kb.

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




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