SlideShare una empresa de Scribd logo
1 de 11
Алгоритмын үндэс


     Лекц № 12
Óòãà äàìæóóëàõ
• Æèíõýíý àðãóìåíòûí òîî áîëîí òºðºë íü õèéñâýð
  àðãóìåíòûí òîî áîëîí òºðºëòýé õàðãàëçàí òîõèð÷
  áàéõ ¸ñòîé.
• Äóóäàõ ¿éëäýë áèåëæ äýä àëãîðèòìä óäèðäëàãà
  î÷èõ ¿åä {ïàðàìåò ð_ 1 = æ_ ïàðàìåò ð_ 1 ; . . . ;
  ïàðàìåò ð_ n= æ_ ïàðàìåò ð_ n};
   ãýñýí ¿éëäýë àâòîìàòààð õèéãääýã.


     ººðººð õýëáýë õóâüñàãчóóä óòãàòàé áîëäîã
Õýðõýí áóöàõ âý?
• Äóóäàõ ¿éëäýë áèåëýõýä áóöàõ õàÿãèéã
  ñàíàæ õàäãàëààä äýä àëãîðèòìä øèëæäýã.
• ¯éëäë¿¿ä áèåëæ ¿ð ä¿í áýëýí áîëîõîä
  óäèðäëàãûã ýõ àëãîðèòìä return ãýñýí ò¿ëõ¿¿ð
  ¿ã àøèãëàí áóöààíà.
• return ¿éëäýë áèåëýõýä ºìíº õàäãàëàãäñàí
  áóöàõ õàÿãèéí òóñëàìæ   òàéãààð àëãîðèòì ýõ
  àëãîðèòìä øèëæ äýã.
Õóâüñàã÷
  Äýä àëãîðèòìûí àðãóìåíòèéí óòãûã 2 õýëáýðèéí
  õóâüñàã÷ààð äàìæ   óóëäàã.
• Ãëîáàëü õóâüñàã÷ : Ýõ áà äýä àëãîðèò-
  ìóóäàä á¿ãäýä íü õýðýãëýæáîëîõîîð
  òîäîðõîéëîãäñîí õóâüñàã÷
• Ëîêàëü õóâüñàã÷ : Äýä àëãîðèòì äîòîð
  òîäîðõîéëîãäñîí áºãººä çºâõºí òýíä õýðýãëýãäýæ
  áàéãàà õóâüñàã÷
   Ãëîáàëü õóâüñàãчèéã àøèãëàõ íü èõýíõäýý
    Ãëîáàëü õóâüñàãчèéã àøèãëàõ íü èõýíõäýý
   òîõèðîìæã¿éáàéäàã.
           ã¿é
    òîõèðîìæ áàéäàã.
Æèøýý
     max(x,y)= x, õýðýâ x≥y
                  y, õýðýâ x<y
ôóíêöèéã àøèãëàí ºãñºí a,b,c áîäèò óòãàíä
          max(a, b+c)+max(a, a+c)
       t=    1+max(a+bc, 3.1415)

õýìæèãäýõ¿¿íèé óòãûã áîäîæîë.
Àëãîðèòì
{ /Alg Æ1
   /                                t=t+xymax;
    float a,b,c,t,x,y,xymax;        x=a+b* c;
    scanf(“ %f,%f,                  y=3.1415;
       %f” ,& a,& b,& c);
                                    xymax=x;
      x=a;
      y=b+c;                       if (y>xymax)
                                     xymax=y;
       xymax=x;
      if (y>xymax)                    t=t/(1+xymax);
       xymax=y;                    printf(“%f”,t);
       t=xymax;                }
       y=a+c;
       xymax=x;
      if (y>xymax)
       xymax=y;
Àëãîðèòì (ãëîáàëü)
{ /AlgÆ2
   /                               x=a+b* c;
    float a,b,c,t,x,y,xymax;       y=3.1415;
    scanf(“ %f,%f,                 max();
       %f” ,& a,& b,& c);          t=t/(1+xymax);
      x=a;                         printf(“%f”,t);
      y=b+c;                   }
                               void max()
      max();
                               {     xymax=x;
      t=xymax;
                                  if (y>xymax) xymax=y;
      y=a+c;                   return;
      max();                   }
      t=t+xymax;
