Laboratoriya ishi 1
ODDIY ITERATIV ALGORITMLARNI ISHLAB CHIQISH VA
DASTURLASHTIRISH. QISM DASTURLARDAN FOYDALANISH.
Algoritim ta`rifi:
Algoritim- bu qo’yilga masalani yechilishiga olib keluvchi aniq harakatlarning
chekli ketma-ketligidir.
Algoritmning tasvirlash usullari .
1.Algoritmning so‘zlar orqali ifodalanishi. Bu usulda ijrochi uchun beriladigan
har bir ko‘rsatma jumlalar, so‘zlar orqali buyruq shaklida beriladi.
2. Algoritmning formulalar bilan berilish usulidan matematika, fizika, kimyo kabi
aniq fanlardagi formulalarni o‘rganishda foydalaniladi. Bu usulni ba’zan analitik
ifodalash deyiladi.
3. Algoritmlarning grafik shaklida tasvirlanishida algoritmlar maxsus geometrik
figuralar yordamida tasvirlanadi va bu grafik ko‘rinishi blok-sxema deyiladi.
4. Algoritmning jadval ko‘rinishda berilishi. Algoritmning bu tarzda
tasvirlanishdan ham ko‘p foydalanamiz. Masalan, maktabda qo‘llanib kelinayotgan
to‘rt xonali matematik jadvallar yoki turli xil lotereyala r jadvallari
Algoritimningxossalari:
1. Diskretlilik – ya’ni aniqlanayotgan jarayonni qadamma qadam ko’rinishi.
2. Ommaviylik – algoritm o’xshash masalalar turkumini yechishi kerak.
3. Tushunarlilik – algoritmda beriladigan ko’rsatmalar foydalanuvchiga
tushunarli bo’lib, uning talablariga javob berishi kerak.
4. Aniqlilik – algoritmda ma’lum tartibda amallarni bajarish nazarda tutilishi
kerak va bajaruvchiga joriy qadam tugatilishi bilan qaysi qadam keying bo’lib
bajarilishi aniq ko’rsatilishi kerak.
5. Natijaviylik.Har bir algoritm chekli sondagi qadamlardan so‘ng albatta natija
berishi shart. Bajariladigan amallar ko‘p bo‘lsa ham baribir natijaga olib
kelishi kerak. Chekli qadamdan so‘ng qo‘yilgan masala yechimga ega
emasligini aniqlash ham natija hisoblanadi. Agar ko‘rilayotgan jarayon
cheksiz davom etib natija bermasa, uni algoritm deb atayolmaymiz.
Masala:
𝑁 (> 1) бутун сон ва N та бутун сонлар кетма-кетлиги берилган. Ушбу кетма-
кетлик геометрик прогрессия ташкил этса бўлса 0, акс ҳолда тартибни
бузадиган дастлабки элемент номери чиқарилси
dastur kodi:
#include
#include
using namespace std;
int main()
{
int q , n , qd , k , i=1 , k1, s=0;
cout<" Geometrik progressiyani tashkil etuvchi hadlar sonini kiriting ";
cin>>n;
bool dt=true , h=true, bo=true;
if(n>3)
{
cin>>k1;
while(n>i)
{
cin>>k;
if(dt) {
q=k/k1; dt=false;
}
if(k1* pow(q, i) == k)
{
h=true; s++;
}
else if(bo)
{
bo=false; qd=i;
}
i++;
}
if(s == (n-1) ) cout<<"Geometrik progressiyani tashkil etadi = "<
Natija:
3 ta haddan kam qiymat kiritilganda:
Kiruvchi ma`lumot: 2
Chiquvchi ma`lumot: 3 ta had mavjud emas
Geometrik progressiyani tashkil etganda:
Kiruvchi ma`lumot: n=5 3 6 12 24 48
Chiquvchi ma`lumot : 1
Geometrik progressiyani tashkil etmasa:
Kiruvchi ma`lumot: n=5 6 12 24 48 91
Chiquvchi ma`lumot : 5
Do'stlaringiz bilan baham: |