Algoritmningasosiyxossalari haqida quyidagilarni ta’kidlash mumkin:
1-xossa.Diskretlilik,ya’ni algoritmni chekli sondagi oddiy ko’rsatmalar ketma-ketligi shaklida ifodalash mumkin.
2-xossa.Tushunarlilik,ya’ni ijrochiga tavsiya etilayotgan ko’rsatmalar uning uchun tushunarli bo’lishi shart, aks holda ijrochi oddiy amalni ham bajara olmay qolishi mumkin.Har bir ijrochining bajara olishi mumkin bo’lgan ko’rsatmalar tizimi mavjud.
3-xossa.Aniqlilik,ya’ni ijrochiga berilayotgan ko’rsatmalar aniq mazmunda bo’lish ilozimhamda faqat algoritmda ko’rsatilgan tartibda bajarilishi shart.
4xossa.Ommaviylik,ya’ni har bir algoritm mazmuniga ko’ra bir turdagi masalalarning barchasi uchun yaroqli bo’lishi lozim. Masalan,ikki oddiy kasr umumiy maxrajini topish algoritmihar qanday kasrlar umumiy maxrajini topish uchun ishlatiladi.
5-xossa.Natijaviylik,ya’ni har bir algoritm chekli sondagi qadamlardan so’ng albatta natija berishi lozim.
Bu xossalar mohiyatini o’rganish va konkret algoritmlar uchun qarab chiqish talabalarning xossalar mazmunini bilib olishlariga yordam beradi.
Amaliy qism
1-misol: A1,B1,C1,A2,B2,C2 koeffitsentlar berilgan,chiziqli tenglamalar sistemasini yechimlarini aniqlaydigan programma tuzilsin?
A1*x+B1*y=C1
A2*x+B2*y=C2
#include Alg hisobla;
#include Arg haqiqiy A1,B1,C1,A2,B2,C2;
using namespace std; Nat haqiqiy x,y;
int main() Boshla
{ kirit A1,B1,C1,A2,B2,C2;
float x,y,A1,B1,C1,A2,B2,C2; hisobla x=(C1*B2-C2*B)/(A1*B2-A2*B1);
y=(A1*C2-A2*C1)/(A1*B2-A2*B1);
cin>>A1>>B1>>C1>>A2>>B2>>C2; chiqar x,y;
x=(C1*B2-C2*B)/(A1*B2-A2*B1); Tamom.
y=(A1*C2-A2*C1)/(A1*B2-A2*B1);
cout<
return 0;
}
2-misol: Shahmat doskasining ikkita turli (x1,y1),(x2,y2) koordinatalari berilgan.Jumlani rostlikka tekshiring:”Ot bir yurishda bir mayondan ikkinchisiga o’ta oladi’ .
#include Alg mantiqiy ifoda;
using namespace std; Arg haqiqiy x1,y1,x2,y2;
int main() Nat mantiqiy t;
{ Boshla
int x1,y1,x2,y2; kirit x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2; hisobla t=(abs(x2-x1)==1)&&(abs(y2-y1)==2);
t=(abs(x2-x1)==1)&&(abs(y2-y1)==2) chiqar t;
cout<Tamom.
return 0;
}
3-misol: 1-999 oralig’idagi sonlar berilgan.Berilgan sonni “ikki xonali juft son”,”uch xonali toq son” va h.k. ekranga yozadigan programma tuzilsin.
#include Alg hisobla;
using namespace std; Arg butun a;
int main() Nat butun a;
{ Boshla
int a; kirit a;
cin>>a; agar(a/100!=0)
if(a/100!=0) {agar (a%2==0) chiqar “3 xonali juft son”;
{if(a%2==0) cout<<”uch xonali juft son”; aksholda(a%2!=0)chiqar “3 xonali toq son”;}
else(a%2!=0)cout<<”uch xonali toq son” ;} agar(a/100==0&&a/10!=0)
if(a/100==0&&a/10!=0) {agar(a%2==0) chiqar “2 xonali juft son”;
{if(a%2==0) cout<
else(a%2!=0) cout<<”ikki xonali toq son”; } agar( a/10==0)
if(a/10==0) {agar(a%2==0) chiqar”1 xonali juft son”;
{if(a%2==0) cout<<”bir xonali juft son”; aksholda(a%2!=0)chiqar”1 xonali toq son”;}
else(a%2!=0) cout<<”bir xonali toq son”; } tamom.
return 0;
4-misol: Ikkilik sanoq sistemasida berilgan sonni o’nlik sanoq sistemasiga o’tkazish dasturini tuzish.
#include Alg hisobla;
#include Arg butun a,b,i=0;
using namespace std; Nat butun S;
int main() Boshla
{int a,b,i=0,S=0; kirit a;
cin>>a; hisobla
while(a!=0) toki (a==0)
{b=a%10; {b=a%10;
S=S+b*pow(2,i); S=S+b*pow(2,i);
a=a/10;i++;} a=a/10;i++;}
cout<
return 0;} Tamom.
-
Xulosa
Shunday qilib C++ tilining asosiy tushunchalaridan biri bu algoritmdir.Algoritmsiz
biz C++ tilini tasavvur eta olmaymiz .Algoritm nafaqat C++ tilida balki butun
bir hayotimizda asosiy o’rinni egallaydi.Chunki har bir ishni bajarish uchun avval
uning algoritmi tuziladi.Algoritmsiz biror ishni bajarishimiz juda qiyin.shunday ekan
aziz dasturchi algoritmni yaxshi o’rganishga harakat qiling
Do'stlaringiz bilan baham: |