IV
                                Алгоритмын бүтэц
                   III
                          Алгоритмыг дүрслэх арга
         II
               Алгоритмын шинж чанар
I
    Алгоритм гэж юу вэ?




                           Багш:   Л.Баярсайхан
I            Алгоритм гэж юу вэ?
         Тодорхойлолт

        Алгоритм бол тодорхой үр дүн гаргаж авахын тулд
    1   дараалан гүйцэтгэх ѐстой үйлдийн дараалал юм.


        Алгоритм бол тодорхой үр дүн гаргаж авахын тулд
    2   баримтлах ерөнхий дүрэм юм.

        Дэвшүүлсэн зорилгодоо хүрэх буюу өмнөө тавьсан
        бодлогоо бодохын тулд гүйцэтгэгчийн хийх
    3   үйлдлийн дарааллыг нарийвчлан зааж өгсөнийг
        алгоритм гэнэ

                     Алгоритм зохиох процессийг алгоритмчлал гэнэ.
Эргэн тойрны амьдралд дүүрэн алгоритм байна. Жишээ нь: Хот доторхи
 автомашины жолооч гэрлэн дохионд захирагдах дүрмийг баримталдаг.
 Түүнийг нь:

        Шар гэрэл                   Улаан гэрэл             Ногоон гэрэл
Шар гэрэл асвал гэрлэн дохио
                                                        Ногоон гэрэл асвал хөдөл
солигдох (улаан эсвэл ногоо)   Улаан гэрэл асвал зогс
                                                        хэмээн томъѐолъѐ
гэж буй тул анхааралтай бай

Энэ бол гэрлэн дохионд захирагдах алгоритм юм. Гэхдээ алгоритмын хувьд
үйлдлийн эрэмбэ зайлшгүй чухал биш. Учир нь жолооч замын гэрлэн дохиотой
хэсгээр явж байгаад, чухам ямар гэрэл асч байна вэ /өөрөөр хэлбэл ямар
нөхцөл биелэж байна вэ гэдгийг шалгаад/ түүнд тохирсон алхмыг дээрх
алгоритмаас сонгож гүйцэтгэнэ.

Тэгвэл (3+3)*(3+4)-10 гэсэн илэрхийллийг бодохын тулд:
1-р алхам: 3 дээр 3-ыг нэмэх /=6/
2-р алхам: 3 дээр 4-ийг нэмэх /=7/
3-р алхам: 6-г 7-оор үржүүлэх/=42/
4-р алхам: 42-оос 10-ыг хасах /=32/ гэсэн алгоритмыг баримтална. Энд бол
үйлдлын дараалал чухал байна.
II          Алгоритмын шинж чанар

                 Дескрет буюу тасралттай чанар:
                 Алгоритм нь дараалсан алхамууд буюу үйлдлээс тогтсон байх


              Тодорхой байх чанар: Алгоритмын алхам бүр оновчтой, тодорхой
              байх – алгоритмын алхам бүрт чухам ямар үйлдэл хийгдэх нь
              тодорхой байх

           Нийтлэг байх чанар: Тодорхой бодлогын алгоритмыг зохиохдоо энэ
           бодлоготой ижил төрлийн бодлогыг бодоход хэрэглэж болохоор
           ерөнхий алгоритмийг зохиох хэрэгтэй.

       Төгсгөлөг байх чанар: Төгсгөлөг тооны алхамтай байх ба эдгээр
       алхамууд нь төгсгөлөг тоогоор биелэнэ.


     Үр дүнтэй байх чанар: Тодорхой үр дүн гаргадаг байх ѐстой.
II          Алгоритмын шинж чанар


              Дескрет буюу тасралттай чанар:
              Алгоритм нь дараалсан алхамууд буюу үйлдлээс тогтсон байх

              Тодорхой байх чанар:
              Алгоритмын алхам бүр оновчтой, тодорхой байх – алгоритмын
              алхам бүрт чухам ямар үйлдэл хийгдэх нь тодорхой байх

           Нийтлэг байх чанар: Тодорхой бодлогын алгоритмыг зохиохдоо энэ
           бодлоготой ижил төрлийн бодлогыг бодоход хэрэглэж болохоор
           ерөнхий алгоритмийг зохиох хэрэгтэй.

       Төгсгөлөг байх чанар: Төгсгөлөг тооны алхамтай байх ба эдгээр
       алхамууд нь төгсгөлөг тоогоор биелэнэ.


     Үр дүнтэй байх чанар: Тодорхой үр дүн гаргадаг байх ѐстой.
