KompjutersProgrammazzjoni

Programmazzjoni. Kostruzzjonijiet algorithmiċi bażiċi

Għall-ħolqien ta 'xi programmi, hemm bżonn ta' kostruzzjonijiet algorithmiċi bażiċi. Dan li ġej hu l-aktar mod sempliċi biex issolvi l-problemi. Jista 'jintuża, pereżempju, biex jaħdem b'eżempji simili. Hemm tipi oħra: fergħat u looping. Dwarhom se jingħad f'dan l-artikolu. Imma l-ewwel trid tifhem x'inhu l-algoritmu.

Algoritmu

Il-kelma "algoritmu" ġej mill-Latin algoritmi. Xi jfisser? Il-kelma awtentika kienet ġejja mill-isem ta 'matematiku, li x-xogħol tiegħu waqa' fid-disa 'seklu. Grazzi għat-trattat al-Khwarizmi, l-umanità setgħet tgħarraf bit-tip bażiku ta 'kostruzzjoni algorithmika u ġeneralment b'kunċett ġenerali.

Aktar kmieni, ġiet adottata l-forma tal-kitba tal-kelma "algoritmu". Issa huwa wżat biss f'xi każijiet.

L-algoritmu huwa proċess li jfisser li tinbidel id-data tal-input, li sseħħ fil-forma ta 'passi diskreti. Ma 'dan il-kunċett, kull persuna tiltaqa' fil-ħajja, min hu. L-algoritmi jistgħu jissejħu wkoll it-tħejjija tat-te jew ikel, multiplikazzjoni jew żieda, is-soluzzjoni ta 'ekwazzjonijiet, eċċ. L-apparat domestiku kollu, li l-proċess tax-xogħol tiegħu huwa awtomatizzat, jaħdem għad-detriment ta' passi ċari preskritti fil-memorja tal-proċessur. Algoritmi bħal dawn jissejħu algoritmi tad-dar. Hemm tipi oħra. Ikkunsidrahom.

Tipi ta 'algoritmi

Il-kostruzzjonijiet algorithmiċi bażiċi huma maqsuma f'diversi tipi, li se jiġu diskussi f'dan is-subparagrafu. Liema huma huma simili?

  1. Informattiv. Dawn l-algoritmi jaħdmu b'ħafna data, iżda l-proċess stess tal-ipproċessar tagħhom huwa żgħir fit-tul u mhux ikkomplikat.
  2. Maniġers. Ix-xogħol ta 'tali algoritmi huwa relatat ma' informazzjoni li hija pprovduta minn sors wieħed jew ieħor. Wara li tirċevih, sinjali speċjali jintbagħtu biex jiżguraw it-tħaddim tal-mezzi.
  3. Komputazzjonali. B'differenza mill-algoritmi ta 'informazzjoni, ix-xogħol deskritt b'ammonti żgħar ta' data, iżda jipproduċi proċess kbir ta 'xogħol.

Fil-fatt, l-algoritmu huwa preċiż għall-iżgħar istruzzjonijiet fid-dettall. Madankollu, mhux id-dejta kollha bħal din tista 'tissejjaħ kunċett deskritt. Biex tifhem l-algoritmu ta 'struzzjoni jew le, għandu jiġi ċċekkjat għal ċerti proprjetajiet.

Proprjetajiet ta 'algoritmi

Il-kostruzzjonijiet algorithmiċi bażiċi kollha għandhom ikollhom azzjonijiet li jobduhom. Ejja nqisu din il-kwistjoni f'aktar dettall.

Jekk inti ssegwi kompletament ix-xogħol tal-algoritmi u l-proprjetajiet tagħhom, tista 'tara li mhux meħtieġ li tifhem il-komponenti tagħhom, huwa pjuttost ċar li jikkorrispondu mal-pjan. Ir-riżultat korrett jinkiseb, anke jekk sempliċement biex isegwu l-azzjonijiet meħtieġa b'mod mekkaniku. Minn dan nistgħu nikkonkludu li minħabba n-nuqqas ta 'tifsira fl-għarfien tal-azzjonijiet, l-algoritmu jista' verament jiġi allokat għall-implimentazzjoni ta 'kompjuter. Fi kliem ieħor, għal mezzi awtomatizzati, dan il-proċess huwa meħtieġ.

