Компьютер, Програмчлалын
Programming. Үндсэн алгоритмын барилга
ямар ч програм зайлшгүй шаардлагатай үндсэн алгоритмын загварыг бий болгоно. Дараах асуудлыг шийдвэрлэх хамгийн хялбар сонголт юм. Энэ нь нэгэн төрлийн жишээнүүдтэй нь хамт үйл ажиллагаанд, жишээ нь ашиглаж болно. салбарласан болон хүрд Бусад төрөл байдаг. Энэ нь энэ зүйлд хэсэгт тайлбарлагдах болно. Гэхдээ эхлээд та алгоритм ерөнхийд нь юу ойлгох хэрэгтэй.
алгоритм
гэдэг үг нь "алгоритм" Латин algoritmi ирсэн. Энэ нь юу гэсэн үг вэ? Жинхэнэ үг математикийн, IX зууны үед болсон үйл нэрээр ирдэг. Улмаас туурвил Аль Khorezmi хүн төрөлхтөн алгоритмын зураг төсөл, ерөнхийдөө ерөнхий үзэл баримтлал бүхий үндсэн төрөлтэй танилцах болж болох юм.
дүрмийн өмнөх хэлбэр нь баталсан юм - "алгоритм". Одоо энэ нь зөвхөн тодорхой тохиолдолд хэрэглэж байна.
Алгоритм - анхны өгөгдөл, салангид үе шаттайгаар явагддаг өөрчлөх гэсэн утгатай үйл явц. Энэ үзэл баримтлал нь, хүн бүр, амьдралд тулгарч байгаа тэр нь хэн ч байлаа. Алгоритмууд, цай, хоол хүнс, үржүүлэх болон гадна тэгшитгэлийн шийдэл гэх мэт. Д. ажлын үйл явц нь автоматжуулсан байгаа тухай мэдээлэл хэрэгсэл гэж тодорхойлж болох юм процессор санах ой дахь хэсэгт заасан тодорхой үе шатуудыг дамжин ажилладаг. Ийм алгоритмууд гэр гэж нэрлэдэг. бусад төрлийн байдаг. АНУ-ын тэднийг авч үзье.
алгоритм төрөл
Үндсэн алгоритмын бүтэц нь хэд хэдэн төрлийн, энэ хэсэгт хэлэлцэх болно хуваагддаг. Тэд ямар байна вэ?
- Мэдээлэл. Ийм алгоритмууд их хэмжээний өгөгдөл хамтран ажиллаж, харин байгаа урт, хүндрэлгүй жижиг боловсруулах цар хэмжээ.
- Хяналтын. Ийм алгоритм үйл ажиллагаа тодорхой эх сурвалжаас авсан байдаг мэдээллээр холбоотой байдаг. хүлээн авах тусгай дохиог илгээсэн дараа төхөөрөмжүүдийн ажиллагааг хангах.
- Computing. мэдээллийн алгоритм ялгаатай нь бага хэмжээний өгөгдлийг хамтран ажиллаж, гэхдээ том ажил үйл явцыг гаргаж тайлбарласан байгаа.
Үнэн хэрэгтээ, алгоритм хамгийн бага нарийвчилсан зааврын үнэн зөв байна. Хэдий тийм ч, ийм өгөгдөл гэж нэрлэж болно ойлголтыг тайлбарлаж байна. алгоритм зааврыг ойлгож, үгүй тулд тодорхой шинж байгаа эсэхийг шалгаж байх нь зүйтэй.
алгоритм шинж чанар
Бүх томоохон алгоритмын дизайн тэд арга хэмжээ байх ёстой "дуулгавартай". дэлгэрэнгүй энэ асуултыг авч үзье.
бүрэн алгоритм, тэдгээрийн шинж гүйцэтгэлийг хянах бол та заавал тэдний дэмжигчдэд, төлөвлөгөөг тохируулан тодорхой хангалттай ойлгож чадахгүй байгааг харж болно. зөв үр дүн Хэрэв та зүгээр л хүссэн механик арга хэмжээ авсан мод ч гэсэн олж авсан байна. Эндээс бид улмаас сурталчилгааны үйл ажиллагааны утга учир дутагдалтай, алгоритм компьютер хэрэгжүүлэх төлөх бүр боломжтой юм гэж дүгнэж болох юм. Өөрөөр хэлбэл, авах автомат төхөөрөмжүүд нь энэ үйл явцын бэлэн шаарддаг.
Ямар шинж чанар хамгийн их нарийн ажил хийх үндсэн алгоритмын загвар байх ёстой вэ?
- Ойлгомжтой. Баг бүр болох тодорхой ажиллаж байгаа объект байх ёстой. Энэ бол юу ч хялбар байдаг гэж бодвол Жишээ нь, төвд цэг зурах юм шиг, гэхдээ энэ нь багт, энэ нь хийж чадахгүй бол үйлдлийг гүйцэтгэдэг тусгасан байна.
- Үр дүнтэй. Аль энэ эд хөрөнгө гэсэн үг үү? нь үр дүнг гарган авах шаардлагатай. алгоритм ч хариу ямар хүргэж чадахгүй. Улмаас алдаа, та хүссэн юм буруу үр дүнг авч болно, гэхдээ тэр болно. Түүнээс гадна, хариу алхмуудыг тодорхой тооны дараа хүлээн авсан байх ёстой.
- Масс. Аливаа алгоритм асуудал аль ангилалд хамаарах байх ёстой. Тэдний хооронд нь оролтын өгөгдөл өөр өөр байж болно.
- Тодорхой. үйл ажиллагаа бүр нь зөвхөн нэг утга байх ёстой бөгөөд үүсмэл буцааж шифрлэх боломж өгч байна. Ер нь, хөтөлбөр нь хэр их эхэлсэн ямар ч хамаагүй, үр дүн мөн цаг ямагт байх ёстой.
- Дискрет. Алгоритм - тууштай хэрэгжүүлэх алхам. алхам бүрийг алгасаж, эсвэл шинээр чадахгүй нь нэмэх тушаал юм.
- Зөв. ажлуудын ямар хамаатай аливаа алгоритм, хүн болгоны хувьд зөв байх ёстой. програмчлал нь ихэвчлэн асуудал бичих үе шат нь ихэвчлэн цаг хугацаа маш их шаардах байхгүй бол биш, асуулт бүх төрлийн тэдний явуулахад байдаг. Тиймээс чухал алхам алгоритмыг дибаг хийхийг байх болно. Энэ болон үндсэн алгоритмын дизайн тусалж чадах, давтах илүү сайн үр дүнд хүргэж болно.
алгоритм тодорхойлолт
Бид алгоритмыг хэрхэн бичих тухай ярих бол энэ нь дараах онцлох ёстой:
- Аман. Өөрөөр хэлбэл, хэл, бүрэлдэхүүнийг ярих нь тохиромжтой юм байна.
- Хүснэгт. Логикийн хувьд, алгоритм нь хүснэгтэд бичигдсэн байдаг ба ихэвчлэн туслах элемент болгон ашигладаг.
- Формула-амаар. үндэс нь хэл амаар izyasneniya аргыг авсан боловч, ийм арга хэмжээ нь бас тэмдэгт буюу математикийн томьёог бүртгэгдсэн байна.
- График. Ийм алгоритм нь тусгай хэлний flowcharts бичигдсэн байна.
Энэ нь сүүлийн цэгийг тодруулах шаардлагатай байна. нь схемд гэж юу вэ? Энэ нь шугаман ба шугаман бус алгоритм, үүнээс тусгай нэгж ашиглан бичигдсэн байгаа алхам. Тэд өөр өөрийн тохиргооны, зорилго, үйл ажиллагаа байдаг. Энэ тайлбарын хувьд, алгоритм бичсэн блок диаграм, хоорондоо шугам байдаг байна. Тэд мөн тодорхой арга хэмжээ (алхам) бичих хэрэгтэй.
алгоритмын дизайн
шугаман, салаалсан, мөчлөгт: Зарим алгоритм нь 3 төрлийн болон 4. үндсэн алгоритмын загвар байхгүй байна гэж үздэг. Учир нь ийм буруу ойлголт гэж юу болох, энэ нь тодорхой биш байна. Гэсэн хэдий ч, эдгээр гурван нэлээн том бүлэг компьютерийн алгоритм ашиглан нарийн төвөгтэй асуудал нь энгийн шийдэл. АНУ-ын тэднийг авч үзье.
- Шугаман. Энэ тооцоолох үйл явц нь зохих алхам тус бүр нэгээс илүү удаа гүйцэтгэсэн байна, үүгээр бүх үйл ажиллагаа нь шугаман дарааллаар явагдаж байгаа гэсэн, энэ нэрийг авчээ. Хэрэв бид асуудлын схемийг авч, дараа нь энэ барилгын тоосго нь нэг нь нөгөөгийнхөө дээгүүр, дараалал тоо гүйцэтгэл хамааран тавьжээ. Шугаман алгоритм нь анхны өгөгдлийн чиглэл, үйл ажиллагааны мэдрэмжийг өөрчилж болохгүй вэ гэсэн ийм байдлаар ажиллаж байна. нийлбэр буюу ялгааг тооцоолох Ийм шийдэл тохиромжтой арга, дөрвөлжин хэлбэртэй, эсвэл түүний периметрийн, гэх мэт. Н. алгоритмын дизайны үндсэн хэлбэр нь яг л юм.
- Салбарласан. Энэ тооцоолох үйл явц нь логик үзэл бодлоо илэрхийлэх эрх байгаа эсэхийг (LP), нөхцөл нь сонголт гэсэн үг (салбар "худал" болон "үнэн"). Тохиолдол бүрт, энэ нь хоёр буюу түүнээс олон багуудын нэг нь л ойлгосон. Ямар ч асуудал, байж болохгүй, хэрэгжүүлнэ ч өөр сонголт байна. нарийн төвөгтэй - алгоритм нь хоёр салбар бол, энэ нь энгийн, хэрэв хоёр ба түүнээс дээш байна. Хожмын Үеийн үйл явц эхний зардлаар хялбар бололтой. алгоритмын дизайны үндсэн хэлбэр нь эхний цэг, хоёр дахь нь юм. дараах хэлбэр ч бас энэ жагсаалтад орсон байна.
- Мөчлөгийн. Энэ алгоритм нь заавал өөр өөр оролтын мэдээллийг ашиглан, харин элемент давтан болно. Өөрөөр хэлбэл, ийм үйл явц нь цикл гэж нэрлэдэг.
Энэ бүх томоохон алгоритмын загвар (дараах салбар, гогцоонууд), өөр хоорондоо хоорондоо уялдаа холбоотой байгаа нь тус тусад нь ашиглаж болно ч гэдгийг тэмдэглэх нь зүйтэй.
гогцоо ба тэдний төрөл бий болгох
Энэ нь гогцоо бий юу өгөх вэ?
- хүрд эсрэг. Энэ нь анхны утгыг тодорхойлж, хувьсах, үйл ажиллагаа нь өөрчлөгдөх болно давтах юм. Энэ нь заавал алгоритм орох ёстой. хүрээ төрлийн ажлын үндсэн алгоритмын барилгын ажил энэ нь тийм биш болно үгүй.
- мөчлөгийн шинэ давтах өмнө өгөгдлийн дээрх индексийг өөрчлөх.
- компьютер дахин гогцоо, эсвэл ямар ч шаардлага байхгүй илүү "гүйлгэж" эсэхийг шийдсэн нөхцөлийг шалгах хэрэгтэй.
Мөчлөгүүд детерминистик ба давтагдах болно. Эхний давталтуудыг алдартай тоо нь дахин хийх юм. Давтагдах мөчлөг - нөхцөл байдал үнэн эсвэл худал хүртэл цаг хугацаа нь тодорхойгүй хэмжээг давтагдсан байдаг нэг юм.
үндсэн алгоритм
Энэ нь үндсэн алгоритмын бүтцийг үндсэн алгоритм битгий оруулаарай гэдгийг санах нь зүйтэй юм. Энэ юу вэ? Энэ ойлголт нь орчин үеийн уран зохиолыг олж байхаа больсон байдаг, гэхдээ энэ нь хийдэг, ямар ч удаан байна гэсэн энэ үг биш юм. асуудлын шийдэл нь хэд хэдэн салбар, давталт, дараах дүгнэлтийг тулгарч болох тул. Үндсэн алгоритмын байгууламж (шугаман, салаалсан мөчлөгт) суурь юм. Үнэндээ тэд зааврын гэж нэрлэгддэг тус бүр нь "бүтцийн нэгж" харуулж байна.
шугаман алгоритм
Дээрээс нь тодорхой юм шиг, нэг алгоритм нь шугаман ба шугаман бус юм. Эхний биелэл авч үзье. Яагаад тэд үүнийг нэрлэдэг вэ? маш энгийн мэдээлэл. баримт алгоритм-д тоглож байгаа бүх үйл ажиллагаа, тодорхой бүх үе шатыг тууштай хэрэгжүүлэх болно чанд өөр хойш нэг байдаг. Ерөнхийдөө эдгээр зорилт нь жижиг бөгөөд төвөгтэй нь бага түвшинд байна.
шугаман алгоритм нэг жишээ нь цай бэлтгэх үйл явц байж болно:
- данх руу ус хийнэ.
- буцалгана зуухан дээр данх тавь.
- аяга авна.
- цай аяганд хийнэ.
- элсэн чихэр нэмнэ.
- халуун ус буцалгах дараа аяга цутгана.
- халбага авна.
- сахар хутгаж.
үндсэн алгоритмын бүтцийг программчлах - хүнд хангалттай хэмжээний, гэхдээ энэ нь бол шугаман алгоритм, тэдгээрийг хэрэгжүүлэх нь маш хялбар ихэвчлэн байдаг.
алгоритмыг салбарласан
алгоритм нь салбарласан байна гэж яаж ойлгох вэ? Энэ нь та эсвэл дутагдал нөхцөл гүйцэтгэл хамааран үйл ажиллагаа нь хоёр буюу түүнээс дээш курс, нэг сонголт байгаа эсэхийг хангалттай юм. зам бүр нь салбар гэж нэрлэдэг.
алгоритмийг салбарласан гол онцлог нь нөхцөлт салбар оршин байна. Энэ нь үнэн эсвэл худал туршилтын илэрхийлэх тохиодог.
"-Аас бага", "илүү", "-аас бага эсвэл тэнцүү" Ер нь, логик илэрхийлэл төлөөлж байгаа шинж тэмдэг "-ээс их буюу тэнцүү", "тэгш", "тэнцүү биш." Заримдаа нөхцөл тушаалын болон (U) эсвэл (эсвэл) нь өөр хоорондоо холбоотой embodiments байдаг.
Ийм алгоритмийн нэг жишээ нь дараах асуудлын шийдэл байж болох юм: илэрхийлэл ((X + 3) / 1) эерэг тоотой тэнцүү бол, дараа нь үр дүнг дэлгэцэн дээр, сөрөг бол дэлгэц - алдааны талаар хэрэглэгчид мэдэгдэх.
практикт хангалттай Энгийн үндсэн алгоритмын загварыг хэрэглэх. Салбарлалт шийдвэрлэх нь хамгийн түгээмэл аргуудын нэг юм.
Детерминистик мөчлөг буюу мөчлөг лангуун нь
тодорхой алхам утга нь өөрчлөгдөж хувьсагчийг агуулсан мөчлөг - лангуун мөчлөг. Алхам хэрэглэгчийн тодорхойлсон байгаа эсвэл програм хангамж бичихдээ программист заасан. Энэ мөчлөгийн хувьд хэлний ихэнх нь операторыг ашигладаг.
Хөтөлбөрийн тулд хоёр эгнээ 4 удаа харуулах болно:
- "Чи яаж байна?"
- "За, баярлалаа!"
- "Чи яаж байна?"
- "За, баярлалаа!"
Та детерминистик мөчлөгийг бий болгох ёстой. Энэ нь яаж харагдах вэ? Бид дизайны илүү сайн ойлголт нь хэл "Паскаль" ашиглаж байна.
1. Би: = 1 2 хийх:
- Би энэ нь давталтад давталтуудыг тоог тодорхойлох, сөрөг мөчлөг юм.
2. эхэлнэ (хоёр хэллэгийг нээлттэй буржгар хаалт байгууллага мөчлөг, хамтдаа давтан юм.)
3. Writeln ( "Та яаж байна?"):
- гэдэг үг нэг ишлэл дотор байгаа writeln дүгнэлт хэлц үг юм.
4. Writeln ( 'Нарийн, ачаар ").
5. Төгсгөл.
6. Би: = Би 1 +.
Таны харж байгаагаар бол энэ нь маш хялбар, тэр ч байтугай хөгжилтэй үндсэн алгоритмын загварыг хэрэглэх. Үндсэн алгоритм нь үнэхээр сайн мэддэг тэдэнд үгүй энэ хөтөлбөрийг бичих боломжгүй юм.
postcondition нь мөчлөг
postcondition нь цикл оператор хаалтан эсвэл Нийлмэл үг оруулах ямар арга хэмжээ тодорхой бус тоог давтаж болно. Тэр дор хаяж нэг удаа гүйцэтгэсэн болно. нөхцөл байдал худал болтол Энэ цикл ажиллаж байна. Тэр нь зөв үзүүлэлтийг үүсэх үед зогсоодог. Энэ алгоритм энэ нь барьсан байна. Ялангуяа энэ хурдтай ажил нь энэ төрлийн үндсэн алгоритмын барилгын ажил.
Энэ мөчлөгийн хэрэгжүүлэх Б. Үгчилбэл энэ нь гэсэн үг хүртэл загвар давтан шаарддаг "нөхцөл байдал худал болтол алхмуудыг давтан." үр дүн нь зөв утгыг хэрэгтэй мэдээлэл - Тиймээс, энэ нь В дамжуулан өөрөө давтлага үйл явцыг илэрхийлнэ.
урьдчилсан нь мөчлөг
postcondition нь цикл энэ нь ямар ч тохиолдолд дор хаяж нэг удаа гүйцэтгэсэн ийм аргаар барьж байна. Гэсэн хэдий ч, мөчлөг нь нөхцөл байдал гарсан тохиолдолд шаардлагатай бөгөөд давтагдахыг байхгүй явуулж байх ёстой тохиолдол байдаг. Үгүй бол, үр дүн нь буруу байх болно. Энэ нь урьдчилсан нь гогцоо энэ тохиолдолд байдаг. шаардлагатай дизайн үүсгэхийн тулд «A B хийж байхдаа». анхны баг нь үгчилбэл гэж орчуулсан байна "урт". A - нөхцөл, - давтаж болно үйлдэл. бүхэлд нь загвар "нөхцөл байдал үнэн болтол нь арга хэмжээ гүйцэтгэх" гэсэн утгатай.
зөвхөн тодорхой тохиолдолд бүх томоохон алгоритмын дизайн ажил. Тэд урьдчилсан нь давталтад гэж юу вэ? Та нэгээс илүү үйлдэл давтан болно, харин хэд хэдэн хэрэгтэй бол та нийлмэл тайлан, эсвэл тусгай хаалт, эсвэл ашиглах хэрэгтэй. Хэрэв орж байх үед нөхцөл байдал нь үнэн биш бол мөчлөг нь сайн ажиллахгүй байх болно. Иймээс арга хэмжээ нь зөв юм бол давтан болно.
туслах алгоритм
туслах алгоритм нь зөвхөн түүний нэрийг зааж үүнийг бусад үйл ажиллагаанд ашиглаж байна. Тэр нь гол алгоритмын загвар хамаарахгүй юм байна. програмчлалын хэл дээр ийм арга хэмжээ авах үйл явц нь байнгын гэж нэрлэдэг. кодтой ажлыг хөнгөвчлөх, дараа нь илүү амархан арга хэмжээ бүр нэг нэгж, туслах алгоритм юм болгон нэгтгэж байгаа асуудлыг шийдэхийн тулд. Тэдний бүр түүний нэрийг, түүнийг холбоо барих дараа нь дахин дахин олгодог асууж болох юм.
Similar articles
Trending Now