Шугаман алгоритмууд - схем, бүтэц, тооцоо

Агуулгын хүснэгт:

Шугаман алгоритмууд - схем, бүтэц, тооцоо
Шугаман алгоритмууд - схем, бүтэц, тооцоо
Anonim

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

Алгоритм хэл

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

шугаман алгоритмууд
шугаман алгоритмууд

Энэ хэл нь алгоритмуудыг тайлбарлах хэрэгсэл юмихэвчлэн хэрэглэгч дээр төвлөрдөг.

Компьютерийн хэлээр энэ нь тооцоолох үйл явцыг тодорхойлдог яг жор юм. Энэ нь эргээд өөр өөр байдаг анхны өгөгдлөөс анхны үр дүнд хүргэдэг.

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

Алгоритмын шинж чанарууд

Үндсэн шинж чанаруудын дунд:

  • хязгаарлагдмал байдал - бүх алгоритмыг тодорхой хязгаарлагдмал тооны үе шат (алхам) -аар дуусгахаас бүрдэнэ;
  • тодорхой байдал (өвөрмөц байдал) - үйлдлийг гүйцэтгэх дүрмийн тайлбарын өвөрмөц байдал, түүнчлэн тэдгээрийг гүйцэтгэх дарааллыг илэрхийлдэг;
  • гүйцэтгэл - хүссэн үр дүндээ хязгаарлагдмал тооны алхмуудаар хүрэх;
  • ойлгомжтой байдал - заавар нь гүйцэтгэгчид ойлгомжтой байх ёстой;
  • масс тэмдэгт - алгоритмууд нь ерөнхий асуудлын тайлбар бүхий бүхэл бүтэн ангиллын тодорхой бодлогыг шийдвэрлэх чадвартай байх ёстой.

Шугаман алгоритмууд. Компьютерийн шинжлэх ухаан 9-р анги

Бид энэ ойлголтын тодорхойлолт, шинж чанарыг аль хэдийн авч үзсэн. Одоо түүний төрлүүдийн талаар ярья:

шугаман алгоритмуудыг шийдвэрлэх
шугаман алгоритмуудыг шийдвэрлэх
  • шугаман;
  • салбарлах;
  • мөчлөгтэй.

Бид шугаман алгоритмуудыг сонирхож байна. Тэд юу вэ? Тэдгээр нь тодорхой дарааллаар нэг нэгээр нь гүйцэтгэх ёстой командуудыг агуулдаг.

Алгоритмын шугаман бүтцийг үгээр бичиж болноболон график хэлбэр.

Аман хэлбэрээр бичсэн жишээг өгье. Тиймээс даалгавар: сургуульдаа бэлд. Шийдэл:

  • Эхлэх.
  • Бос.
  • Дасгал.
  • Угаах.
  • Хувцсаа өмс.
  • Өглөөний цайгаа уу.
  • Цүнх цуглуул.
  • Төгсгөл.

Дээрх үйл явцын график хэлбэр нь дараах байдалтай байна:

шугаман алгоритмууд компьютерийн шинжлэх ухаан
шугаман алгоритмууд компьютерийн шинжлэх ухаан

Блок диаграмын хэлбэрийн шугаман алгоритм

Урсгал диаграм нь янз бүрийн геометрийн дүрс хэлбэрээр үзүүлсэн блокуудыг ашиглан үе шат бүрийг дүрсэлсэн алгоритмын дүрсэлсэн дүрслэл юм. Үүнээс гадна, алхмуудын хоорондын хамаарлыг (өөрөөр хэлбэл, алхам алхмаар гүйцэтгэх дараалал) дүрсийг (блок) холбосон сумаар зааж өгдөг. Блок бүрийг бичээс дагалддаг. Шугаман алгоритмын ердийн үйлдлүүдийн хувьд дараах геометрийн дүрсүүдийг ашигладаг:

  • Алгоритмын эхлэл-төгсгөлийн блок. Блок дээр "эхлэл" эсвэл "төгсгөл" гэсэн бичээс байна.
  • "Өгөгдөл оруулах-гаралт"-ыг блоклох. Энэ блокыг параллелограмм хэлбэрээр үзүүлэв. Үүн дээр дараах бичээсүүдийг байрлуулсан: "оролт", "гаралт", "хэвлэх". Тэдгээрийг мөн тус тусад нь оролт эсвэл гаралтын хувьсагчийн жагсаалт дагалддаг.
  • Арифметик блок буюу шийдвэрийн блок. Энэ нь тэгш өнцөгттэй тохирч байна. Блок нь "үйл ажиллагаа", "үйл ажиллагааны бүлэг" гэсэн бичээстэй байх ёстой.

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

Шугаман тооцооллын алгоритмууд

Тооцооллын алгоритмын үндсэн энгийн үйлдэл нь хувьсагчид тодорхой утга оноох явдал юм. Тогтмол утга нь түүний тэмдэглэгээний төрлөөр тодорхойлогддог тохиолдолд хувьсагчийн утга нь зөвхөн хуваарилалтын үр дүнд тодорхой утгыг авна. Үүнийг хоёр аргаар хийж болно: даалгавар командыг ашиглан; оруулах командыг ашиглана.