Liema proprjetajiet għandhom il-kostruzzjonijiet algorithmiċi bażiċi għall-aktar xogħol preċiż?

  1. Ċarezza. Kull kmand għandu jkun ċar kemm jista 'jkun biex l-oġġett jiġi eżegwit. Jidher li xejn huwa eħfef minn, per eżempju, li jiġbed punt fiċ-ċentru, le, imma sakemm ikollok kmand li jippermettilek li twettaq l-azzjoni, ma tkunx tista 'tagħmel dan.
  2. Effettività. Xi jfisser din il-proprjetà? Riżultat meħtieġ. L-algoritmu ma jistax iwassal għal tweġiba. Minħabba l-iżball, tista 'tikseb ir-riżultat ħażin, li kien mixtieq, iżda xorta jkun. Barra minn hekk, ir-risposta għandha tinkiseb wara ċertu numru ta 'passi.
  3. Il-massa. Kwalunkwe algoritmu għandu jkun applikabbli għal xi klassi ta 'kompiti. Bejniethom, jistgħu jvarjaw mid-dejta oriġinali.
  4. Ċertezza. Kull azzjoni għandu jkollha valur wieħed biss u ma tippermettix għal dekrizzjoni ta 'derivattivi. Idealment, irrispettivament minn kemm jitmexxa l-programm, ir-riżultat għandu dejjem ikun l-istess.
  5. Diskrezzament. Algoritmu - passi sekwenzjali. Kull pass huwa kmand, ma tistax taqbeż jew żid oħrajn ġodda.
  6. Korrettezza. Kwalunkwe algoritmu li japplika għal kwalunkwe tip ta 'kompitu għandu jkun korrett għal kulħadd. Fl-ipprogrammar, ħafna drabi jinqalgħu problemi mhux bil-kitba ta 'passi, li ta' spiss ma tantx jieħdu ħafna ħin, iżda biex iwettquhom għal diversi tipi ta 'mistoqsijiet. Għalhekk, pass importanti huwa l-eliminazzjoni tal-algoritmu. Jista 'jgħin f'dan u d-disinn algoritmiku bażiku, li r-ripetizzjoni tiegħu se tikseb riżultati aħjar.

Deskrizzjoni ta 'algoritmi

Jekk nitkellmu dwar metodi biex niktbu algoritmi, allura għandna niddistingwu dan li ġej:

  • Verbali. Fi kliem ieħor, f'lingwa li hija konvenjenti biex tesprimi kostitwent.
  • Tabulari. Loġikament, l-algoritmu jinkiteb f'tabelli u, bħala regola, jintuża bħala element awżiljarju.
  • Formalment verbali. Il-bażi tal-metodu verbali ta 'spjegazzjoni hija meħuda, iżda formuli jew simboli matematiċi huma wkoll irreġistrati f'tali azzjonijiet.
  • Grafika. Dan l-algoritmu jinkiteb f'lingwa speċjali ta 'dijagrammi ta' blokki.

L-aħħar punt għandu jiġi ċċarat. X'inhi dijagramma ta 'blokk? Dan huwa algoritmu lineari jew mhux lineari, li l-passi tiegħu huma rreġistrati bl-użu ta 'blokki speċjali. Huma għandhom il-konfigurazzjoni, l-iskop u l-funzjoni tagħhom stess. Fil-każ ta 'din id-deskrizzjoni, l-algoritmu jinkiteb f'dijagrammi ta' blokki li huma marbuta flimkien b'linji. Fihom, huwa meħtieġ li tiġi analizzata wkoll azzjoni (pass).

Kostruzzjonijiet Algoritmiċi

