Vad är skillnaden mellan pseudokod och algoritm? Skillnad mellan

Anonim

I mycket enkla termer är Pseudocode en berättande algoritmlogik.

Pseudokod är inte exekverbar kod så inte obligatorisk att använda en exakt syntax, men det är användbart att följa en allmänt använd standard i branschen, som lätt kan förstås av lösningsgruppen.

< Unified Modeling Language (UML) och andra affärsmodelleringsmetoder kan också benämnas exempel på pseudokod. Även om de inte är rent textbaserade används dessa verktyg för att ge en visuell representation av en körbar uppgift eller process.

Det är bäst öva att tydligt dokumentera strukturerad och komplett pseudokod för att hjälpa till att översätta det exakt och det är en viktig del i planeringen av lösningen och programmeringslogiken.

Om pseudokoden existerar inte för en algoritmen, då utnyttjas onödig tid att tänka på lösningen, eller extrahera viss vag idé i t han kodning scenen, vanligtvis med en deadline hotande.

Vid felsökning av en algoritm ger pseudokoden bakgrundstanken i hur den sammanställdes och utvecklaren kan eller kanske inte alltid vara runt för att hjälpa till att räkna ut det.

Titta på detta pseudokodsexempel från Khan Academy

[i] :

Detta är textbaserad pseudokod som skrivs i ett mjukvaruutvecklingsverktyg.

Föregående streck // ange texten är en kommentar (eller kommenteras i utvecklingsvillkor) och är därför inte en del av den körbara koden.

Den djärva texten nedan visar utvecklarens syntax och dimensioner som de tolkar den från kraven i pseudokoden till exekverbar kod.

// Hur får vi våra idéer till kod?

// Rita ansiktet, en oval i mitten

ellipsen (bredd /

2 , höjd / 2 , 200 , 300 ); // Rita de två ögonen, två ovaler, ca 2/3 uppåt i ansiktet och 1/5 storleken på ansiktet

ellipsen (bredd /

2 - 40 <, höjd / 2 - 50 , 40 , 40 ); ellipse (bredd / 2

+ 40 , höjd / 2 - 50 , 40 , < 40 ); Ett annat exempel nedan visar ett mer tekniskt och strukturerat sätt att skriva pseudokod: Om studentens betyg är större än eller lika med 60 Skriv ut "Bra gjort!

else

Skriv ut "Tyvärr misslyckades du"

När man hänvisar till strukturerad pseudokod finns det standard termer som representerar algoritmlogiken, t.ex.

SEKVENS,

HUR >, IF-THEN-ELSE och ytterligare konstruktioner som också är användbara inkluderar REPEAT-UNTIL , CASE och FOR . Dessa termer förstås av utvecklare och hjälper till att bygga krav utan att använda slang eller personliga termer som kanske inte förstås av andra. SEKVENS indikerar övre och nedre utförandet av uppgifter i följd. HUR

görs en repetitiv loop som körs tills ett tillstånd som definieras vid starten är uppfyllt.

  • IF-THEN-ELSE är ett beslut fattat mellan två villkor:
  • Exempel IF HoursWorked> NormalWeek THEN
  • Visa övertidstidsmeddelande ELSE
Visa normalt tidskriftsmeddelande < REPEAT-UNTIL

är en repetitiv slinga som körs tills ett tillstånd, definierat i slutet, är uppfyllt.

Exempel

REPEAT

sekvens

  • UNTIL villkor FASE
ger flera beslut baserat på värdet av ett uttryck.

FÖR

är en repetitiv räkningsling

Observera att för varje uppgift eller process använder du

  • END /
  • ENDIF (där IF används) i slutet av ange att det är slutpunkten eller resultatet.

När konstruktioner är nästa inom varandra, måste de tydligt indragas från sina föräldrakonstruktioner, så med andra ord måste alla uttalanden som visar ett beroende bero på inslag. Med verb, använder "ord" ord som Process, Dator, Återställ, Ökning, Lägg till, Multiplicera, Skriv ut, Visa etc och notera att indragningen främjar önskad pseudokod. Låt oss nu titta på algoritmer och hur de skiljer sig från pseudokod. För det första, vad är en algoritm

?

"En algoritm är informellt en väldefinierad beräkningsprocess som tar

något värde, eller en uppsättning värden, som input och producerar ett värde eller en uppsättning värden som

utgång. En algoritm är således en sekvens av beräkningssteg som omvandlar -inmatningen till utgången . "

[ii]

Så i enklare termer är en algoritm exekverbar kodlogik definierad av en följd av steg för att lösa ett problem eller slutföra en uppgift.

Till skillnad från pseudokod behöver den som skriver algoritmen programmera kunskaper eftersom den tolkas av datorn -

inte en utvecklare - för att utföra uppgifter, manipulera, kryptera och extrahera data. Algoritmer instruerar i grunden ett datorprogram för att utföra en uppgift, enligt definitionen i kodlogiken. Fel i någon programmeringssyntax hindrar ett framgångsrikt genomförande av dessa uppgifter, vilket är var programkunskapen behövs.

När du skriver pseudokod i planeringsstadiet, kom ihåg att algoritmen måste vara effektiv, fokuserad och nå ett slutresultat. Alla aspekter av lösningen måste alltid övervägas.

Vad gör algoritmen? Grunden utförs det av en trigger eller process eller en annan algoritm och accepterar data som dess ingång. Uppgifterna går igenom stegen av instruktioner och manipuleringar för att producera utgången. Data lagras i variabler och varje variabel heter för algoritmen för att tilldela data till den under exekveringsprocessen. Algoritmer heter också eftersom de kan innehålla referenser och samtal till andra algoritmer. Det kan vara många komplexiteter och tekniker när man utvecklar algoritmer, oavsett vilken kodningssoftware som används och därför måste vara väldefinierad för att ge noggranna och önskade resultat.

En annan viktig aspekt att tänka på vid utformningen och implementeringen av en algoritm är hur snabbt den exekverar. Detta är allt tydligare med slutanvändare som vänjer sig till snabbare programvara och snabbare enheter.

Till exempel kan du tillämpa filter på sökkriterier och vänta ovanligt länge för att resultaten ska visas. Det kan vara en otillräcklig upplevelse. Utvecklare skulle sedan undersöka hur och när uppgifterna tas emot, kan data filtreras i en delprocess etc.

Skriv kodkodslogik som saktar ner någon process har negativa följder för användarna, utvecklaren och verksamheten.

Sammanfattningsvis är pseudokod en viktig berättelse för planering av kodlogik och genomförande av robusta lösningar. Dessa lösningar implementeras med välstrukturerade, snabba och effektiva algoritmer som ger korrekta och önskade resultat.