lecture8
TRANSCRIPT
04/13/23 1
Ìýäýýëëèéí ñèñòåì, àëãîðèòìèéí ¿íäýñ
Ëåêö ¹08
04/13/23 2
Àãóóëãà
1.Ïàðàìåòð äàâòàëò2.Ïàðàìåòð äàâòàëò áè÷èõ3.Ïàðàìåòð äàâòàëòûã àëãîðèòìûí õýëýíä4. Æèøýý áîäëîãóóä
04/13/23 3
Ïàðàìåòð äàâòàëò•Алгоритмд өмнө нөхцөлтэй
давталтыг зохиохдоо i ашиглах бөгөөд энэ хувьсагчийн тодорхой утгуудад давталтын бие давтагдаж байхаар бичнэ. Ингэж давталтыг зохиоход ашиглаж байгаа хувьсагчийг давталтын параметр гэнэ.
04/13/23 4
Ямар нэг параметрийг Ямар нэг параметрийг ашиглан давталтыг ашиглан давталтыг зохиоход түүний авах зохиоход түүний авах эхний утга, эцсийн утга эхний утга, эцсийн утга баба утгыг нь өөрчлөх утгыг нь өөрчлөх элхам гэсэн гурван утгыг элхам гэсэн гурван утгыг шаардах бөгөөд шаардах бөгөөд давталтыг бичихдээ:давталтыг бичихдээ:
1.1.Параметрийн эхний Параметрийн эхний утгыг тогтоож олгоно.утгыг тогтоож олгоно.
Äàâòàëò áè÷èõ
04/13/23 5
2.2.Параметрийн тухайн Параметрийн тухайн үеийн утга эцсийн утгаас үеийн утга эцсийн утгаас хэтэрсэн эсэхийг хэтэрсэн эсэхийг шалгасан нөхцөлтэй шалгасан нөхцөлтэй өмнөх нөхцөлтэй өмнөх нөхцөлтэй давталтыг зохиож давталтыг зохиож бичнэ.бичнэ.
3.3.Давталтын биеийн Давталтын биеийн төгсгөлд параметрийн төгсгөлд параметрийн утгыг алхамтай тэнцүү утгыг алхамтай тэнцүү утгаар өөрчилж утга утгаар өөрчилж утга олгосонолгосон байна.байна.
04/13/23 6
Параметрийн Параметрийн тодорхой утганд тодорхой утганд давтах ийм төрлийн давтах ийм төрлийн давталтыг параметрт давталтыг параметрт давталт гэнэ.давталт гэнэ.
Ïàðàìåòð äàâòàëò
04/13/23 7
Параметрт давталтыг
алгоритмын хэлэнд
ТоолуурТоолуур:=:=эхнийэхний__утга,утга, эцсийнэцсийн__утга,утга, алхамалхам үедүед__давтдавт
{{үйлдэлүйлдэл_1; _1; үйлдэлүйлдэл_2_2
..........
ҮйлдэлҮйлдэл_n_n
};};
04/13/23 8
Давталтын бие ганц Давталтын бие ганц үйлдэл байх үед хаалт үйлдэл байх үед хаалт бичих шаардлагагүй.бичих шаардлагагүй.
Тоолуур:Тоолуур:==эхнийэхний__утга, утга, эцсийнэцсийн__утга, алхам утга, алхам үедүед__давт гэсэн давт гэсэн илэрхийлэлийг илэрхийлэлийг давталтын эх гэж давталтын эх гэж нэрлээд параметрт нэрлээд параметрт давталтыг бичихэд тавих давталтыг бичихэд тавих шаардлага:шаардлага:
04/13/23 9
Давталтанд заавал Давталтанд заавал түүний эхээр дамжиж түүний эхээр дамжиж орно.Учир нь давталтын орно.Учир нь давталтын эх биелэгдэхэд эх биелэгдэхэд давталтын параметрийн давталтын параметрийн эхний ба эцсийн утга, эхний ба эцсийн утга, алхмын утгыг бодож алхмын утгыг бодож хадгалаад давталтыг хадгалаад давталтыг эхлүүлдэг ба давталт эхлүүлдэг ба давталт биелэх процессын биелэх процессын туршид энэ утгууд туршид энэ утгууд тогтмол байна.тогтмол байна.
04/13/23 10
Давталтын бие Давталтын бие биелэх бүрд төгсгөлд биелэх бүрд төгсгөлд нь параметрийн утга нь параметрийн утга алхамтай тэнцүү алхамтай тэнцүү утгаар шууд утгаар шууд өөрчлөгддөг учир өөрчлөгддөг учир бие дотор бие дотор параметрийн утгыг параметрийн утгыг өөрчлөх үйлдэл өөрчлөх үйлдэл бичиж болохгүй.бичиж болохгүй.
04/13/23 11
Давталтын алхам эерэг Давталтын алхам эерэг бол параметрийн бага бол параметрийн бага утгаас их утга руу өссөн утгаас их утга руу өссөн утганд биелэх давталт утганд биелэх давталт болох бөгөөд хэрэв болох бөгөөд хэрэв эцсийн утга нь эхний эцсийн утга нь эхний утгаасаа бага байвал утгаасаа бага байвал давталтын бие давталтын бие биелэхгүй шууд биелэхгүй шууд дараачийн үйлдэлд дараачийн үйлдэлд шилжнэшилжнэ..
04/13/23 12
Үүнтэй төстэй алхам Үүнтэй төстэй алхам сөрөг бол параметрийн сөрөг бол параметрийн буурах утганд биелэх буурах утганд биелэх давталт байх ба эхний давталт байх ба эхний утга нь эсийн утгаасаа утга нь эсийн утгаасаа эх байвал давталтын эх байвал давталтын бие нэг ч удаа бие нэг ч удаа биелэхгүй.биелэхгүй.Давхар давталтын Давхар давталтын параметрүүд нь параметрүүд нь хоорондоо ялгаатай хоорондоо ялгаатай байх ёстой.байх ёстой.
04/13/23 13
Параметрт давталтПараметрт давталт
Тоолуур=эх, эцсийн, алхам
Циклийн бие
Тоолуур
04/13/23 14
ЖишээЖишээ1.1.Өгөгдсөн х,у хоёр бодит Өгөгдсөн х,у хоёр бодит
тооны аль ихийг нь ол тооны аль ихийг нь ол ((өгөдсөнс утгуудын өгөдсөнс утгуудын хамгийн их утгыг хамгийн их утгыг тэдгээрийн максимум гэж тэдгээрийн максимум гэж нэрлэнэнэрлэнэ))..
2.x,y,z 2.x,y,z гэсэн 3-н гэсэн 3-н хэмжигдхүүний хэмжигдхүүний максимумыг ол. максимумыг ол.
3.N-3.N-натуралнатурал (n (n≥1≥1) ) болон болон aa11,,aa22,...,,...,aan n бодит тоонууд бодит тоонууд өгөгдсөн бол өгсөн өгөгдсөн бол өгсөн дарааллын максимумыг дарааллын максимумыг олох алшгоритм зохио.олох алшгоритм зохио.
04/13/23 15
АлгАлг1 1 жж_a_a
Оруул Оруул (x,y)(x,y)
Max:= (x)Max:= (x)
Хэрэв Хэрэв y:>maxy:>max
Бол Бол max:=ymax:=y
ГаргаГарга(max)(max)
ТөгсТөгс
04/13/23 16
Алг2 жАлг2 ж_b_b
ОруулОруул(x,y,z)(x,y,z)
Max:=xMax:=x
Хэрэв Хэрэв y>maxy>max
Бол Бол max:=ymax:=y
Хэрэв Хэрэв z>maxz>max
Бол Бол max:=zmax:=z
Гарга Гарга (max)(max)
ТөгсТөгс
04/13/23 17
Алг3 жАлг3 ж_c_c
ОруулОруул(n)(n)
ГаргаГарга((“эхний тоог өг”“эхний тоог өг”););
ОруулОруул(a);(a);
Max:=a ;Max:=a ;
i:=2;i:=2;
ii≤n ≤n болбол__давтдавт
{{гаргагарга((“дараах тоог өг”“дараах тоог өг”););
ОруулОруул(a);(a);
Хэрэв аХэрэв а>max>max
Бол Бол max:=a;max:=a;
i:=i+1i:=i+1
};};
ГаргаГарга(max)(max)
ТөгсТөгс