Lösung 01 - AG Kastens
Lösung 01 - AG Kastens
Lösung 01 - AG Kastens
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Dr. Peter Pfahler Paderborn, den 22. Oktober 2<strong>01</strong>1<br />
Michael Backer<br />
AUFGABE 1 (2 Punkte):<br />
Übungen zur Vorlesung<br />
Einführung in die Web-bezogenen Sprachen<br />
WS 2<strong>01</strong>2/2<strong>01</strong>3<br />
<strong>Lösung</strong>svorschlag zu Blatt 1<br />
Sind die Web-Seiten unter den folgenden URLs Ihrer Meinung nach statisch oder dynamisch?<br />
Begründen Sie Ihre Antwort.<br />
a) http://ag-kastens.uni-paderborn.de/lehre/material/ews/<br />
Die Web-Seite ist statisch. Sie könnte aber auch bei jedem Abruf dynamisch erzeugt werden.<br />
Das lässt sich auf der Client-Seite nicht ohne weiteres unterscheiden.<br />
b) https://katalog.ub.uni-paderborn.de/search/catalog?q=javascript<br />
Die Web-Seite wird von dem Server der UB dynamisch erzeugt als Antwort auf die Suchanfrage<br />
nach “javascript”, siehe URL.<br />
AUFGABE 2 (1 Punkt):<br />
Untersuchen Sie, welche Sprachen Client-seitig auf der Web-Seite<br />
http://ag-kastens.uni-paderborn.de/lehre/material/ews/<br />
zum Einsatz kommen.<br />
Wir betrachten Sie dazu den Quelltext dieser Seite und identifizieren HTML, CSS und Javascript.<br />
<br />
<br />
<br />
...<br />
<br />
Vorlesungsfolien<br />
Übungsaufgaben<br />
<br />
...<br />
<br />
Generiert mit
AUFGABE 3 (3 Punkte):<br />
Die folgenden Aussagen aus einem PHP-Handbuch beschreiben Spracheigenschaften von PHP.<br />
Geben Sie an, zu welcher Ebene der Spracheigenschaften die Aussagen gehören und begründen Sie<br />
Ihre Wahl.<br />
a) Der Typ einer Variablen wird normalerweise nicht vom Programmierer bestimmt. Zur Laufzeit<br />
von PHP wird entschieden, von welchem Typ eine Variable ist, abhängig vom Kontext,<br />
in dem die Variable benutzt wird.<br />
LÖSUNG:<br />
Ebene 4: Dynamische Semantik: Der Satz sagt aus, dass der Typ der Variable erst zur Laufzeit<br />
bestimmt wird.<br />
b) Variablen werden in PHP dargestellt durch ein Dollar-Zeichen ($) gefolgt vom Namen der<br />
Variablen. Bei Variablen-Namen wird zwischen Groß- und Kleinschreibung unterschieden.<br />
Ein gültiger Variablen-Name beginnt mit einem Buchstaben oder einem Unterstrich (_), gefolgt<br />
von einer beliebigen Anzahl von Buchstaben, Zahlen oder Unterstrichen.<br />
LÖSUNG:<br />
Ebene 1: Notation der Grundsymbole: Definition für Bezeichner.<br />
c) The basic form of a while statement is:<br />
while (expr) statement<br />
Like with the if statement, you can group multiple statements within the same while loop by<br />
surrounding a group of statements with curly braces, or by using the alternative form:<br />
while (expr): statement ... endwhile;<br />
LÖSUNG:<br />
Ebene 2: Syntax des while-Statements in zwei Ausprägungen.
AUFGABE 4 (4 Punkte):<br />
Geben Sie für die folgenden benannten Ausdrücke reguläre Ausdrücke in der Notation von Folie<br />
D-4 an.<br />
Die folgenden <strong>Lösung</strong>svorschläge definieren Sprachen, die zumindest die Beispiel-Worte umfassen.<br />
Ansonsten sind wir frei in der Definition. Dadurch können die regulären Ausdrücke in manchen<br />
Fällen zu restriktiv sein (z.B. keine Abkürzungen mit Kleinbuchstaben) oder zu umfassend (z.B.<br />
die Uhrzeit “29:00”).<br />
a) Telefonnummern, Beispiele: 6688, +49171693828, 052515532<br />
LÖSUNG:<br />
Dig = (0|..|9)<br />
Land = \+ Dig+<br />
// der \ bedeutet, dass ’+’ wörtlich gemeint ist<br />
Tel = (Land | ɛ) Dig Dig Dig+<br />
// mindestens dreistellige Nummern<br />
b) Uhrzeiten, Beispiele: 18:30, 6:30pm<br />
LÖSUNG:<br />
((0|1|2|ɛ)(0|..|9):(0|..|5)(0|..|9)) |<br />
((0|1|ɛ)(0|..|9):(0|..|5)(0|..|9) (pm|am))<br />
c) Abkürzungen mit 3 oder 4 Zeichen, Beispiele: EWS, FIAT<br />
LÖSUNG:<br />
GroBu = (A|..|Z)<br />
Abk = GroBu GroBu GroBu (GroBu|eps)<br />
d) E-Mailadressen, Beispiele: peter@upb.de, werner23@uni-trier.de<br />
LÖSUNG:<br />
Bu = (a|..|z|A|..|Z)<br />
Zi = (0|..|9)<br />
Email = Bu(Bu|Zi|.|-)*@Bu(Bu|Zi|.|-)*