Àëãîðèòì (ëîêàëü)
{ /AlgÆ3
   /
    float a,b,c,t;                     float max(flo at x, y){
    scanf(“ %f,%f,%f” ,& a,& b,& c);      xymax=x;
                                          if (y>xymax) xymax=y;
    t=max(a,b+c)+max(a,a+c);
                                       return xymax;
    t=t/(1+max(a+b* c,
                                       }
       3.1415));
    printf(“%f”,t);
}
Ôóíêö áà ïðîöåäóð

• Òîäîðõîé ¿éëäýë ã¿éöýòãýäýã äýä àëãîðèòì-
 procedure
• Òîäîðõîé ÿìàð íýã óòãà îëæ ò¿¿íèéãýý
 áóöààæ ºãäºã äýä àëãîðèòì-function
• Ôóíêöèéí áóöààõ óòãà íü õóâüñàãч áîëîí
 äóðûí èëýðõèéëýë áàéæáîëíî.
ßìàð ¿åä ò¿ãýýìýë õýðýãëýäýã
             âý?
• Àðãóìåíòûí ºãñºí óòãàíä òîäîðõîé íýã óòãûã
  õàðãàëçóóëàí áîäîæ ºãäºã äýä àëãîðèòìûã
  function õýëáýðòýé
• Áè÷èõ, óíøèõ, íýýõ, õààõ ãýõ ìýò òîäîðõîé
  ¿éëäýë áèåë¿¿ëýõ ýñâýë õýä õýäýí óòãà
  áîäîõîä çîðèóëñàí äýä àëãîðèòìûã procedure
  õýëáýðòýé
ßàæ áè÷èõ âý?
төрөл íýð (ò ºðºë _ 1 ïàðàìåò ð_ 1 , . . , ò ºðºë _ n
                ïàðàìåò ð_ n) {
      áèå_¿éëäë¿¿ä
return(áóöààõ óòãà); }
Æ:
   float ìàõ (flo at õ , ó ) {
      if (ó>õ) õ=ó;
   return(õ); }

Más contenido relacionado

Más de Batjargal Batbold (18)

Програмчлал I - Laboratory 1
Програмчлал I - Laboratory 1Програмчлал I - Laboratory 1
Програмчлал I - Laboratory 1
 
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунуудАндройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
 
Android
AndroidAndroid
Android
 
Lecture14
Lecture14Lecture14
Lecture14
 
Lecture13
Lecture13Lecture13
Lecture13
 
Lecture11
Lecture11Lecture11
Lecture11
 
Lecture10
Lecture10Lecture10
Lecture10
 
Lecture9
Lecture9Lecture9
Lecture9
 
Lecture8
Lecture8Lecture8
Lecture8
 
Lecture7
Lecture7Lecture7
Lecture7
 
Lecture6
Lecture6Lecture6
Lecture6
 
Lecture5
Lecture5Lecture5
Lecture5
 
Lecture4
Lecture4Lecture4
Lecture4
 
Lecture3
Lecture3Lecture3
Lecture3
 
Lecture2
Lecture2Lecture2
Lecture2
 
Lecture1 ic
Lecture1 icLecture1 ic
Lecture1 ic
 
Lecture1
Lecture1Lecture1
Lecture1
 
Recursive
RecursiveRecursive
Recursive
 

