Янз бүрийн түвшний нарийн төвөгтэй программ бичихийн тулд эхлээд үүнийг хэрхэн хийх талаар мэдлэг олж авах хэрэгтэй. Мөн алгоритмчлал, програмчлалын үндэснээс эхлэх нь зүйтэй юм. Үүнийг бид нийтлэлд ярих болно.
Компьютерийн шинжлэх ухаан гэж юу вэ?
Энэ бол компьютерийн технологийг ашиглан өгөгдөл үүсгэх, боловсруулах, дамжуулах, хадгалах, хуулбарлах аргуудыг системчлэх зорилготой техникийн цогц шинжлэх ухааны нэр юм. Мөн зорилгодоо хүрэхэд туслах үйл ажиллагааны зарчим, удирдлагын аргуудыг багтаасан болно. "Компьютерийн шинжлэх ухаан" гэсэн нэр томъёо нь өөрөө франц гаралтай бөгөөд "мэдээлэл", "автоматжуулалт" гэсэн үгийн эрлийз юм. Энэ нь өгөгдлийг цуглуулах, боловсруулах, дамжуулах шинэ технологийг боловсруулж, түгээхтэй холбоотой бөгөөд тэдгээрийг машин зөөвөрлөгч дээр бэхлэхтэй холбоотой байв. Энэ бол компьютерийн шинжлэх ухааны гарал үүсэл юм. Алгоритмчлал болон програмчлалын үндэс нь энэ шинжлэх ухааны хамгийн чухал салбаруудын нэг юм.
Тэр юу вэ?хийж байна уу?
Мэдээлэл зүйд дараах ажлууд тулгарч байна:
- Компьютерийн технологийн техник хангамж, програм хангамжийн дэмжлэг.
- Хүн болон компьютерийн бүрэлдэхүүн хэсгүүдийн харилцан үйлчлэлийг хангах хэрэгсэл.
"Интерфейс" гэсэн нэр томьёог ихэвчлэн техникийн хэсгийг хэлнэ. Энд бидэнд үнэгүй програм байна. Өргөн хүрээний үзэгчдийг байлдан дагуулах ёстой масс түгээлтийн бүтээгдэхүүнийг бий болгохдоо алгоритмчлал, програмчлалын үндсийг үргэлж ашигладаг. Үнэн хэрэгтээ алдартай болохын тулд боловсруулсан програм нь ажиллах ёстой бөгөөд оновчтой харагдах ёстой.
Алгоритмуудын төлөөлөл
Тэдгээрийг нэлээд олон янзаар бичиж болно. Хамгийн алдартай нь дараах:
- Үнэн томъёоны тайлбар. Энэ нь бүх тохиолдлуудад харилцан үйлчлэлийн онцлогийг тайлбарлах текст болон тодорхой томьёо байрлуулахыг хэлнэ.
- Урсгал диаграм. График тэмдэгтүүд байгаа нь програмын доторх болон бусад програмууд эсвэл компьютерийн техник хангамжийн бүрэлдэхүүн хэсгүүдийн харилцан үйлчлэлийн онцлогийг ойлгох боломжийг олгодог. Тэд тус бүр нь тусдаа функц, журам эсвэл томъёог хариуцаж болно.
- Алгоритм хэл. Энэ нь даалгаврын онцлог, дэс дарааллыг харуулсан тодорхой тохиолдлуудад тусад нь тайлбарлах аргыг бий болгохыг хэлнэ.
- Операторын схемүүд. Прототип хийх нь далд утгатай - энэ нь зам дээр суурилсан харилцан үйлчлэлийг харуулах болнобие даасан операндууд дамжин өнгөрөх болно.
Псевдокод. Хөтөлбөрийн ноорог зураг.
Алгоритм бичиж байна
Хөтөлбөр, функц, процедурын прототипийг хэрхэн үүсгэж эхлэх вэ? Үүнийг хийхийн тулд дараах ерөнхий зөвлөмжийг ашиглахад хангалттай:
- Алгоритм бүр өөрийн гэсэн нэртэй байх ёстой бөгөөд энэ нь түүний утгыг тайлбарладаг.
- Эхлэл болон төгсгөлийн оршихуйг анхаарахаа мартуузай.
- Оролт гаралтын өгөгдлийг тайлбарлах ёстой.
- Тодорхой мэдээлэл дээр тодорхой үйлдэл хийх командуудыг зааж өгөх.
Бичих арга
Алгоритмын таван дүрслэл байж болно. Гэхдээ бичих хоёр л арга бий:
- Албан ёсны үг хэллэг. Тайлбарыг голчлон томьёо, үг ашиглан хийдэг гэдгээрээ онцлог юм. Агуулга, түүнчлэн энэ тохиолдолд алгоритмын алхмуудыг гүйцэтгэх дарааллыг байгалийн мэргэжлийн хэлээр дурын хэлбэрээр бичсэн болно.
- График. Хамгийн түгээмэл. Үүнд блокийн тэмдэг эсвэл алгоритмын схемийг ашигладаг. Тэдгээрийн хоорондын холболтыг тусгай шугамаар харуулав.
Хөтөлбөрийн бүтцийг боловсруулах
Гурван үндсэн төрөл байдаг:
- Шугаман. Энэ бүтэцтэй бол бүх үйлдлүүдийг нэн тэргүүний дарааллаар, зөвхөн нэг удаа гүйцэтгэдэг. Хэлхээ нь дараалал шиг харагдаж байнаблокуудыг гүйцэтгэх дарааллаас хамааран дээрээс доош байрлуулна. Үүссэн анхдагч болон завсрын өгөгдөл нь тооцооллын үйл явцын чиглэлд нөлөөлөх боломжгүй.
- Салбарлах. Практикт, нарийн төвөгтэй асуудлыг шийдвэрлэхэд өргөн хэрэглээг олсон. Тиймээс, хэрэв эхний нөхцөл эсвэл завсрын үр дүнг харгалзан үзэх шаардлагатай бол тэдгээрийн дагуу шаардлагатай тооцооллыг хийж, гарсан үр дүнгээс хамааран тооцооллын үйл явцын чиглэл өөрчлөгдөж болно.
Цикл. Өөртөө олон даалгавартай ажиллахад хялбар болгохын тулд програмын кодын зарим хэсгийг олон удаа давтах нь зүйтэй юм. Хэдэн удаа, юу хийх шаардлагатайг зааж өгөхгүйн тулд мөчлөгийн бүтцийг ашигладаг. Энэ нь өгөгдсөн нөхцөлийг биелүүлэх хүртэл давтагдах тушаалуудын дарааллыг өгдөг. Гогцоог ашиглах нь програм бичих нарийн төвөгтэй байдлыг эрс багасгах боломжийг олгодог.
Програмчлал
Хөтөлбөрийг үүсгэх програмчлалын хэлийг сонгох нь чухал. Тэдний олонх нь ажлын тодорхой нөхцөлд (жишээлбэл, хөтөч дээр) "тохилогдсон" гэдгийг тэмдэглэх нь зүйтэй. Ерөнхийдөө програмчлалын хэлийг хоёр бүлэгт хуваадаг:
- Функциональ.
- Оператор:
- процедурын бус;
- журам.
Та аль нь хамгийн түгээмэл хэрэглэгддэгийг тааж чадах уу? Оператор-процедур - энэ бол хариулт юм. Тэд машинд чиглэсэн эсвэл бие даасан байж болно. Эхнийх ньассемблер, автокод, симбол кодчилол. Бие даагчид чиг баримжаагаар нь хуваагддаг:
- процедурын;
- асуудалтай;
- объект.
Тэд тус бүр өөрийн гэсэн хүрээтэй. Гэхдээ програм бичихэд (ашигтай програмууд эсвэл тоглоомууд) объект хандалтат хэлийг ихэвчлэн ашигладаг. Мэдээжийн хэрэг, та бусдыг ашиглаж болно, гэхдээ тэдгээр нь олон нийтэд зориулсан эцсийн хэрэглээний бүтээгдэхүүнийг бий болгоход хамгийн их хөгжсөн нь үнэн юм. Тийм ээ, хэрвээ та хаанаас эхлэх талаар нарийн төсөөлөлгүй байгаа бол би алгоритмчлал, объект хандалтат програмчлалын үндсүүдэд анхаарлаа хандуулахыг санал болгож байна. Одоо энэ бол та маш их боловсролын материалыг олж авах боломжтой маш алдартай газар юм. Ерөнхийдөө мэргэшсэн хөгжүүлэгч дутагдалтай байгаа тул алгоритмчлал, програмчлалын хэлний үндсүүд одоо хэрэгтэй байгаа бөгөөд тэдний ач холбогдол ирээдүйд өсөх болно.
Дүгнэлт
Алгоритмуудтай (дараа нь программуудтай) ажиллахдаа бүх нарийн ширийн зүйлийг хамгийн бага хүртэл тунгаан бодохыг хичээх хэрэгтэй. Дараа нь кодын боловсруулаагүй хэсэг бүрийг тодорхойлох нь зөвхөн нэмэлт ажил, хөгжүүлэлтийн зардал, ажлын цаг хугацааг нэмэгдүүлэхэд хүргэдэг. Бүх нарийн ширийн зүйлийг сайтар төлөвлөж, боловсруулах нь цаг хугацаа, хүчин чармайлт, мөнгөө хэмнэх болно. За, одоо тэд энэ өгүүллийг уншсаны дараа та алгоритмчлал, програмчлалын үндсүүдийн талаар ойлголттой болсон гэж хэлж болно. Энэ мэдлэгийг хэрэгжүүлэхэд л үлддэг. Хэрвээ тэндХэрэв сэдвийг илүү нарийвчлан судлахыг хүсч байвал би "Алгоритмчлал ба програмчлалын үндэс" номыг зөвлөж болно (Семакин, Шестаков) 2012.