Algorithm: konsepto, mga katangian, istraktura at mga uri

Talaan ng mga Nilalaman:

Algorithm: konsepto, mga katangian, istraktura at mga uri
Algorithm: konsepto, mga katangian, istraktura at mga uri
Anonim

Praktikal na lahat ng bagay sa ating mundo ay napapailalim sa ilang batas at tuntunin. Hindi tumitigil ang modernong agham, salamat sa kung saan alam ng sangkatauhan ang maraming formula at algorithm, na kasunod nito, maaari mong kalkulahin at muling likhain ang maraming aksyon at istrukturang nilikha ng kalikasan, at bigyang-buhay ang mga ideyang naimbento ng tao.

Sa artikulong ito susuriin natin ang mga pangunahing konsepto ng algorithm.

Ang kasaysayan ng paglitaw ng mga algorithm

Algorithm - isang konsepto na lumitaw noong siglong XII. Ang salitang "algorithm" mismo ay nagmula sa Latin na interpretasyon ng pangalan ng sikat na middle eastern mathematician na si Muhammad al-Khwarizmi, na sumulat ng aklat na "On Indian Counting". Inilalarawan ng aklat na ito kung paano isulat nang tama ang mga natural na numero gamit ang mga Arabic numeral, at inilalarawan ang algorithm ng mga aksyon na may column sa mga naturang numero.

Noong ika-12 siglo, ang aklat na "On the Indian Account" ay isinalin sa Latin, at pagkatapos ay lumitaw ang kahulugang ito.

Interaction ng algorithm sa tao at machine

PaglikhaAng algorithm ay nangangailangan ng isang malikhaing diskarte, kaya isang buhay na nilalang lamang ang maaaring lumikha ng isang bagong listahan ng mga sunud-sunod na aksyon. Ngunit para sa pagpapatupad ng mga kasalukuyang tagubilin, hindi kinakailangan na magkaroon ng pantasya, kahit na ang walang kaluluwang teknolohiya ay kayang hawakan ito.

Ang isang mahusay na halimbawa ng eksaktong pagsunod sa isang ibinigay na tagubilin ay isang walang laman na microwave oven na patuloy na gumagana sa kabila ng kawalan ng pagkain sa loob nito.

Ang isang paksa o isang bagay na hindi kailangang maunawaan ang kakanyahan ng algorithm ay tinatawag na isang pormal na tagapagpatupad. Ang isang tao ay maaari ding maging isang pormal na tagapagpatupad, ngunit kung ang isa o isa pang aksyon ay hindi kapaki-pakinabang, ang isang nag-iisip na tagapagpatupad ay maaaring gawin ang lahat sa kanyang sariling paraan. Samakatuwid, ang mga pangunahing gumaganap ay mga computer, microwave oven, telepono at iba pang kagamitan. Ang konsepto ng isang algorithm sa computer science ay ang pinakamahalaga. Ang bawat algorithm ay pinagsama-sama sa inaasahan ng isang tiyak na paksa, na isinasaalang-alang ang mga pinapayagang aksyon. Ang mga bagay na iyon kung saan maaaring ilapat ng paksa ang mga tagubilin ay bumubuo sa kapaligiran ng tagapagpatupad.

Praktikal na lahat ng bagay sa ating mundo ay napapailalim sa ilang batas at tuntunin. Ang modernong agham ay hindi tumitigil, salamat sa kung saan ang sangkatauhan ay nakakaalam ng maraming mga pormula at algorithm, na sumusunod kung saan maaari mong kalkulahin at muling likhain ang maraming mga aksyon at likha ng kalikasan at bigyang-buhay ang mga ideya na naimbento ng tao. Sa artikulong ito, susuriin natin ang mga pangunahing konsepto ng algorithm.

Ano ang algorithm?

Karamihan sa mga aktibidad na ginagawa natin sa ating buhay ay nangangailangan ng pagsunod sa ilang tuntunin. Mula sa kung magkano ang isang tao ay may tamang ideya ng bitano, paano at sa anong pagkakasunud-sunod ang dapat niyang gawin, ay nakasalalay sa kalidad at resulta ng mga gawaing itinalaga sa kanya. Mula pagkabata, sinisikap ng mga magulang na bumuo sa kanilang anak ng isang algorithm para sa mga pangunahing aksyon, halimbawa: gumising, ayusin ang kama, maghugas at magsipilyo ng iyong ngipin, mag-ehersisyo, mag-almusal, atbp., ang listahan na ginagawa ng isang tao ang buong buhay niya sa umaga ay maaari ding ituring na isang uri ng algorithm.

