Home > Informatik > Informatik EF > Folge 1

1.1 Informatiksysteme und Programmiersprachen

Programmiersprachen - Java und BlueJ - Klassen und Objekte

Lernziele

Wenn Sie diese Seite durchgearbeitet haben, sollten Sie wissen

  • Was man unter einem Informatiksystem versteht,
  • welche Aufgabe Programmiersprachen erfüllen, auch im Alltag
  • was man unter einem Programm versteht,
  • dass ein Programm mit einem Kochrezept vergleichbar ist,
  • dass es neben linearen Programmen auch verzweigte Programme gibt.

Was ist ein Informatiksystem ?

Hier sehen wir uns einfach mal einen Ausschnitt aus dem Kernlehrplan des Landes NRW zum Thema an:

"Informatiksysteme sind heute weltweit miteinander vernetzt. Ein Informatiksystem ist eine spezifische Zusammenstellung von Hardware-, Software- und Netzwerkkomponenten zur Lösung eines Anwenderproblems. Gegenstand der Betrachtung ... ist schwerpunktmäßig der prinzipielle Aufbau singulärer und vernetzter Rechnersysteme und deren Interaktion untereinander und mit dem Benutzer."

Informatiksysteme

Einzelheiten zu diesem Thema finden Sie auf dieser Lexikon-Seite.

Was ist eine Programmiersprache?

Mit Hilfe von Programmiersprachen können wir Handys, Tablets, Chips von Waschmaschinen, aber auch "richtige" Computer programmieren. Unter einem Computerprogramm versteht man eine Liste von Anweisungen, die das Endgerät ausführen soll. So ähnlich, wie ein Rezept eine Liste von Anweisungen ist, die der Koch ausführen soll.

Vergleich Rezept - Computerprogramm

Auf dieser Vertiefungsseite wird der Aufbau eines Kochrezeptes mit einem einfachen Computerprogramm verglichen.

Lineare Programme

Ein Computerprogramm kann völlig linear verlaufen, so wie das Programm in unserem Beispiel. Graphisch könnte man den Ablauf eines solchen Programms durch einen großen Pfeil darstellen, der von oben nach unten geht:

Dieses Computerprogramm liest zunächst zwei Zahlen ein, bildet dann das arithmetische Mittel der beiden Zahlen und gibt dann den Mittelwert aus.

Eine weitaus bessere Darstellung des Programmflusses erhält man durch ein Flussdiagramm. Hier wird der Ablauf des Programms, der so genannte Programmfluss, durch genormte Symbole dargestellt.

Beispiel

In diesem Beispiel finden Sie ein Flussdiagramm für das Programm "Mittelwert".

Verzweigte Programme

Es gibt aber auch Computerprogramme, die sogenannte Fallunterscheidungen treffen können. Stellen wir uns ein einfaches Programm vor, dass den Wert eines Quotienten zweier Zahlen berechnen soll.

Zunächst werden wieder die erforderlichen Variablen deklariert (zahl1, zahl2, ergebnis), und dann kommen die Anweisungen des Programms. Die beiden Zahlen werden eingelesen, dann wird die erste Zahl durch die zweite dividiert und das Ergebnis gespeichert und anschließend ausgegeben.

Das Programm funktioniert auch wunderbar, bis jemand auf die Idee kommt, als zahl2 eine Null einzutippen. Da man nicht durch Null dividieren kann, stürzt das Programm mit einem sogenannten Laufzeitfehler ab. Wenn man Pech hat, kann man anschließend den Rechner, das Handy, die Smartwatch oder was immer man auch gerade benutzt neu starten.

Wenn man also ein solches Programm schreibt, ist es ratsam, eine Fallunterscheidung einzubauen.

In der Programmiersprache Pascal sähe eine solche Fallunterscheidung so aus:

Pascal-Quelltext für das Programm Teile

Jetzt sollten Sie eine ungefähre Vorstellung davon haben, was der Unterschied zwischen Kochen / Backen einerseits und Programmieren andererseits ist.

Ausblick

Im Laufe dieses Kurses werden wir uns hauptsächlich mit der Programmiersprache Java beschäftigen, ohne die es heute wahrscheinlich keine Handys, Tablets und Smartwatches geben würde. Allerdings ist dieser Kurs für die Arbeit an "richtigen" Computern konzipiert. Eingesetzt wird dabei die Entwicklungsumgebung BlueJ, die eigens für den Anfängerunterricht an höheren Schulen und Universitäten entwickelt worden ist.

Aufgaben / Übungen

Aufgabe 1.1-1

Erstellen Sie eine Tabelle mit mindestens fünf "Informatiksystemen", die auch im Alltag benutzt werden. Listen Sie die Funktion dieser Systeme auf und geben Sie an, ob diese Systeme vernetzt sind oder "stand alone" (singulär, für sich, ohne Vernetzung) arbeiten können.

Aufgabe 1.1-2

Recherchieren Sie zu einem der folgenden Themen:

  • Eingabegeräte
  • Ausgabegeräte
  • Externe Speichermedien
  • Geschichte der Computer
  • Aufbau eines Computers
  • World Wide Web (WWW)
  • Computer und Arbeitswelt
  • Gegenüberstellung analog/digital an ausgewählten Beispielen
  • Homeoffice früher und heute

und stellen Sie Ihre Recherche-Ergebnisse dem Kurs vor, indem Sie eine kleine Präsentation dazu anfertigen.

Aufgabe 1.1-3

Was macht folgendes Programm?

program geheim;
var z1, z2, z3, ergebnis : integer;

begin
   read z1;
   read z2;
   read z3;
   if z1 < z2 and z1 < z3
      then ergebnis = z1;
   else if z2 < z1 and z2 < z3
      then ergebnis = z2;
   else if z3 < z1 and z3 < z2
      then ergebnis = z3;
   write ergebnis;
end.

Beschreiben Sie, welches Ergebnis das Programm liefert und überlegen Sie, wie man das Programm noch optimieren könnte. Erläutern Sie diese Optimierung!

Druckversion

Sie können sich den Inhalt dieser Seite sowie der Vertiefungsseiten als Druckversion (PDF) herunterladen.

Seitenanfang -
Weiter mit Java und BlueJ…