lecture8

17
08/25/22 1 Ìýäýýëëèéí ñèñòåì, àëãîðèòìèéí ¿íäýñ Ëåêö ¹08

Upload: munkhchimeg

Post on 10-Jun-2015

551 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: Lecture8

04/13/23 1

Ìýäýýëëèéí ñèñòåì, àëãîðèòìèéí ¿íäýñ

Ëåêö ¹08

Page 2: Lecture8

04/13/23 2

Àãóóëãà

1.Ïàðàìåòð äàâòàëò2.Ïàðàìåòð äàâòàëò áè÷èõ3.Ïàðàìåòð äàâòàëòûã àëãîðèòìûí õýëýíä4. Æèøýý áîäëîãóóä

Page 3: Lecture8

04/13/23 3

Ïàðàìåòð äàâòàëò•Алгоритмд өмнө нөхцөлтэй

давталтыг зохиохдоо i ашиглах бөгөөд энэ хувьсагчийн тодорхой утгуудад давталтын бие давтагдаж байхаар бичнэ. Ингэж давталтыг зохиоход ашиглаж байгаа хувьсагчийг давталтын параметр гэнэ.

Page 4: Lecture8

04/13/23 4

Ямар нэг параметрийг Ямар нэг параметрийг ашиглан давталтыг ашиглан давталтыг зохиоход түүний авах зохиоход түүний авах эхний утга, эцсийн утга эхний утга, эцсийн утга баба утгыг нь өөрчлөх утгыг нь өөрчлөх элхам гэсэн гурван утгыг элхам гэсэн гурван утгыг шаардах бөгөөд шаардах бөгөөд давталтыг бичихдээ:давталтыг бичихдээ:

1.1.Параметрийн эхний Параметрийн эхний утгыг тогтоож олгоно.утгыг тогтоож олгоно.

Äàâòàëò áè÷èõ

Page 5: Lecture8

04/13/23 5

2.2.Параметрийн тухайн Параметрийн тухайн үеийн утга эцсийн утгаас үеийн утга эцсийн утгаас хэтэрсэн эсэхийг хэтэрсэн эсэхийг шалгасан нөхцөлтэй шалгасан нөхцөлтэй өмнөх нөхцөлтэй өмнөх нөхцөлтэй давталтыг зохиож давталтыг зохиож бичнэ.бичнэ.

3.3.Давталтын биеийн Давталтын биеийн төгсгөлд параметрийн төгсгөлд параметрийн утгыг алхамтай тэнцүү утгыг алхамтай тэнцүү утгаар өөрчилж утга утгаар өөрчилж утга олгосонолгосон байна.байна.

Page 6: Lecture8

04/13/23 6

Параметрийн Параметрийн тодорхой утганд тодорхой утганд давтах ийм төрлийн давтах ийм төрлийн давталтыг параметрт давталтыг параметрт давталт гэнэ.давталт гэнэ.

Ïàðàìåòð äàâòàëò

Page 7: Lecture8

04/13/23 7

Параметрт давталтыг

алгоритмын хэлэнд

ТоолуурТоолуур:=:=эхнийэхний__утга,утга, эцсийнэцсийн__утга,утга, алхамалхам үедүед__давтдавт

{{үйлдэлүйлдэл_1; _1; үйлдэлүйлдэл_2_2

..........

ҮйлдэлҮйлдэл_n_n

};};

Page 8: Lecture8

04/13/23 8

Давталтын бие ганц Давталтын бие ганц үйлдэл байх үед хаалт үйлдэл байх үед хаалт бичих шаардлагагүй.бичих шаардлагагүй.

Тоолуур:Тоолуур:==эхнийэхний__утга, утга, эцсийнэцсийн__утга, алхам утга, алхам үедүед__давт гэсэн давт гэсэн илэрхийлэлийг илэрхийлэлийг давталтын эх гэж давталтын эх гэж нэрлээд параметрт нэрлээд параметрт давталтыг бичихэд тавих давталтыг бичихэд тавих шаардлага:шаардлага:

Page 9: Lecture8

04/13/23 9

Давталтанд заавал Давталтанд заавал түүний эхээр дамжиж түүний эхээр дамжиж орно.Учир нь давталтын орно.Учир нь давталтын эх биелэгдэхэд эх биелэгдэхэд давталтын параметрийн давталтын параметрийн эхний ба эцсийн утга, эхний ба эцсийн утга, алхмын утгыг бодож алхмын утгыг бодож хадгалаад давталтыг хадгалаад давталтыг эхлүүлдэг ба давталт эхлүүлдэг ба давталт биелэх процессын биелэх процессын туршид энэ утгууд туршид энэ утгууд тогтмол байна.тогтмол байна.

Page 10: Lecture8

04/13/23 10

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

Page 11: Lecture8

04/13/23 11

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

Page 12: Lecture8

04/13/23 12

Үүнтэй төстэй алхам Үүнтэй төстэй алхам сөрөг бол параметрийн сөрөг бол параметрийн буурах утганд биелэх буурах утганд биелэх давталт байх ба эхний давталт байх ба эхний утга нь эсийн утгаасаа утга нь эсийн утгаасаа эх байвал давталтын эх байвал давталтын бие нэг ч удаа бие нэг ч удаа биелэхгүй.биелэхгүй.Давхар давталтын Давхар давталтын параметрүүд нь параметрүүд нь хоорондоо ялгаатай хоорондоо ялгаатай байх ёстой.байх ёстой.

Page 13: Lecture8

04/13/23 13

Параметрт давталтПараметрт давталт

Тоолуур=эх, эцсийн, алхам

Циклийн бие

Тоолуур

Page 14: Lecture8

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 бодит тоонууд бодит тоонууд өгөгдсөн бол өгсөн өгөгдсөн бол өгсөн дарааллын максимумыг дарааллын максимумыг олох алшгоритм зохио.олох алшгоритм зохио.

Page 15: Lecture8

04/13/23 15

АлгАлг1 1 жж_a_a

Оруул Оруул (x,y)(x,y)

Max:= (x)Max:= (x)

Хэрэв Хэрэв y:>maxy:>max

Бол Бол max:=ymax:=y

ГаргаГарга(max)(max)

ТөгсТөгс

Page 16: Lecture8

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)

ТөгсТөгс

Page 17: Lecture8

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)

ТөгсТөгс