Softwaretechnik Teil Webprogrammierung (HTML, PHP) SS2011 Studiengang: Semester: 3. Gruppe: Wirtschaftsinformatik A & B Datum: 29.06.2011 Dozent: LfbA Dipl.-Hdl. Andreas Heß Hilfsmittel: alle Unterlagen/Bücher (keine PC, PDA, o.ä.) Klausurteilnehmer/-in: Name, Vorname: E-Mail: (Freiwilliger Eintrag, die Zusendung der Note erfolgt nach Korrektur) Klausurteilbewertung: (wird vom Korrektor ausgefüllt) Aufgabe 01 max. 08 Punkte Aufgabe 02 max. 08 Punkte Aufgabe 03 max. 35 Punkte Aufgabe 04 max. 09 Punkte Bonus max. 06 Punkte ========================= Summe - max. 60 Punkte ============================== Klausurhinweise: 1. Tragen Sie auf dem Deckblatt des Aufgabenheftes Ihren Namen, Ihre Matrikelnummer. 2. Lassen Sie unter allen Umständen das Aufgabenheft zusammengeheftet, außer sie haben einen Tacker mit. 3. Benutzen Sie auf bitte auch die Rückseite der Aufgabenblätter, wenn nötig! 4. Achten Sie auf eine lesbare Schrift! Arbeiten Sie strukturiert! 5. Lösungen nur im Aufgabenheft erlaubt, keine Extrablätter! Ich wünsche Ihnen viel Glück und Ruhe bei der Lösung der Klausur!
Aufgabe 1: (8 Punkte) Finden Sie im folgenden HTML-Code-Fragment 4 Fehler (je 1 Punkt) und korrigieren Sie die gefundenen Fehler (je 1 Punkt)! Erklärung: Der Quellcode stellt ein 800 Pixel breites Tabellenkonstrukt mit den Buchstaben XYZ dar (siehe Abbildung): <head> <title>yxz</title> <style type="text/css">.style1 { border: 1px solid #000000;.style2 { text-align: center; font-family: Arial, Helvetica, Sans-Serif; font-size: 32pt; border: 1px solid #000000; </style> <head> <body> <table cellspacing="1" class="style1" style="height: 800px"> <td> <tr class="style2">x</tr> <tr class="style2">y</tr> <tr class="style2">z</tr> </td> </table> </body> </html>
Aufgabe 2: (8 Punkte) Finden Sie im folgenden PHP-Code-Fragment 4 Fehler (je 1 Punkt) und korrigieren Sie die gefundenen Fehler (je 1 Punkt)! Erklärung: Mit PHP Sessions hat man die Möglichkeit, bestimmte Daten während einer Folge von Aufrufen eurer Website festzuhalten. Dem Besucher wird eine einzigartige Session-ID zugeordnet. Somit kann PHP den Besucher genau Identifizieren. Diese Session ID wird entweder als Cookie gespeichert oder mit an die URL gehängt. Mit PHP Sessions könnt ihr jetzt theoretisch unendlich viele Variablen, inkl. Werte, für einen Besucher speichern, z.b. seinen Username, was er ganz am Anfang in ein Formular eingegeben hat und vieles mehr. Diese Werte könnt ihr später ausgeben und damit auch arbeiten, z.b. überprüfen lassen. Folgendes Beispiel soll überprüft werden: (KEINE FEHLER IM HTML-CODE!!!) formular.html: <form action="seite1.php" method="post"> Dein Name: <br> <input type="text" name="name"> <input type="submit"> </form> seite1.php <?php $name = $_POST['name']; session_start(); if(!isset($name)) { $name = "Gast"; $_SESSION['username'] = $username; echo "Hallo $name <br> <a href=seite2.php>weiter</a>" seite2.php <?php session_start(); $name = $_SESSION['username']; echo "Du heißt immer noch: name";
Aufgabe 3.1: (15 Punkte) Im Array $klausurdurchschnitt sind Ergebnisse von Klausuren gespeichert. Das Array hat folgenden Inhalt: 26.06.2011 Datenbanken Ø 1,9 28.06.2011 Softwaretechnik offen 06.07.2011 WSKM 1 Offen Schreiben Sie ein PHP-Teilkonstrukt, dass den Inhalt dieses Arrays in die Text-Datei klausurdurchschnitt.txt schreibt und die Spalten mit einem -- trennt. Die Textdatei sieht nach dem Eintragen der Ergebnisse wie folgt aus: 26.06.2011 - Datenbanken - Ø 1,9 28.06.2011 - Softwaretechnik -- offen 06.07.2011 -- WSKM 1 -- offen <html> <head> <title>klausurdurchschnitt</title> </head> <body> <?PHP $klausurdurchschnitt = array(); $klausurdurchschnitt[0][0]="26.06.2011"; $klausurdurchschnitt[0][1]="datenbanken"; $klausurdurchschnitt[0][2]="ø 1,9"; $klausurdurchschnitt = array(); $klausurdurchschnitt[1][0]="28.06.2011"; $klausurdurchschnitt[1][1]="softwaretechnik"; $klausurdurchschnitt[1][2]="offen"; $klausurdurchschnitt = array(); $klausurdurchschnitt[2][0]="06.07.2011"; $klausurdurchschnitt[2][1]="wskm 1"; $klausurdurchschnitt[2][2]="offen";
Hier bitte ihre Lösung eintragen //Beginn Teilkonstrukt </body> </html>
Hier bitte ihre Lösung eintragen Aufgabe 3.2: (20 Punkte) Schreiben Sie die Funktion telefonnummer(), die aus einer übergebenen Zeichenkette (einer Telefonnummer) Leerzeichen und internationale Vorwahl hinzufügt. Erklärung: Wird die Funktion beispielsweise mit telefonnummer("06332914220"); aufgerufen, so lautet die Ausgabe: Die Telefonnummer "06332914220" lautet nun einheitlich: +49 63 32 91 42 20 <html> <head> <title>telefonnnummer</title> </head> <body> <?PHP //Beginn Teilkonstrukt - Funktion
Hier bitte ihre Lösung eintragen </body> </html>
Aufgabe 4: Kreuzen Sie die richtige(n) Antwort(en) an (je 3 Punkte)! (9 Punkte) a) Welche Aussage(n) über das nachfolgende Code-Fragment ist (sind) richtig? <?php while($a < $zahl) { $a++; echo $a.", "; Die Schleife läuft $a mal lang. Die Ausgabe sieht folgend aus: 1;2;3; Die Schleife erhöht bei jedem Durchlauf die Variable $a um 2. $zahl muss immer größer sein als $a, damit die Schleife die $a um 1 erhöht. b) Welche Aussage(n) über das nachfolgende Code-Fragment ist (sind) falsch? <?php $mitarbeiter = array("bob","peter","lisa"); if(in_array("bob",$mitarbeiter)) { echo "Der Name Bob ist in dem Array enthalten"; in_array prüft, ob ein Wert in einem eindimensionalen Array vorhanden ist Auch die Namen Peter und Lisa werden als nicht enthalten ausgeben. Arrays können nur eindimensional sein Wenn Bob klein geschrieben wird (bob), dann findet es das in_array auch. c) Was bewirkt der Befehl date("d.m.y - H:i")? 29.06.2011-08:00 2011.06.29-08:00 2011-06-29-08:00 Es wird das aktuelle Serverdatum des Aufrufes der Seite gespeichert. 29.06.2011-08.00 Es wird das aktuelle Betriebssystemdatum des Aufrufes der Seite gespeichert.