Što je Pseudocode i Algoritam?

Anonim

U vrlo jednostavnim terminima, pseudokod je narativ koji opisuje algoritamsku logiku.

Pseudocode nije izvršni kod pa nije obvezno koristiti točno sintaksu; međutim, korisno je pratiti široko korišten standard u industriji, što tim razumije lako razumjeti.

Jedinstveni modelni jezik (UML) i druge metodologije poslovnog modeliranja također se mogu nazvati primjeri pseudokodnih. Iako nisu čisti tekstualni, ti alati se koriste za pružanje vizualnog prikaza izvršnih zadataka ili procesa.

Najbolja je praksa jasno dokumentirati strukturirani i potpuni pseudokod za pomoć pri prevođenju točno i bitan je dio planiranja rješenja i programske logike.

Ako pseudokod ne postoji za algoritam, tada se nepotrebno vrijeme provodi razmišljajući o rješenju ili izvlači neku nejasnu ideju dok se nalazi u fazi kodiranja, obično s rokovima koji se pojavljuju.

Kada riješi problem s algoritmom, pseudokod pruža pozadinsko razmišljanje o tome kako je sastavljeno, a razvojni programer može ili ne mora uvijek biti oko njega kako bi ga mogao otkriti.

Pogledajte ovaj pseudokod primjer iz Khan Akademije[I]:

To je tekstualni pseudokod napisan u alatu za razvoj softvera.

Prethodne poteze // označavaju da je tekst komentar (ili komentirao u razvojnim pojmovima) i stoga nije dio izvršnog koda.

Podebljani tekst u nastavku prikazuje sintaksa i dimenzije razvojnog programera dok ih protumače iz zahtjeva u pseudociodu u izvršni kôd.

// Kako bismo dobili naše ideje u kod?

Izvucite lice, ovalno u sredini elipsa (širina /2, visina /2, 200, 300);

Izvucite dvije oči, dvije ovalne, oko 2/3 visine lica i 1/5 veličine lica elipsa (širina /2 – 40, visina /2 – 50, 40, 40); elipsa (širina /2 + 40, visina /2 – 50, 40, 40);

Sljedeći primjer u nastavku prikazuje tehnički i strukturirani pristup pisanju pseudocode:

Ako je ocjena učenika veća ili jednaka 60

Ispis "Dobro je!"

drugo

Ispis "Nažalost, niste uspjeli"

Kada se govori o strukturiranom pseudokodu, postoje standardni pojmovi koji predstavljaju algoritamsku logiku, kao što je REDOSLIJED, DOK, AKO-ONDA-else i dodatni konstrukti koji su također korisni uključuju REPEAT-DO, SLUČAJ, i ZA.

Razvojni programeri razumiju te pojmove i korisni su za izradu zahtjeva bez upotrebe slengova ili osobnih pojmova koje drugi ne mogu razumjeti.

  • REDOSLIJED označava izvršenje zadataka od vrha do dna.
  • DOK je repetitivna petlja izvršena sve dok se ne zadovolji stanje, definirano na početku.
  • AKO-ONDA-else je odluka poduzeta između dva uvjeta:
Primjer

IF sati radili> normalni tjedan THEN

Prikažite poruku o prekovremenom radnom vremenu

DRUGO

Prikažite normalnu poruku o vremenu

  • REPEAT-DO je repetitivna petlja izvršena dok se ne zadovolji stanje, definirano na kraju.
Primjer

PONOVITI

sekvenca

UNTIL stanje

  • SLUČAJ omogućuje više odluka na temelju vrijednosti izraza.
  • ZA je ponavljajuća petlja za brojanje

Imajte na umu da za svaki zadatak ili proces koristite KRAJ/ZAVRŠI AKO (gdje se upotrebljava IF) na kraju kako bi se naznačilo da je to krajna točka ili izlazni rezultat.

Kada su konstrukti ugniježđeni jedan unutar drugog, moraju biti jasno razvedeni od njihovih roditeljskih konstrukata, pa drugim riječima, sve izjave koje pokazuju ovisnost trebale bi biti razvedene.

Glagolima, riječima 'radi', koriste se pojmovi poput procesa, računala, poništavanja, povećanja, dodavanja, množenja, ispisa, prikaza itd. I napomenu da uvlačenje potiče poželjnu pseudocodu.

Pogledajmo sada algoritme i kako se razlikuju od pseudocode.

Prvo, što je algoritam?

"Neformalno, algoritam je bilo koji dobro definiran računalni postupak koji traje neka vrijednost ili skup vrijednosti, kao ulaz i proizvodi neku vrijednost ili skup vrijednosti kao izlaz. Algoritam je dakle niz računalnih koraka koji pretvaraju ulaz u izlaz.” [Ii]

Dakle, u jednostavnijim terminima, algoritam je izvršna kodna logika definirana slijedom koraka za rješavanje problema ili dovršavanje zadatka.

Za razliku od pseudocode, osoba koja piše algoritam treba znanje programiranja jer ga tumači računalo - a ne programer - izvršavati zadatke, manipulirati, šifrirati i izvući podatke.

Algoritmi temeljno upućuju računalni program da izvodi zadatak, kao što je definirano u kodnoj logici. Pogreške u bilo kojoj sintaksi programiranja će spriječiti uspješno izvršavanje ovih zadataka, tamo gdje je potrebna programska znanja.

Prilikom pisanja pseudocode u fazi planiranja, zapamtite da algoritam mora biti učinkovit, fokusiran i postići krajnji rezultat; uvijek treba razmotriti sve aspekte rješenja.

Što algoritam radi? U osnovi, izvršava ga okidač, proces, ili drugi algoritam i prihvaća podatke kao svoj unos. Podaci prolaze kroz korake instrukcija i manipulacije za izradu izlaza.

Podaci su pohranjeni u varijablama i svaka varijabla je imenovana za algoritam da joj dodijeli podatke tijekom izvršavanja.

Algoritmi su također imenovani jer mogu uključivati ​​reference i pozive drugim algoritmima. U razvoju algoritama može postojati mnogo složenosti i tehničkih znanja, bez obzira na softver koji se koristi za kodiranje i stoga mora biti dobro definiran kako bi se dobili točni i željeni rezultati.

Još jedan važan aspekt koji treba uzeti u obzir pri izradi i primjeni algoritma je koliko brzo se izvršava. To se sve više očituje krajnjim korisnicima koji se navikavaju na brži softver i brže uređaje.

Na primjer, primjena filtara za kriterije pretraživanja i čekanje neuobičajeno dugog vremena za prikazivanje rezultata može biti nemogućno iskustvo. Programeri zatim istražuju kako i kada se podaci primaju, mogu li se podaci filtrirati u podprocesu itd.

Logika kodiranja koja usporava svaki proces negativno utječe na korisnike, razvojne programere i tvrtku.

Ukratko, pseudokod je važna priča za planiranje kodne logike i primjenu robusnih rješenja. Ta se rješenja provode pomoću dobro strukturiranih, brzih i učinkovitih algoritama koji proizvode točne i željene rezultate.