Lecture12

  • 2. Óòãà äàìæóóëàõ • Æèíõýíý àðãóìåíòûí òîî áîëîí òºðºë íü õèéñâýð àðãóìåíòûí òîî áîëîí òºðºëòýé õàðãàëçàí òîõèð÷ áàéõ ¸ñòîé. • Äóóäàõ ¿éëäýë áèåëæ äýä àëãîðèòìä óäèðäëàãà î÷èõ ¿åä {ïàðàìåò ð_ 1 = æ_ ïàðàìåò ð_ 1 ; . . . ; ïàðàìåò ð_ n= æ_ ïàðàìåò ð_ n}; ãýñýí ¿éëäýë àâòîìàòààð õèéãääýã. ººðººð õýëáýë õóâüñàãчóóä óòãàòàé áîëäîã
  • 3. Õýðõýí áóöàõ âý? • Äóóäàõ ¿éëäýë áèåëýõýä áóöàõ õàÿãèéã ñàíàæ õàäãàëààä äýä àëãîðèòìä øèëæäýã. • ¯éëäë¿¿ä áèåëæ ¿ð ä¿í áýëýí áîëîõîä óäèðäëàãûã ýõ àëãîðèòìä return ãýñýí ò¿ëõ¿¿ð ¿ã àøèãëàí áóöààíà. • return ¿éëäýë áèåëýõýä ºìíº õàäãàëàãäñàí áóöàõ õàÿãèéí òóñëàìæ òàéãààð àëãîðèòì ýõ àëãîðèòìä øèëæ äýã.
  • 4. Õóâüñàã÷ Äýä àëãîðèòìûí àðãóìåíòèéí óòãûã 2 õýëáýðèéí õóâüñàã÷ààð äàìæ óóëäàã. • Ãëîáàëü õóâüñàã÷ : Ýõ áà äýä àëãîðèò- ìóóäàä á¿ãäýä íü õýðýãëýæáîëîõîîð òîäîðõîéëîãäñîí õóâüñàã÷ • Ëîêàëü õóâüñàã÷ : Äýä àëãîðèòì äîòîð òîäîðõîéëîãäñîí áºãººä çºâõºí òýíä õýðýãëýãäýæ áàéãàà õóâüñàã÷ Ãëîáàëü õóâüñàãчèéã àøèãëàõ íü èõýíõäýý Ãëîáàëü õóâüñàãчèéã àøèãëàõ íü èõýíõäýý òîõèðîìæã¿éáàéäàã. ã¿é òîõèðîìæ áàéäàã.
  • 5. Æèøýý max(x,y)= x, õýðýâ x≥y y, õýðýâ x<y ôóíêöèéã àøèãëàí ºãñºí a,b,c áîäèò óòãàíä max(a, b+c)+max(a, a+c) t= 1+max(a+bc, 3.1415) õýìæèãäýõ¿¿íèé óòãûã áîäîæîë.
  • 6. Àëãîðèòì { /Alg Æ1 / t=t+xymax; float a,b,c,t,x,y,xymax; x=a+b* c; scanf(“ %f,%f, y=3.1415; %f” ,& a,& b,& c); xymax=x; x=a; y=b+c; if (y>xymax) xymax=y; xymax=x; if (y>xymax) t=t/(1+xymax); xymax=y; printf(“%f”,t); t=xymax; } y=a+c; xymax=x; if (y>xymax) xymax=y;
  • 7. Àëãîðèòì (ãëîáàëü) { /AlgÆ2 / x=a+b* c; float a,b,c,t,x,y,xymax; y=3.1415; scanf(“ %f,%f, max(); %f” ,& a,& b,& c); t=t/(1+xymax); x=a; printf(“%f”,t); y=b+c; } void max() max(); { xymax=x; t=xymax; if (y>xymax) xymax=y; y=a+c; return; max(); } t=t+xymax;
  • 8. Àëãîðèòì (ëîêàëü) { /AlgÆ3 / float a,b,c,t; float max(flo at x, y){ scanf(“ %f,%f,%f” ,& a,& b,& c); xymax=x; if (y>xymax) xymax=y; t=max(a,b+c)+max(a,a+c); return xymax; t=t/(1+max(a+b* c, } 3.1415)); printf(“%f”,t); }
  • 9. Ôóíêö áà ïðîöåäóð • Òîäîðõîé ¿éëäýë ã¿éöýòãýäýã äýä àëãîðèòì- procedure • Òîäîðõîé ÿìàð íýã óòãà îëæ ò¿¿íèéãýý áóöààæ ºãäºã äýä àëãîðèòì-function • Ôóíêöèéí áóöààõ óòãà íü õóâüñàãч áîëîí äóðûí èëýðõèéëýë áàéæáîëíî.
  • 10. ßìàð ¿åä ò¿ãýýìýë õýðýãëýäýã âý? • Àðãóìåíòûí ºãñºí óòãàíä òîäîðõîé íýã óòãûã õàðãàëçóóëàí áîäîæ ºãäºã äýä àëãîðèòìûã function õýëáýðòýé • Áè÷èõ, óíøèõ, íýýõ, õààõ ãýõ ìýò òîäîðõîé ¿éëäýë áèåë¿¿ëýõ ýñâýë õýä õýäýí óòãà áîäîõîä çîðèóëñàí äýä àëãîðèòìûã procedure õýëáýðòýé
  • 11. ßàæ áè÷èõ âý? төрөл íýð (ò ºðºë _ 1 ïàðàìåò ð_ 1 , . . , ò ºðºë _ n ïàðàìåò ð_ n) { áèå_¿éëäë¿¿ä return(áóöààõ óòãà); } Æ: float ìàõ (flo at õ , ó ) { if (ó>õ) õ=ó; return(õ); }