Ang algorithm ay isang konsepto na tumutukoy sa isang hanay ng mga tagubilin na kailangang sundin ng isang tao upang malutas ang isang partikular na problema.

konsepto ng algorithm
konsepto ng algorithm

Sa pangkalahatan, maraming depinisyon ang algorithm, iba ang pagkakakilala nito ng ilang siyentipiko.

Kung ang algorithm na ginagamit ng isang tao araw-araw ay iba para sa lahat, at maaaring magbago depende sa edad at mga sitwasyon kung saan makikita ng tagapalabas ang kanyang sarili, kung gayon ang hanay ng mga aksyon na kailangang gawin upang malutas ang isang problema sa matematika o ang paggamit ng teknolohiya ay pareho para sa lahat at palaging nananatiling pareho.

May ibang konsepto ng algorithm, iba-iba rin ang mga uri ng algorithm - halimbawa, para sa taong naghahangad ng layunin, at para sa teknolohiya.

Sa ating panahon ng teknolohiya ng impormasyon, araw-araw na sinusunod ng mga tao ang isang hanay ng mga tagubiling ginawa ng ibang tao bago sila, dahil ang teknolohiya ay nangangailangan ng tumpak na pagpapatupad ng isang serye ng mga aksyon kapag ginamit. Samakatuwid, ang pangunahing gawain ng mga guro sa mga paaralan ay turuan ang mga bata kung paano gumamit ng mga algorithm, mabilis na maunawaan at baguhin ang mga umiiral na panuntunan alinsunod sa kasalukuyang sitwasyon. Ang istraktura ng algorithm ay isa sa mga iyonmga konsepto, na pinag-aaralan sa aralin ng matematika at computer science sa bawat paaralan.

algorithm ng programa
algorithm ng programa

Mga pangunahing katangian ng algorithm

1. Discreteness (pagkakasunud-sunod ng mga indibidwal na aksyon) - ang anumang algorithm ay dapat na kinakatawan bilang isang serye ng mga simpleng aksyon, ang bawat isa ay dapat magsimula pagkatapos makumpleto ang nauna.

2. Katiyakan - ang bawat aksyon ng algorithm ay dapat na napakasimple at malinaw na ang gumaganap ay walang anumang mga katanungan at walang kalayaan sa pagkilos.

3. Efficiency - ang paglalarawan ng algorithm ay dapat na malinaw at kumpleto, upang matapos ang pagpapatupad ng lahat ng mga tagubilin, ang gawain ay umabot sa lohikal na pagtatapos nito.

4. Mass character - ang algorithm ay dapat na naaangkop sa isang buong klase ng mga problema, na malulutas lamang sa pamamagitan ng pagbabago ng mga numero sa algorithm. Bagama't may opinyon na ang huling punto ay hindi nalalapat sa mga algorithm, ngunit sa lahat ng mathematical na pamamaraan sa pangkalahatan.

Kadalasan sa mga paaralan, upang bigyan ang mga bata ng mas mahusay na pag-unawa sa mga algorithm, ginagamit ng mga guro ang halimbawa ng pagluluto mula sa isang cookbook, paggawa ng gamot mula sa isang reseta, o paggawa ng proseso ng paggawa ng sabon batay sa isang master class. Gayunpaman, isinasaalang-alang ang pangalawang pag-aari ng algorithm, na nagsasabing ang bawat item ng algorithm ay dapat na napakalinaw na maaari itong maisagawa ng ganap na sinumang tao at kahit isang makina, maaari nating tapusin na ang anumang proseso na nangangailangan ng hindi bababa sa ilang uri ng imahinasyon, ang algorithm ay hindi maaaring pangalanan. At ang pagluluto at pananahi ay nangangailangan ng ilang partikular na kasanayan at isang mahusay na binuong imahinasyon.

May iba't ibang uri ng mga algorithm,ngunit may tatlong pangunahing.

Cyclic algorithm

Sa ganitong uri, ilang mga item ay inuulit ng ilang beses. Ang listahan ng mga aksyon na dapat ulitin upang makamit ang layunin ay tinatawag na katawan ng algorithm.

Ang

Iteration ng isang loop ay ang pagpapatupad ng lahat ng mga item na kasama sa katawan ng loop. Ang mga bahagi ng loop na patuloy na isinasagawa sa isang tiyak na bilang ng beses ay tinatawag na isang loop na may nakapirming numero ng mga pag-ulit.

Ang mga bahaging iyon ng cycle, na ang dalas nito ay depende sa ilang kundisyon, ay tinatawag na hindi tiyak.

Naayos na ang pinakasimpleng uri ng cycle.

Mayroong dalawang uri ng cyclic algorithm:

  • Loop na may precondition. Sa kasong ito, sinusuri ng katawan ng loop ang kundisyon nito bago ito isagawa.
  • Isang loop na may postcondition. Sa isang loop na may postcondition, sinusuri ang kundisyon pagkatapos ng pagtatapos ng loop.
mga uri ng algorithm
mga uri ng algorithm

Mga linear na uri ng mga algorithm

Ang mga tagubilin ng naturang mga circuit ay isinasagawa nang isang beses sa pagkakasunud-sunod kung saan ipinakita ang mga ito. Halimbawa, ang proseso ng paggawa ng kama o pagsisipilyo ng ngipin ay maaaring ituring na isang linear algorithm. Kasama rin sa uri na ito ang mga halimbawa ng matematika, kung saan mayroon lamang mga pagpapatakbo ng pagdaragdag at pagbabawas.

istraktura ng algorithm
istraktura ng algorithm

Branching algorithm

May ilang mga opsyon sa isang branching type, kung alin ang ilalapat depende sa kundisyon.

Halimbawa. Tanong: "Umuulan ba?" Mga pagpipilian sa sagot: "Oo" o "Hindi". Kung ang"oo" - buksan ang payong, kung "hindi" - ilagay ang payong sa bag.

mga modelo ng algorithm
mga modelo ng algorithm

Auxiliary algorithm

Maaaring gamitin ang auxiliary algorithm sa ibang mga algorithm sa pamamagitan ng pagtukoy lamang ng pangalan nito.

Mga tuntuning makikita sa mga algorithm

Ang kundisyon ay nasa pagitan ng mga salitang "kung" at "pagkatapos".

Halimbawa: kung marunong ka ng English, pindutin ang isa. Sa pangungusap na ito, ang bahagi ng pariralang "you know English" ang magiging kondisyon.

Ang data ay impormasyong nagdadala ng isang tiyak na semantic load at ipinakita sa paraang maipapadala at magamit ito para sa algorithm na ito.

Algorithmic process - paglutas ng problema ayon sa isang algorithm gamit ang ilang partikular na data.

Istruktura ng algorithm

Ang algorithm ay maaaring magkaroon ng ibang istraktura. Upang ilarawan ang isang algorithm, ang konsepto nito ay nakasalalay din sa istraktura nito, maaari kang gumamit ng ilang iba't ibang paraan, halimbawa: pandiwa, graphic, gamit ang isang espesyal na binuo algorithmic na wika.

Aling paraan ang gagamitin ay nakadepende sa ilang salik: ang pagiging kumplikado ng gawain, kung gaano kadetalye ang proseso ng paglutas ng problema, atbp.

Graphic na bersyon ng algorithm

Graphic algorithm - isang konsepto na nagpapahiwatig ng decomposition ng mga aksyon na kailangang isagawa upang malutas ang isang partikular na problema, ayon sa ilang mga geometric na hugis.

Ang mga graphic na diagram ay hindi ipinapakita nang random. Para makayanan nilapara maunawaan ang sinumang tao, ang mga flowchart at Nassi-Schneiderman structograms ang kadalasang ginagamit.

Gayundin, ang mga block diagram ay iginuhit alinsunod sa GOST-19701-90 at GOST-19.003-80. Ang mga graphic figure na ginamit sa algorithm ay nahahati sa:

  • Basic. Ang mga pangunahing larawan ay ginagamit upang isaad ang mga pagpapatakbong kailangan upang iproseso ang data kapag nagresolba ng problema.
  • Axiliary. Ang mga pantulong na larawan ay kailangan upang ipahiwatig ang indibidwal, hindi ang pinakamahalaga, mga elemento ng paglutas ng problema.

Sa isang graphical algorithm, ang mga geometric na hugis na ginamit upang kumatawan sa data ay tinatawag na mga bloke.

Lahat ng block ay magkakasunod-sunod "mula sa itaas hanggang sa ibaba" at "kaliwa hanggang kanan" - ito ang tamang direksyon ng daloy. Sa tamang pagkakasunud-sunod, ang mga linya na nagkokonekta sa mga bloke sa bawat isa ay hindi nagpapakita ng direksyon. Sa ibang mga kaso, ang direksyon ng mga linya ay ipinapahiwatig ng mga arrow.

Ang tamang algorithm scheme ay hindi dapat magkaroon ng higit sa isang exit mula sa pagpoproseso ng mga block at mas mababa sa dalawang exit mula sa mga block na responsable para sa mga lohikal na operasyon at pagsuri ng kundisyon.

Paano gumawa ng algorithm nang tama?

Ang istraktura ng algorithm, tulad ng nabanggit sa itaas, ay dapat na binuo ayon sa GOST, kung hindi, hindi ito mauunawaan at mapupuntahan ng iba.

Kabilang sa pangkalahatang pamamaraan ng pag-record ang mga sumusunod na item:

Ang pangalan kung saan magiging malinaw kung anong problema ang maaaring lutasin gamit ang scheme na ito.

Ang bawat algorithm ay dapat na may malinaw na markang simula at wakas.

Algorithmlahat ng data, parehong input at output, ay dapat na malinaw at malinaw na inilarawan.

pagkalkula ng mga algorithm
pagkalkula ng mga algorithm

Kapag nag-compile ng algorithm, dapat tandaan ang mga pagkilos na magbibigay-daan sa pagsasagawa ng mga pagkilos na kinakailangan para sa paglutas ng problema sa napiling data. Tinatayang view ng algorithm:

  • Pangalan ng Chema.
  • Data.
  • Simulan.
  • Mga Koponan.
  • End.

Ang wastong pagbuo ng circuit ay lubos na magpapadali sa pagkalkula ng mga algorithm.

Mga geometriko na hugis na responsable para sa iba't ibang pagkilos sa algorithm

Pahalang na hugis-itlog - simula at wakas (end sign).

Pahalang na parihaba - pagkalkula o iba pang mga aksyon (sign ng proseso).

Horizontal parallelogram - input o output (data sign).

Horizontal rhombus - pagsusuri sa kondisyon (sign ng desisyon).

Pahaba, pahalang na hexagon - pagbabago (tanda ng paghahanda).

Ang mga modelo ng algorithm ay ipinapakita sa ibaba.

Formula-verbal na bersyon ng pagbuo ng algorithm.

Formula-verbal algorithm ay nakasulat sa isang arbitrary na anyo, sa propesyonal na wika ng lugar kung saan nabibilang ang gawain. Ang paglalarawan ng mga aksyon sa ganitong paraan ay isinasagawa gamit ang mga salita at formula.

konsepto ng mga uri ng algorithm ng mga algorithm
konsepto ng mga uri ng algorithm ng mga algorithm

Ang konsepto ng isang algorithm sa computer science

Sa larangan ng computer, lahat ay nakabatay sa mga algorithm. Kung walang malinaw na mga tagubilin na ipinasok sa anyo ng isang espesyal na code, walang pamamaraan ang gagana oprograma. Sa mga aralin sa computer science, sinusubukan ng mga mag-aaral na ibigay ang mga pangunahing konsepto ng mga algorithm, turuan sila kung paano gamitin ang mga ito at gawin ang mga ito nang mag-isa.

Ang paggawa at paggamit ng mga algorithm sa computer science ay isang mas malikhaing proseso kaysa, halimbawa, sa pagsunod sa mga tagubilin para sa paglutas ng problema sa matematika.

Mayroon ding espesyal na programang "Algorithm" na tumutulong sa mga taong mangmang sa larangan ng programming na lumikha ng sarili nilang mga programa. Ang nasabing mapagkukunan ay maaaring maging isang kailangang-kailangan na katulong para sa mga nagsasagawa ng kanilang mga unang hakbang sa computer science at gustong lumikha ng sarili nilang mga laro o anumang iba pang programa.

Sa kabilang banda, ang anumang programa ay isang algorithm. Ngunit kung ang algorithm ay nagdadala lamang ng mga aksyon na kailangang isagawa sa pamamagitan ng pagpasok ng data nito, kung gayon ang programa ay nagdadala na ng natapos na data. Ang isa pang pagkakaiba ay ang programa ay maaaring patentado at pribadong pag-aari, ngunit ang algorithm ay hindi. Ang algorithm ay isang mas malawak na konsepto kaysa sa isang programa.

Konklusyon

Sa artikulong ito, sinuri namin ang konsepto ng isang algorithm at mga uri nito, natutunan kung paano magsulat ng mga graphic scheme nang tama.

Inirerekumendang: