See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Pseudocode – Wikipedia

Pseudocode

aus Wikipedia, der freien Enzyklopädie

Pseudocode ist eine sprachliche Mischung aus natürlicher Sprache, mathematischer Notation und einer höheren Programmiersprache. Wie Flußdiagramme und Nassi-Shneidermann-Diagramme ist auch Pseudocode eine Möglichkeit um Algorithmen darzustellen. Ein Algorithmus wird in Pseudocode einerseits genauer beschrieben als in natürlicher Sprache, anderseits aber noch nicht so detailliert wie durch ein Computerprogramm. Ein Programm in Pseudocode ist geeignet um von Menschen gelesen zu werden, aber nicht geeignet um von einen Computer ausgeführt zu werden. Pseudocode ist also insbesondere keine Programmiersprache.

Für Pseudocode gibt es keine verbindlichen Vorschriften. Jeder kann seine eigene Variante zurechtschneidern. Das Ziel ist, Algorithmen verständlich und klar auszudrücken, ohne auf die Eigenheiten einer Programmiersprache Rücksicht nehmen zu müssen.

Inhaltsverzeichnis

[Bearbeiten] Verwendung

Um einen Algorithmus zu verstehen, kann man ihn als Programm untersuchen. Das wird aber erschwert durch die Eigenheiten der Programmiersprache, vor allem ihre Syntax. Zudem haben verschiedene Programmiersprachen unterschiedliche Syntaxen. Jede Formulierung als Programm in einer gewissen Programmiersprache schließt alle Leser aus, die dieser Programmiersprache nicht mächtig sind. Deshalb formuliert man den Algorithmus zwar ähnlich zu einem Programm, aber ohne auf eine bestimmte Programmiersprache einzugehen: in Pseudocode.

Pseudocode wird dann eingesetzt, wenn die Funktionsweise eines Algorithmus erklärt werden soll, und Einzelheiten der Umsetzung in eine Programmiersprache stören würden. Ein typisches Beispiel sind die Felder, die in Pascal von Eins an indiziert werden, in C dagegen von Null an. In Lehrbüchern werden deshalb Algorithmen gelegentlich in Pseudocode wiedergegeben.

Man kann ein Programm durch Pseudocode spezifizieren. Das sollte allerdings eher vermieden verden, denn die Formulierung als Pseudocode ist bereits eine Programmiertätigkeit, die von der Konzentration auf die Anforderungen ablenkt.[1]

Auch bei der Entwicklung von Algorithmen und der Umformung von Programmen (Programmtransformation, Refactoring) wird Pseudocode eingesetzt.

[Bearbeiten] Aussehen und Stilrichtungen

Pseudocode hat den Anspruch, intuitiv klar zu sein. Geeignete Metaphern aus der Umgangssprache geben einen Verfahrensschritt prägnant wieder, ohne dass dazu eine Erklärung nötig ist, zum Beispiel "durchlaufe das Feld a mit Index i" oder "vertausche die Inhalte der Variablen x und y". Solche Stilmittel verbessern die Übersicht.

Pseudocode kann sich in seinem Stil an eine bestimmte höhere Programmiersprache anlehnen, zum Beispiel an Pascal oder an C.

Im Pascal-Stil werden Schlüsselworte wie begin, end, then, do, repeat, until benutzt. Im C-Stil werden stattdessen geschweifte Klammern {,} gesetzt und das Schüsselwort then wird ausgelassen. Dieser Stil wird oft von Programmierern benutzt, die solche Sprachen verwenden. Beide Stile findet man in Lehrbüchern.

Die Blockstruktur wird gelegentlich auch nur durch Einrücken wiedergegeben.

Eine Liste häufig verwendeter Schlüsselwörter:

Module

  • program Programmname ... end Programmname
  • klasse Klassenname { ... }

Fallunterscheidungen

  • if ... then ... else ... end if/exit
  • wenn ... dann ... sonst ... wenn_ende
  • falls ... dann ... falls_nicht ... falls_ende

Schleifen

  • wiederhole ... solange/bis ... wiederhole_ende
  • while ... do ...
  • repeat ... until ...
  • for ... to ... step Schrittweite ... next

Kommentare

  • // kommentar
  • # kommentar
  • /* kommentar */

Definition von Funktionen

  • function() ... begin ... end
  • funktion() ... start ... ende

Zusicherungen

  • assert
  • jetzt gilt

[Bearbeiten] Beispiele

program Name und Kurzbeschreibung
 LiesDatenStruktur()
 LiesDatenInhalt()
 ...
 if DatenUnvollständig then FehlerMelden und exit
 HauptstatistikBerechnen
 ZusammenstellungBerechnen
 Resultate in HTML-Datei schreiben
end program Name
Prozedur: euklid
Zweck: Euklidischer Algorithmus zur Berechnung des größten gemeinsamen Teilers
Parameter: natürliche Zahlen m, n
1. Falls m > n, dann m und n miteinander vertauschen.
2. Jetzt gilt m\leq n.
3. Solange m > 0 wiederhole
4.   Setze n = nm.
5.   Falls m > n, dann m und n miteinander vertauschen.
6.   Jetzt gilt m\leq n.
Ergebnis: n.

[Bearbeiten] Siehe auch

[Bearbeiten] Einzelnachweise

  1. S. 44ff in Johannes Siedersleben (Hrsg.): Softwaretechnik. Hanser, München 2003, ISBN 3446218432.


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -