4. Vorbereitung auf die Abschlussprüfung

Aufgabenstellung

40 Multiple Choice Fragen

HTML

Welches HTML-Tag wird verwendet, um ein Formular zu erstellen?
a) <input>
b) <form>
c) <action>
d) <legend>

Welches Attribut eines <input>-Tags spezifiziert ein Einzelfeldauswahl?
a) email
b) radio
c) checkbox
d) text

Welches HTML-Tag wird verwendet, um einen Tabellenkopf zu definieren?
a) <thead>
b) <header>
c) <th>
d) <head>

Welches HTML-Tag wird verwendet, um eine Liste von Definitionspaaren zu erstellen?
a) <ul>
b) <ol>
c) <dl>
d) <li>

Wie spezifiziert man eine Tabellenzelle, die mehrere Spalten spannt?
a) colspan
b) rowspan
c) mergecols
d) span

Welches HTML-Attribut gibt dem Benutzer einen Tooltip, wenn die Maus über ein Element bewegt wird?
a) alt
b) tooltip
c) title
d) label

Welches HTML-Tag wird verwendet, um ein Zitat anzuzeigen?
a) <quote>
b) <em>
c) <blockquote>
d) <cite>

Wie bettet man eine Audio-Datei in eine HTML-Seite ein?
a) <sound>
b) <audio>
c) <music>
d) <media>

Welches Attribut wird verwendet, um den Standardwert eines <input>-Feldes festzulegen?
a) value
b) default
c) start
d) placeholder

Welches HTML-Tag wird verwendet, um den Hauptinhalt eines Dokuments zu umschließen?
a) <section>
b) <body>
c) <header>
d) <main>

CSS

Welche CSS-Eigenschaft wird verwendet, um die Dicke einer Schriftart festzulegen?
a) font-thickness
b) font-weight
c) font-size
d) font-style

Welches CSS-Attribut verwendet man, um den Text unterstrichen zu formatieren?
a) text-style: underline
b) text-underlined: true
c) text-decoration: underline
d) text-underline: yes

Wie definiert man eine Vollbreite-Spalte in einem Grid-Layout?
a) grid-column: span 12;
b) grid-column: 1 / -1;
c) grid-column: 1 / 12;
d) grid-column: all;

Welches CSS-Attribut legt den maximalen Abstand innerhalb eines Elements fest?
a) max-padding
b) max-margin
c) max-gap
d) max-width

Wie definiert man eine Kaskadenschicht (Schicht) in CSS?
a) !important
b) z-index
c) layer-index
d) priority

Welches CSS-Attribut bestimmt die Transformationsfunktion (wie Rotation, Skalierung) eines Elements?
a) transition
b) animation
c) transform
d) matrix

Welche CSS-Eigenschaft legt das Layout für Flexbox-Elemente fest?
a) flex-layout
b) flex
c) display: flex
d) flex-model

Welches CSS-Attribut definiert den Abstand zwischen Gittern eines Grid-Layouts?
a) grid-gap
b) gap
c) grid-spacing
d) grid-margin

Welches CSS-Attribut legt die Größe eines Hintergrundbildes fest?
a) background-layout
b) background-size
c) background-scale
d) background-zoom

Wie legt man die Richtung der Flex-Elemente im Flexbox-Layout fest?
a) flex-align
b) flex-direction
c) flex-order
d) align-direction

JavaScript

Welches Schlüsselwort wird verwendet, um eine neue Klasse zu definieren?
a) object
b) define
c) class
d) constructor

Wie erzeugt man ein Objekt in JavaScript?
a) let obj = new Object();
b) let obj = {};
c) let obj = Object;
d) let obj = Object();

Welches der folgenden Methoden konvertiert eine Zeichenkette in Kleinbuchstaben?
a) string.toLower()
b) string.lowerCase()
c) string.toLowerCase()
d) string.makeLowerCase()

Welches Array-Method fügt am Anfang eines Arrays ein Element hinzu?
a) push
b) unshift
c) shift
d) pop

Welche Methode wird verwendet, um Ereignisse mit einem bestimmten Element zu verknüpfen?
a) addEvent()
b) addEventHandler()
c) addEventListener()
d) attachEvent()

Wie vergleicht man in JavaScript zwei Werte, ohne ihren Typ zu berücksichtigen?
a) ==
b) ===
c) equals
d) !=

Welche Funktion gibt die Länge eines Arrays zurück?
a) array.length()
b) array.size()
c) array.count()
d) array.length

Welches Schlüsselwort wird verwendet, um eine Iterationsschleife zu erkennen?
a) foreach
b) loop
c) for
d) iterate

Wie löscht man ein Element aus einem Array?
a) delete array[index];
b) array.remove(index);
c) array.delete(index);
d) remove array[index];

Welches der folgenden Schlüsselwörter wird verwendet, um eine Konstantenvariable zu deklarieren?
a) const
b) constant
c) var
d) let

PHP

Welches Schlüsselwort wird verwendet, um ein neues Objekt zu erstellen?
a) define
b) construct
c) initialize
d) new

Wie gibt man in PHP eine Funktion zurück?
a) function
b) back
c) return
d) exit

Mit welchem Befehl verbindet man sich mit einer Datenbank?
a) mysqli_connect()
b) mysqli_bind()
c) mysqli_open()
d) mysqli_connect_db()

Welche Funktion wird verwendet, um ein Array zu sortieren?
a) array_sort()
b) sort()
c) shuffle()
d) order

Wie erstellt man eine zufällige Zahl in PHP?
a) rand()
b) random()
c) randomize()
d) number_random()

Welches Schlüsselwort verwendet man, um eine Schnittstelle zu definieren?
a) abstract
b) implements
c) interface
d) extends

Wie übergibt man Argumente an eine Funktion?
a) function_name arguments
b) function function_name(arguments)
c) function_name(arguments)
d) arguments function function_name

Welche Funktion wird verwendet, um den Umfang einer Variablen zu überprüfen?
a) isset()
b) defined()
c) check()
d) variable_exists

Welches Schlüsselwort beendet die Schleifenausführung?
a) stop
b) terminate
c) end
d) break

Wie nennt man eine anonyme Funktion in PHP?
a) nameless function
b) closure
c) lambda
d) anonymous func

HTML
Welches HTML-Tag wird verwendet, um ein Formular zu erstellen?
a) <input>
b) <form> (richtige Antwort)
c) <action>
d) <legend>

Welches Attribut eines <input>-Tags spezifiziert ein Einzelfeldauswahl?
a) email
b) radio (richtige Antwort)
c) checkbox
d) text

Welches HTML-Tag wird verwendet, um einen Tabellenkopf zu definieren?
a) <thead>
b) <header>
c) <th> (richtige Antwort)
d) <head>

Welches HTML-Tag wird verwendet, um eine Liste von Definitionspaaren zu erstellen?
a) <ul>
b) <ol>
c) <dl> (richtige Antwort)
d) <li>

Wie spezifiziert man eine Tabellenzelle, die mehrere Spalten spannt?
a) colspan (richtige Antwort)
b) rowspan
c) mergecols
d) span

Welches HTML-Attribut gibt dem Benutzer einen Tooltip, wenn die Maus über ein Element bewegt wird?
a) alt
b) tooltip
c) title (richtige Antwort)
d) label

Welches HTML-Tag wird verwendet, um ein Zitat anzuzeigen?
a) <quote>
b) <em>
c) <blockquote> (richtige Antwort)
d) <cite>

Wie bettet man eine Audio-Datei in eine HTML-Seite ein?
a) <sound>
b) <audio> (richtige Antwort)
c) <music>
d) <media>

Welches Attribut wird verwendet, um den Standardwert eines <input>-Feldes festzulegen?
a) value (richtige Antwort)
b) default
c) start
d) placeholder

Welches HTML-Tag wird verwendet, um den Hauptinhalt eines Dokuments zu umschließen?
a) <section>
b) <body> (richtige Antwort)
c) <header>
d) <main>

CSS
Welche CSS-Eigenschaft wird verwendet, um die Dicke einer Schriftart festzulegen?
a) font-thickness
b) font-weight (richtige Antwort)
c) font-size
d) font-style

Welches CSS-Attribut verwendet man, um den Text unterstrichen zu formatieren?
a) text-style: underline
b) text-underlined: true
c) text-decoration: underline (richtige Antwort)
d) text-underline: yes

Wie definiert man eine Vollbreite-Spalte in einem Grid-Layout?
a) grid-column: span 12;
b) grid-column: 1 / -1; (richtige Antwort)
c) grid-column: 1 / 12;
d) grid-column: all;

Welches CSS-Attribut legt den maximalen Abstand innerhalb eines Elements fest?
a) max-padding
b) max-margin
c) max-gap
d) max-width (richtige Antwort)

Wie definiert man eine Kaskadenschicht (Schicht) in CSS?
a) !important
b) z-index (richtige Antwort)
c) layer-index
d) priority

Welches CSS-Attribut bestimmt die Transformationsfunktion (wie Rotation, Skalierung) eines Elements?
a) transition
b) animation
c) transform (richtige Antwort)
d) matrix

Welche CSS-Eigenschaft legt das Layout für Flexbox-Elemente fest?
a) flex-layout
b) flex
c) display: flex (richtige Antwort)
d) flex-model

Welches CSS-Attribut definiert den Abstand zwischen Gittern eines Grid-Layouts?
a) grid-gap
b) gap (richtige Antwort)
c) grid-spacing
d) grid-margin

Welches CSS-Attribut legt die Größe eines Hintergrundbildes fest?
a) background-layout
b) background-size (richtige Antwort)
c) background-scale
d) background-zoom

Wie legt man die Richtung der Flex-Elemente im Flexbox-Layout fest?
a) flex-align
b) flex-direction (richtige Antwort)
c) flex-order
d) align-direction

JavaScript
Welches Schlüsselwort wird verwendet, um eine neue Klasse zu definieren?
a) object
b) define
c) class (richtige Antwort)
d) constructor

Wie erzeugt man ein Objekt in JavaScript?
a) let obj = new Object();
b) let obj = {}; (richtige Antwort)
c) let obj = Object;
d) let obj = Object();

Welches der folgenden Methoden konvertiert eine Zeichenkette in Kleinbuchstaben?
a) string.toLower()
b) string.lowerCase()
c) string.toLowerCase() (richtige Antwort)
d) string.makeLowerCase()

Welches Array-Method fügt am Anfang eines Arrays ein Element hinzu?
a) push
b) unshift (richtige Antwort)
c) shift
d) pop

Welche Methode wird verwendet, um Ereignisse mit einem bestimmten Element zu verknüpfen?
a) addEvent()
b) addEventHandler()
c) addEventListener() (richtige Antwort)
d) attachEvent()

Wie vergleicht man in JavaScript zwei Werte, ohne ihren Typ zu berücksichtigen?
a) == (richtige Antwort)
b) ===
c) equals
d) !=

Welche Funktion gibt die Länge eines Arrays zurück?
a) array.length()
b) array.size()
c) array.count()
d) array.length (richtige Antwort)

Welches Schlüsselwort wird verwendet, um eine Iterationsschleife zu erkennen?
a) foreach
b) loop
c) for (richtige Antwort)
d) iterate

Wie löscht man ein Element aus einem Array?
a) delete array[index]; (richtige Antwort)
b) array.remove(index);
c) array.delete(index);
d) remove array[index];

Welches der folgenden Schlüsselwörter wird verwendet, um eine Konstantenvariable zu deklarieren?
a) const (richtige Antwort)
b) constant
c) var
d) let

PHP
Welches Schlüsselwort wird verwendet, um ein neues Objekt zu erstellen?
a) define
b) construct
c) initialize
d) new (richtige Antwort)

Wie gibt man in PHP eine Funktion zurück?
a) function
b) back
c) return (richtige Antwort)
d) exit

Mit welchem Befehl verbindet man sich mit einer Datenbank?
a) mysqli_connect() (richtige Antwort)
b) mysqli_bind()
c) mysqli_open()
d) mysqli_connect_db()

Welche Funktion wird verwendet, um ein Array zu sortieren?
a) array_sort()
b) sort() (richtige Antwort)
c) shuffle()
d) order

Wie erstellt man eine zufällige Zahl in PHP?
a) rand() (richtige Antwort)
b) random()
c) randomize()
d) number_random()

Welches Schlüsselwort verwendet man, um eine Schnittstelle zu definieren?
a) abstract
b) implements
c) interface (richtige Antwort)
d) extends

Wie übergibt man Argumente an eine Funktion?
a) function_name arguments
b) function function_name(arguments)
c) function_name(arguments) (richtige Antwort)
d) arguments function function_name

Welche Funktion wird verwendet, um den Umfang einer Variablen zu überprüfen?
a) isset() (richtige Antwort)
b) defined()
c) check()
d) variable_exists

Welches Schlüsselwort beendet die Schleifenausführung?
a) stop
b) terminate
c) end
d) break (richtige Antwort)

Wie nennt man eine anonyme Funktion in PHP?
a) nameless function
b) closure (richtige Antwort)
c) lambda
d) anonymous func

Fehlersuche

Im Code folgender Website Dateien existieren insgesamt 6 Fehler. Finde und benenne sie. Nenne hierzu jeweils die Datei (HTML/CSS/JS), die Zeile im Code und den jeweiligen Fehler.

Beispiel: HTML-Datei, Zeile 6, Schließender Title-Tag hat einen Schreibfehler

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Prüfungswebsite</titel>
    <link rel="stylesheet" href="stil.css">
</head>
<body>
    <h1>Willkommen zur Prüfungswebsite</h1>
    <p id="einleitung">Diese Webseite enthält mehrere Fehler, die gefunden werden müssen.</p>
    <button id="klickMich">Klick mich!</button>
    <button id="hoverMich">Hover mich!</button>
    <script src="skript.js"></script>
</body>
</html>
/* Dateiname stil.css */

body {
    font-famil: Arial, sans-serif; 
    background-color: #f0f0f0;
}

#einleitung h2 {
    color: blue;
}
//skript.js
document.addEventListener('DOMContentLoaded', function() {
    // Fehler 1: Falsche ID
    let knopf1 = document.getElementById('klikMich'); 
    knopf1.addEventListener('click', function() {
        alert('Knopf wurde geklickt!');
    });

    // Fehler 2: Falsches Event
    let knopf2 = document.getElementById('hoverMich');
    knopf2.addEventListener('mouseover', function() { 
        alert('Knopf wurde gehovt!'); 
    });

    // Fehler 3: Fehlende Funktion
    let div = document.createElement('div');
    div.textContent = 'Dieser Text wird hinzugefügt.';
    // Fehler: appendChild() fehlt
    document.body.apendChild(div); 
});

// skript.js
document.addEventListener('DOMContentLoaded', function() {
    // Fehler 1: Falsche ID
    let knopf1 = document.getElementById('klikMich'); // Fehler: 'klikMich' sollte 'klickMich' sein
    knopf1.addEventListener('click', function() {
        alert('Knopf wurde geklickt!');
    });

    // Fehler 2: Falsches Event
    let knopf2 = document.getElementById('hoverMich');
    knopf2.addEventListener('mouseover', function() { // Fehler: Event 'mouseover' sollte 'click' sein, um Übereinstimmung mit Aufgabe zu haben
        alert('Knopf wurde gehovt!'); // Fehler: Text sollte 'Knopf wurde geklickt!' sein, um konsistent zu sein
    });

    // Fehler 3: Fehlende Funktion
    let div = document.createElement('div');
    div.textContent = 'Dieser Text wird hinzugefügt.';
    // Fehler: appendChild() fehlt
    document.body.apendChild(div); // Fehler: 'apendChild' sollte 'appendChild' sein
});

Code-Erweiterung JavaScript

Füge eine neue Funktion hinzu, die einen neuen Paragraphen unterhalb des bestehenden Paragraphen einfügt, wenn auf den Button mit der ID ’neuerButton‘ geklickt wird.

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>JavaScript Prüfung</title>
</head>
<body>
    <h1>Willkommen zur JavaScript Aufgabe</h1>
    <p id="text">Dieser Text soll geändert werden.</p>
    <button id="aenderButton">Text ändern</button>

    <script src="aufgabe.js"></script>
