Klausur Flashcards

1
Q

Was ist ein Programmierparadigma?

A

Ein Programmierparadigma ist ein fundamentaler Programmierstil.
Ein Programmierparadigma ist eine grundlegende Herangehensweise oder Methode zur Lösung von Problemen durch die Gestaltung von Computeralgorithmen. Es umfasst bestimmte Regeln, Konzepte und Muster, die Programmierer beim Entwickeln von Software befolgen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Beschreiben Sie die Unterschiede zwischen den imperativen, deklarativen, objektorientierten Programmierparadigmen

A

imperativ: C;
- Fokus auf WIE
- gibt Schritte und Anweisungen an
- zustandsorientiert: Änderung von Variablen und Datenstrukturen

deklarativ: SQL;
- Fokus auf WAS
- gibt an was erreicht werden soll, ohne Schritte dafür anzugeben
- Zustandsunabhängig: Der Fokus liegt auf Bescheibungen von Beziehungen und Regeln

objektorientiert: Java;
-Code wird um Objekte organisiert
-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist der Unterschied zwischen einem compilerbasierten und einem interpreterbasierten
Ansatz zur Übersetzung von Programmen?

A

Compilerbasiert:

  • Übersetzt den gesamten Quellcode auf einmal.
  • Erzeugt eine eigenständige ausführbare Datei.
  • Analysiert und generiert effizienten Code im Voraus.
  • Beispiele: C, C++, Java.

Interpreterbasiert:

  • Übersetzt und führt den Code schrittweise aus.
  • Keine eigenständige ausführbare Datei.
  • Portabler, da nicht an eine Plattform gebunden.
  • Einfacheres Debugging während der Ausführung.
  • Beispiele: Python, JavaScript, Ruby.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Zu welchem der o.g. Ansätze gehört PHP?

A

interpreterbasiert, objektorientiert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Stellen Sie drei wichtige Merkmale von Skriptsprachen heraus?

A
  1. Interpretation statt Kompilierung
  2. Dynamische Typisierung (Variablentypen werden während Laufzeit definiert)
  3. Hohe Abstraktionsebene (Entwickler kümmern sich weniger um Hardwarebene)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist der Unterschied zwischen einer clientseitigen und einer serverseitigen Skriptsprache?

A

Clientseitige Skriptsprachen:

Ort der Ausführung: Auf dem Computer oder Gerät des Benutzers (Client).
Verwendung: Interaktive Gestaltung der Benutzeroberfläche im Webbrowser.
Beispiel: JavaScript.

Serverseitige Skriptsprachen:

Ort der Ausführung: Auf dem Server, bevor die Seite an den Client gesendet wird.
Verwendung: Serverseitige Logik, Datenbankverarbeitung, Generierung dynamischer Inhalte.
Beispiele: PHP, Python (Django, Flask), Ruby (Ruby on Rails).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Worauf muss man bei der Definition einer Variablen in PHP achten?

A

1.Dollarzeichen ($): Beginnt mit $.
2.Gültige Namen: Buchstaben, Zahlen, Unterstrich; muss mit Buchstaben oder Unterstrich beginnen.
3.Case-Sensitivität: Beachtet Groß- und Kleinschreibung.
4.Datentypen: Dynamisch typisiert; kann explizit deklariert werden.
5.Bereich (Scope): Lokal oder global; definiert den Gültigkeitsbereich.
6. Initialisierung: Vor Verwendung initialisieren, um unerwartetes Verhalten zu vermeiden.
7. Reservierte Wörter: Vermeide PHP-reservierte Wörter als Variablennamen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

ungeordnete Liste html

A

<ul>
<li>Element 1</li>
<li>Element 2</li>
<li>Element 3</li>
</ul>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

geordnete Liste html

A

<ol>
<li>Erstes Element</li>
<li>Zweites Element</li>
<li>Drittes Element</li>
</ol>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Link in html

A

<a>Besuchen Sie Example.com</a>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

interne Verknüpfung html

A

<a>Gehe zur Seite</a>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Bild in html

A

<img></img>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Tabelle in html

A

<table>
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td>Daten 1</td>
<td>Daten 2</td>
</tr>
</table>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wo können Sie PHP-Befehle in einem HTML-Dokument einfügen?

A

Innerhalb von HTML-Tags:

<p>Statischer Text. Weiterer statischer Text.</p>

In HTML-Attributen:

<img></img>

In PHP-Dateien:

<?php echo “Hallo, Welt!”; ?>

In eingebetteten PHP-Blöcken:

<?php echo “<p>Durch PHP generierter Text.</p>”; ?>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Muss man in PHP den Typ einer Variablen deklarieren?

A

nein

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie können Sie den Inhalt und den Typ einer Variablen erfahren (bzw. ausgeben lassen)

A

var_dump()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie wird ein indexbasiertes Array definiert? Ist es erforderlich, den Typ der zulässigen
Array-Elemente und die Array-Größe zu definieren?

A

$meinArray = [1, 2, 3, 4, 5];
$meinArray = array(1, 2, 3, 4, 5);

Größe und typ müssen nicht definiert werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wie wird ein assoziatives Array definiert? Was ist der Vorteil eines assoziativen Arrays gegenüber einem indexbasierten Array?

A

Bei einem indexbasierten Array kann man auf die Werte durch die Position zugreifen. Bei assoziativen Arrays kann man selber Schlüssel definieren.

$assoziativesArray = array(
‘Name’ => ‘John’,
‘Alter’ => 25,
‘Stadt’ => ‘Berlin’
);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wie werden Inhalte (Schlüssel und Werte) eines Arrays ausgegeben?

A

mit print_r
$array = array(‘Name’ => ‘John’, ‘Alter’ => 25, ‘Stadt’ => ‘Berlin’);
print_r($array);

17
Q

Worauf muss man achten, wenn man mit echo-Anweisung ein assoziatives Array ausgibt

A

Wenn Sie auf den Wert eines bestimmten Schlüssels in einem assoziativen Array zugreifen möchten, sollten Sie geschweifte Klammern verwenden, um den Array-Zugriff zu kennzeichnen.

$array = array(‘Name’ => ‘John’, ‘Alter’ => 25, ‘Stadt’ => ‘Berlin’);
echo $array[‘Name’]; // Richtig

18
Q

Wie wird eine Funktion (mit oder ohne Rückgabe) definiert?

A

ohne Rückgabewert:

function gruessen($name) {
echo “Hallo, $name!”;
}

// Aufruf der Funktion
gruessen(“Peter”);

mit Rückgabewert:

function multipliziere($zahl1, $zahl2) {
$ergebnis = $zahl1 * $zahl2;
return $ergebnis;
}

// Aufruf der Funktion
$produkt = multipliziere(5, 3);
echo “Das Produkt ist: $produkt”;

19
Q

Wie kann ein Parameter definiert und beim Aufruf übergeben werden, damit die Änderung des Parameters auch außerhalb der Funktion sichtbar wird?

A

mit dem & zeichen:

function addiereEins(&$zahl) {
$zahl += 1;
}

$meineZahl = 5;

addiereEins($meineZahl);

echo $meineZahl; // Ausgabe: 6

20
Q

Ist eine globale Variable innerhalb einer Funktion bekannt? Wie können Sie innerhalb einer Funktion auf globale Variablen zugreifen?

A

Ja es ist möglich, mit dem Schlüsselwort global:

$globaleVariable = 10;

function funktionMitZugriffAufGlobaleVariable() {
global $globaleVariable;
echo $globaleVariable;
}

funktionMitZugriffAufGlobaleVariable(); // Ausgabe: 10

21
Q

Kann man bei einem Funktionsaufruf variable Parameteranzahl nutzen? Was muss dafür bei der Definition einer Funktion beachtet werden?

A

Ja:

function addiere(…$zahlen) {
$summe = 0;
foreach ($zahlen as $zahl) {
$summe += $zahl;
}
return $summe;
}

echo addiere(1, 2, 3); // Ausgabe: 6
echo addiere(5, 10, 15, 20); // Ausgabe: 50

