КомпьютерПрограмчлалын

Рекурсын - Энэ юу вэ? Рекурсын програмчлалын (жишээ)

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

Ер нь "рекурсын" гэж юу вэ?

гэдэг үг нь "рекурсын" нь энэ нь хэрэглэж байгаа бүс нутагт хамаардаг утгын нэг хүрээтэй байдаг. Universal тэмдэглэгээ нь дараах байдалтай байна: рекурсын - энэ тодорхойлолт нь зураг, обьектууд эсвэл үйл явцын тодорхойлолт объект өөрсдөө байна. Тэд зөвхөн обьект өөрийн нэг хэсэг болох тохиолдолд боломжтой. өөрийн замаар энэ нь рекурсив математик, физик, програм хангамж болон бусад шинжлэх ухааны хэд хэдэн тодорхойлдог. практик хэрэглээний мэдээллийн систем болон физик туршилт олдсон байна.

програмчлалд рекурсын юу гэсэн үг вэ?

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

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

Энэ байгууллага нь хэцүү рекурсын хоёр функцуудыг ашиглан бас боломжтой байдаг. компьютерийн логик for логик нөхцөл байдлыг иж бүрэн цуврал гарах арга замыг - A байгаа бөгөөд Б. A B таны код дуудлага нь үйл ажиллагаа бөгөөд B, эргээд, компьютер хэрэгцээ цогц A. рекурсын гүйцэтгэх харуулж бодъё.

Эдгээр шугам уншигч програмчлалын циклийг судалсан бол, энэ нь магадгүй аль хэдийн тэдний болон рекурсын хооронд адил төстэй анзаарсан байна. Ер нь, тэдгээр нь яг үнэндээ ижил төстэй эсвэл ижил үйлдлийг хийж чаддаг. рекурсын тусламжтайгаар дуурайх ажлын цикл хийх нь тохиромжтой юм. өөрсдөө ашиглах нь цикл нь маш тохиромжтой биш юм бол энэ нь ялангуяа ашигтай байдаг. Программ хангамж хэрэгжvvлэх Жолооны өөр өөр өндөр түвшний програмчлалын хэл дээр маш их ялгаатай биш юм. Гэсэн хэдий ч С-д "Паскаль" болон рекурсын эсвэл өөр хэл дээр рекурсын өөрийн шинж чанартай байдаг. Тэрээр амжилттай болох "ассемблер" гэж доод түвшний хэл дээр хийгдэх боломжтой, гэхдээ энэ нь илүү асуудалтай, цаг хугацаа шаардсан ажил юм.

мод рекурсын

програмчлалын онд "мод" гэж юу вэ? Энэ нь дор хаяж нэг зангилаанд бүрдсэн төгсгөлөг олонлог юм:

  1. Эхний тусгай цэг байдаг, нийт модны үндсийг гэж нэрлэдэг.
  2. Үлдсэн цэгүүд нэг цагт тэд бас мод юм, тэг, нэршлийн дэд өөр нэгэн хэмжээгээр байдаг. Байгууллагын бүх ийм хэлбэр гол модны дэд мод гэж нэрлэдэг.

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

Энэ програм хэрэглэж байна Яагаад тэр вэ?

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

янз бүрийн програмчлалын хэл ялгаа рекурсын

нь хэрэгжүүлэх ерөнхий диаграм, хувь хүний хувьд бүр тодорхой хэрэглэх хэдий ч, програмчлалд рекурсын өөрийн шинж чанартай байдаг. Энэ нь шаардлагатай материал хайж бэрхшээлтэй хүргэж болно. Гэвч үргэлж санаж: програмчлалын хэл нь функц эсвэл процедур, тиймийн тул, дуудлага рекурсын бол - энэ нь боломжтой юм. Гэхдээ түүний хамгийн чухал ялгаа багатай, өндөр програмчлалын хэлүүдийг ашиглаж байгаа үед тохиолддог. Энэ хөтөлбөр хэрэгжүүлэх, ялангуяа үнэн боломж юм. Гүйцэтгэлийн эцсийн эцэст Хэрэв дагуу болон бичгийн рекурсын-д, ажил тогтоосон эсэхээс хамаарна. Чиг үүрэг, ашиглах журам өөр өөр байдаг ч тэдний зорилго нь үргэлж нэг юм - өөрсдийгөө нэрлэдэг байна.

Рекурсын - энэ нь амар хялбар юм. дугаар зүйлийн агуулгыг санаж хувьд хялбар?

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 mn.birmiss.com. Theme powered by WordPress.