Hva er forskjellen mellom pseudokode og algoritme? Forskjellen mellom

Anonim

I svært enkle termer er Pseudocode en narrativ beskrivelse av algoritmen.

Pseudokode er ikke kjørbar kode, så ikke obligatorisk å bruke en eksakt syntaks, men det er nyttig å følge en mye brukt standard i bransjen, som lett kan forstås av løsningsgruppen.

< Unified Modeling Language (UML) og andre forretningsmodelleringsmetoder kan også betegnes som eksempler på pseudokode. Selv om det ikke er rent tekstbasert, brukes disse verktøyene til å gi en visuell representasjon av en kjørbar oppgave eller prosess.

Det er best praksis å tydelig dokumentere strukturert og komplett pseudokode for å oversette det nøyaktig og det er en viktig del i planleggingen av løsningen og programmeringslogikken.

Hvis pseudokoden ikke eksisterer for en algoritmen, da blir unødvendig tid brukt til å tenke ut løsningen, eller utvinne noen vage ideer i t han kodende scenen, vanligvis med en deadline truende.

Når du feilsøker en algoritme, gir pseudokoden bakgrunnstanken i hvordan den ble satt sammen, og utvikleren kan eller ikke alltid være rundt for å finne ut det.

Se på dette pseudokodeeksemplet fra Khan Academy

[i] :

Dette er tekstbasert pseudokode skrevet i et programvareutviklingsverktøy.

De foregående strekkene // indikerer at teksten er en kommentar (eller kommentert i utviklingsbetingelser) og er derfor ikke en del av kjørbar kode.

Den dristige teksten nedenfor viser utviklerens syntaks og dimensjoner som de tolker den fra kravene i pseudokoden til kjørbar kode.

// Hvordan får vi våre ideer inn i kode?

// Tegn ansiktet, en oval i midten

ellipse (bredde /

2 , høyde / 2 , 200 , 300 ); // Tegn de to øynene, to ovaler, ca 2/3 opp i ansiktet og 1/5 størrelsen på ansiktet

ellipse (bredde /

2 - 40 <, høyde / 2 - 50 , 40 , 40 ); ellipse (bredde / 2

+ 40 , høyde / 2 - 50 , 40 , < 40 ); Et annet eksempel nedenfor viser en mer teknisk og strukturert tilnærming til skriving av pseudokode: Hvis studentenes karakter er større enn eller lik 60 Skriv ut "Bra gjort!

else

Print "Beklager, du mislyktes"

Når du henviser til strukturert pseudokode, er det standardbetingelser som representerer algoritmenes logikk, for eksempel

SEQUENCE,

WHILE >, IF-THEN-ELSE og ytterligere konstruksjoner som også er nyttige inkluderer REPEAT-TIL , CASE og FOR . Disse begrepene forstås av utviklere og er nyttige for å bygge krav uten å bruke slang eller personlige vilkår som kanskje ikke forstås av andre. SEQUENCE angir øverste og nedre utførelse av oppgaver i rekkefølge. HELT

utføres en repetitiv sløyfe til en tilstand, definert ved starten, er oppfylt.

  • IF-THEN-ELSE er en avgjørelse tatt mellom to forhold:
  • Eksempel IF HoursWorked> NormalWeek THEN
  • Vis overtidstidsmelding ELSE
Vis normal tidsskriftmelding < REPEAT-TIL

utføres en repetitiv sløyfe til en tilstand som er definert på slutten, er oppfylt.

Eksempel

REPEAT

sekvens

  • TIL TILSTAND SAK
gir flere beslutninger basert på verdien av et uttrykk.

FOR

er en repeterende tellerløp

Merk at for hver oppgave eller prosess bruk

  • END /
  • ENDIF (der IF brukes) til slutt til angi at det er sluttpunkt eller resultat.

Når konstruksjoner er nestet i hverandre, må de være tydelig innrykket fra deres foreldrekonstruksjoner, så med andre ord, alle setninger som viser en avhengighet, bør være innrykket. Med verker bruker "ord" ord som prosess, datamaskin, tilbakestill, økning, legg til, multiplisere, skrive ut, vise osv. Og merk at innrykket fremmer ønsket pseudokode. La oss nå se på algoritmer og hvordan de er forskjellige fra pseudokode. For det første, hva er en algoritme

?

"Uformelt er en algoritme en veldefinert beregningsprosedyre som tar

noe verdi, eller sett av verdier, som input og gir en verdi eller sett av verdier som

utgang. En algoritme er således en sekvens av beregningstrinn som forvandler -inngangen til utgangen . "

[ii]

Så i enklere ord er en algoritme kjørbar kodelogikk definert av en rekke trinn for å løse et problem eller fullføre en oppgave.

I motsetning til pseudokode trenger den som skriver algoritmen, programmeringskunnskap fordi den tolkes av datamaskinen -

ikke en utvikler - for å utføre oppgaver, manipulere, kryptere og trekke ut data. Algoritmer instruerer fundamentalt et dataprogram for å utføre en oppgave, som definert i kode logikken. Feil i en hvilken som helst programmeringssyntax forhindrer vellykket utførelse av disse oppgavene, hvor programmeringskunnskapen er nødvendig.

Når du skriver pseudokode i planleggingsstadiet, husk algoritmen må være effektiv, fokusert og nå et sluttresultat; Alle aspekter av løsningen må alltid vurderes.

Hva gjør algoritmen? Fundamentalt blir den utført av en utløser, eller prosess, eller en annen algoritme og aksepterer data som inngang. Dataene går gjennom trinnene med instruksjoner og manipulasjoner for å produsere produksjonen. Dataene lagres i variabler, og hver variabel er oppkalt etter algoritmen for å tildele dataene til den under utførelsesprosessen. Algoritmer heter også fordi de kan inkludere referanser og samtaler til andre algoritmer. Det kan være mange kompleksiteter og tekniske egenskaper når man utvikler algoritmer, uansett hvilken kodingsprogramvare som brukes, og må derfor være veldefinert for å produsere nøyaktige og ønskede resultater.

Et annet viktig aspekt å vurdere med design og implementering av en algoritme er hvor raskt det utføres. Dette blir stadig tydeligere hos sluttbrukere som blir vant til raskere programvare og raskere enheter.

For eksempel kan filtre til søkekriterier og venter en uvanlig lang tid for resultatene som skal vises, være en utilstrekkelig opplevelse. Utviklere vil da undersøke hvordan og når dataene blir mottatt, kan dataene filtreres i en underprosess, etc.

Skrivekodlogikk som reduserer prosessen, har negative konsekvenser for brukerne, utvikleren og virksomheten.

Sammendrag er pseudokode en viktig fortelling for planlegging av kodelogikk og implementering av robuste løsninger. Disse løsningene implementeres ved hjelp av velstrukturerte, raske og effektive algoritmer som gir nøyaktige og ønskede resultater.