</body>
</html>
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>JavaScript Anfänger Aufgabe</title>
</head>
<body>
    <h1>Willkommen zur JavaScript Aufgabe</h1>
    <p id="text">Dieser Text soll geändert werden.</p>
    <button id="aenderButton">Text ändern</button>
    <button id="neuerButton">Neuer Text</button> <!-- Button für die neue Funktion -->

    <script src="aufgabe.js"></script>
</body>
</html>
// aufgabe.js
document.addEventListener('DOMContentLoaded', function() {
    // Bestehende Funktionalität: Text ändern
    let aenderButton = document.getElementById('aenderButton');
    aenderButton.addEventListener('click', function() {
        let textElement = document.getElementById('text');
        textElement.textContent = 'Der Text wurde geändert!';
    });

    
});
document.addEventListener('DOMContentLoaded', function() {
    // Bestehende Funktionalität: Text ändern
    let aenderButton = document.getElementById('aenderButton');
    aenderButton.addEventListener('click', function() {
        let textElement = document.getElementById('text');
        textElement.textContent = 'Der Text wurde geändert!';
    });

    // HINZUGEFÜGT: Neue Funktionalität: Zusätzlichen Text einfügen
    /* 
    Aufgabe: Fügen Sie eine neue Funktion hinzu, die bei Klicken auf den neuen Button
    mit der ID 'neuerButton' einen neuen Paragraphen (<p>) mit dem Text 'Neuer Paragraph hinzugefügt!'
    unterhalb des bestehenden Paragraphen einfügt.
    */

    // LÖSUNG:
    let neuerButton = document.getElementById('neuerButton');
    neuerButton.addEventListener('click', function() {
        let neuerParagraph = document.createElement('p');
        neuerParagraph.textContent = 'Neuer Paragraph hinzugefügt!';
        document.body.appendChild(neuerParagraph);
    });
});

Code-Erweiterung PHP

Füge eine neue Funktion hinzu, die bei Klicken auf den neuen Button mit dem Name ’neuerButton‘ einen neuen Paragraphen (<p>) mit dem Text ‚Neuer Paragraph hinzugefügt!‘ unterhalb des bestehenden Paragraphen einfügt.

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>PHP Prüfung</title>
</head>
<body>
    <h1>Willkommen zur PHP Aufgabe</h1>
    <p><?php echo "Dieser Text wird von PHP generiert."; ?></p>
    
    <form method="post">
        <button type="submit" name="aenderButton">Text ändern</button>
        <button type="submit" name="neuerButton">Neuer Text</button> <!-- Button für die neue Funktion -->
    </form>

    <?php
    // Bestehende Funktionalität: Text ändern
    if (isset($_POST['aenderButton'])) {
        echo "<p>Der Text wurde geändert!</p>";
    }

    ?>
</body>
</html>
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>PHP Prüfung</title>
</head>
<body>
    <h1>Willkommen zur PHP Aufgabe</h1>
    <p><?php echo "Dieser Text wird von PHP generiert."; ?></p>
    
    <form method="post">
        <button type="submit" name="aenderButton">Text ändern</button>
        <button type="submit" name="neuerButton">Neuer Text</button> <!-- Button für die neue Funktion -->
    </form>

    <?php
    // Bestehende Funktionalität: Text ändern
    if (isset($_POST['aenderButton'])) {
        echo "<p>Der Text wurde geändert!</p>";
    }

    // HINZUGEFÜGT: Neue Funktionalität: Zusätzlichen Text einfügen
    /* 
    Aufgabe: Fügen Sie eine neue Funktion hinzu, die bei Klicken auf den neuen Button
    mit dem Name 'neuerButton' einen neuen Paragraphen (<p>) mit dem Text 'Neuer Paragraph hinzugefügt!'
    unterhalb des bestehenden Paragraphen einfügt.
    */

    // LÖSUNG:
    if (isset($_POST['neuerButton'])) {
        echo "<p>Neuer Paragraph hinzugefügt!</p>";
    }
    ?>
</body>
</html>