Huelsse/Profil Nawi/Java/Algorithmusbegriff

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

'''Einführung in die Programmierung'''

----
 
Auch heute kann man noch nicht in natürlicher Sprache mit einem dem Computer kommunizieren, deshalb wurden im Laufe der Jahre verschiedene Programmiersprachen entwickelt.
Die Entwicklung einer Programmiersprache gehört zur theoretischen Informatik. In Abgrenzung zur natürlichen Sprache und auch zu den Programmiersprachen befassen sich formale Sprachen mit deren „Aufbau“ – Satzbau. 
Der Unterschied zwischen gesprochenen Sprachen und Programmiersprachen liegt darin, dass die Worte einer Programmiersprache nur eine Bedeutung zulassen, während der Sinngehalt mancher Worte der Umgangssprache erst aus dem Kontext heraus deutlich werden kann. <br>
Ein Rechner benötigt aber stets eindeutig formulierte Anweisungen zur Bearbeitung - Algorithmus:
 
'''Algorithmus - wichtige Eigenschaften:'''	

*	Allgemeingültig
*	determiniert
*	Effizient
*	Endlich – terminiert


Untersuche, ob folgende Probleme mit einem Algorithmus gelöst werden können:

{| border="1" style="background-color:#ffffff"
 |- style="background-color:#ffffff" 
 | style="background-color:#dddddd" | Beispiel || Endlich || Eindeutig || Wiederholbar || Allgemeingültig || Algorthimus
 |- style="background-color:#ffffff"
 | style="background-color:#dddddd" | Subtraktion zweier natürlicher Zahlen ||  || ||  || ||
 |- style="background-color:#ffffff"
 | style="background-color:#dddddd" | Frühstücksei kochen                   ||  || ||  || ||
 |- style="background-color:#ffffff"
 | style="background-color:#dddddd" | Fortgesetztes Verdoppeln der Zahl 17  ||  || ||  || ||
 |- style="background-color:#ffffff"
 | style="background-color:#dddddd" | Winkelhalbierende konstruieren        ||  || ||  || ||
 |- style="background-color:#ffffff"
 | style="background-color:#dddddd" | Gepäckstück in Automaten einschließen ||  || ||  || ||
 |- style="background-color:#ffffff"
 | style="background-color:#dddddd" | Komponieren des Sommerhits des Jahres ||  || ||  || ||
 |- style="background-color:#ffffff"
 | style="background-color:#dddddd" | Plan für Medikamenteneinnahme         ||  || ||  || ||
 |- style="background-color:#ffffff"
 | style="background-color:#dddddd" | Eigenes Beispiel für Algorithmus      ||  || ||  || ||
 |- style="background-color:#ffffff"
 | style="background-color:#dddddd" | Eigenes Beispiel für keinen Algorithmus ||  || ||  || ||
 |}

Im Gegensatz zur theoretischen Informatik befasst sich die praktische Informatik mit der Formulierung von Algorithmen als Programm – diese müssen in Maschinensprache übersetzt werden.

Möglichkeiten der Übersetzung von Quelltexten einer Programmierumgebung in '''Maschinensprache''':

'''Interpreter:'''

*	Programm wird zeilenweise abgearbeitet
*	Bei Neustart ist immer neue zeilenweise Übersetzung notwendig
*	Programme laufen langsamer, z.B. Javascript, Basic, Robot Karol

'''Compiler:'''

*	Programm wird komplett übersetzt - es entsteht eine startbare EXE-Datei
*       Nur bei Änderungen im Quelltext muss das Programm neu in Maschinensprache übersetzt werden
*	compilierte Programme laufen 10 bis 20 schneller als interpretierte Programme, z.B. Delphi, C++


Aufgaben:

[[Huelsse/Profil_Nawi/Java/Algorithmusbegriff/Algorithmusbegriff A1/ Algorithmusbegriff A1]]