22
Kann man Parameter einer Funktion auch »verpackt« übergeben und wie?
Ja indem man ein array als variable an die Funktion übergibt und dann in der Funktion auf die einzelnen werte zugreift: function gruessen($person) { echo "Hallo, " . $person['Anrede'] . " " . $person['Name'] . "!"; } $meinePerson = array( 'Anrede' => 'Herr', 'Name' => 'Mustermann' ); gruessen($meinePerson); // Ausgabe: Hallo, Herr Mustermann!
23
Können Sie den Einsatz einer anonymen Funktion anhand eines Beispiels erklären?
Ja die Funktion hat keinen namen und wird direkt in einer Variable gespeichert: // Anonyme Funktion in einer Variable speichern $multipliziere = function ($zahl1, $zahl2) { return $zahl1 * $zahl2; }; // Anonyme Funktion aufrufen $ergebnis = $multipliziere(3, 4); echo $ergebnis; // Ausgabe: 12
24
Kennen Sie den Unterschied zwischen den Funktionen isset und empty? Was gibt die Funktion var_dump aus?
Die funktion isset gibt true zurück wenn eine Variable gesetzt und nicht null ist. Die funktion empty gibt true zurück wenn eine Variable null ist. $variable = "Hallo"; if (isset($variable)) { echo "Die Variable ist gesetzt."; } else { echo "Die Variable ist nicht gesetzt."; }
25
Wie kann man ein Zeichen in einer Zeichenkette (String) finden und ersetzen?
mit str_replace: $originalString = "Hello, World!"; $ersetzteZeichenkette = str_replace('o', '0', $originalString); echo $ersetzteZeichenkette; // Ausgabe: Hell0, W0rld!
26
Wie kann man in einer angegebenen Zeichenkette bestimmte Zeichenfolge durch andere ersetzen?
Die strtr-Funktion ermöglicht das Ersetzen von Zeichen oder Zeichenketten durch andere Zeichen oder Zeichenketten. Sie können ein Array von Ersetzungen angeben. Hier ist ein Beispiel: $originalString = "Hello, World!"; $ersetzungen = array('o' => '0', 'l' => '1'); $ersetzteZeichenkette = strtr($originalString, $ersetzungen); echo $ersetzteZeichenkette; // Ausgabe: He110, W1r1d!
27
Welche Möglichkeiten besitzt PHP, um assoziative Arrays zu sortieren?
Nach Schlüsseln sortieren: ksort: Sortiert ein assoziatives Array nach den Schlüsseln in aufsteigender Reihenfolge. krsort: Sortiert ein assoziatives Array nach den Schlüsseln in absteigender Reihenfolge. Nach Werten sortieren: asort: Sortiert ein assoziatives Array nach den Werten in aufsteigender Reihenfolge. arsort: Sortiert ein assoziatives Array nach den Werten in absteigender Reihenfolge. Benutzerdefinierte Sortierung: uksort: Sortiert ein assoziatives Array basierend auf einer benutzerdefinierten Funktion für die Schlüssel. uasort: Sortiert ein assoziatives Array basierend auf einer benutzerdefinierten Funktion für die Werte.
28
Wie definiert man eine Klasse, eine Methode und ein Datenfeld
datenfeld = "Wert für das Datenfeld"; // Die Methode aufrufen $instanz->beispielMethode(); ?>
29
Wie werden Objekte erzeugt?
datenfeld = "Wert für das Datenfeld"; // Die Methode aufrufen $meinObjekt->beispielMethode(); ?>
30
Wie werden Konstruktoren angelegt?
In PHP werden Konstruktoren in einer Klasse definiert, um Code auszuführen, wenn ein Objekt dieser Klasse erstellt wird. Ein Konstruktor wird durch eine spezielle Methode mit dem Namen __construct dargestellt. Hier ist ein Beispiel: php Copy code datenfeld = $startwert; } public function beispielMethode() { echo "Dies ist eine Beispiel-Methode."; } } // Objekt erstellen und Konstruktor aufrufen $meinObjekt = new BeispielKlasse("Initialwert"); // Auf das Datenfeld zugreifen und ausgeben echo $meinObjekt->datenfeld; ?>
31
Kann man Konstruktoren oder Methoden in PHP überladen? Welche Möglichkeit hat man bei der Definition von Konstruktoren oder Methoden, um alternative Aufrufmöglichkeiten von Konstruktoren oder Methoden zu ermöglichen?
Nein man kann sie nicht überladen, aber man kann eine default Argument definieren.
32
Woran erkennt man eine Klassenvariable und eine Klassenmethode?
sie werden mit static deklaliert
33
Wie werden Objekte kopiert?
mit clone $originalObjekt = new BeispielKlasse(); $kopierteObjekt = clone $originalObjekt; // Flache Kopie
34
Wie werden Objekte verglichen?
Identitätsvergleich (===): Überprüft, ob zwei Variablen auf dasselbe Objekt verweisen. $objektA = new BeispielKlasse(); $objektB = $objektA; if ($objektA === $objektB) { echo "Die Objekte sind identisch."; } else { echo "Die Objekte sind nicht identisch."; } Methode ==: Prüft, ob die Werte der beiden Objekte gleich sind, es sei denn, es wurde eine benutzerdefinierte __toString-Methode implementiert. $objektA = new BeispielKlasse(); $objektB = new BeispielKlasse(); if ($objektA == $objektB) { echo "Die Werte der Objekte sind gleich."; } else { echo "Die Werte der Objekte sind nicht gleich."; }
35
Wie wird eine Vererbung ermöglicht?
mit dem schlüsselwort extends
36
Wie wird der Konstruktor der Elternklasse in der abgeleiteten Klasse aufgerufen?
durch parent:: / Elternklasse class Tier { public $name; // Konstruktor der Elternklasse public function __construct($name) { $this->name = $name; echo "Tier-Konstruktor aufgerufen. Name: $name"; } } // Abgeleitete Klasse erbt von der Elternklasse class Hund extends Tier { public $rasse; // Konstruktor der abgeleiteten Klasse public function __construct($name, $rasse) { // Aufruf des Konstruktors der Elternklasse parent::__construct($name); $this->rasse = $rasse; echo " Hund-Konstruktor aufgerufen. Rasse: $rasse";
37
Wie wird eine Schnittstelle in PHP definiert? Wie wird eine Schnittstelle von einer Klasse implementiert?
Mit interface und implements interface BeispielSchnittstelle { public function methode1(); public function methode2($parameter); } class BeispielKlasse implements BeispielSchnittstelle { public function methode1() { echo "Implementierung von methode1"; } public function methode2($parameter) { echo "Implementierung von methode2 mit Parameter: $parameter"; } }
38
Wozu braucht man Namensräume?
Zweck: Vermeidung von Namenskonflikten. Organisierung des Codes in logische Gruppen. Verbesserung von Lesbarkeit und Wartbarkeit, besonders in großen Projekten. Vorteile: Isolation verschiedener Teile des Codes. Bessere Strukturierung und Gruppierung von Klassen und Funktionen. Klarere Definition von öffentlichen und privaten Bereichen. Erleichtert die Zusammenarbeit in Team
39
Wie kann man Fehler (oder Ausnahmen) mit der Try-Catch-Anweisung und der Exception-Klasse behandeln?
try { // Code, bei dem eine Ausnahme auftreten könnte // z.B., eine Funktion aufrufen, die eine Exception wirft $ergebnis = teile(10, 0); echo "Ergebnis: $ergebnis"; // Wird nicht ausgeführt, wenn eine Exception auftritt } catch (Exception $e) { // Code zur Behandlung der Ausnahme echo "Fehler: " . $e->getMessage(); } finally { // Optionaler Block, der immer ausgeführt wird, unabhängig davon, ob eine Ausnahme aufgetreten ist oder nicht echo "Diese Anweisung wird immer ausgeführt."; }
39
Wie kann man zeilenweise aus einer sequenziellen Datei lesen?
mit fread '; } // Datei schließen fclose($datei); } else { // Fehler beim Öffnen der Datei echo 'Die Datei konnte nicht geöffnet werden.'; } ?>
40
Was ist der Unterschied zwischen readfile() und file()?
41
* Wie kann man Datensätze in eine sequenzielle Datei schreiben?
mit den funktionen fopen, fwrtie, fclose:
42