SlideShare a Scribd company logo
1 of 16
Àëãîðèòìèéí ¿íäýñ

     Ëåêö ¹06
Àãóóëãà
1. Äàâòàëò
2. ªìíºõ íºõöºëò äàâòàëò
3. Äàðààõ íºõöºëò äàâòàëò
Äàâòàëò
Бүлэг үйлдлийг давтан
биелүүлэх процессыг
компьютерт давталт буюу
“цикл” гэнэ.
Аливаа  бодлогын
алгоритмийг зохиохдоо түүнийг
давталтаар илэрхийлэх
зорилго байнга тавьж байх
хэрэгтэй. Ингэж чадвал бид
өөрсдийн “програм зохиож
бичих” ажлыг олон дахин
хөнгөвчилж чадна.
Энэ бол програмчлалын нэг
үндсэн зарчим гэж ойлгох
хэрэгтэй. Ийм учраас давталтын
ялгаатай хэлбэрүүд бий болжээ.
Нөхцөлт биш удирдлага
дамжуулах үйлдлийг ашиглан
давталт үүсгэж болох боловч энэ
нь төгсөхгүй “мөнх” биелэх
давталт болж “алгоритм заавал
төгсдөг байх” шаардлага
зөрчигдөх тул ийм давталтыг
бичиж болохгүй.
{
Æ:     // буруу_алг
       pi=3.141592
       a: scanf(“%d”,&r)
       L:=pi*r ;
       S:=L*r ;
       V:=4/3*S*r ;
       L:=2*L;
     printf(“%d,%d,%d”,L,S,V);
       goto a;
     }
Энд r хэмжигдхүүний өгөгдсөн
утганд харгалзах L,S,V
хэмжигдхүүнүүдийн утгыг
бодож гаргах бүлэг үйлдлийг
төгсгөлгүй давтах учир энэ нь
зөв алгоритм болж чадахгүй
ªìíºõ íºõöºëò äàâòàëò
Давталтыг төгсдөг болгохын
тулд нөхцөл шалгах үйлдэл
ашиглах ба нөхцөл шалгах
болон нөхцөлт биш
удирдлага дамжуулах
үйлдлээр дараахь хэлбэртэй
нийлмэл үйлдлийг зохиож
болно.
Өмнөх нөхцөлт давталтыг
  алгоритмын хэлэнд:

     while (нөхцөл)
       {үйлдэл_1
        үйлдэл_2
          ……
       үйлдэл_n
           };
Өмнөх нөхцөлт давталтыг бичихдээ
дараах шинжүүдийг анхаарах хэрэгтэй.
Үүнд:
Төгсгөхнөхцлийг шалгаж давталт
эхлэх учир энэ нөхцөл давталт
эхлэхээс өмнө тодорхой утгатай
болсон байх ёстой.
Давталтын  төгсгөх нөхцөлийг
шалгаж давталт эхлэх учир энэ нь
анхнаасаа, хэрэв биелэхгүй байвал
давталтын бие биелэгдэхгүй шууд
давталтын дараах үйлдэлд
шилжинэ.
Давталтын   төгсгөх нөхцөлд нөлөөлөх
ө.х түүний утга өөрчлөгдөхөд
нөлөөлөх ямар нэг үйлдэл давталтын
бие дотор заавал орсон байх ёстой.
Хэрэв тэгэхгүй бол нөхцөл үргэлж
“үнэн” утгатай байж “мөнхийн” давталт
үүсэхэд хүрнэ.
Давталтын  бие биелэх бүрд түүнийг
төгсгөх нөхцөлийн утга өөрчлөгдөх
учраас нөхцөлийн утга “худал” болсон
үед давталт төгсч давталтын дараах
үйлдэлд шилжинэ.Өмнөх нөхцөлт
давталтын хувьд түүний бие төгсгөлөг
тоон удаа биелэгдэхэд “худал” утгатай
болж чадах тийм нөхцөлийг зөв
нөхцөл гэж үзнэ.
Өмнөх нөхцөлт
   давталт
     Нөхцөл



    Үйлдэл_1
      ........
    Үйлдэл_n
Дараах нөхцөлт
       давталт
Энэ давталтын хувьд
түүнийг төгсгөх нөхцөлийг
давталтын бие биелэгдсэний
дараа шалгаж байгаа учраас
ийм хэлбэрийн давталтыг
дараах нөхцөлт давталт гэнэ.
Дараах нөхцөлт давталтыг
   алгоритмын хэлэнд:
          do {
        үйлдэл_1
        үйлдэл_2
            …..
       Үйлдэл_n }
      while (нөхцөл);
Дараах нөхцөлт давталт
      доорх онцлог шинжтэй
          байна. Үүнд:
Давталтын  бие биелсний дараа төгсгөх нөхцөлийг
шалгаад дахин давтах эсэхийг тогтоох учир түүний бие
ядаж нэг удаа заавал биелэгдэнэ.
Нөхцөл нөлөөлөх ө.х нөхцөлийн утгыг өөрчлөх ямар нэг
үйлдэл давталтын бие дотор заавал бичигдсэн байх
ёстой.
Дараах нөхцөлт давталтын хувьд түүний бие төгсгөлөг
тоон удаа биелэгдэхэд “худал” утгатай болж чадах тийм
зөв нөхцөлийг сонгож бичсэн байх ёстой.
Төгсгөхнөхцөл “худал” утгатай болж давталт дуусахад
давталтын үйлдлийн дараа бичигдсэн үйлдэлд шилжинэ.
Дараах нөхцөлт
   давталт

   Давталтын
      бие


    Нөхцөл

More Related Content

What's hot (6)

Lecture8
Lecture8Lecture8
Lecture8
 
Lecture8
Lecture8Lecture8
Lecture8
 
Lecture7
Lecture7Lecture7
Lecture7
 
Day 2 php
Day 2   phpDay 2   php
Day 2 php
 
Lec8 break
Lec8 breakLec8 break
Lec8 break
 
Nohtsol shal хичээл 5
Nohtsol shal хичээл 5Nohtsol shal хичээл 5
Nohtsol shal хичээл 5
 

Viewers also liked (8)

Lecture13
Lecture13Lecture13
Lecture13
 
Lecture2
Lecture2Lecture2
Lecture2
 
Lecture5
Lecture5Lecture5
Lecture5
 
Lecture14
Lecture14Lecture14
Lecture14
 
Lecture1 ic
Lecture1 icLecture1 ic
Lecture1 ic
 
Lecture12
Lecture12Lecture12
Lecture12
 
Lecture9
Lecture9Lecture9
Lecture9
 
Lecture10
Lecture10Lecture10
Lecture10
 

Similar to Lecture6

U.cs101 алгоритм программчлал-5 zasvar badral(1)
U.cs101   алгоритм программчлал-5 zasvar badral(1)U.cs101   алгоритм программчлал-5 zasvar badral(1)
U.cs101 алгоритм программчлал-5 zasvar badral(1)Badral Khurelbaatar
 
Video lecture-2
Video lecture-2Video lecture-2
Video lecture-2bsuren_bn
 
Lecture2
Lecture2Lecture2
Lecture2orgil
 
u.cs101 "Алгоритм ба програмчлал" Лекц №3
u.cs101 "Алгоритм ба програмчлал" Лекц №3u.cs101 "Алгоритм ба програмчлал" Лекц №3
u.cs101 "Алгоритм ба програмчлал" Лекц №3Khuder Altangerel
 

Similar to Lecture6 (10)

Lecture7
Lecture7Lecture7
Lecture7
 
U.cs101 алгоритм программчлал-5 zasvar badral(1)
U.cs101   алгоритм программчлал-5 zasvar badral(1)U.cs101   алгоритм программчлал-5 zasvar badral(1)
U.cs101 алгоритм программчлал-5 zasvar badral(1)
 
Video lecture-2
Video lecture-2Video lecture-2
Video lecture-2
 
U.cs101 lecture 6
U.cs101   lecture 6U.cs101   lecture 6
U.cs101 lecture 6
 
Lecture8
Lecture8Lecture8
Lecture8
 
Lecture8
Lecture8Lecture8
Lecture8
 
Lecture2
Lecture2Lecture2
Lecture2
 
онол
онолонол
онол
 
7salaalsan
7salaalsan7salaalsan
7salaalsan
 
u.cs101 "Алгоритм ба програмчлал" Лекц №3
u.cs101 "Алгоритм ба програмчлал" Лекц №3u.cs101 "Алгоритм ба програмчлал" Лекц №3
u.cs101 "Алгоритм ба програмчлал" Лекц №3
 

More from Batjargal Batbold

More from Batjargal Batbold (9)

Програмчлал I - Laboratory 1
Програмчлал I - Laboratory 1Програмчлал I - Laboratory 1
Програмчлал I - Laboratory 1
 
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунуудАндройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
 
Android
AndroidAndroid
Android
 
Lecture11
Lecture11Lecture11
Lecture11
 
Lecture8
Lecture8Lecture8
Lecture8
 
Lecture4
Lecture4Lecture4
Lecture4
 
Lecture3
Lecture3Lecture3
Lecture3
 
Lecture1
Lecture1Lecture1
Lecture1
 
Recursive
RecursiveRecursive
Recursive
 

Lecture6

  • 2. Àãóóëãà 1. Äàâòàëò 2. ªìíºõ íºõöºëò äàâòàëò 3. Äàðààõ íºõöºëò äàâòàëò
  • 3. Äàâòàëò Бүлэг үйлдлийг давтан биелүүлэх процессыг компьютерт давталт буюу “цикл” гэнэ.
  • 4. Аливаа бодлогын алгоритмийг зохиохдоо түүнийг давталтаар илэрхийлэх зорилго байнга тавьж байх хэрэгтэй. Ингэж чадвал бид өөрсдийн “програм зохиож бичих” ажлыг олон дахин хөнгөвчилж чадна.
  • 5. Энэ бол програмчлалын нэг үндсэн зарчим гэж ойлгох хэрэгтэй. Ийм учраас давталтын ялгаатай хэлбэрүүд бий болжээ. Нөхцөлт биш удирдлага дамжуулах үйлдлийг ашиглан давталт үүсгэж болох боловч энэ нь төгсөхгүй “мөнх” биелэх давталт болж “алгоритм заавал төгсдөг байх” шаардлага зөрчигдөх тул ийм давталтыг бичиж болохгүй.
  • 6. { Æ: // буруу_алг pi=3.141592 a: scanf(“%d”,&r) L:=pi*r ; S:=L*r ; V:=4/3*S*r ; L:=2*L; printf(“%d,%d,%d”,L,S,V); goto a; }
  • 7. Энд r хэмжигдхүүний өгөгдсөн утганд харгалзах L,S,V хэмжигдхүүнүүдийн утгыг бодож гаргах бүлэг үйлдлийг төгсгөлгүй давтах учир энэ нь зөв алгоритм болж чадахгүй
  • 8. ªìíºõ íºõöºëò äàâòàëò Давталтыг төгсдөг болгохын тулд нөхцөл шалгах үйлдэл ашиглах ба нөхцөл шалгах болон нөхцөлт биш удирдлага дамжуулах үйлдлээр дараахь хэлбэртэй нийлмэл үйлдлийг зохиож болно.
  • 9. Өмнөх нөхцөлт давталтыг алгоритмын хэлэнд: while (нөхцөл) {үйлдэл_1 үйлдэл_2 …… үйлдэл_n };
  • 10. Өмнөх нөхцөлт давталтыг бичихдээ дараах шинжүүдийг анхаарах хэрэгтэй. Үүнд: Төгсгөхнөхцлийг шалгаж давталт эхлэх учир энэ нөхцөл давталт эхлэхээс өмнө тодорхой утгатай болсон байх ёстой. Давталтын төгсгөх нөхцөлийг шалгаж давталт эхлэх учир энэ нь анхнаасаа, хэрэв биелэхгүй байвал давталтын бие биелэгдэхгүй шууд давталтын дараах үйлдэлд шилжинэ.
  • 11. Давталтын төгсгөх нөхцөлд нөлөөлөх ө.х түүний утга өөрчлөгдөхөд нөлөөлөх ямар нэг үйлдэл давталтын бие дотор заавал орсон байх ёстой. Хэрэв тэгэхгүй бол нөхцөл үргэлж “үнэн” утгатай байж “мөнхийн” давталт үүсэхэд хүрнэ. Давталтын бие биелэх бүрд түүнийг төгсгөх нөхцөлийн утга өөрчлөгдөх учраас нөхцөлийн утга “худал” болсон үед давталт төгсч давталтын дараах үйлдэлд шилжинэ.Өмнөх нөхцөлт давталтын хувьд түүний бие төгсгөлөг тоон удаа биелэгдэхэд “худал” утгатай болж чадах тийм нөхцөлийг зөв нөхцөл гэж үзнэ.
  • 12. Өмнөх нөхцөлт давталт Нөхцөл Үйлдэл_1 ........ Үйлдэл_n
  • 13. Дараах нөхцөлт давталт Энэ давталтын хувьд түүнийг төгсгөх нөхцөлийг давталтын бие биелэгдсэний дараа шалгаж байгаа учраас ийм хэлбэрийн давталтыг дараах нөхцөлт давталт гэнэ.
  • 14. Дараах нөхцөлт давталтыг алгоритмын хэлэнд: do { үйлдэл_1 үйлдэл_2 ….. Үйлдэл_n } while (нөхцөл);
  • 15. Дараах нөхцөлт давталт доорх онцлог шинжтэй байна. Үүнд: Давталтын бие биелсний дараа төгсгөх нөхцөлийг шалгаад дахин давтах эсэхийг тогтоох учир түүний бие ядаж нэг удаа заавал биелэгдэнэ. Нөхцөл нөлөөлөх ө.х нөхцөлийн утгыг өөрчлөх ямар нэг үйлдэл давталтын бие дотор заавал бичигдсэн байх ёстой. Дараах нөхцөлт давталтын хувьд түүний бие төгсгөлөг тоон удаа биелэгдэхэд “худал” утгатай болж чадах тийм зөв нөхцөлийг сонгож бичсэн байх ёстой. Төгсгөхнөхцөл “худал” утгатай болж давталт дуусахад давталтын үйлдлийн дараа бичигдсэн үйлдэлд шилжинэ.
  • 16. Дараах нөхцөлт давталт Давталтын бие Нөхцөл