KompyutaProgramu

Programming. Basic ujenzi algorithmic

Kujenga programu yoyote muhimu ya msingi algorithmic design. Kufuatia ni chaguo rahisi kwa ajili ya kutatua matatizo. Inaweza kutumika, kwa mfano, kwa ajili ya uendeshaji kwa mifano ya jinsi moja. Kuna aina nyingine: matawi na kitanzi. Hiyo kufunikwa katika makala hii. Lakini kwanza unahitaji kuelewa nini algorithm ni kwa ujumla.

algorithm

Neno "algorithm" alikuja kutoka Kilatini Algoritmi. Inamaanisha? neno Halisi linatokana na jina la hisabati, shughuli ambayo ilifanyika katika karne IX. Kutokana makala al Khorezmi wanadamu inaweza kuwa mtaalamu aina ya msingi ya kubuni algorithmic na kwa ujumla na dhana ya jumla.

Mapema aina ya herufi ilipitishwa - "algorithm". Sasa ni hutumiwa tu katika kesi fulani.

Algorithm - mchakato ambayo ina maana ya kubadilisha taarifa ya awali, ambayo hutokea katika hatua za kipekee. Pamoja na dhana hii, kila mtu anakabiliwa katika maisha, kila mtu alikuwa. Algorithms inaweza kuwa chai na chakula, kuzidisha au kuongeza, ufumbuzi wa equations, na kadhalika. D. vifaa wote ambao kazi mchakato automatiska ilivyoelezwa, kazi kupitia hatua wazi kinachotakiwa katika kichakato kumbukumbu. mipangilio kama hizi zinaitwa kaya. Kuna aina nyingine. Hebu kuchunguza yao.

aina ya mipangilio

Basic miundo algorithmic zimegawanywa katika aina mbalimbali, ambayo itajadiliwa katika aya hii. Ni nini?

  1. Habari. mipangilio hiyo kazi na kiasi kikubwa cha data, lakini kiasi kikubwa cha usindikaji ndogo katika urefu na uncomplicated.
  2. Udhibiti. uendeshaji wa mipangilio kama ni kuhusishwa na taarifa ambayo inapatikana kutoka chanzo fulani. Juu ya ofisi alimtuma ishara maalum ya kuhakikisha uendeshaji wa vifaa.
  3. Computing. Tofauti mipangilio habari alielezea kufanya kazi na kiasi kidogo cha data, lakini kuzalisha kubwa kazi mchakato.

Kwa kweli, algorithm ni sahihi kwa ndogo mafundisho undani. Hata hivyo, si data zote kama anaweza kuitwa anaelezea dhana. Ili kuelewa algorithm maelekezo au la, ni lazima kuchunguzwa kwa uwepo wa mali fulani.

tabia za mipangilio

Yote makubwa algorithmic kubuni lazima kuwa na mkakati wao "kutii." Fikiria swali hili kwa undani zaidi.

Kama kikamilifu kufuatilia utendaji wa algorithms na mali zao, unaweza kuona kwamba si lazima kuelewa wapiga kura wao, ni wazi kutosha na kifafa mpango. Matokeo yake sahihi ni kupatikana, hata kama tu fimbo na taka hatua mitambo. Kutokana na hili tunaweza kuhitimisha kwamba kutokana na ukosefu wa maana katika shughuli mwamko, algorithm inawezekana kabisa kulipia utekelezaji wa kompyuta. Kwa maneno mengine, kwa ajili ya vifaa automatiska zinahitaji upatikanaji wa mchakato huu.

Nini mali lazima msingi algorithmic kubuni kwa ajili ya kazi ya kiwango cha juu usahihi?

  1. Understandability. Kila timu lazima angavu mbio kitu. Inaonekana kwamba hakuna kitu ni rahisi kuliko, kwa mfano, kuteka dot katikati, kuna, lakini si yameandikwa nje ya timu, ambayo itakuwa kufanya hatua, haiwezi kufanyika.
  2. Ufanisi. Ambayo ina maana kwamba mali hii? Ili kupata matokeo. algorithm hawawezi lakini kusababisha baadhi ya aina ya jibu. Kutokana na hitilafu, unaweza kupata matokeo mabaya kwamba alikuwa taka, lakini yeye. Zaidi ya hayo, majibu lazima kupokea baada ya idadi fulani ya hatua.
  3. Misa. algorithm yoyote lazima husika na aina yoyote ya matatizo. Kati yao wanaweza kutofautiana data pembejeo.
  4. Yakini. Kila hatua lazima maana moja tu, na si kutoa uwezekano wa usimbuaji derivative. Kimsingi, haijalishi ni kiasi gani mpango ilizinduliwa, matokeo lazima kuwa sawa wakati wote.
  5. Wa kipekee. Algorithm - hatua thabiti ya utekelezaji. Kila hatua ni amri ya ruka au kuongeza ndio mpya hawawezi.
  6. Usahihi. algorithm yoyote ambayo inatumika kwa aina yoyote ya kazi, lazima sahihi kwa ajili ya kila mtu. Katika programu, kuna mara nyingi matatizo si katika hatua ya kuandika, ambayo mara nyingi hazihitaji muda mwingi, na katika kuendesha yao kwa ajili ya kila aina ya maswali. Kwa hiyo, hatua muhimu itakuwa Debug algorithm. Wanaweza kusaidia kwa hili na msingi algorithmic kubuni, marudio ya ambayo ingeweza kusababisha matokeo bora.

Maelezo ya mipangilio

Kama sisi majadiliano juu ya jinsi ya kuandika algorithms, ni lazima kuonyesha yafuatayo:

  • Matusi. Kwa maneno mengine, kwa lugha ya, ambayo ni rahisi kusema sehemu.
  • Meza. Kimantiki, algorithm yaliyoandikwa katika meza na kwa kawaida hutumika kama kipengele msaidizi.
  • Mfumo ya matusi. msingi kuchukuliwa matusi izyasneniya njia, lakini vitendo kama pia kumbukumbu wahusika au kanuni za hisabati.
  • Graphic. Kama algorithm yaliyoandikwa katika flowcharts lugha maalum.

Ni muhimu kufafanua hatua ya mwisho. Ni nini flowchart? linear huu au nonlinear algorithm, hatua ambayo ni kuandikwa kwa kutumia vitengo maalum. Wana Configuration yao wenyewe, kusudi na kazi. Katika kesi ya maelezo haya, algorithm imeandikwa kuzuia michoro, ambayo yanahusiana mistari. Lazima pia kuandika hatua fulani (hatua).

algorithmic kubuni

Baadhi wanasema kuwa mipangilio hawana aina 3, na 4 ya msingi algorithmic kubuni: linear, matawi, mzunguko. Ni nini sababu hizo potofu, si wazi. Hata hivyo, kwa ufumbuzi rahisi wa matatizo magumu kwa kutumia hesabu ya kompyuta kwa ajili ya makundi hayo matatu haki kubwa. Hebu kuchunguza yao.

  1. Linear. Mchakato huu kuhesabu got jina hili kutokana na ukweli kwamba vitendo vyote zinafanywa kwa mfuatano, ambapo kila hatua ni kazi zaidi ya mara moja. Kama tunaona mpango wa tatizo, basi vitalu kuwekwa kwa matabaka, kulingana na utendaji wa namba mfuatano. mipangilio Linear kazi kwa njia ambayo data asilia haibadiliki mwelekeo na hali ya utekelezaji. Ufumbuzi vile kufaa mbinu kwa ajili ya kompyuta Jumla au tofauti, maumbo mraba, au wa mzunguko wake, na kadhalika. N. aina kuu ya mpango algorithmic ni hasa hivyo.
  2. Matawi. Mchakato huu kuhesabu ina maana mbele ya kujieleza mantiki (LP) na uchaguzi wa masharti (tawi "uongo" na "kweli"). Katika kila kesi, ni barabara moja ya timu mbili au zaidi tu. Hakuna matatizo na hauwezi, ambayo itatekelezwa bado chaguo nyingine. Kama matawi mawili ya algorithm, ni rahisi, kama zaidi ya mbili - tata. mchakato mwisho inaonekana rahisi kwa gharama ya kwanza. aina kuu ya mpango algorithmic ni uhakika ya kwanza na ya pili. fomu ifuatayo pia ni pamoja na katika orodha hii.
  3. Mzunguko. algorithm hii lazima kipengele ni mara kwa mara, wakati kwa kutumia data tofauti ya kuingiza. Kwa maneno mengine, mchakato huo inaitwa mzunguko.

