Jump to content

Алгоритм

Википедиа — Чөлөөт нэвтэрхий толь

Чийдэн яаж асаах эсэхийг тодруулах зорилготой блок схем. Өгөгдөл, завсрын хэмжигдхүүнүүдийн утга болон үр дүнг гаргана. |} явцад гарах завсрын хэмжигдхүүнүүд дээр хийх үйлдлүүдийн агуулга болон дэс дарааллыг тодорхойлж байгаа зааврыг хэлнэ. Өөрөөр хэлбэл гүйцэтгэгчийн биелүүлж чадах үйлдлүүдийн дараалал юм. Үүнийг хиймэл оюун ухаанд ашигладаг ба аливаа хүний хийдэг үйл ажиллагааг удирдан захирахад зориулагддаг болно.

Хүмүүс өдөр тутмын үйл ажиллагаандаа олон тооны алгоритмыг гүйцэтгэж байдаг боловч үүнийгээ тэр болгон мэддэггүй байна. Тухайлбал, тухайн өдрийн ажил төрөл болон тодорхой нэгэн ажлыг хийхдээ тогтсон дэс дарааллыг мөрддөг. Алгоритмын тухай ойлголт нь нэгэн төрлийн бодлогуудыг бодох ерөнхий арга олж тогтоох гэсэн оролдлоготой уялдан математикт анх үүссэн байдаг. Алгоритм гэдэг нэр томъёог арифметикийн 4-н үйлдлийг гүйцэтгэх дүрэм боловсруулсан Персийн математикч Мухаммед Ибн Мусса Аль-Хорезмын нэрнээс гаралтай гэж үздэг. Орчин үед алгоритмын тухай онол нь математикийн шинжлэх ухааны нэг салбар болон хөгжихийн зэрэгцээгээр компьютер дээр бодлого бодоход маш чухал үүрэг гүйцэтгэж байна.

=

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

Алгоритмын аливаа алхмын үйлдлийг гүйцэтгэгч нэгэн утгатайгаар ойлгохын зэрэгцээгээр гүйцэтгэж чаддаг байна. Энэ нь алгоритмын тодорхой байх чанар юм.

Төгсгөлөг чанар

[засварлах | кодоор засварлах]

Алгоритм нь төгсгөлөг тооны алхамтай байна.

Үр дүнтэй чанар

[засварлах | кодоор засварлах]

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

Алгоритм нь зөвхөн тухайн өгөгдөлд төдийгүй уг өгөгдөлтэй ижил төрлийн бүх өгөгдөлд хүчинтэй байна. Энэ чанарыг нийтлэг чанар гэнэ.

Алгоритмын төрлүүд

[засварлах | кодоор засварлах]

Алгоритмыг дараах 4 төрөлд хуваадаг:

  • Шугаман
  • Салаалсан -энгийн,
  • Давталттай
  • Холимог гэж 4 хуваагддаг

Алгоритм дүрслэх

[засварлах | кодоор засварлах]

Алгоритмыг янз янзаар дүрсэлж болно.

  1. Хүмүүсийн харилцааны ердийн хэл - алгоритмын алхам бүрийг үг ба өгүүлбэрээр бичнэ.
  2. Блок схем - алгоритмын бүтцийг нүдэнд харагдахуйц байдлаар харуулан алгоритмыг графикаар дүрслэх хэлбэр юм. Блок-схемд алгоритмын алхам бүрийг геометрийн нөхцөлт дүрсээр тэмдэглэх бөгөөд уг дүрс дотор тухайн алхмын товч утгыг томъёогоор бичнэ.
  3. Програмчлалын хэл - программчлалын ямар нэгэн хэл сонгон авч тухайн хэлнийхээ үгзүй, өгүүлбэрзүйн дүрмүүдийг баримтлан алгоритмыг тэр хэлээрээ бичнэ.

Алгоритмыг зохиох аргачлал

[засварлах | кодоор засварлах]

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

Бодлогын хариуг гаргахын тулд бодлогыг өгөгдөл ба бодолтын явцад гарах завсрын хэмжигдхүүнүүд дээр хийх үйлдлүүдийн агуулга болон дэс дарааллыг тодорхойлж байгаа зааврыг алгоритм гэнэ. Алгоритмаар заасан бодлогыг бодох үйл ажиллагааг биелүүлэгчийг алгоритмыг гүйцэтгэгч гэнэ. Аливаа алгоритмыг тодорхой гүйцэтгэгчид зориулж зохионо. Алгоритмыг гүйцэтгэгч нь хүн эсвэл компьютер байна.

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