II          Алгоритмын шинж чанар

               Дескрет буюу тасралттай чанар:
               Алгоритм нь дараалсан алхамууд буюу үйлдлээс тогтсон байх


              Тодорхой байх чанар: Алгоритмын алхам бүр оновчтой, тодорхой
              байх – алгоритмын алхам бүрт чухам ямар үйлдэл хийгдэх нь
              тодорхой байх

           Нийтлэг байх чанар:
           Тодорхой бодлогын алгоритмыг зохиохдоо энэ бодлоготой ижил төрлийн
           бодлогыг бодоход хэрэглэж болохоор ерөнхий алгоритмийг зохиох хэрэгтэй.

       Төгсгөлөг байх чанар: Төгсгөлөг тооны алхамтай байх ба эдгээр
       алхамууд нь төгсгөлөг тоогоор биелэнэ.


     Үр дүнтэй байх чанар: Тодорхой үр дүн гаргадаг байх ѐстой.
II          Алгоритмын шинж чанар

               Дескрет буюу тасралттай чанар:
               Алгоритм нь дараалсан алхамууд буюу үйлдлээс тогтсон байх


              Тодорхой байх чанар: Алгоритмын алхам бүр оновчтой, тодорхой
              байх – алгоритмын алхам бүрт чухам ямар үйлдэл хийгдэх нь
              тодорхой байх

          Нийтлэг байх чанар: Тодорхой бодлогын алгоритмыг зохиохдоо энэ
          бодлоготой ижил төрлийн бодлогыг бодоход хэрэглэж болохоор ерөнхий
          алгоритмийг зохиох хэрэгтэй.

      Төгсгөлөг байх чанар:
      Төгсгөлөг тооны алхамтай байх ба эдгээр алхамууд нь төгсгөлөг тоогоор
      биелэнэ.

     Үр дүнтэй байх чанар: Тодорхой үр дүн гаргадаг байх ѐстой.
II         Алгоритмын шинж чанар

              Дескрет буюу тасралттай чанар:
              Алгоритм нь дараалсан алхамууд буюу үйлдлээс тогтсон байх


             Тодорхой байх чанар: Алгоритмын алхам бүр оновчтой, тодорхой
             байх – алгоритмын алхам бүрт чухам ямар үйлдэл хийгдэх нь
             тодорхой байх

         Нийтлэг байх чанар: Тодорхой бодлогын алгоритмыг зохиохдоо энэ
         бодлоготой ижил төрлийн бодлогыг бодоход хэрэглэж болохоор ерөнхий
         алгоритмийг зохиох хэрэгтэй.

      Төгсгөлөг байх чанар:
      Төгсгөлөг тооны алхамтай байх ба эдгээр алхамууд нь төгсгөлөг тоогоор
      биелэнэ.


     Үр дүнтэй байх чанар:
     Тодорхой үр дүн гаргадаг байх ѐстой.
III          Алгоритмыг дүрслэх арга

         1           Үгээр илэрхийлэх арга: /Эх хэлээр бичих/



Жишээ нь: Самбар арчих алгоритм
                                   Самбарт гар
                                   Алчуур ав
                                   Алчуур норго
                                   Самбар арч
                                   Алчуураа тавь
                                   Суудалдаа суу
III           Алгоритмыг дүрслэх арга

          2                       Томъѐоны арга:

               Жишээ нь: ax2+bx+c=0
               Хэлбэрийн квадрат тэгшитгэлийг бодохдоо
               томъѐог ашигладаг



      3                    Грфик блок схемийн арга:

              Алгоримын үйлдлийг геометр дүрсээр /блок/ оруулж
              алгоритмыг тэмдэглэх хэлбэр юм. Блокууд сумаар холбогдож
              нийт алгоритмынхаа бүтцийг харуулдаг
