Mikä on Pseudokoodi ja algoritmi?

Anonim

Hyvin yksinkertaisin sanoin, pseudokoodi on kerronta, joka kuvaa algoritmilogiikkaa.

Pseudocode ei ole suoritettava koodi, joten ei ole pakollista käyttää täsmällistä syntaksia; kuitenkin on hyödyllistä noudattaa laajalti käytössä olevaa standardia teollisuudessa, jonka ratkaisutiimi voi ymmärtää helposti.

Unified Modeling Language (UML) ja muut liiketoimintamallintamenetelmät voidaan myös kutsua esimerkkeinä pseudokoodeista. Vaikka niitä ei ole pelkästään tekstipohjaisia, näitä työkaluja käytetään visualisoimaan suoritettava tehtävä tai prosessi.

On paras käytäntö selkeästi dokumentoida ja jäsentää pseudokoodi, joka auttaa kääntämään sen tarkasti, ja se on olennainen osa ratkaisun ja ohjelmointalogiikan suunnittelussa.

Jos pseudokoodia ei ole olemassa algoritmille, silloin on tarpeetonta aikaa ajattelemaan ratkaisua tai poimimaan epämääräinen ajatus koodausvaiheessa tavallisesti määräaikana.

Kun algoritmien vianmääritys on, pseudokoodi antaa taustataulun siitä, miten se koottiin yhteen ja kehittäjä voi olla tai ei välttämättä olekaan ympärillä auttaakseen selvittämään sen.

Katso tämä pseudokoodi esimerkki Khan Academy[I]:

Tämä on tekstipohjainen pseudokoodi, joka on kirjoitettu ohjelmistokehitystyökalussa.

Edelliset lyönnit // ilmaisevat, että teksti on kommentointi (tai kommentoituna kehityssuhteissa), eikä se siksi ole osa suoritustiedostoa.

Alla oleva lihavoitu teksti näyttää kehittäjän syntaksin ja mitat, koska ne tulkitsevat sen pseudokoodin vaatimuksista suoritettavaan koodiin.

// Miten saamme ideamme koodiksi?

// Piirrä kasvot, soikea keskellä ellipsi (leveys /2, korkeus /2, 200, 300);

// Piirrä kaksi silmää, kaksi soikeaa, noin 2/3 kasvoista ylöspäin ja 1/5 kasvojen koko ellipsi (leveys /2 – 40, korkeus /2 – 50, 40, 40); ellipsi (leveys /2 + 40, korkeus /2 – 50, 40, 40);

Toinen esimerkki alla on teknisempi ja strukturoitu lähestymistapa pseudokoodin kirjoittamiseen:

Jos opiskelijan arvosana on suurempi tai yhtä suuri kuin 60

Tulosta "Hyvin tehty!"

muu

Tulosta "Anteeksi, epäonnistui"

Strukturoidusta pseudokoodista viitaten on tavallisia termejä, jotka edustavat algoritmilogiikkaa, kuten SEQUENCE, SILLÄ AIKAA, IF-THEN-ELSE ja lisärakenteet, jotka ovat myös hyödyllisiä, sisältyvät Toistuvan ASTI, CASE, ja FOR.

Kehittäjät ymmärtävät nämä termit ja auttavat rakentamaan vaatimuksia ilman slangia tai henkilökohtaisia ​​termejä, joita muut eivät välttämättä ymmärrä.

  • SEQUENCE osoittaa tehtävien suorituksen ylhäältä alaspäin peräkkäin.
  • SILLÄ AIKAA on toistettava silmukka suoritettu, kunnes alussa määritetty ehto täyttyy.
  • IF-THEN-ELSE on kahden ehdon välinen päätös:
esimerkki

IF HoursWorked> NormalWeek THEN

Näytä ylityötunnisteen viesti

ELSE

Näytä normaalin tuntilomakkeen viesti

  • Toistuvan ASTI on toistuva silmukka suoritettu, kunnes loppuun määritetty ehto täyttyy.
esimerkki

TOISTAA

jakso

UNTIL ehto

  • CASE tarjoaa useita päätöksiä, jotka perustuvat lausekkeen arvoon.
  • FOR on toistuva laskentasilmukka