Xi wħud isostnu li l-algoritmi ma għandhomx 3 tipi, iżda 4. Il-kostruzzjonijiet algorithmiċi prinċipali: lineari, fergħat, ċikliċi. X'inhi r-raġuni għal dan il-kunċett żbaljat mhix ċara. Madankollu, għal soluzzjoni sempliċi ta 'problemi kumplessi, il-kompjuter juża l-algoritmi ta' dawn it-tliet gruppi pjuttost kbar. Ikkunsidrahom.

  1. Lineari. Dan il-proċess ta 'komputazzjoni rċieva dan l-isem minħabba l-fatt li l-azzjonijiet kollha jitwettqu f'sekwenza lineari, b'kull pass isir mhux aktar minn darba. Jekk inqisu l-iskema tal-problema, allura l-blokki fih jitqiegħdu waħda taħt l-oħra, skont in-numru tas-sekwenza tal-kompitu. L-algoritmi lineari jaħdmu b'tali mod li d-direzzjoni u t-tifsira tal-azzjonijiet ma tinbidilx mid-dejta inizjali. Metodu ta 'soluzzjoni bħal dan huwa adattat biex jikkalkula s-somma jew id-differenza, iż-żona ta' figura jew il-perimetru tagħha, eċċ. It-tip ewlieni ta 'kostruzzjoni algorithmika hija.
  2. Fergħat. Dan il-proċess ta 'komputazzjoni jimplika l-preżenza ta' espressjoni loġika (aktar LV) u l-għażla tal-kondizzjoni (il-fergħa "lie" u "verità"). F'kull każ, wieħed biss minn żewġ timijiet jew aktar jiġi implimentat. Ma hemm l-ebda kompitu u ma jistax ikun, fejn se jiġu ssodisfati għażliet oħra. Jekk hemm żewġ fergħat fl-algoritmu, huwa sempliċi, jekk aktar minn żewġ fergħat huma kumplessi. U l-aħħar proċess huwa faċilment rappreżentat għad-detriment ta 'l-ewwel. It-tip ewlieni ta 'kostruzzjoni algorithmika huwa kemm l-ewwel punt kif ukoll it-tieni. L-ispeċi li ġejjin huma wkoll inklużi f'din il-lista.
  3. Ċikliku. F'tali algoritmu, neċessarjament ikun hemm element li jirrepeti ħafna drabi, u tintuża data tal-bidu differenti. Fi kliem ieħor, proċess bħal dan jissejjaħ ċiklu.

Għandu jiġi nnutat li l-kostruzzjonijiet algorithmiċi bażiċi kollha (segwitu, fergħa, ċiklu) huma interrelatati ma 'xulxin, għalkemm jistgħu jintużaw separatament.

Ħolqien ta 'ċikli u t-tipi tagħhom

Dak li hu meħtieġ biex tinħoloq linja?

  • Konvertitur taċ-ċiklu. Din hija varjabbli li tistabbilixxi l-valur inizjali, u meta l-azzjoni tkun ripetuta, din se tinbidel. Għandu neċessarjament ikun parti mill-algoritmu. Il-kostruzzjonijiet algorithmiċi bażiċi tat-tip ċikliku mhux se jaħdmu mingħajrha.
  • Ibdel l-indikatur tad-data ta 'hawn fuq qabel ma ċiklu ġdid jerġa' jiġi ripetut.
  • Iċċekkja l-kundizzjoni li l-kompjuter jiddeċiedi jekk "jirbattix" iċ-ċiklu jew aktar, m'hemmx bżonn.

Iċ-ċikli jistgħu jkunu deterministiċi u iterattivi. L-ewwel waħda tirrappreżenta ripetizzjoni ta 'azzjonijiet man-numru diġà magħruf ta' repetizzjonijiet. Iċ-ċiklu ta 'iterazzjoni huwa wieħed li jirrepeti numru indefinit ta' drabi sakemm il-kondizzjoni ssir vera jew falza.

Algoritmu Bażiku

