Protsedurali algoritmlar metodi. Bu metod algoritmlar tarkibida aniq natijalar beruvchi funksiya yoki proseduralardan unumli foydalanishdan iborat. Algoritmlarni bu metoddan foydalanib yaratish uni ixcham, hamda yaqqol ko‘zga tashlanishini ta’minlab, algoritm tarkibida ulardan bir necha marotaba foydalanish imkoniyatini beradi. Quyida bu metodni C++ tilida ifodalangan bir necha sodda protsedura va funksiyalar qatnashgan algoritm misolida kuzatishimiz mumkin.
#include
int sum (int x,int y,int z) { return(x+y+z);} // uchta sonning yig‘indisini beruvchi funksiya
int sum1 (int n)
{int s; s=0; for (int i=1; iint fakn (int n)
{int p; p=1; for (int i=1; ivoid Area(double Radius, double &Result)
{const double Pi=3.1416; Result = Pi * Radius * Radius; } // R radiusli doira yuzasini hisoblovchi prosedura
void gggg(double d1, double &Result1,double &result2,double & result3)
{ Result1 = 3 * d1; result2=7*d1; result3=Result1*result2;} //3 ta natija beruvchi prosedura
int dol_summ(int n) { int s; s = n*3623;return(s); } // dollar qiymatini so‘mga o‘tkazuvchi funksiya
int per(int a, int b) { int p; p=2*(a+b); return(p); } // to‘rtburchak perimetrini hisoblovchi funksiya
void powerAA(double d1, double &Result1) { Result1 = d1*d1*d1;} // sonning kubini hisoblovchi prosedura
using namespace std;
int main()
{int t1,t2; cout<>t1; cin >>t2;
cout<
int xx,yy,zz; cout<< sum(5,8,5)<< endl;
cin>>xx; cin>>yy; cin>>zz; cout<< sum(xx,yy,zz)<< endl;
cout<< sum1(101)<< endl;
cout<< fakn(10)<< endl;
double uza; Area(5,uza); cout<< uza<< endl;
double dd1,dd2,dd3;
gggg(5,dd1,dd2,dd3); cout<powerAA(5,dd3); cout<<"javob"<<'\t'<return 0;
}
Keltirilgan dastur natijasiga ko‘ra dastur tahlilini o‘tkazishni tavsiya qilamiz:
Modul – bu nomga ega biror algoritm yoki uning bir qismi bo‘lib, bu nom orqali uni faollashtirih mumkin. Ko‘p hollarda modulni ham ixtiyoriy algoritmga xos bo‘lgan yordamchi algoritm nomi bilan ham yuritishadi.
Modul xossalari:
Algoritmlarni modulli loyihalashning afzalliklari:
3-masala. Kiritilgan n soni uchun “sonli romb” quyidagicha yaratiladi: 1-qatorda 1 ta 1, 2-qatorda 2 ta 2, 3-qatorda 3 ta 3 va nchi qator uchun n ta n. So‘ng keyingi qatorlarda sonlar miqdori bittadan kamayib boradi. Bu jarayon bitta son qolguniga qadar davom ettiriladi. Shu sonlar yig‘indisini topish algoritmini tuzing.
M asala shartiga ko‘ra rombdagi sonlarni quyidagicha tasvirlash mumkin:
var i,j,n,k,s:integer;
begin
readln(n); s:=0;
for I := 1 to n do
begin
for j := 1 to i do begin write(i,#9); s:=s+i;end; writeln;
end;
k:=n-1;
while (i<=2*(n-1)+1) do
begin
for j := 1 to k do
begin write(i,#9); s:=s+i;end;
dec(k,1); i:=i+1; writeln; end;
writeln(s);
readln;
Do'stlaringiz bilan baham: |