Hvad er forskellen mellem pseudokode og algoritme? Forskel mellem

Anonim

I meget enkle termer er Pseudocode en fortællende beskrivelse af algoritmlogik.

Pseudokode er ikke eksekverbar kode, så ikke obligatorisk at bruge en nøjagtig syntaks, men det er nyttigt at følge en almindeligt anvendt standard i branchen, som let kan forstås af løsningsholdet.

< Unified Modeling Language (UML) og andre forretningsmodelleringsmetoder kan også betegnes som eksempler på pseudokode. Selvom de ikke er rent tekstbaserede, bruges disse værktøjer til at give en visuel repræsentation af en eksekverbar opgave eller proces.

Det er bedst praksis at tydeligt dokumentere struktureret og komplet pseudokode for at hjælpe med at oversætte det nøjagtigt, og det er en vigtig del i planlægningen af ​​løsningen og programmeringslogikken.

Hvis pseudokoden ikke eksisterer for en algoritme, så bruges unødvendig tid til at tænke løsningen eller udvinde nogle vage ideer i t han kodende scene, normalt med en deadline truende.

Ved fejlfinding af en algoritme giver pseudokoden baggrundstanken om, hvordan den blev sat sammen, og udvikleren kan eller ikke altid være rundt for at hjælpe med at finde ud af det.

Se på dette pseudokode eksempel fra Khan Academy

[i] :

Dette er tekstbaseret pseudokode skrevet i et softwareudviklingsværktøj.

De foregående streger // angiver, at teksten er en kommentar (eller kommenteret i udviklingsbetingelser) og derfor ikke er en del af den eksekverbare kode.

Den dristige tekst nedenfor viser udviklerens syntaks og dimensioner, da de fortolker den fra kravene i pseudokoden til eksekverbar kode.

// Hvordan får vi vores ideer til kode?

// Tegn ansigtet, en oval i midten

ellipse (bredde /

2 , højde / 2 , 200 , 300 ); // Tegn de to øjne, to ovaler, ca. 2/3 op i ansigtet og 1/5 størrelsen af ​​ansigtet

ellipse (bredde /

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

+ 40 , højde / 2 - 50 , 40 , < 40 ); Et andet eksempel nedenfor viser en mere teknisk og struktureret tilgang til at skrive pseudokode: Hvis elevens karakter er større end eller lig med 60 Print "Well Done!

ellers

Udskriv "Beklager, du mislykkedes"

Når der henvises til struktureret pseudokode, er der standardbetingelser, som repræsenterer algoritmenes logik, f.eks.

SEKVENS,

HVILKEN >, IF-THEN-ELSE og yderligere konstruktioner, der også er nyttige, indbefatter REPEAT-TIL , CASE og TIL . Disse udtryk forstås af udviklere og hjælper med at opbygge krav uden at bruge slang eller personlige udtryk, som måske ikke forstås af andre. SEQUENCE angiver øverste til nederste udførelse af opgaver i rækkefølge. HVOR

foretages en gentagelsessløjfe, indtil en tilstand, der er defineret ved starten, er opfyldt.

  • IF-THEN-ELSE er en beslutning truffet mellem to betingelser:
  • Eksempel IF HoursWorked> NormalWeek THEN
  • Vis overtidstidsbesked ELSE
Vis normal tidsskriftsmeddelelse < REPEAT-TIL

sker en gentagende loop, indtil en tilstand, der er defineret i slutningen, er opfyldt.

Eksempel

REPEAT

sekvens

  • TIL TILSTAND CASE
giver mulighed for flere beslutninger baseret på værdien af ​​et udtryk.

FOR

er en gentagelsestælling

Bemærk, at for hver opgave eller proces skal du bruge

  • END /
  • ENDIF (hvor IF bruges) i slutningen til Angiv, at det er opsigelsespunktet eller outputresultatet.

Når konstruktioner er indlejret i hinanden, skal de tydeligt indrykkes fra deres forældrekonstruktioner, så med andre ord skal alle udsagn, der viser en afhængighed, være indrykket. Ved hjælp af verbs gør brug af udtryk som Process, Computer, Reset, Increment, Add, Multiply, Print, Display osv., Og bemærk, at indrykket fremmer ønsket pseudokode. Lad os nu se på algoritmer og hvordan de er forskellige fra pseudokoden. For det første, hvad er en algoritme

?

"Uformelt er en algoritme en veldefineret beregningsmetode, som tager

en eller anden værdi, eller et sæt værdier, som input og producerer en værdi eller et sæt værdier som

output. En algoritme er således en sekvens af beregningstrin, der omdanner -indgangen til udgangen . "

[ii]

Så i mere enkle udtryk er en algoritme eksekverbar kodelogik defineret af en række trin for at løse et problem eller fuldføre en opgave.

I modsætning til pseudokode har den person, der skriver algoritmen, brug for programmeringskunskab, fordi den fortolkes af computeren -

ikke en udvikler - til at udføre opgaver, manipulere, kryptere og udtrække data. Algoritmer instruerer grundlæggende et computerprogram til at udføre en opgave som defineret i kode logikken. Fejl i enhver programmeringssyntax forhindrer en vellykket gennemførelse af disse opgaver, hvilket er hvor programmeringskendskabet er nødvendigt.

Når du skriver pseudokode i planlægningsfasen, skal du huske at algoritmen skal være effektiv, fokuseret og nå et slutresultat Alle aspekter af løsningen skal altid overvejes.

Hvad gør algoritmen? Grundlæggende udføres den af ​​en trigger eller en proces eller en anden algoritme og accepterer data som input. Dataene går gennem trinene i instruktioner og manipulationer for at producere output. Dataene gemmes i variabler, og hver variabel er opkaldt efter algoritmen til at tildele dataene til den under udførelsesprocessen. Algoritmer er også navngivet, fordi de kan indeholde referencer og opkald til andre algoritmer. Der kan være mange kompleksiteter og tekniske egenskaber ved udvikling af algoritmer, uanset hvilken kodningssoftware der anvendes og derfor skal være veldefineret til at producere nøjagtige og ønskede resultater.

Et andet vigtigt aspekt at overveje med design og implementering af en algoritme er, hvor hurtigt det udføres. Dette er i stigende grad tydeligt hos slutbrugere, der bliver vant til hurtigere software og hurtigere enheder.

F.eks. Kan filtre til søgekriterier og venter en usædvanlig lang tid for resultaterne, der vises, være en utilstrækkelig oplevelse. Udviklere vil derefter undersøge, hvordan og hvornår dataene modtages, kan dataene filtreres i en underproces mv.

Skrive kode logik, der bremser enhver proces, har negative konsekvenser for brugerne, udvikleren og virksomheden.

Sammenfattende er pseudokode en vigtig fortælling for planlægning af kode logik og implementering af robuste løsninger. Disse løsninger implementeres ved hjælp af velstrukturerede, hurtige og effektive algoritmer, der giver præcise og ønskede resultater.