Ta 'min jiftakar li l-algoritmu bażiku ma japplikax għall-kostruzzjonijiet algorithmiċi bażiċi. X'inhu hu? Dan il-kunċett ilu ma nstabx fil-letteratura moderna, iżda dan ma jfissirx li ma teżistix aktar. Meta wieħed iqis li jistgħu jseħħu diversi fergħat jew repetizzjonijiet biex jissolvew il-problemi, tista 'tintgħażel il-konklużjoni li ġejja. Il-kostruzzjonijiet algorithmiċi bażiċi (lineari, fergħat, ċikliċi) huma bażiċi. Fil-fatt, huma jirrappreżentaw l- "unità strutturali" ta 'kull istruzzjoni hekk imsejħa.

Algoritmi lineari

Kif diġà jidher ċar minn dak li ntqal hawn fuq, l-algoritmi huma lineari u mhux lineari. Ikkunsidra l-ewwel għażla. Għaliex qed tissejjaħ dak? Kollox huwa estremament sempliċi. Il-fatt hu li l-azzjonijiet kollha li huma riprodotti fl-algoritmu għandhom eżekuzzjoni sekwenzjali b'mod ċar, il-passi kollha jitwettqu strettament wieħed wara l-ieħor. Bħala regola, kompiti bħal dawn huma żgħar u għandhom livell baxx ta 'kumplessità.

Eżempju ta 'algoritmu lineari jista' jkun il-proċess tat-te:

  1. Ferra l-ilma fil-kitla.
  2. Poġġi l-kitla fuq il-fuklar biex tgħalli.
  3. Ħu t-tazza.
  4. Ferra t-tè fit-tazza.
  5. Żid iz-zokkor.
  6. Wara t-togħlija, ferra l-ilma jagħli fil-kikkra.
  7. Ħu kuċċarina.
  8. Ħallat iz-zokkor.

L-ipprogrammar tal-kostruzzjonijiet algorithmiċi bażiċi huwa pjuttost kwistjoni diffiċli, iżda meta niġu għall -algoritmi lineari, ħafna drabi huwa faċli ħafna li jiġu implimentati.

Algoritmi tal-fergħat

Kif tifhem li l-algoritmu huwa fergħat? Huwa biżżejjed li jkun żgurat li hemm għażla ta 'żewġ għażliet jew aktar, skont jekk il-kundizzjoni hijiex sodisfatta jew le. Kull triq tissejjaħ fergħa.

Il-karatteristika ewlenija tal-algoritmu ta 'fergħat hija l-eżistenza ta' fergħa kondizzjonali. Dan jiġri waqt il-verifika tal-espressjoni għal vera jew falza.

Tipikament, l-espressjonijiet loġiċi huma rappreżentati b'inqas minn, akbar minn, inqas minn jew ugwali għal, akbar minn jew ugwali għal, ugwali, jew mhux ugwali għal. Kultant hemm varjanti fejn il-kundizzjoni hija relatata ma 'xulxin bl-għajnuna ta' u (u) u jew (jew) kmandijiet.

Eżempju ta 'tali algoritmu jista' jkun is-soluzzjoni tal-problema li ġejja: jekk l-espressjoni ((x + 3) / 1) hija ugwali għal numru pożittiv, imbagħad ħalli r-riżultat għall-iskrin, jekk negattiv, tgħid lill-utent dwar l-iżball.

Huwa pjuttost sempliċi li jintużaw il-kostruzzjonijiet algorithmiċi bażiċi fil-prattika. Il-fergħat huma wieħed mill-aktar metodi komuni ta 'soluzzjoni.

Ċiklu deterministiku jew ċiklu b'kontru

Loop b'contador huwa linja li tinkludi varjabbli li tbiddel il-valur b'ċertu pass. Il-pass jiġi stabbilit mill-utent jew preskritt mill-programmer waqt li jkun qed jikteb il-kollateral. Il-biċċa l-kbira tal-lingwi għal dan il-loop jużaw il-prospett.

Għall-programm li juri żewġ linji 4 darbiet:

  1. "Kif int?"
  2. "Ukoll, grazie!"
  3. "Kif int?"
  4. "Ukoll, grazie!"

Huwa meħtieġ li jinħoloq ċiklu deterministiku. Kif tħares? Aħna nużaw il-lingwa "Pascal" għal perċezzjoni aħjar tad-disinn.