Шугаман алгоритм шийдлийн жишээ

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

  • бутархай 1-ийн хуваагчийг 2-р бутархайн хуваагчаар үржүүлэх ёстой;
  • бутархай 1-ийн хуваагчийг 2-р бутархайн хуваагчаар үржүүлэх ёстой;
  • бутархайг бичихэд шаардлагатай бөгөөд тоологч нь 1 цэгийн үр дүн, хуваагч нь 2 онооны үр дүн юм. Энэ дүрмийн алгебр хэлбэр нь дараах байдалтай байна:

a/b: c/d=(ad)/(bd)=m/n.

алгоритмын шугаман бүтэц
алгоритмын шугаман бүтэц

Тиймээс компьютерт бутархай хуваах алгоритмыг бүтээцгээе. Төөрөгдөлд орохгүйн тулд бид дээр дурдсан томъёонд дурдсантай адил хувьсагчийн тэмдэглэгээг ашиглана. a, b, c, d – бүхэл тоон хувьсагч хэлбэрийн анхны өгөгдөл. Үр дүн нь бүхэл тоонууд болно. Алгоритм хэл дээрх шийдэл нь:

байх болно.

alg Бутархайн хуваагдал

эхлэх

зорилтот a, b, c, d, m, n

оролт a, b, c, d

m:=ad

n:=b c

гаралтын м, n

con

Шийдлийн график хэлбэр

Дээр тайлбарласан шугаман алгоритмын схем дараах байдалтай байна:

шугаман алгоритмын схем
шугаман алгоритмын схем

Утга оноох команд дараах форматтай байна:

Хувьсагч:=илэрхийлэл.

":=" тэмдгийг оноож уншина.

Даалгавар нь компьютерт дараах зүйлсийг хийхэд шаардлагатай команд юм:

  • илэрхийллийн үнэлгээ;
  • хүлээн авсан утгыг хувьсагчид оноож байна.

Дээрх алгоритм нь даалгавар болгон хоёр тушаалыг агуулна. Урсгал диаграммд даалгавар өгөх заавар нь тооцооллын блок гэж нэрлэгддэг тэгш өнцөгт хэлбэрээр бичигдсэн байх ёстой.

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

Өгөгдсөн алгоритмын жишээнд мөн оруулах тушаал байна:

a, b, c, d оролт.

Блок диаграммд оруулах командыг параллелограммаар, өөрөөр хэлбэл оролт/гаралтын блок дээр бичдэг. Энэ командыг гүйцэтгэснээр процессор нь хэрэглэгч тодорхой үйлдэл хийх хүртэл ажлыг тасалдуулж өгдөг. Тухайлбал: хэрэглэгч оролтын төхөөрөмж (гар) дээр оролтын хувьсагчдыг (тэдгээрийн утгуудыг) бичээд оруулах товчлуурын үүрэг гүйцэтгэдэг Enter товчийг дарах шаардлагатай. Оролтын жагсаалт дахь харгалзах хувьсагчтай ижил дарааллаар утгуудыг оруулах нь чухал.

Шугаман алгоритм. Түүнийпрограмчлал

Өгүүллийн эхэнд дурдсанчлан шугаман программуудад дараах операторууд багтаж болно:

  • даалгавар;
  • оролт;
  • гаралт.

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

Тиймээс програмчлалын хэл дээрх хуваарилалтын операторыг дараах байдлаар бичсэн байна:

LET A=B, энд A нь хувьсагч, B нь илэрхийлэл юм. Жишээ нь, A=Y + 20.

Оролтын мэдэгдэл дараах байдалтай байна:

INPUT, жишээ нь: INPUT С

Өгөгдөл, утгыг гаргах операторыг дараах байдлаар бичнэ:

Хэвлэх. Жишээ нь Хэвлэх С.

Энгийн жишээ авъя. Бид гарнаас оруулсан A, B тоонуудын нийлбэрийг олох программ бичих хэрэгтэй.

шугаман тооцооллын алгоритмууд
шугаман тооцооллын алгоритмууд

Бид програмчлалын хэл дээр текстийг доор харуулсан программыг авах болно.

шугаман алгоритмын програмчлал
шугаман алгоритмын програмчлал

Паскалын програмчлалын хэл дээрх оролт гаралтын операторууд

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

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

Унших (A, B, C), энд A, B, C нь цээжлэхийн тулд RAM-д оруулах шаардлагатай хувьсагч юм.

Readlnn (x1, y, x2) – оролтыг дуусгасны дараа курсор шинэ мөрийн эхэнд шилжинэ.

Readlnn; - "Enter" товчийг дарах хүлээлтийг илэрхийлнэ. Ерөнхийдөө энэ мэдэгдлийг програмын үр дүнг агуулгын дэлгэцэнд хадгалахын тулд текстэнд сүүлчийн "Төгсгөл"-ээс өмнө оруулдаг.

Өгөгдлийн дэлгэцийн дэлгэцийг дараах операторуудыг ашиглан гүйцэтгэдэг:

Бичих (А, В, С) – нэг мөрөнд А, В, С утгуудыг зааж өгөхөд курсор одоогийн мөрнөөс гарахгүй.

Бичих (z, y, z2) – утгын гаралтыг дуусгасны дараа энэ байрлал дахь курсор шинэ мөрөнд шилжинэ.

Бичсэн; - нэг мөр алгасаж, шинэ мөрийн эхлэл рүү шилжихийг заана.

Ийм энгийн операторуудын тусламжтайгаар Паскаль хэл дээр өгөгдөл оруулах, гаргах үйлдлийг гүйцэтгэдэг.

Зөвлөмж болгож буй: