Informatik :: JavaScript :: Lineare Programmstruktur

Lineare Programmstruktur

[Begriffe] [Daten] [Variablen] [Operatoren] [math. Funktionen] [Dialogboxen] [Ausgabe] [Struktogramme] [Aufgaben]

Grundlegende Begriffe

Begriff Erklärung
Maschinensprache System von Anweisungen und Daten, die der Prozessor eines Computers direkt ausführen kann. Dabei handelt es sich um einen für den Menschen kaum verstehbaren Binärcode.
Höhere Programmiersprache (engl. high level language) ermöglicht die Abfassung eines Computerprogramms in einer Sprache, die für Menschen, aber nicht unmittelbar für Computer verständlich ist. Z. B.: C++, Delphi, Java, Visual Basic, VBA
Syntax System von Regeln, nach denen erlaubte Konstruktionen bzw. Ausdrücke aus einem grundlegenden Zeichenvorrat ("Alphabet") gebildet werden.
Programmierumgebung Programm, das sowohl Editor, Debugger, Compiler u.a. nützliche Programmierwerkzeuge enthält.
Editor Programm zur Eingabe des Quellcodes.
Debugger Programm, das vor der Übersetzung Code auf Syntaxfehler (bugs) überprüft.
Compiler Programm, das die jeweilige Programmiersprache vor Programmstart in Maschinensprache übersetzt.
Interpreter Programm, das die jeweilige Sprache während des Programms übersetzt.
Z. B.: Browser interpretiert HTML-Quellcode
Prozedur Programm / Programmteil, das / der kein Ergebnis zurückgibt, sondern nur bestimmte Anweisungen ausführt.
Funktion Programmteil, der ein bestimmtes Ergebnis zurückgeben kann.
Kommentar Erläuterung des Quellcodes für den Programmierer
Variable Platzhalter, der wie konstanter Wert verwendet werden, aber verschiedene Werte annehmen kann.
Variablendeklaration Variable wird dem System bekannt gemacht, d.h. es wird entsprechend des Datentypes Speicherplatz im Hauptspeicher reserviert.
Konstante Platzhalter, der wie konstanter Wert verwendet werden und seinen Wert nicht ändern kann.
Konstantendeklaration Konstante wird dem System bekannt gemacht, d.h. es wird entsprechend des Wertes Speicherplatz im Hauptspeicher reserviert.
Seitenanfang

Daten (Literale, Konstanten, Werte) und Datenformen

Im Gegensatz zu anderen Programmiersprachen wie z.B. C++ oder VisualBasic kennt JavaScript keine der üblichen Datentypen. Und wenn man unbedingt einen Vergleich mit andern Sprachen vornehmen will, dann käme für JavaScript als ähnlicher Datentyp am ehesten der Typ Variant aus Visual Basic in Frage. Während in anderen Sprachen eine Variable mit ihrer Deklaration unwiderruflich für einen bestimmten Datentyp bestimmt ist, kann man in JavaScript der Variablen beliebige Inhalte zuweisen. So ist es ohne weiteres möglich, in der Deklaration einen Zahlenwert zuzuweisen und später eine Zeichenkette oder einen Wahrheitswert.

Prinzipiell kann man zwischen drei verschiedenen Datenformen unterscheiden:

  1. Zeichenketten
  2. Zahlen
    Während in anderen Sprachen streng zwischen Zahlenwerten verschiedener Größenordnungen sowie Ganzzahlen und Gleitkommazahlen unterschieden wird, können Sie in JavaScript mit Zahlen frei umgehen. Sie müssen lediglich beachten, dass statt eines Kommas immer ein Punkt gesetzt werden muss.
    z.B. -5.3
     
  3. Wahrheitswerte
    Für die Datenform Boolean können Sie die reservierten Ausdrücke true für wahr und false für falsch verwenden.
    Alternativ können Sie auch die Werte 1 und 0 einsetzen. Letzteres ergibt allerdings keinen Sinn, da der Browser dann den Variableninhalt als Zahlenwert interpretiert.
    Diese Datenform eignet sich besonders zum Überwachen von Programmzuständen.
     
  4. null-Wert
    • stellt den entleerten Zustand einer Variablen dar
    • geschieht bei der Deklaration der Variablen ohne Wertzuweisung (var Variable;) oder indem der Variablen das reservierte Wort null übergeben wird (Variable=null;)
    • je nachdem mit welcher Datenform die Variable vorher belegt war, erhält sie dann den Wert 0, die leere Zeichenkette ("") oder den Wahrheitswert false.

Seitenanfang

Variablen

Unter einer Variablen kann man einen Speicherbereich verstehen, in der ein Wert bzw. Datum zur späteren Verwendung abgelegt wird.

Deklaration von Variablen

Die Deklaration einer Variablen erfolgt mit ihrer ersten Aufzählung und kann auf zwei verschiedene Arten erfolgen:

  1. Man kann den Namen einer Variablen direkt im Zusammenhang einer Wertzuweisung mitten im Programmcode aufführen:
  2.   i=5;
      Name="Müller";

  3. Um den Programmcode übersichtlicher zu gestalten, kann man auch das reservierte Wort var verwenden. Dabei kann auch eine Wertübergabe erfolgen.
  4.   var i;
      var i=5

Hinweis:

Wenn man die Variablen stets am Anfang eines Programms mit Hilfe von var deklariert, dann behält man leichter den Überblick über die im Programm eingesetzten Variablen.

Gültigkeit von Variablen

Sobald einer Variablen ein Wert zugewiesen wurde, kann man diesen innerhalb des Programms verwenden. Doch dabei sind einige Grenzen gesetzt, die davon abhängig sind, wo die Variable deklariert wurde:

Wenn die Deklaration innerhalb einer Funktion vorgenommen wurde, dann ist die Variable auch nur innerhalb dieser Funktion gültig.
In diesem Fall spricht man von einer lokalen Variablen. Nach dem Verlassen der Funktion geht nicht nur der Inhalt der Variablen verloren, sondern ihr reservierter Bereich im Speicher wird wieder frei gegeben.

Wird die Deklaration der Variablen dagegen außerhalb einer Funktion vorgenommen, dann ist sie so lange gültig, wie die HTML-Datei im Browser angezeigt wird. Hier wird von einer globalen Variablen gesprochen. Auf diese Variable und ihren Inhalt kann man auch von anderen Funktionen aus zugreifen.

Regeln bei der Vergabe von Variablennamen

Wie die gesamte Syntax von JavaScript unterliegt auch die Vergabe von Namen strengen Regeln:

Es empfiehlt sich, den Namen der Variablen nach deren Verwendung zu wählen --> sprechende Bezeichner

Ändern von Variableninhalten (Wertzuweisung)

Beispiel:

var test;
test=5; test=test+3;
test="Müller"
test=true; test=test+2;
test='12345'; test=test+2;

Seitenanfang

Operatoren

Operatoren sind reservierte Zeichen, die dafür sorgen, dass man mit den Werten sinnvoll arbeiten kann.

Prinzipiell sind für uns folgende drei Arten von Operatoren interessant:

1. Arithmetische Operatoren

Mit arithmetischen Operatoren kann man mathematische Operationen mit Werten ausführen.
Die Schreibweise der entsprechenden Anweisung entspricht dabei der üblichen Formulierung einer Rechenaufgabe.
 
Operator Beschreibung Beispiel
+ addiert Zahlen und fügt Zeichenketten zusammen
++ addiert 1 (Inkrementieren)
- subtrahiert Zahlen
-- subtrahiert 1 (Dekrementieren)
* multipliziert Zahlen
/ dividiert Zahlen
% liefert den ganzzahligen Rest bei Division 2er ganzer Zahlen 7 % 3 --> 1 bzw. 19 % 4 --> 3

Eine Ausnahme bilden hierbei die beiden Operatoren ++ und --. Diese verkürzte Schreibweise findet oft in Zählschleifen Verwendung, bei denen mit jedem Durchlauf die Zählvariable um den Wert 1 erhöht bzw. vermindert wird.

2. Vergleichsoperatoren

Vergleichsoperatoren werden uns in erster Linie bei der Ausführung von bedingten Anweisungen und bei der Überprüfung von Bedingungen für z.B. Schleifen begegnen.
Mit ihrer Hilfe erfolgt die Überprüfung einer Bedingung auf ihren Wahrheitswert. Mit dem Erfüllen der Bedingung, was dem Wahrheitswert true entspricht, kann dann z.B. die Schleife beginnen, bei Nichterfüllung (false) wird sie beendet.
Operator Beschreibung
==gleich
!=ungleich
<kleiner
<=kleiner gleich
>=größer gleich
>größer

3. Logische Operatoren

Mit logischen Operatoren werden Aussagen miteinander verknüpft.
Operator Beschreibung
&&logisches AND (UND)
||logisches OR (ODER)
!logisches NOT (NICHT)

Seitenanfang

Mathematische Funktionen

Mit Hilfe mathematischer Funktionen lassen sich Werte berechnen.
Die wichtigsten in JavaScript implementierten Funktionen sind in folgender Tabelle zusammengefasst:
Funktion Beschreibung Beispiele
Math.pow(basis,exponent) potenziert basis mit exponent und gibt diesen Wert zurück Math.pow(2,5) --> 32
Math.pow(10,-2) --> 0.01
Math.pow(64,0.5) --> 8
Math.pow(64,-0.5) --> 0.125
Math.sqrt(zahl) gibt die Quadratwurzel aus zahl zurück Math.sqrt(25) --> 5
Math.sqrt(0.01) --> 0.1
Math.abs(zahl) gibt den absoluten Betrag von zahl zurück Math.abs(-12) --> 12
Math.abs(0.345) --> 0.345

Seitenanfang

Dialogboxen

Dialogboxen dienen prinzipiell dazu, wie der Name schon sagt, mit dem Nutzer in Dialog zu treten.
Während die alert-Box und die confirm-Box nur eine Textmeldung ausgeben, ist mit Hilfe der prompt-Box die Eingabe eines Wertes möglich.

Code Beschreibung Rückgabe- wert(e) Beispiel
alert ("Textmeldung") Textmeldung mit Schaltfläche OK true
confirm ("Textmeldung") Textmeldung mit Schaltflächen OK und Abbrechen true, false
prompt ("Textmeldung","Vorbelegung") Textmeldung mit Eingabefeld und Schaltflächen OK und Abbrechen Eingabewert als Zeichenkette, false

Hinweis:

Eingaben über eine prompt-Dialogbox sind immer Strings (Zeichenketten)!
Häufig will man aber mit den Eingabewerten arithmetische Operationen (insbesondere Addition) ausführen.
Dazu muss man die Eingabewerte jeweils über die Funktion parseFloat(Eingabewert) in die entsprechende Fließkommazahl bzw. mit parseInt(Eingabewert) in die entsprechende Ganzzahl konvertieren!

Beispiel:

a = prompt ("1. Zahl eingeben!","");
b = prompt ("2. Zahl eingeben!","");
a = parseFloat (a);
b = parseFloat (b);
su=a+b;
alert("Die Summe von "+a+" und "+b+" ist "+su)

Seitenanfang

Ausgabe

Um Werte direkt im Browserfenster auszugeben (zu schreiben), verwendet man die Methode write().
Sie wird auf das Objekt document angewandt.
Man schreibt:
    document.write()

Beispiele:

document.write("Hallo!")
document.write(a)
document.write("Zahl=" + a)

Mit der Methode write() kann man dem Browser auch reinen HTML-Code als Zeichenkette übergeben, der entsprechend interpretiert wird.

Beispiel:

 a = "Herr Meier";
 b = 76;
 window.document.write("<h2>"+a+" ist "+b+" Jahre alt.</h2>");

Erläuterung:
Nachdem der Variablen a die Zeichenkette Herr Meier und der Variablen b die Zahl 76 zugewiesen wurden, erfolgt die Bildschirmausgabe als Überschrift: Herr Meier ist 76 Jahre alt.


Seitenanfang

Struktogramme

Bevor ein Programm in einer höheren Programmiersprache implementiert (geschrieben) wird, empfiehlt es sich ein Struktogramm zu entwickeln.
Wie der Name bereits sagt, wird hier die Struktur des Programmes und der Pogrammabarbeitung veranschaulicht.
Es beinhaltet so genannten Pseudocode. So ist es möglich nach vorgegebenem Struktogramm das Programm in eine beliebige Programmiersprache zu implementieren.

Zur Erstellung von Struktogrammen empfehle ich das Programm Strukted32, das ich hier zum Download bereitstelle.

Seitenanfang

Aufgaben:

  1. Nach Eingabe von zwei beliebigen Zahlen a und b sollen beide Zahlen, die Summe, die Differenz (a-b), das Produkt und der Quotient (a/b) in Tabellenform ausgegeben werden.

       



  2. Flächen

  3. Körper

  4. Bruttolohn

  5. Nettolohn

  6. Eingabe: Kapital, Zinssatz (in %), Zeit (in Jahren)
    Ausgabe: Zinsen und neues Kapital in Tabellenform!

       

Seitenanfang