1. Għal i: = 1 sa 2 do:

- i huwa l-counter tal-linja, jiddetermina n-numru ta 'repetizzjonijiet fil-linja.

2. Ibda (il-parentesi tal-operatur jinfetħu sabiex iż-żewġ frażijiet ikunu l-ġisem tal-linja u jiġu ripetuti flimkien).

3. Writeln ('Kif int?'):

- il-kelma writeln tfisser ir-riżultat ta 'frażi li hija f'kwotazzjonijiet singoli.

4. Writeln ("Well, thank you").

5. Tmiem.

6. i: = i + 1.

Kif tistgħu taraw, huwa pjuttost faċli u anke interessanti li tuża l-kostruzzjonijiet algorithmiċi bażiċi. Algoritmi bażiċi huma verament magħrufa, mingħajrhom huwa impossibbli li wieħed jikteb programmi.

Ċiklu b'post-kondizzjoni

A loop b'post kundizzjoni jista 'jirrepeti numru indefinit ta' azzjonijiet mingħajr ma jdaħħal staples tal-operatur jew kliem kompost fihom. Din se titwettaq mill-inqas darba. Il-linja timxi sakemm il-kundizzjoni tkun falza. Tieqaf meta l-indikaturi jkunu korretti. L-algoritmu huwa mibni fuq dan. Il-kostruzzjonijiet algorithmiċi bażiċi ta 'dan it-tip jaħdmu f'dan il-pass.

Biex timplimenta dan iċ-ċiklu, hija meħtieġa l-kostruzzjoni tar-Riproduzzjoni A sa B. Huwa litteralment tradott bħala "azzjonijiet ripetuti waqt li l-kundizzjoni hija falza". Għaldaqstant, il-proċess ta 'repetizzjoni huwa espress permezz ta' A, u d-data permezz ta 'B, li bħala riżultat irid jieħu l-valur korrett.

Ċiklu bil-kondizzjoni minn qabel

Loop b'post kundizzjoni huwa mibni b'tali mod li jiġi eżegwit mill-inqas darba f'kull każ. Madankollu, hemm każijiet meta ċiklu huwa meħtieġ fil-każ ta 'kondizzjoni partikolari, u jekk ma jkunx hemm ripetizzjoni, m'għandux. Inkella r-riżultat ikun żbaljat. Huwa f'dan il-każ li jintuża loop bi prekundizzjoni. Biex tinħoloq, għandek bżonn "filwaqt li A do B" tinbena. L-ewwel kmand huwa litteralment tradott bħala "bye". A hija kundizzjoni, u B hija azzjoni li se tiġi ripetuta. Id-disinn kollu jfisser: "sakemm il-kondizzjoni tkun korretta, iwettaq l-azzjonijiet".

Il-kostruzzjonijiet algorithmiċi bażiċi kollha jaħdmu biss f'ċerti każijiet. X'inhuma fiċ-ċiklu bi prekondizzjoni? Jekk ikun meħtieġ li wieħed jirrepeti mhux azzjoni waħda, iżda diversi, huwa utli li tuża jew operaturi komposti jew parentesi speċjali. Iċ-ċiklu jista 'ma jkunx sodisfatt jekk il-kundizzjoni mhix vera meta tidħol fih. Għaldaqstant, l-azzjonijiet se jiġu ripetuti jekk huwa korrett.

Algoritmu awżiljarju

L-algoritmu awżiljarju jintuża fi proċessi oħra billi jispeċifika biss l-isem tiegħu. Ma japplikax għall-kostruzzjonijiet algorithmiċi bażiċi. Fl-ilsna ta 'programmar, dan il-proċess ta' azzjoni jissejjaħ subutine. Biex tiffaċilita x-xogħol bil-kodiċi u sussegwentement soluzzjoni ta 'problemi aktar sempliċi, kull azzjoni hija kkombinata fi blokka waħda, li hija algoritmu awżiljarju. Kull wieħed minnhom jista 'jingħata isem, li jippermettilek ripetutament tirreferi għalih.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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