O`ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI
UNIVERSITETI SAMARQAND FILIALI
"Kompyuter injiniring" fakulteti
"Algoritimlarni loyihalash"
fanidan
MUSTAQIL ISH
Mavzu: 2- Hafta topshiriqlari
Bajardi: Urozboyev Jamshid _204__-guruh talabasi
F.I.Sh
Qabul qildi: Jumayozov .U
SAMARQAND – 2021
Algoritmlarni loyihalash fanidan
2 - labaratoriya mashg’uloti topshirig’i natijalari
Quyidagi nazariy savollarga javob bering
Algoritmlarni baholash kriteriyalari haqida ma’lumot bering
Algoritmni tahlil qilishda quyidagi usullar mavjud:
1.Algoritmlarning eksperimental (empirik) taqqoslash - dasturni ishlatish jarayonida vaqt (xotira) buyicha taqqoslash
2.Algoritmlarning asimptotik taxlili - turli faktorlarga bogliq holda vaqt (xotira) ni nazariy baxolash.
Agar fA(n) o’sish tartibi n dan bog’liq bo’lgan polinomdan katta bo’lmasa, A algoritm polinomial deb aytiladi, aks holda algoritm A eksponensial hisoblanadi.
Bundan tashqari quyidagi baholashlar mavjud:
f(n)=O(1) – o’zgarmas;
f(n)=O(log n) – Logarifmik;
f(n)=O(n) – Chiziqli;
f(n)=O(nc) – Polinominal;
f(n)=O(cn) – eksponensial;
f(n)=O(n!) – faktorial.
b) Quyidagi masalalar uchun algoritm tuzing va uni tahlil qiling. Dastur kodini yozib natija oling.
Stolda A1 × B1 × C1 o'lchamdagi quti va A2 × B2 × C2 o'lchamdagi quti joylashgan. Ushbu qutilardan birini ikkinchisining ichika kirishi mumkinligini aniqlash dasturini tuzing. Qutilarga ixtiyoriy tomonini 90 daraja aylantirishga ruxsat berilgan.
Kirish ma'lumotlari
Birinchi quti tomonlari A1, B1 va C1. Ikkinchi quti tomonlari A2, B2 va C2 musbat sonlar berilgan
Chiquvchi ma’lumotlar
Agar qutilar bir xil bo'lsa, "Qutilar teng" ni chiqaring. Agar birinchi qutini ikkinchisiga qo'yish mumkin bo'lsa, "Birinchi quti ikkinchisidan kichikroq" ni chiqaring. Agar ikkinchi qutini birinchisiga qo'yish mumkin bo'lsa, "Birinchi quti ikkinchisidan kattaroq" ni chiqaring. Aks holda, "Qutilar taqqoslanmaydi" ni chiqaring.
Misollar
T/r.
|
Kiruvchi ma’lumotlar
|
Chiquvchi ma’lumotlar
|
1
|
1 2 3
3 2 1
|
Qutilar teng
|
2
|
2 2 3
3 2 1
|
Birinchi quti ikkinchisidan kattaroqdir
|
3
|
2 2 3
3 2 3
|
Birinchi quti ikkinchisidan kichikroq
|
4
|
3 4 5
2 4 6
|
Qutilar taqqoslanmaydi
|
Algoritmni amalga oshirish. (dastur)
#include
#include
using namespace std;
int main()
{
int a,b,c, a2,b2,c2;
int a1[3], b1[3];
for(int i=0; i<3; i++)
{
cin>>a1[i];
}
for(int i=0; i<3; i++)
{
cin>>b1[i];
}
sort(a1, a1+3);
sort(b1, b1+3);
int t1=0, t2=0, t3=0;
for(int i=0; i<3; i++)
{
if (a1[i]==b1[i]) t1++;
if (a1[i]>b1[i]) t2++;
if (a1[i] t3++;
}
if(t1==3) cout<<"Boxes are equal";
else
if((t2+t1)==3) cout<<"The first box is larger than the second one";
else
if((t3+t1)==3) cout<<"The first box is smaller than the second one";
else
cout<<"Boxes are incomparable";
return 0;
}
Dasturni tekshirish (Yechim olish)
buni uzing ishlab natija ol
Do'stlaringiz bilan baham: |