Ikumbukwe kwamba yote makubwa algorithmic kubuni (uliofuata, matawi, mizunguko) yanahusiana na kila mmoja, ingawa inaweza kutumika tofauti.

Kujenga mizunguko na aina yao

Ni nini kuchukua ili kujenga kitanzi?

  • kitanzi counter. Hii ni variable ambayo inafafanua thamani ya awali, na marudio ya hatua hiyo itabadilika. Ni lazima lazima kuingia katika algorithm. Basic algorithmic ujenzi wa sura ya aina ya kazi bila si.
  • Kubadilisha index juu data kabla marudio mpya ya mzunguko.
  • Angalia hali ya kompyuta aliamua kama tena "kitabu" kitanzi au zaidi hakuna haja.

Mzunguko inaweza kuwa la kuonyesha na iterative. kwanza ni Rudia na idadi maalumu ya marudio. Iterative mzunguko - moja kwamba ni mara kwa mara kwa muda usiojulikana kiasi cha muda mpaka hali ni ya kweli au uongo.

algorithm msingi

Ni thamani ya kukumbuka kwamba msingi miundo algorithmic hazijumuishi algorithm msingi. Ni kitu gani? Dhana hii tena kupatikana katika fasihi ya kisasa, lakini hii haina maana kwamba ni gani na haipo tena. Kutokana na kwamba ufumbuzi wa matatizo inaweza kuwa wamekutana matawi kadhaa au marudio, hitimisho yafuatayo. Basic algorithmic ujenzi (linear, matawi, mzunguko) ni ya msingi. Kwa kweli, wao kuwakilisha "kimuundo kitengo" wa kila kinachojulikana maelekezo.

mipangilio linear

Kama ilivyo wazi kutoka juu, moja algorithms ni linear na yasiyo ya linear. Fikiria mfano halisi wa kwanza. Kwa nini simu yake? All rahisi sana. Ukweli ni kwamba matendo yote ni alicheza katika algorithm, ni wazi utekelezaji thabiti ya hatua zote ni za moja baada ya mwingine. Kwa kawaida, majukumu haya ni ndogo na kuwa na kiwango cha chini cha utata.

Mfano wa algorithm linear inaweza kuwa mchakato wa maandalizi ya chai:

  1. Pour maji katika aaaa.
  2. Kuweka aaaa juu jiko kwa kuchemsha.
  3. Kuchukua kikombe.
  4. Pour katika kikombe cha chai.
  5. Kuongeza sukari.
  6. Baada ya kuchemsha maji ya moto hutiwa katika kikombe.
  7. Kuchukua kijiko.
  8. Koroga sukari.

Programu miundo msingi algorithmic - nzito mpango kutosha, lakini kama ni ya algorithm linear, mara nyingi ni rahisi sana kutekeleza yao.

matawi mipangilio

Jinsi ya kuelewa kwamba algorithm ni matawi? Ni kutosha ili kuhakikisha kuwa una uchaguzi wa kozi mbili au zaidi ya hatua, kulingana na utendaji wa au hali kushindwa. Kila njia inaitwa tawi.

kipengele kuu ya matawi algorithm ni kuwepo kwa tawi masharti. Ni hutokea wakati mtihani kujieleza ukweli au uongo.

Kwa kawaida, maneno mantiki zinawakilishwa ishara "chini ya", "zaidi", "chini ya au sawa", "kubwa kuliko au sawa na", "sawa", "si sawa." Wakati mwingine kuna embodiments ambapo hali ya kuhusishwa na kila mmoja kwa amri na (u) au (au).

Mfano wa vile algorithm inaweza kuwa ufumbuzi wa tatizo zifuatazo: kama kujieleza ((x + 3) / 1) ni sawa na idadi chanya, basi kuonyesha matokeo kwenye screen, kama hasi - kuwajulisha mtumiaji kuhusu hitilafu.

Rahisi kutosha katika mazoezi ya kutumia algorithmic kubuni msingi. Matawi ni moja ya njia ya kawaida kwa ajili ya kutatua.

mzunguko Deterministic au kutoka mzunguko counter

mzunguko wa kukabiliana - mzunguko kuwa ni pamoja na kutofautiana kwamba mabadiliko na baadhi ya thamani hatua. Hatua inavyoelezwa na mtumiaji au kwa mujibu wa programu wakati wa kuandika programu. Wengi wa lugha kwa mzunguko huu anatumia operator kwa.

Kwa mpango wa kuonyesha mistari miwili mara 4:

  1. "Habari yako?"
  2. "Naam, asante!"
  3. "Habari yako?"
  4. "Naam, asante!"

Lazima kujenga mzunguko deterministic. Jinsi gani kuangalia? Tunatumia lugha "Pascal" kwa ajili ya mtazamo mzuri wa design.

1. Kwa i: = 1 hadi 2 kufanya:

- i ni counter mzunguko, hivyo huamua idadi ya marudio katika kitanzi.

2. Kuanza (wazi curly mabano kwa maneno mawili ni mwili mzunguko mara kwa mara pamoja na).

3. Writeln ( 'gani?'):

- neno ina maana writeln hitimisho maneno kuwa katika quotes moja.

4. Writeln ( 'Fine, shukrani').

5. Mwisho.

6. i: = i + 1.

Kama unavyoona, rahisi kabisa na hata kufurahisha ya kutumia msingi algorithmic design. mipangilio Basic vizuri inayojulikana, bila wao ni vigumu kuandika programu.

Msafara kwa postcondition

Msafara kwa postcondition inaweza kurudiwa kwa muda usiojulikana Idadi ya vitendo bila kuingiza braces operator au maneno kiwanja. Yeye kutekelezwa angalau mara moja. Ni kazi ya mzunguko mpaka hali si kweli. Anasimama katika malezi ya viashiria sahihi. Katika algorithm hii ni kujengwa. Basic algorithmic ujenzi wa aina hii ya kazi katika kasi hii tu.

Kwa utambuzi wa mzunguko huu inahitaji kubuni Rudia A mpaka B. Kilugha lina maana "kurudia hatua mpaka hali si kweli." Kwa hiyo, ni walionyesha kwa A yenyewe mchakato marudio kwa njia ya B - data yanayotokana inapaswa kuchukua thamani sahihi.

Msafara kwa sharti la awali

Msafara kwa postcondition ni ujenzi katika namna kwamba ni kazi angalau mara moja katika hali yoyote. Hata hivyo, kuna matukio ambapo mzunguko inahitajika katika kesi ya hali, na haipaswi kufanyika kutokana na kukosekana kwa kutokea tena. Vinginevyo, matokeo itakuwa sahihi. Ni katika hali hii kitanzi kwa sharti. Kujenga muhimu katika rasimu «huku A kufanya B». timu ya kwanza ni literally kutafsiriwa kama "kwa muda mrefu." - hali, na - matendo ambayo kurudiwa. kubuni nzima maana yake ni "mpaka hali ni ya kweli, kufanya matendo."

Yote makubwa algorithmic kubuni kazi tu katika kesi fulani. Je, ni wao katika kitanzi na sharti la awali? Kama unahitaji kurudiwa hatua zaidi ya moja, lakini kadhaa, basi unapaswa kutumia au kiwanja kauli, au mabano maalum. mzunguko inaweza pia si lazima ifanyike kama hali si kweli wakati wa kuingia ndani yake. Kwa hiyo, hatua kurudiwa kama ni sahihi.

algorithm saidizi

algorithm saidizi hutumika katika michakato mingine kwa kubainisha tu jina lake. Yeye ni kubwa algorithmic miundo haitumiki. Katika lugha ya programu kama hatua ya mchakato inaitwa kawaida. Ili kuwezesha kazi na kanuni, na kisha kwa urahisi zaidi kutatua matatizo kila hatua pamoja katika kitengo moja, ambayo ni algorithm msaidizi. Kila mmoja wao anaweza kuuliza jina lake, ambayo inaruhusu hatimaye kurudia kuwasiliana naye.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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