Wat is het verschil tussen Pseudocode en het algoritme? Verschil tussen

Anonim

In zeer eenvoudige bewoordingen is Pseudocode een narratief die algoritme-logica beschrijft.

Pseudocode is niet uitvoerbare code dus niet verplicht om een ​​exacte syntaxis te gebruiken, maar het is handig om een ​​veel gebruikte standaard in de industrie te volgen, die gemakkelijk kan worden begrepen door het team van oplossingen.

< Unified Modelling Language (UML) en andere methoden voor bedrijfsmodellering kunnen ook voorbeelden van pseudocode worden genoemd. Hoewel deze tools niet louter op tekst zijn gebaseerd, worden ze gebruikt om een ​​uitvoerbare taak of proces visueel weer te geven.

Het is het beste oefen om gestructureerde en volledige pseudocode duidelijk te documenteren om het nauwkeurig te vertalen en het is een essentieel onderdeel bij het plannen van de oplossing en programmeerlogica.

Als de pseudocode niet bestaat voor een algoritme, dan wordt onnodige tijd besteed aan het uitdenken van de oplossing, of het extraheren van een vaag idee terwijl in t hij codeert fase, meestal met een deadline opdoemen.

Bij het oplossen van problemen met een algoritme, biedt de pseudocode de achtergrond om na te denken over hoe het is samengesteld en de ontwikkelaar kan er wel of niet altijd bij zijn om erachter te komen.

Kijk naar dit pseudocodevoorbeeld van Khan Academy

[i] :

Dit is een op tekst gebaseerde pseudocode geschreven in een softwareontwikkeltool.

De voorgaande streken // geven aan dat de tekst een opmerking is (of die is voorzien van commentaar in ontwikkelingsbegrippen) en daarom geen deel uitmaakt van de uitvoerbare code.

De vetgedrukte tekst hieronder toont de syntaxis en dimensies van de ontwikkelaar wanneer deze deze vanuit de vereisten in de pseudocode interpreteren in uitvoerbare code.

// Hoe krijgen we onze ideeën in code?

// Teken het gezicht, een ovaal in het midden

ellips (breedte /

2 , hoogte / 2 , 200 , 300 ); // Teken de twee ogen, twee ovalen, ongeveer 2/3 boven het gezicht en 1/5 van de grootte van het gezicht

ellips (breedte /

2 - 40 <, hoogte / 2 - 50 , 40 , 40 ); ellips (breedte / 2

+ 40 , hoogte / 2 - 50 , 40 , < 40 ); Een ander voorbeeld hieronder laat een meer technische en gestructureerde benadering zien voor het schrijven van pseudocode: Als het cijfer van de student groter is dan of gelijk is aan 60 Afdrukken "Goed gedaan! "

else

Afdrukken" Sorry, u hebt gefaald "

Wanneer wordt verwezen naar gestructureerde pseudocode, zijn er standaardtermen die de logica van het algoritme vertegenwoordigen, zoals

SEQUENCE,

WHILE >, ALS-ANDERS en aanvullende constructies die ook nuttig zijn, zijn REPEAT-UNTIL , CASE en FOR . Deze voorwaarden worden door ontwikkelaars begrepen en helpen om vereisten op te stellen zonder gebruik te maken van straattaal of persoonlijke voorwaarden die anderen mogelijk niet begrijpen. SEQUENCE geeft opeenvolgend de uitvoering van taken van boven naar beneden aan. WHILE

is een repetitieve lus die wordt uitgevoerd tot aan een voorwaarde, die aan het begin is gedefinieerd, is voldaan.

  • ALS-ANDERS-ANDERS is een beslissing tussen twee voorwaarden:
  • Voorbeeld IF HoursWorked> NormalWeek DAN
  • Geef overwerk urenstaat weerbericht ELSE
Toon normale urenstaat bericht < REPEAT-UNTIL

is een herhaalde lus die wordt uitgevoerd totdat aan een voorwaarde, gedefinieerd aan het einde, is voldaan.

Voorbeeld

REPEAT

