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 (noch nicht online)

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-)Ergenis im Konsolfenster ausgeben woll, 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. Öffen 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 mittles JavaScript zu berechnen. Das wären natürlich Lösungen, die in einer Prüfung nicht gewertet werden würden.)

Bei den Aufgaben „1 f“ und „1 g“ 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.js (Musterlösung)

Aufgabe 1 a:
-199998

Aufgabe 1 b:
-199998

Aufgabe 1 c:
-399996

Aufgabe 1 d:
-399996

Aufgabe 1 e:
-399996-399996

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

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

Run es02.js (Musterlösung)

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

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

Aufgabe 2 c:
2 false

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

Aufgabe 2 e:
8 undefined

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

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

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

Aufgabe 2 i:
[ [], [ [] ], [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)