Элемент   Элементийн нэр            Төлөөлөх үйлдэл
          Эхлэл төгсгөлийн блок   Алгоритмын эхлэл ба төгсгөл


                                   Оролт, гаралтын үйлдлийн
          Оролт , гаралтын блок      ерөнхий тэмдэглэгээ
                                       /дотор нь бичнэ/


                                  Арифметик үйлдлүүд ба утга
             Утга олгох блок               олгох г.м
                                       /дотор нь бичнэ/

                                   Өгсөн нөхцлийг шалгаж
          Логик нөхцөлийн блок    шийдвэр гаргах буюу салаа
                                    замын аль нэг нь явах
                                       /дотор нь бичнэ/


           Шилжилтийн шугам           Шилжилтийн шугам
III          Алгоритмыг дүрслэх арга

        4                         Хүснэгтэн арга:

            Алгоритмийн энэ бичлэг нь хүснэгтээр илэрхийлдэг хэлбэртэй.
            Хүснэгтэн алгоритм зохиох дараалал

                Мэдээлэл зүйд зөвшөөрдөг тийм байдлаар илэрхийллээ бичнэ.
                Үйлдлүүдийн дарааллыг тодорхойлно.
                Завсрын үр дүнг хадгалах тэмдэглэгээ оруулна.
                Хувьсагчдын алхам бүрт авах утгыг хүснэгтэнд оруулна.




 Жишээ нь: R=2a+3b
III        Алгоритмыг дүрслэх арга

      5                 Алгоритм бичвэрийн арга:


      Алгоритмын энэ тэмдэглэгээг тусгай хэлээр илэрхийлдэг.


      Жишээ нь: R=2a+3b бодлогыг алгоритм бичвэрийн аргаар бичье


                                 Оруул: a , b;
                                 K=2*a;
                                 U=3*b;
                                 R:=K+U;
                                 Гарга: (R);
IV              Алгоритмыг дүрслэх арга

          5                        Алгоритмын бүтэц:

Элементүүд нийлж тодорхой бүтцийг үүсгэдэг. Эдгээр бүтцийг
алгоритмын үндсэн бүтэц гэнэ. Алгоритмын үндсэн бүтэц нь нэг оролт,
нэг гаралттай байна.

                    Алгоритмын бүтэцийг 3 ангилна


      Шугаман                  Салаалсан            Давталттай
      алгоритм                 алгоритм              алгоритм

                                                        While/Байхад/
                     Гүйцэт          Гүйцэт бус         Until/Хүртэл/
                    алгоритм          алгоритм
                                                          Праметрт
Шугаман алгоритм
        Дээрээс доош бүтэцтэй алгоритмыг шугаман алгоритм гэнэ.
Самбар арчих алгоритмыг блок схемээр         R=2a+3b илэрхийллийн алгоритмыг блок
          илэрхийлсэн нь:                          схемээр илэрхийлсэн нь:

             Эхлэл
                                                            Эхлэл

         1. Самбарт гар
                                                        1. Оруул: a,b ;

          2. Алчуур ав
                                                          2. K=2*a;

         3. Алчуур норго
                                                          3. U=3*b;

          4. Самбар арч
                                                          4. R=K+U;

        5. Алчуураа тавь
                                                         5. Гарга (R);

        6. Суудалдаа суу
                                                           Төгсгөл

            Төгсгөл
Гүйцэт салаалалт
А тооны утга 5-аас их бол 2 дахин ихэсгэж, үгүй бол 2 дахин багасгах
алгоритм
                                Төгсгөл


                                Оруул (a)


                            -     a>5
                                            +

                   Y:=a/2                       Y:=a*2




                                Гарга (Y)


                                Төгсгөл
Гүйцэт биш салаалалт
А нь 5-аас их тохиолдолд                         А=4 буюу 5-аас бага үед

        Төгсгөл                                          Төгсгөл


       Оруул (a)                                        Оруул (a)


-        10>5
                           +                 -             4>5             +

                               Y:=5*2   Y:=4/2




       Гарга (Y)                                         Гарга (2)


        Төгсгөл                                          Төгсгөл
Бие дааж бодох бодлого

                A,b талуудтай тэгш өнцөгт өгөгджээ.Энэ тэгш өнцөгтийн
        1       талбай ба периметрийг ол.


              А,b натурал тоонууд өгөгдөв. Энэ 2 тооны ихийг ол.
    2
            Өгөгдсөн a,b,c гурван тооны ихийг ол.
3

алгоритм 8

  • 1.
    IV Алгоритмын бүтэц III Алгоритмыг дүрслэх арга II Алгоритмын шинж чанар I Алгоритм гэж юу вэ? Багш: Л.Баярсайхан
  • 2.
    I Алгоритм гэж юу вэ? Тодорхойлолт Алгоритм бол тодорхой үр дүн гаргаж авахын тулд 1 дараалан гүйцэтгэх ѐстой үйлдийн дараалал юм. Алгоритм бол тодорхой үр дүн гаргаж авахын тулд 2 баримтлах ерөнхий дүрэм юм. Дэвшүүлсэн зорилгодоо хүрэх буюу өмнөө тавьсан бодлогоо бодохын тулд гүйцэтгэгчийн хийх 3 үйлдлийн дарааллыг нарийвчлан зааж өгсөнийг алгоритм гэнэ Алгоритм зохиох процессийг алгоритмчлал гэнэ.
  • 3.
    Эргэн тойрны амьдралддүүрэн алгоритм байна. Жишээ нь: Хот доторхи автомашины жолооч гэрлэн дохионд захирагдах дүрмийг баримталдаг. Түүнийг нь: Шар гэрэл Улаан гэрэл Ногоон гэрэл Шар гэрэл асвал гэрлэн дохио Ногоон гэрэл асвал хөдөл солигдох (улаан эсвэл ногоо) Улаан гэрэл асвал зогс хэмээн томъѐолъѐ гэж буй тул анхааралтай бай Энэ бол гэрлэн дохионд захирагдах алгоритм юм. Гэхдээ алгоритмын хувьд үйлдлийн эрэмбэ зайлшгүй чухал биш. Учир нь жолооч замын гэрлэн дохиотой хэсгээр явж байгаад, чухам ямар гэрэл асч байна вэ /өөрөөр хэлбэл ямар нөхцөл биелэж байна вэ гэдгийг шалгаад/ түүнд тохирсон алхмыг дээрх алгоритмаас сонгож гүйцэтгэнэ. Тэгвэл (3+3)*(3+4)-10 гэсэн илэрхийллийг бодохын тулд: 1-р алхам: 3 дээр 3-ыг нэмэх /=6/ 2-р алхам: 3 дээр 4-ийг нэмэх /=7/ 3-р алхам: 6-г 7-оор үржүүлэх/=42/ 4-р алхам: 42-оос 10-ыг хасах /=32/ гэсэн алгоритмыг баримтална. Энд бол үйлдлын дараалал чухал байна.
  • 4.
    II Алгоритмын шинж чанар Дескрет буюу тасралттай чанар: Алгоритм нь дараалсан алхамууд буюу үйлдлээс тогтсон байх Тодорхой байх чанар: Алгоритмын алхам бүр оновчтой, тодорхой байх – алгоритмын алхам бүрт чухам ямар үйлдэл хийгдэх нь тодорхой байх Нийтлэг байх чанар: Тодорхой бодлогын алгоритмыг зохиохдоо энэ бодлоготой ижил төрлийн бодлогыг бодоход хэрэглэж болохоор ерөнхий алгоритмийг зохиох хэрэгтэй. Төгсгөлөг байх чанар: Төгсгөлөг тооны алхамтай байх ба эдгээр алхамууд нь төгсгөлөг тоогоор биелэнэ. Үр дүнтэй байх чанар: Тодорхой үр дүн гаргадаг байх ѐстой.
  • 5.
    II Алгоритмын шинж чанар Дескрет буюу тасралттай чанар: Алгоритм нь дараалсан алхамууд буюу үйлдлээс тогтсон байх Тодорхой байх чанар: Алгоритмын алхам бүр оновчтой, тодорхой байх – алгоритмын алхам бүрт чухам ямар үйлдэл хийгдэх нь тодорхой байх Нийтлэг байх чанар: Тодорхой бодлогын алгоритмыг зохиохдоо энэ бодлоготой ижил төрлийн бодлогыг бодоход хэрэглэж болохоор ерөнхий алгоритмийг зохиох хэрэгтэй. Төгсгөлөг байх чанар: Төгсгөлөг тооны алхамтай байх ба эдгээр алхамууд нь төгсгөлөг тоогоор биелэнэ. Үр дүнтэй байх чанар: Тодорхой үр дүн гаргадаг байх ѐстой.
  • 6.
    II Алгоритмын шинж чанар Дескрет буюу тасралттай чанар: Алгоритм нь дараалсан алхамууд буюу үйлдлээс тогтсон байх Тодорхой байх чанар: Алгоритмын алхам бүр оновчтой, тодорхой байх – алгоритмын алхам бүрт чухам ямар үйлдэл хийгдэх нь тодорхой байх Нийтлэг байх чанар: Тодорхой бодлогын алгоритмыг зохиохдоо энэ бодлоготой ижил төрлийн бодлогыг бодоход хэрэглэж болохоор ерөнхий алгоритмийг зохиох хэрэгтэй. Төгсгөлөг байх чанар: Төгсгөлөг тооны алхамтай байх ба эдгээр алхамууд нь төгсгөлөг тоогоор биелэнэ. Үр дүнтэй байх чанар: Тодорхой үр дүн гаргадаг байх ѐстой.
  • 7.
    II Алгоритмын шинж чанар Дескрет буюу тасралттай чанар: Алгоритм нь дараалсан алхамууд буюу үйлдлээс тогтсон байх Тодорхой байх чанар: Алгоритмын алхам бүр оновчтой, тодорхой байх – алгоритмын алхам бүрт чухам ямар үйлдэл хийгдэх нь тодорхой байх Нийтлэг байх чанар: Тодорхой бодлогын алгоритмыг зохиохдоо энэ бодлоготой ижил төрлийн бодлогыг бодоход хэрэглэж болохоор ерөнхий алгоритмийг зохиох хэрэгтэй. Төгсгөлөг байх чанар: Төгсгөлөг тооны алхамтай байх ба эдгээр алхамууд нь төгсгөлөг тоогоор биелэнэ. Үр дүнтэй байх чанар: Тодорхой үр дүн гаргадаг байх ѐстой.
  • 8.
    II Алгоритмын шинж чанар Дескрет буюу тасралттай чанар: Алгоритм нь дараалсан алхамууд буюу үйлдлээс тогтсон байх Тодорхой байх чанар: Алгоритмын алхам бүр оновчтой, тодорхой байх – алгоритмын алхам бүрт чухам ямар үйлдэл хийгдэх нь тодорхой байх Нийтлэг байх чанар: Тодорхой бодлогын алгоритмыг зохиохдоо энэ бодлоготой ижил төрлийн бодлогыг бодоход хэрэглэж болохоор ерөнхий алгоритмийг зохиох хэрэгтэй. Төгсгөлөг байх чанар: Төгсгөлөг тооны алхамтай байх ба эдгээр алхамууд нь төгсгөлөг тоогоор биелэнэ. Үр дүнтэй байх чанар: Тодорхой үр дүн гаргадаг байх ѐстой.
  • 9.
    III Алгоритмыг дүрслэх арга 1 Үгээр илэрхийлэх арга: /Эх хэлээр бичих/ Жишээ нь: Самбар арчих алгоритм  Самбарт гар  Алчуур ав  Алчуур норго  Самбар арч  Алчуураа тавь  Суудалдаа суу
  • 10.
    III Алгоритмыг дүрслэх арга 2 Томъѐоны арга: Жишээ нь: ax2+bx+c=0 Хэлбэрийн квадрат тэгшитгэлийг бодохдоо томъѐог ашигладаг 3 Грфик блок схемийн арга: Алгоримын үйлдлийг геометр дүрсээр /блок/ оруулж алгоритмыг тэмдэглэх хэлбэр юм. Блокууд сумаар холбогдож нийт алгоритмынхаа бүтцийг харуулдаг
  • 11.
    Элемент Элементийн нэр Төлөөлөх үйлдэл Эхлэл төгсгөлийн блок Алгоритмын эхлэл ба төгсгөл Оролт, гаралтын үйлдлийн Оролт , гаралтын блок ерөнхий тэмдэглэгээ /дотор нь бичнэ/ Арифметик үйлдлүүд ба утга Утга олгох блок олгох г.м /дотор нь бичнэ/ Өгсөн нөхцлийг шалгаж Логик нөхцөлийн блок шийдвэр гаргах буюу салаа замын аль нэг нь явах /дотор нь бичнэ/ Шилжилтийн шугам Шилжилтийн шугам
  • 12.
    III Алгоритмыг дүрслэх арга 4 Хүснэгтэн арга: Алгоритмийн энэ бичлэг нь хүснэгтээр илэрхийлдэг хэлбэртэй. Хүснэгтэн алгоритм зохиох дараалал  Мэдээлэл зүйд зөвшөөрдөг тийм байдлаар илэрхийллээ бичнэ.  Үйлдлүүдийн дарааллыг тодорхойлно.  Завсрын үр дүнг хадгалах тэмдэглэгээ оруулна.  Хувьсагчдын алхам бүрт авах утгыг хүснэгтэнд оруулна. Жишээ нь: R=2a+3b
  • 13.
    III Алгоритмыг дүрслэх арга 5 Алгоритм бичвэрийн арга: Алгоритмын энэ тэмдэглэгээг тусгай хэлээр илэрхийлдэг. Жишээ нь: R=2a+3b бодлогыг алгоритм бичвэрийн аргаар бичье Оруул: a , b; K=2*a; U=3*b; R:=K+U; Гарга: (R);
  • 14.
    IV Алгоритмыг дүрслэх арга 5 Алгоритмын бүтэц: Элементүүд нийлж тодорхой бүтцийг үүсгэдэг. Эдгээр бүтцийг алгоритмын үндсэн бүтэц гэнэ. Алгоритмын үндсэн бүтэц нь нэг оролт, нэг гаралттай байна. Алгоритмын бүтэцийг 3 ангилна Шугаман Салаалсан Давталттай алгоритм алгоритм алгоритм While/Байхад/ Гүйцэт Гүйцэт бус Until/Хүртэл/ алгоритм алгоритм Праметрт
  • 15.
    Шугаман алгоритм Дээрээс доош бүтэцтэй алгоритмыг шугаман алгоритм гэнэ. Самбар арчих алгоритмыг блок схемээр R=2a+3b илэрхийллийн алгоритмыг блок илэрхийлсэн нь: схемээр илэрхийлсэн нь: Эхлэл Эхлэл 1. Самбарт гар 1. Оруул: a,b ; 2. Алчуур ав 2. K=2*a; 3. Алчуур норго 3. U=3*b; 4. Самбар арч 4. R=K+U; 5. Алчуураа тавь 5. Гарга (R); 6. Суудалдаа суу Төгсгөл Төгсгөл
  • 17.
    Гүйцэт салаалалт А тооныутга 5-аас их бол 2 дахин ихэсгэж, үгүй бол 2 дахин багасгах алгоритм Төгсгөл Оруул (a) - a>5 + Y:=a/2 Y:=a*2 Гарга (Y) Төгсгөл
  • 18.
    Гүйцэт биш салаалалт Ань 5-аас их тохиолдолд А=4 буюу 5-аас бага үед Төгсгөл Төгсгөл Оруул (a) Оруул (a) - 10>5 + - 4>5 + Y:=5*2 Y:=4/2 Гарга (Y) Гарга (2) Төгсгөл Төгсгөл
  • 19.
    Бие дааж бодохбодлого A,b талуудтай тэгш өнцөгт өгөгджээ.Энэ тэгш өнцөгтийн 1 талбай ба периметрийг ол. А,b натурал тоонууд өгөгдөв. Энэ 2 тооны ихийг ол. 2 Өгөгдсөн a,b,c гурван тооны ихийг ол. 3