MMProg: Praktikum: WiSe 2018/19: EcmaScript01

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg

Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:

Korrektheit: 3
(zu größeren Teilen überprüft)
Umfang: 4
(unwichtige Fakten fehlen)
Quellenangaben: 3
(wichtige Quellen vorhanden)
Quellenarten: 5
(ausgezeichnet)
Konformität: 3
(gut)

Vorlesung MMProg

Inhalt | EcmaScript01 | EcmaScript02 | EcmaScript03 | Ball 01| Ball 02 | Ball 03 | Pong 01

Musterlösung: Git-Repository

Vorbereitung

Sie finden in dem Projekt ein paar JavaScript-Dateien, die im viele Kommentare jeweils gefolgt von einem Befehl console.log enthalten.

Der Befehl console.log(ARGUMENT1, ARGUMENT2, ...) evaluiert die ihm übergebenen Argumente und gibt das Ergebnis in der Konsole aus.

Sie können eine JavaScript-Datei in WebStorm direkt ausführen:

  • Im Dateibaum: Rechtsklick auf den Dateinamen → Klick auf run 'DATEINAME.js'

Führen Sie testhalber einmal die Datei es01.js aus. Dabei passiert Folgendes: Jeder in der Datei enthaltene JavaScript-Befehl wird der Reihe nach eingelesen und ausgeführt. Sie wird also mit einer Read-Eval-Loop ausgeführt. Im Gegensatz zur Read-Eval-Print-Loop, die Sie beispielsweise von der Browser-Konsole kennen, werden i. Allg. keine Ergebnisse ausgedruckt. Dafür benötigen Sie den Befehl console.log. Wann immer Sie beim Interpretieren eine JavaScript-Datei ein (Zwischen-)Ergebnis im Konsolfenster ausgeben wollen, rufen Sie einfach diesen Befehl auf.

Der Befehl console.log ist der wichtigste Befehl zu Debuggen eines JavaScript-Programms.

BTW: Auch in WebStorm gibt es eine echte Read-Eval-Print-Loop. Öffnen Sie einfach das Terminal und geben Sie node ein. Damit starten Sie den Node.js-Interpreter, der auf Ihre Eingaben wartet, diese auswertet und sofort das Ergebnis ausliefert. Durch die Eingabe von Strg-d können Sie den Node.js-Interpreter wieder beenden. Im Folgenden sollten Sie Node.js jedoch mittels des Run-Befehls von WebStorm aktivieren.

Aufgaben

Bearbeiten Sie die Aufgaben, die Sie in den JavaScript-Dateien vorfinden. Fügen Sie hinter jeden Kommentar im Anschluss an den zugehörigen console.log-Befehl JavaScript-Code ein, der die im Kommentar beschriebene Aufgabe erledigt.

Wenn Sie alles richtig machen, sollten die Run-Befehle folgende Ausgaben in der Konsole zur Folge haben. (Achtung: Auch wenn Sie nicht alles richtig machen, können die Konsolausgaben stimmen. Sie könnten ja beispielsweise immer sofort das zu erwartende Ergebnis direkt ausgeben, ohne es vorher mittels JavaScript zu berechnen. Das wären natürlich Lösungen, die in einer Prüfung nicht gewertet werden würden.)

Bei den Aufgaben 1f und 1g gebe ich die Ergebnisse von alternativen Berechnungsmöglichkeiten aus. Sie brauchen natürlich keine fünf Alternativen anzugeben. Aber wenn Sie ein bisschen experimentieren, schadet das sicher nicht.

Run es01_arithmetic.js (Konsolausgabe der Musterlösung)

Aufgabe 1a:
-199998

Aufgabe 1b:
-199998

Aufgabe 1c:
-399996

Aufgabe 1d:
-399996

Aufgabe 1e:
-399996-399996

Aufgabe 1f:
-799992 '(Alternative 1)'
-799992 '(Alternative 2)'
-799992 '(Alternative 3)'
-799992 '(Alternative 4)'
-799992 '(Alternative 5)'

Aufgabe 1g:
3.15-0.840734641E-2
3.14159265359 '(Alternative 1)'
3.14159265359 '(Alternative 2)'

Run es02_array.js (Konsolausgabe der Musterlösung)

Aufgabe 2a:
[ 4, false, 'Hallo', [ 2, 4, 2, 8 ] ]

Aufgabe 2b:
[ 2, 4, false, 'Hallo', [ 2, 4, 2, 8 ], 'MMProg' ]

Aufgabe 2c:
2 false

Aufgabe 2d:
[ 4, 'Hallo', [ 2, 4, 2, 8 ], 'MMProg' ]

Aufgabe 2e:
8 undefined

Aufgabe 2f:
[ 2, 4, 2, 8, 4, 'Hallo', [ 2, 4, 2, 8 ], 'MMProg' ]
length: 8

Aufgabe 2g:
[ [], [ [] ] ]
length: 2

Aufgabe 2h:
1. [ [], [ [] ], [Circular] ] --- length: 3
2. [] --- length: 0
3. [ [] ] --- length: 1
4. [ [], [ [] ], [Circular] ] --- length: 3
5. [] --- length: 0
6. undefined
7. [ [], [ [] ], [Circular] ] --- length: 3

Aufgabe 2i:
[ [], [ [] ], [Circular] ]
[ [], [ [] ], [Circular] ]
[ [], [ [] ], [Circular] ]
[ [], [ [] ], [Circular] ]
[ [], [ [] ], [Circular] ]

Quellen

  1. Kowarschick (MMProg): Wolfgang Kowarschick; Vorlesung „Multimedia-Programmierung“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2018; Quellengüte: 3 (Vorlesung)