Studium, Ausbildung und Beruf

web uni-protokolle.de
 powered by
NachrichtenLexikonProtokolleBücherForenMontag, 22. Juli 2019 

Computerprogramm


Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier.

Ein Computerprogramm ist die Umsetzung eines Algorithmus in Form die von einem Computer verarbeitet werden kann. Dieser Prozess wird Implementierung bezeichnet.

Der Begriff Programm wird sowohl für den in einer Programmiersprache verfassten Quelltext als auch für den von einem ausführbaren Maschinencode verwendet. Um aus dem Quelltext den zu generieren wird ein Compiler oder Interpreter benötigt. Diese übersetzen die Befehle der die für menschliche Benutzer verständlich und bearbeitbar sollen in die semantisch entsprechenden Befehle der Maschinensprache des verwendeten

Inhaltsverzeichnis

Beispiel: ggT-Berechnung

Es soll ein Programm zur Bestimmung größten gemeinsamen Teilers (ggT) zweier Zahlen erstellt Zunächst muss ein geeigneter Algorithmus gefunden werden.

Der euklidische Algorithmus der bereits um 300 v. Chr. beschrieben wurde ermittelt den größten gemeinsamen Teilers (ggT) zweier natürlicher Zahlen A und B :

  1. Sei A die größere der beiden Zahlen A und B (gegenenfalls vertauschen)
  2. Setze A = A B
  3. Wenn A und B ungleich sind fahre fort mit Schritt 1 wenn sie sind dann beende den Algorithmus: Diese Zahl der größte gemeinsame Teiler.

Implementierung

Sobald eine formale Beschreibung eines Algorithmus eine genau definierte Verarbeitungsvorschrift vorliegt kann der umgesetzt ( implementiert ) werden. Dazu wird eine geeignete Programmiersprache ausgewählt.

Verwendung einer Programmiersprache

Zur Umsetzung wird heute meist eine höhere Programmiersprache verwendet die von einem Computer eventuell nicht direkt ausgeführt werden kann zuerst compiliert oder interpretiert werden muss. In wie Pascal dienen Variablen Ausdrücke Vergleiche Zuweisungen und Kontrollstrukturen zur Umsetzung des ggT-Algorithmus:

 (* Schritt3: *) WHILE A <> DO BEGIN (* Solange A ungleich B (* Schritt1: *) IF B>A THEN BEGIN Falls B größer als A *) H:=A; B:=H; (* Vertausche A und B *) (* Schritt2: *) A:=A-B; (* Ersetze A A-B *) END;  

Berücksichtigung aller Sonderfälle

Bei der Umsetzung wird mit der von Schritt 3 begonnen. Der ursprüngliche Algorithmus nicht den Fall dass A und B zu Beginn gleich sein können. Wäre die den größten Teiler von 103 und 103 finden würde ein Mensch sofort das Ergebnis nennen er würde den Algorithmus gar nicht Der originale Algorithmus würde aber Null ergeben. Umsetzung auf einem Rechner muss auch alle berücksichtigen. Durch das Vorziehen von Schritt 3 der Sonderfall hier korrekt behandelt.

Elementare Schritte

Pascal und andere Programmiersprachen besitzen keine zum Vertauschen von Zahlen. Dies muss daher elementarere Schritte umgesetzt werden. Eine zusätzliche Variable eine sogenannte Hilfsvariable erlaubt die Vertauschung mit von drei Zuweisungen:

 H:=A; (* Rette Wert von A der Hilfsvariable H *) A:=B; (* Überschreibe mit dem Wert von B *) B:=A; Überschreibe B mit dem Wert von H *)  

Dies ist auch ein kleiner Algorithmus.

Ein vollständiges Programm

Damit hieraus ein korrektes Programm wird der Algorithmus noch um Ein- bzw. Ausgabeanweisungen jedoch auch um Variablen und eine Programmstruktur werden. Diese sind nicht Teil des eigentlichen

 PROGRAM Ggt(Input Output); (* Programmkopf *) A B H: Integer; (* Variablendefinition *) ReadLn(A B); (* Eingabe von A und *) WHILE A <> B DO BEGIN Euklidischer *) IF B>A THEN BEGIN (* *) H:=A; A:=B; B:=H; END; A:=A-B; END; (* Ausgabe von A *) END. (* *)  

Übersetzung und Ausführung

Erst dieses Programm kann mit einem Texteditor in eine Datei geschrieben werden die dann dann übersetzt ausgeführt werden kann. Hierzu ist ein Compiler erforderlich der den Code in der in Maschinensprache übersetzt und das Ergebnis in eine Datei schreibt. Diese kann dann über ein gestartet werden. Das Programm muss dabei nur übersetzt werden. Es kann danach beliebig oft werden.

Einige Programmiersprachen benötigen keinen Compiler aber dessen einen Interpreter der Programme ohne vorherige Übersetzung ausführen Der Interpreter selbst ist dann ein ausführbares in Maschinensprache.

Eine weitere Möglichkeit besteht in der von Zwischencode ( bytecode ) der vom Compiler an Stelle des generiert wird.

Siehe auch: Software Ausführbares Programm Anwendungsprogramm Dienstprogramm



Bücher zum Thema Computerprogramm

Dieser Artikel von Wikipedia unterliegt der GNU FDL.

ImpressumLesezeichen setzenSeite versendenSeite drucken

HTML-Code zum Verweis auf diese Seite:
<a href="http://www.uni-protokolle.de/Lexikon/Computerprogramm.html">Computerprogramm </a>