reeks

  • UNTIL voorwaarde CASE
biedt meerdere beslissingen op basis van de waarde van een uitdrukking.

VOOR

is een herhalende lus

Merk op dat voor elke taak of elk proces de

  • END /
  • ENDIF (waar IF wordt gebruikt) aan het eind gebruikt geef aan dat dit het eindpunt of uitvoerresultaat is.

Als constructen in elkaar zijn genest, moeten ze duidelijk ingesprongen zijn met hun bovenliggende constructies, dus met andere woorden, alle instructies die een afhankelijkheid vertonen, moeten worden ingesprongen. Bij werkwoorden gebruiken de 'doe'-woorden termen als Process, Computer, Reset, Increment, Add, Multiply, Print, Display enz. En let op dat de inspringing de gewenste pseudocode bevordert. Laten we nu kijken naar algoritmen en hoe ze verschillen van pseudocode. Ten eerste, wat is een algoritme

?

"Informeel gezien is een algoritme een goed gedefinieerde berekeningsprocedure die

enige waarde of reeks waarden als invoer vergt en een bepaalde waarde of een reeks waarden als

-uitvoer produceert. Een algoritme is dus een opeenvolging van rekenstappen die de invoer in de uitvoer transformeren. "

[ii]

Dus in meer eenvoudige bewoordingen is een algoritme uitvoerbare codelogica gedefinieerd door een reeks stappen om een ​​probleem op te lossen of een taak te voltooien.

Anders dan pseudocode heeft de persoon die het algoritme schrijft kennis van programmeren nodig omdat deze door de computer wordt geïnterpreteerd -

niet door een ontwikkelaar - om taken uit te voeren, te manipuleren, te coderen en gegevens te extraheren. Algoritmen instrueren een computerprogramma fundamenteel om een ​​taak uit te voeren, zoals gedefinieerd in de codelogica. Fouten in elke programmeringssyntaxis voorkomen een succesvolle uitvoering van deze taken, wat de programmeerkennis vereist.

Wanneer u pseudocode schrijft in de planningsfase, moet u onthouden dat het algoritme effectief en gericht moet zijn en een eindresultaat moet bereiken; alle aspecten van de oplossing moeten altijd worden overwogen.

Wat doet het algoritme? Fundamenteel wordt het uitgevoerd door een trigger, of proces, of een ander algoritme en accepteert data als zijn invoer. De gegevens doorlopen de stappen van instructies en manipulaties om de uitvoer te produceren. De gegevens worden opgeslagen in variabelen en elke variabele wordt genoemd naar het algoritme om de gegevens eraan toe te wijzen tijdens het uitvoeringsproces. Algoritmen worden ook genoemd omdat ze verwijzingen en aanroepen naar andere algoritmen kunnen bevatten. Er kunnen veel complexiteiten en technische details zijn bij het ontwikkelen van algoritmen, ongeacht de coderingssoftware die wordt gebruikt en moet daarom goed gedefinieerd zijn om nauwkeurige en gewenste resultaten te produceren.

Een ander belangrijk aspect bij het ontwerp en de implementatie van een algoritme is de snelheid waarmee het wordt uitgevoerd. Dit wordt steeds duidelijker bij eindgebruikers die gewend raken aan snellere software en snellere apparaten.

Het toepassen van filters op zoekcriteria en het ongewoon lang wachten om de resultaten weer te geven, kan een onuitstaanbare ervaring zijn. Ontwikkelaars zouden dan onderzoeken hoe en wanneer de gegevens worden ontvangen, kunnen de gegevens worden gefilterd in een subproces, enz.

Code logica schrijven die elk proces vertraagt, heeft negatieve gevolgen voor de gebruikers, ontwikkelaar en het bedrijf.

Samenvattend is pseudocode een belangrijk verhaal voor het plannen van codelogica en het implementeren van robuuste oplossingen. Deze oplossingen worden geïmplementeerd met behulp van goed gestructureerde, snelle en effectieve algoritmen die nauwkeurige en gewenste resultaten opleveren.