Saturday, October 27, 2012

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


Сэдвүүд:
·         Оршил
·         Алгоритм гэж юу вэ?
·         Алгоритмын график дүрслэл буюу блок-схем
·         Алгоритмын үндсэн бүтцүүд
·         Алгоритмын төрлүүд

Оршил
Компьютерын техник нь бидний амьдралд гүн гүнзгий нэвтэрчээ. Хөгжингүй орнуудад бол гэр ахуй, аж үйлдвэр, хөдөө аж ахуй, худалдаа, банк, батлан хамгаалах, эмнэлэг-анагаах ухаан, бүх шатны боловсрол олгох сургалт, шинжлэх ухаан, соёл урлаг (шоу бизнес) г.м. нийгмийн бүхий л салбарт компьютер өргөн ашиглагдаж байна. Хөгжлийн төвшингөөр авч үзвэл манай орон хэдийгээр “буурай” гэсэн нэр зүүдэг ч Дэлхийн технократ[1] иргэншлийн салшгүй хэсэг учраас дээр дурдсан “бүх нийтийн компьютержилт” тодорхой хэмжээнд явагдаж л байгаа. Тэр тусмаа бөөнөөр үйлдвэрлэгдэгч персонал компьютерууд олон нийтийн хэрэглээнд эрчимтэй нэвтэрч байна. Үүнтэй уялдан хүн бүр компьютертай хэрхэн харьцах талаар тодорхой хэмжээний мэдлэгтэй болох шаардлага гардаг. Ийм мэдлэгийн анхдагч төвшин нь компьютер, түүний ажиллах зарчмын тухай үндсэн ойлголт, өргөн хэрэглээний програмууд дээр ажиллах чадвар зэрэг болно. Тэгвэл удаах төвшний мэдлэг нь хэрэглэгч өөрөө компьютерт зориулсан програм бичих явдал юм. Энэ нь хэрэглэгч компьютерыг бүхэлдээ өөрийн хүссэнээр ашиглаж эхлэх боломжийг нээж өгдөг. Уг хичээл нь, дээд төвшний програмчлалын Си алгоритмын хэл ашиглан компьютерт хялбар програм бичиж сурах чадварыг оюутанд олгох зорилготой. Өөрөөр хэлбэл, суралцагчид програмчлалын үндсийг мэдүүлэх чиглэлтэй болно.
Компьютер (Computer) гэж юу вэ гэсэн асуултыг тавья. Үүнд хэрхэн хариулваас зохилтой вэ? Хамгийн товчоор, “компьютер гэдэг нь мэдээллийг асар өндөр хурдтайгаар боловсруулах зориулалттай орчин үеийн электрон төхөөрөмж юм” гэсэн хариултыг өгч болно. Тэгвэл Мэдээлэл (Information) гэж юу вэ гэсэн дараагийн асуулт гарч ирж байна. Мэдээлэл гэдэг нь асар өргөн ойлголт. Хамгийн энгийнээр хэлбэл, дуу авиа, зураг дүрс, тоо, үг үсэг г.м. хүмүүсийн хоорондын (өөрөөр хэлбэл нийгмийн) харилцааг “илэрхийлж байдаг” зүйлсийг мэдээлэл буюу мэдээллийн хэлбэрүүд гэнэ. Тэгвэл компьютер бол эд бүгдийг боловсруулдаг байх нь. За тэгвэл, Боловсруулах гэж юу гэсэн үг вэ? Үүнд дараах байдлаар хариулж болно. Хэрэглэгч (өөрөөр хэлбэл хүн) аливаа мэдээллийг чухам ямар зорилгын үүднээс компьютерт оруулсан бэ, тэр зорилгынх нь дагуу компьютер тухайн мэдээллийг хувирган өөрчилж өөр мэдээлэл болгох процессыг боловсруулах гэнэ. Заримдаа боловсруулахаар оруулж буй мэдээллийг өгөгдөл (data), боловсруулагдсан мэдээллийг үр дүн (result) гэдэг.
Хүн мэдээлэл боловсруулдаг объект мөн үү? Мөн байлгүй яах вэ. Юуны төлөө бидэнд уураг тархи, мэдрэхүйн эрхтнүүд заяасан билээ Гагцхүү компьютерээс ялгаатай нь, хүн мэдээлэл боловсруулах процессоо өөрийн дур зоригоор удирдаж, залах бүрэн эрх чөлөөтэй байдаг. Учир нь сэтгэдэг амьтан болоод тэр. Харин компьютерт өөрийн гэсэн жинхэнэ оюун ухаан байхгүй. Энэ бол сэтгэдэг объект биш харин даалгавар гүйцэтгэгч машин юм. Сэтгэдэг машинуудыг бид хаана хардаг вэ? Шинжлэх ухааны уран зөгнөлт кинонуудаас... Холливудын алдартай бүтээлүүд болох “Терминатор”, “Матриц”-ын цувралууд үүний тод жишээ. Шварценеггерийн бүтээсэн “терминатор” нь толгойдоо сэтгэдэг компьютертэй, хүн дүрст робот буюу “андроид” юм. “Матриц” кинонд сэтгэдэг компьютерууд Дэлхийг эрхшээлдээ оруулсан байдаг. Ердийн амьдралд ийм машинууд байхгүй ээ.
Тэгэхээр, бодит ертөнцийн бодит компьютерууд бидний оруулсан мэдээллийг бидний өгсөн дүрэм, зааврын дагуу боловсруулдаг байх нь. Мэдээллийг боловсруулахын тулд компьютер хэрхэн яаж ажиллах удирдамж буюу дүрэм, зааврын цогцыг програм (programm) гэнэ. Програм зохиох процессыг програмчлал (programming) гэнэ. Програмчлал үйлдэхдээ хэрэглэх аргыг програмчлалын хэл (programming language) гэнэ. Компьютер нь програмын дагуу ажиллана. Ийм учраас компьютерт техник хангамжаас (hardware) гадна програм хангамж (software) гэж байдаг ажээ.




No comments: