Ano ang Pseudocode at Algorithm?

Anonim

Sa simpleng salita, Pseudocode ay isang salaysay na naglalarawan algorithm na lohika.

Ang Pseudocode ay hindi executable code kaya hindi sapilitan na gumamit ng eksaktong syntax; gayunpaman, makakatulong na sundin ang isang malawakang ginagamit na pamantayan sa industriya, na madaling maunawaan ng pangkat ng mga solusyon.

Ang Unified Modeling Language (UML) at iba pang mga paraan ng pagmomolde ng negosyo ay maaari ring tawagin ng mga halimbawa ng pseudocode. Kahit na hindi panay batay sa teksto, ang mga tool na ito ay ginagamit upang magbigay ng isang visual na representasyon ng isang maipapatupad na gawain o proseso.

Pinakamainam na pagsasanay na malinaw na isulat ang nakabalangkas at kumpletong pseudocode upang tulungan itong i-translate nang tumpak at ito ay isang mahalagang bahagi sa pagpaplano ng solusyon at programming logic.

Kung ang pseudocode ay hindi umiiral para sa isang algorithm, pagkatapos ay hindi kinakailangang oras na ginugol sa pag-iisip ang solusyon, o pagkuha ng ilang mga hindi malinaw na ideya habang nasa coding yugto, karaniwang may isang deadline looming.

Kapag ang pag-troubleshoot ng isang algorithm, ang pseudocode ay nagbibigay ng background na pag-iisip sa kung paano ito ay magkakasama at ang developer ay maaaring o hindi maaaring palaging nasa paligid upang makatulong na malaman ito.

Tingnan ang pseudocode halimbawa mula sa Khan Academy[i]:

Ito ay pseudocode na nakabatay sa teksto na isinulat sa isang tool sa pag-develop ng software.

Ang naunang mga stroke // ay nagpapahiwatig na ang teksto ay isang komento (o nagkomento sa mga termino sa pag-unlad) at samakatuwid ay hindi bahagi ng code na maipapatupad.

Ang naka-bold na teksto sa ibaba ay nagpapakita ng syntax at sukat ng developer habang binigyang-kahulugan nila ito mula sa mga kinakailangan sa pseudocode sa executable code.

// Paano natin nakukuha ang ating mga ideya sa code?

// Gumuhit ng mukha, isang hugis-itlog sa gitna ellipse (width /2, taas /2, 200, 300);

/ Draw ang dalawang mata, dalawang ovals, tungkol sa 2/3 hanggang sa mukha, at 1/5 ang sukat ng mukha ellipse (width /2 – 40, taas /2 – 50, 40, 40); ellipse (width /2 + 40, taas /2 – 50, 40, 40);

Ang isa pang halimbawa sa ibaba ay nagpapakita ng mas teknikal at nakabalangkas na approached sa pagsusulat ng pseudocode:

Kung grado ng mag-aaral ay higit sa o katumbas ng 60

I-print ang "Magaling!"

iba pa

I-print ang "Paumanhin, nabigo ka"

Kapag tumutukoy sa nakabalangkas na pseudocode, may mga karaniwang tuntunin na kumakatawan sa lohika ng algorithm, tulad ng Pagkakasunod-sunod, Habang, KUNG SAKALI AY at iba pang mga construct na kapaki-pakinabang din ay kasama GAWA-HANGGANG, KASO, at PARA SA.

Ang mga tuntuning ito ay nauunawaan ng mga developer at nakatutulong na bumuo ng mga kinakailangan nang hindi gumagamit ng mga salitang balbal o personal na mga tuntunin na hindi maaaring maunawaan ng iba.

  • Pagkakasunod-sunod ay nagpapahiwatig sa itaas hanggang sa ilalim ng pagpapatupad ng mga gawain nang sunud-sunod.
  • Habang ay isang paulit-ulit na loop na isinagawa hanggang sa isang kondisyon, na tinukoy sa simula ay natutugunan.
  • KUNG SAKALI AY ay isang desisyon na kinuha sa pagitan ng dalawang kondisyon:
Halimbawa

KUNG Oras> Gumawa ng NormalWeek

Ipakita ang overtime message na mensahe

Iba

Ipakita ang normal na mensahe ng timesheet

  • GAWA-HANGGANG ay isang paulit-ulit na loop na isinagawa hanggang sa isang kalagayan, na tinukoy sa dulo, ay natutugunan.
Halimbawa

MULI

pagkakasunud-sunod

HANGGANG kondisyon

  • KASO Nagbibigay ng maraming desisyon batay sa halaga ng isang expression.
  • PARA SA ay isang paulit-ulit na pagbilang ng loop

Tandaan na para sa bawat gawain o proseso, gamitin ang END/TAPUSIN KUNG (kung saan ginagamit) sa dulo upang ipahiwatig na ito ay ang pagwawakas point o resulta ng output.

Kapag ang mga construct ay nested sa loob ng bawat isa, dapat sila ay malinaw na indented mula sa kanilang mga constructs magulang, kaya sa ibang salita, ang lahat ng mga pahayag na nagpapakita ng isang dependency ay dapat na indented.

Sa mga pandiwa, ang mga salita sa 'paggawa', gamitin ang mga termino tulad ng Proseso, Computer, I-reset, Pag-iipon, Magdagdag, Mag-multiply, Mag-print, Magpakita atbp at tandaan na ang indentation ay nagtataguyod ng kanais-nais na pseudocode.

Ngayon tingnan natin ang mga algorithm at kung paano sila naiiba sa pseudocode.

Una, ano ang isang algorithm?

"Di-pormal, ang isang algorithm ay anumang mahusay na tinukoy na pamamaraan ng computational na tumatagal ilang halaga, o hanay ng mga halaga, bilang input at gumagawa ng ilang halaga, o hanay ng mga halaga, bilang output. Ang isang algorithm ay kaya isang pagkakasunod-sunod ng mga hakbang sa computational na ibahin ang anyo ng input sa output.” [ii]

Kaya sa mas simpleng mga termino, ang isang algorithm ay maipapatupad na lohika ng code na tinukoy ng isang pagkakasunud-sunod ng mga hakbang upang malutas ang isang problema o kumpletuhin ang isang gawain.

Hindi tulad ng pseudocode, ang taong sumusulat ng algorithm ay nangangailangan ng kaalaman sa programming dahil ito ay binibigyang kahulugan ng computer - hindi isang developer - Magsagawa ng mga gawain, manipulahin, i-encrypt, at kunin ang data.

Ang mga algorithm sa panimula ay nagtuturo ng isang programa sa computer upang magsagawa ng isang gawain, gaya ng nilinaw sa lohika ng code. Ang mga error sa anumang programming syntax ay maiwasan ang matagumpay na pagpapatupad ng mga gawaing ito, na kung saan ang kaalaman sa programming ay kinakailangan.

Kapag sumusulat ng pseudocode sa yugto ng pagpaplano, tandaan na ang algorithm ay dapat na maging epektibo, nakatuon at maabot ang resulta ng pagtatapos; dapat na palaging isaalang-alang ang lahat ng aspeto ng solusyon.

Ano ang ginagawa ng algorithm? Sa panimula, ito ay pinaandar ng isang trigger, o proseso, o isa pang algorithm at tumatanggap ng data bilang input nito. Ang data ay napupunta sa mga hakbang ng mga tagubilin at manipulasyon upang makagawa ng output.

Ang data ay naka-imbak sa mga variable at bawat variable ay pinangalanan para sa algorithm upang italaga ang data dito sa panahon ng proseso ng pagpapatupad.

Ang mga algorithm ay pinangalanan rin dahil maaari nilang isama ang mga sanggunian at mga tawag sa iba pang mga algorithm. Maaaring magkaroon ng maraming mga pagkakumplikado at mga teknikalidad sa pagbubuo ng mga algorithm, anuman ang paggamit ng coding software at samakatuwid ay kailangang maayos na maipakita upang makagawa ng tumpak at ninanais na mga resulta.

Ang isa pang mahalagang aspeto upang isaalang-alang sa disenyo at pagpapatupad ng isang algorithm ay kung gaano kabilis ito ay ipinatupad. Ito ay lalong maliwanag sa mga gumagamit ng dulo na nakasanayan na sa mas mabilis na software at mas mabilis na mga aparato.

Halimbawa, ang paglalapat ng mga filter sa pamantayan ng paghahanap at paghihintay ng isang hindi karaniwang haba ng panahon para sa mga resulta upang maipakita ay maaaring maging isang hindi kapani-paniwala na karanasan. Pagkatapos ay sisiyasat ng mga nag-develop kung paano at kailan natatanggap ang data, maaari ba ang filter na data sa isang sub-proseso, atbp.

Ang lohika sa pagsulat ng code na nagpapabagal sa anumang proseso ay may mga negatibong epekto sa mga gumagamit, developer, at negosyo.

Sa kabuuan, ang pseudocode ay isang mahalagang salaysay para sa pagpaplano ng code na lohika at pagpapatupad ng magagaling na mga solusyon. Ang mga solusyon na ito ay ipinatupad gamit ang mahusay na nakabalangkas, mabilis, at epektibong mga algorithm na gumagawa ng tumpak at ninanais na mga resulta.