Huomaa, että jokaista tehtävää tai prosessia varten END/LOPPU JOS (jossa käytetään IF: tä) lopussa osoittamaan, että se on terminaatiopiste tai tulos tulos.

Kun rakenteet ovat sisäkkäisiä toisiinsa, niiden on oltava selkeästi sisennetty niiden vanhempirakenteista, joten toisin sanoen kaikki riippuvuutta osoittavat lausunnot olisi syvennettävä.

Verbien avulla "tekevät" sanat käyttävät termejä kuten Process, Computer, Reset, Increment, Add, Multiply, Print, Display jne. Ja huomaa, että sisennys edistää haluttavaa pseudokoodia.

Katsotaan nyt algoritmeja ja miten ne eroavat pseudokoodeista.

Ensinnäkin mikä on algoritmi?

"Informaalisesti algoritmi on mikä tahansa hyvin määritelty laskentatoimenpide, joka kestää jotain arvoa tai joukkoa arvoja syötteinä ja tuottaa jotain arvoa tai arvoryhmää ulostulo. Algoritmi on siis laskennallisten vaiheiden sarja, joka muuntaa syötetään ulostuloon.” [Ii]

Joten yksinkertaisemmin sanottuna algoritmi on suoritettavan koodin logiikka, joka on määritelty vaiheittain, jolla ratkaistaan ​​ongelma tai tehtävän suorittaminen.

Toisin kuin pseudokoodi, algoritmia kirjoittava henkilö tarvitsee ohjelmointitietoa, koska se tulkitsee tietokone - ei kehittäjä - suorittaa tehtäviä, manipuloida, salata ja purkaa tietoja.

Algoritmit periaatteessa opastavat tietokoneohjelmaa suorittamaan tehtävän, kuten on määritelty koodilogiikassa. Minkä tahansa ohjelmointisyntaksin virheet estävät näiden tehtävien onnistuneen suorittamisen, jolloin ohjelmointitietoa tarvitaan.

Kun kirjoitat pseudokoodia suunnitteluvaiheessa, muista, että algoritmin on oltava tehokas, keskittynyt ja saavuttaa lopputuloksen; kaikki ratkaisun näkökohdat on aina otettava huomioon.

Mitä algoritmi tekee? Pohjimmiltaan se toteutetaan liipaisulla, prosessilla tai muulla algoritmilla ja se hyväksyy datan syötteeksi. Tiedot kulkevat ohjeiden ja manipulaatioiden vaiheiden läpi tuotoksen tuottamiseksi.

Tiedot tallennetaan muuttujille ja jokainen muuttuja on nimetty algoritmille, jotta se voidaan antaa sille suoritusprosessin aikana.

Algoritmit on myös nimetty, koska ne voivat sisältää viittauksia ja puheluja muihin algoritmeihin. Algoritmeja kehitettäessä voi olla monia monimutkaisuuksia ja teknisiä ominaisuuksia riippumatta siitä, käytetäänkö koodausohjelmistoa, ja sen vuoksi sen on oltava hyvin määritelty tuottamaan tarkkoja ja haluttuja tuloksia.

Toinen tärkeä näkökohta, joka on otettava huomioon algoritmin suunnittelussa ja toteutuksessa, on se, kuinka nopeasti se toteutuu. Tämä näkyy yhä enemmän loppukäyttäjillä, jotka ovat tottuneet nopeampiin ohjelmistoihin ja nopeampiin laitteisiin.

Esimerkiksi sovellusten suodattaminen hakukriteereihin ja epätavallisen pitkä odotusaika tulosten näyttämiseen voi olla ristiriitainen kokemus. Kehittäjät selvittäisivät sitten, miten ja milloin tietoja vastaanotetaan, voivatko tiedot suodattaa aliprosessiin jne.

Kirjoituskoodifikaatio, joka hidastaa prosessia, on negatiivisia vaikutuksia käyttäjille, kehittäjille ja yrityksille.

Yhteenvetona pseudokoodi on tärkeä kerronta koodin logiikan suunnittelulle ja toteuttamiselle. Nämä ratkaisut toteutetaan käyttämällä hyvin jäsenneltyjä, nopeita ja tehokkaita algoritmeja, jotka tuottavat tarkkoja ja haluttuja tuloksia.