Algoritm vs pseudokood
Algoritm on lihtsalt probleemi lahendus. Algoritm esitab probleemi lahenduse täpselt määratletud sammude või juhiste kogumina. Pseudokood on üldine viis algoritmi kirjeldamiseks. Pseudokood ei kasuta konkreetse programmeerimiskeele süntaksi, seetõttu ei saa seda arvutis käivitada. Kuid see sarnaneb täpselt programmeerimiskeele ülesehitusega ja sisaldab umbes sama detailsust.
Algoritm
Algoritm annab kindlale sammude komplektile lahenduse konkreetsele probleemile. Kokaraamatu retsept on hea näide algoritmist. Kui konkreetse probleemi lahendamiseks kasutatakse arvutit, tuleks lahenduseni jõudmise sammud edastada arvutile. See muudab algoritmide uurimise arvutiteaduses väga oluliseks osaks. Algoritmi täidetakse arvutis, ühendades palju elementaarseid toiminguid, nagu liitmine ja lahutamine, et teha keerukamaid matemaatilisi operatsioone. Kuid algoritmi idee tõlkimine arvutikoodile ei ole lihtne. Spetsiaalselt võib algoritmi teisendamine madala taseme keelteks, näiteks monteerimiskeeleks, olla väga tüütu, kui kasutada kõrgetasemelist keelt, näiteks C või Java. Algoritmi kavandamisel on oluline teha algoritmi jaoks vajalike ressursside (näiteks aja ja salvestusruumi) analüüs. Algoritmide aja- ja salvestusanalüüsi tegemiseks kasutatakse selliseid märkeid nagu suur O-märge. Algoritme saab väljendada looduslike keelte, pseudokoodide, vooskeemide jms abil.
Pseudokood
Pseudokood on üks meetoditest, mida saaks kasutada algoritmi esindamiseks. See ei ole kirjutatud konkreetses süntaksis, mida kasutab programmeerimiskeel, ja seetõttu ei saa seda arvutis käivitada. Pseudokoodide kirjutamiseks kasutatakse palju vorminguid ja enamik neist laenab osa struktuure populaarsetest programmeerimiskeeltest, näiteks C, Lisp, FORTRAN jne. Samuti kasutatakse looduslikku keelt detailide esitamisel, mis pole olulised. Enamik algoritme on esitatud pseudokoodi abil, kuna neid saab lugeda ja mõista programmeerijate abil, kes tunnevad erinevaid programmeerimiskeeli. Mõnes keeles, näiteks Pascalis, on süntaks, mis on väga sarnane pseudokoodiga, muutes pseudokoodilt vastavale programmikoodile teisendamise lihtsamaks. Pseudokood võimaldab kaasata juhtimisstruktuure nagu WHILE, IF-THEN-ELSE, REPEAT-UNTIL, FOR ja CASE, mis esinevad paljudes kõrgetasemelistes keeltes.
Mis vahe on algoritmil ja pseudokoodil?
Algoritm on täpselt määratletud etappide jada, mis pakub lahenduse antud probleemile, samas kui pseudokood on üks neist meetoditest, mida saab kasutada algoritmi esindamiseks. Kui algoritme saab kirjutada loomulikus keeles, siis pseudokoode kirjutatakse formaadis, mis on tihedalt seotud kõrgetasemeliste programmeerimiskeele struktuuridega. Kuid pseudokood ei kasuta konkreetset programmeerimiskeele süntaksit ja seetõttu võiks seda mõista programmeerijad, kes tunnevad erinevaid programmeerimiskeeli. Lisaks võib pseudokoodis esitatud algoritmi muutmine programmeerimiskoodiks olla palju lihtsam kui looduskeeles kirjutatud algoritmi teisendamine.