[засварлах | кодоор засварлах]
Алхмын нэр Алхмын үүрэг
Бодолтын утга олгох алхам Хэмжигдхүүний утгыг өөрчлөнө.
Логик алхам Ямар нэгэн нөхцлөөс хамааран алгоритм биелэх замыг сонгоно.
Оруулах алхам Өгөгдөл, завсрын хэмжигдхүүнүүдийн утгыг оруулна.
Гаргах алхам Өгөгдөл, завсрын хэмжигдхүүнүүдийн утга болон үр дүнг гаргана.
Эхлэл төгсгөлийн алхам Эхлэл төгсгөл болон мэдээллийг боловсруулах процессийг зогсоохыг заана.
Холбоос Харьцангуй хол орших алхмуудын шилжилтийг заахад хэрэглэнэ.
Тайлбар Ямар нэгэн алхмын гүйцэтгэх үүргийг дэлгэрэнгүй тайлбарлахад хэрэглэнэ.

Мэдээллийг оруулах алхам

[засварлах | кодоор засварлах]

Мэдээллийг боловсруулахын тулд түүнийг компьютерийн санах ойд урьдчилан бичсэн байх шаардлагатай. Иймээс алгоритмд хувьсагчдын анхны утгуудыг машинд оруулах алхам зайлшгүй байх ба үүнийг компьютерийн гарын тусламжтайгаар хийдэг. Компьютерт оруулж байгаа мэдээллийн санах ойд хадгалагдах хаягыг мэдээллийг оруулах алхамдаа зааж өгнө. Энэ алхам биелэгдэхэд хувьсагчийн утга нь хэрэг болно.

Бодолтын утга олгох алхам

[засварлах | кодоор засварлах]

Компьютерийн нэг үндсэн үүрэг нь мэдээллийг хувирган боловсруулах явдал юм. Алгоритмд тодорхой нэр томъёогоор хэмжигдхүүний утгыг бодож гаргах алхам зайлшгүй гардаг. Энэ алхмыг бодолтын утга олгох алхам гэнэ. Энэ алхам нь утгыг бодож олох гэж байгаа илэрхийлэл, гарах утгыг хадгалах хаяг гэсэн 2 хэсэгтэй байна. Ямар нэгэн хэмжигдхүүнд утга олгоход хуучин утга нь устдаг гэдгийг анхаарах хэрэгтэй.

Мэдээллийг бичиж гаргах алхам

[засварлах | кодоор засварлах]

Алгоритм ба программаар олсон үр дүнг компьютераас хүнд мэдээлэх нь зайлшгүй юм. Өөрөөр хэлбэл бодлогын хариуг компьютераас бичиж гаргах хэрэгтэй юм. Мэдээллийг гаргах үйлдэл нь олон хэлбэртэй байна. Бид нар мэдээллийг компьютерийн дэлгэцэн дээр бичиж гаргах хэлбэрийг хэрэглэнэ. Энэ алхамд утгыг нь бичиж гаргах гэж буй хэмжигдхүүнүүдийн хаягийг зааж өгнө.

Салаалуулах алхам

[засварлах | кодоор засварлах]

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

Алгоритмыг дүрслэх

[засварлах | кодоор засварлах]

Алгоритмыг дараах 3 хэлбэрээр дүрсэлж болно.

  • Хүмүүсийн харилцааны ердийн хэл - Алгоритмыг хүмүүсийн харилцааны ердийн хэлээр дүрслэнэ гэдэг нь алгоритмын алхам бүрийг үг ба өгүүлбэрээр бичнэ гэсэн үг юм.
  • Блок-схем - Алгоритмын бүтцийг нүдэнд харагдахуйц байдлаар харуулан алгоритмыг графикаар дүрслэх хэлбэр юм. Блок-схемд алгоритмын алхам бүрийг геометрийн нөхцөлт дүрсээр тэмдэглэх бөгөөд уг дүрс дотор тухайн алхмын товч утгыг томъёогоор бичнэ.
  • Программчлалын хэл - Алгоритмыг программчлалын хэлээр дүрслэхэд программчлалын ямар нэгэн хэл сонгон авч тухайн хэлнийхээ үг зүй, өгүүлбэр зүйн дүрмүүдийг баримтлан алгоритмыг тэр хэлээрээ бичнэ. Алгоритмыг ийм байдлаар дүрслэхэд программчлалын хэлний тухай мэдлэг алгоритм зохиогчид зайлшгүй шаардагдана. Иймээс алгоритмыг программчлалын хэлээр дүрслэхийн өмнө урьдчилан программчлалын хэл судлан, эзэмшсэн байх хэрэгтэй юм.Үүнд Энэтхэг,Япон,Дундад Ази,Ази,Түвд зэрэг хэлнүүд байхгүүй байна.