Caution
Auch ich kann Fehler machen, wenn ihr welche findet, lasst es mich bitte unbedingt wissen.
Note
Legende:
- ✅ Im Lernzettel enthalten
- ❌ Fehlt noch im Lernzettel
⚠️ Wichtig- 🚫 Kommt nicht dran
-
Webentwicklung
Nur in einem der beiden Klausurvorschlägen
- HTML
- HTML-Elemente ✅
- Grundstruktur ✅
- Überschriften ✅
- Absätze ✅
- Links ✅
- Bilder ✅
- HTML-Listen ✅
- Tabellen ✅
- HTML-Elemente ✅
- [CSS]
- Bildbearbeitung ❌
- HTML
-
Datenbanken
-
Access ❌
-
SQL ❌
-
Datenbankdesign
-
Normalisierung🚫
-
Programmierung
-
Inhalte Info-Klausur Nr.3
-
Ziele der Programmierung inkl. Algorithmen
-
Struktogramme
-
Variablen
-
Datentypen
-
Random.choice aus Listen
-
Netzwerke
- OSI-Modell
- IP-Adressen
- Subnetting
- Routing
- Protokolle
-
Datenschutz und Datensicherheit
- Datenschutz
- Datensicherheit
- RAID
Die Hypertext Markup Language ist eine textbasierte Auszeichnungssprache zur Strukturierung elektronischer Dokumente wie Texte mit Hyperlinks, Bildern und anderen Inhalten. HTMLDokumente sind die Grundlage des World Wide Web und werden von Webbrowsern dargestellt.
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta stylesheet="./style.css"> <!-- Verlinkung zu einer CSS-Datei -->
<title>Titel der Webseite</title>
</head>
<body>
<h1>Überschrift 1</h1>
<p>Ein Absatz</p>
</body>
</html>
<h1>Überschrift 1</h1>
<h2>Überschrift 2</h2>
<h3>Überschrift 3</h3>
<h4>Überschrift 4</h4>
<h5>Überschrift 5</h5>
<h6>Überschrift 6</h6>
<p>Ein Absatz</p>
<a href="https://www.dyren.de">Dyren.de</a>
<img src="bild.jpg" alt="Beschreibung des Bildes">
Mit <li>
beginnt ein neuer Punkt innerhalb der Liste (li = list item = Listeneintrag).
Das Element ul
, unordered list (englisch für ungeordnete, unsortierte Liste), beschreibt eine Liste, bei
der die Reihenfolge der Elemente nur eine untergeordnete oder keine Rolle spielt.
<ul>
<li>Eintrag 1</li>
<li>Eintrag 2</li>
</ul>
Das Element ol
, ordered list (englisch für geordnete, sortierte Liste), bezeichnet eine Liste, bei der die
Reihenfolge der Elemente von Bedeutung ist.
<ol>
<li>Eintrag 1</li>
<li>Eintrag 2</li>
</ol>
<table>
<tr>
<th>Überschrift 1</th>
<th>Überschrift 2</th>
</tr>
<tr>
<td>Inhalt 1</td>
<td>Inhalt 2</td>
</tr>
</table>
${\textsf{\color{yellow}C}}$ascading ${\textsf{\color{yellow}S}}$tyle ${\textsf{\color{yellow}S}}$heets ist eine Stylesheet-Sprache für elektronische Dokumente und zusammen mit HTML und JavaScript eine der Kernsprachen des World Wide Webs. Sie ist ein sogenannter „living standard“ und wird vom World Wide Web Konsortium beständig weiterentwickelt.
-
p { color: red; }
Alle
<p>
-Elemente werden rot dargestellt. -
.klasse { color: red; }
Alle Elemente mit der Klasse
klasse
werden rot dargestellt. -
#id { color: red; }
Das Element mit der ID
id
wird rot dargestellt. -
h1 + p { color: red; }
-
h1 p { color: red; }
-
a:hover { color: red; }
-
p::first-line { color: red; }
-
a[href="https://www.dyren.de"] { color: red; }
-
h1, h2, h3 { color: red; }
-
* { color: red; }
-
h1 > p { color: red; }
Eine Datenbank ist eine logisch zusammenhängende Sammlung von logisch zusammenhängenden Daten mit einer logisch inhärenten Bedeutung.
Begriff | Erklärung |
---|---|
Primärschlüssel | Ein Primärschlüssel definiert einen Datensatzeindeutig |
Fremdschlüssel | Ein Fremdschlüssel ist ein Primärschlüssel in einer anderen Tabelle. |
Redundanz | Werden dieselben Daten mehrfach gespeichert, dann spricht man von Redundanz. Man sagt, die Daten werden redundant gespeichert. |
Konsistenz | Unter Konsistenz versteht man dieWiderspruchsfreiheit und Vollständigkeit von Daten in einer Datenbank. Demzufolge bedeutet Dateninkonsistenz, dass z. B. aufgrund von Redundanz zwei (oder mehr) verschiedene Versionen von Daten existieren. |
Benutzersichten/Views | Benutzer oder Anwendungsprogramme benötigen unterschiedliche Daten, d. h. sie haben unterschiedliche Sichten auf die Daten. Es soll jeder nur das sehen, was er braucht und darf. Es ist nur die Definition der Sicht gespeichert, die Daten werden jedes Mal aus der Tabelle geholt oder abgeleitet |
Mehrbenutzerbetrieb/Synchronisation | Es entstehen durch Benutzer oder Anwendungsprogramme Zugriffe auf dieselben Daten. Diese Zugriffe müssenorganisiert werden. Auch bei Mehrfachzugriff müssen die Daten in einem konsistenten Zustand bleiben. |
Datenschutz | Datenschutz dient dem Schutz des Bürgers vor dermissbräuchlichen Verwendung seiner Daten und ist gesetzlich geregelt. Er dient nicht dem Schutz der Daten selbst. Datenschutz heißt Gewährleistung von Vertraulichkeit: Nur berechtigte Personen haben Zugang zu den Daten. Grundsätzlich dürfen Daten von Personen nur dann verwendet werden, wenn dazu ein gesetzlicher Auftrag besteht. Im Normalfall besitzen lediglich einige öffentliche Institutionen derartige Rechte. Firmen und Privatpersonen dürfen solche Daten nicht verwenden. |
Datensicherheit | Datensicherheit umfasst die technischen und organisatorischen Maßnahmen zum Schutz von Daten gegen Beschädigung, Sie zielt dabei besonders auf die Sicherstellung der Verfügbarkeit, der Integrität und der Verbindlichkeit der Daten ab. |
Programm-Daten-Abhängigkeit | Bei der traditionellen Dateiverarbeitung ist die Struktur von Datendateien in den Anwendungsprogrammen eingebettet, so dass Änderungen der Struktur einer Datei möglicherweise zur Änderung aller Programme führen, die auf diese Datei zugreifen. Man nennt dieses Merkmal Programm/Daten-Abhängigkeit. |
- INT / INTEGER Ganzzahlen von 0 bis ~4,3 Mill. oder von -2.147.483.648 bis 2.147.483.647.
- FLOAT Fließkommazahl mit Vorzeichen.
- DECIMAL Fließkommazahl mit Vorzeichen
- DATE Datum im Format 'YYYY-MM-DD'.
- TIMESTAMP Zeitstempel.
- CHAR Zeichenkette fester Länge
- VARCHAR Zeichenkette variabler Länge
- BLOB Binäres Objekt mit variablen Daten
- TEXT Wie BLOB. Ignoriert beim Sortieren & Vergleichen Groß- und Keinschreibung
- ENUM Liste von Werten
(redundant = überflüssig; Wiederholung von Information) Beispiel: Bei einem Bringdienst werden alle Produkte mit einer ausgeschriebenen Kategorie versehen. Wirkung: Diese Daten werden mehrfach gespeichert und so wird unnötig Speicherplatz belegt. Die folgenden Fehler in Datenbanken werden als Anomalien bezeichnet (anomal = unregelmäßig; Fehlverhalten der Datenbanken)
Beispiel: Die Kategorie Fleischgericht soll neu aufgenommen werden. Wirkung: Die neue Kategorie kann nur aufgenommen werden, wenn gleichzeitig ein neuer Artikel aufgenommen wird
Beispiel: Die Kategorie Pizza wird in Steinofenpizza umbenannt. Wirkung: Es müssen die gesamten Artikel nach Pizza durchsucht und geändert werden. Es ist fraglich, ob der Schreibfehler PizA dabei erkannt wird. Diese Anomalie führt zur Inkonsistenz (Widerspruch) innerhalb der Datenbank. Einige Daten widersprechen sich also.
Beispiel: Der Artikel 308 wird gelöscht. Wirkung: Auch die zugehörige Kategorie wird gelöscht, obwohl sie vielleicht im nächsten Arbeitsschritt (neues Produkt Pommes Frites - klein) wieder benötigt wird.
ER-Modelle (auch kurz ERM) stehen für Entity-Relationship-Modell. Ein ERM ist eine Anschauliche und leicht kommunizierbare Beschreibung der Daten Welt. Es ist Ergebnis der konzeptionellen Modellierung und Stellt ein Ausschnitt der Realität dar.
Das Entity-Relationship-Modell ist der Standard zur semantischen Datenmodellierung. Mit Hilfe des Modells kann wird u. a. der logische Aufbau einer Datenbank dargestellt. So wird es unterstützend zur Verständigung zwischen Anwendern und Entwicklern eingesetzt, um ein Projekt darzustellen
- Intigrität
- Korrektheit
- Generalisierung
- Abstimmung mit dem Organisation Entwurf
- Wirtschaftlichkeit
- Redundanzarmut
- Einfachheit
Eine Entität ist ein individuelles Objekt der realen oder Vorstellungswelt. Das eindeutig von anderen Objekten unterscheidbar ist.
Ein Entitätstyp repräsentiert eine Klasse von Entitäten mit gehen Attributen, aber unterschiedlichen Attributswerten.
Ein Attribut beschreibt eine bestimmte Eigenschaft eines Entitätstyp. Es besitzt einen eindeutigen Namen.
Ein Attributs Wert ist eine konkrete Ausprägung eines Attributs (einer Eigenschaft eine Entität)
Die Kardinalität (Komplexitätsgrad) gibt an, wie viele Entitäten eines Entitätstypen mit einer Entität des anderen Entitätstypen in Beziehung stehen können.
Caution
#todo
Hier fehlt noch einiges
- Arten von Kardinalitäten
- Entitätssymbole:
- Analysieren
- Modellieren
- Implementieren
- Testen
FEHLT!
Ein Algorithmus ist eine Arbeitsanleitung zum Lösen eines Problems bzw. einer Aufgabe, die so präzise formuliert ist, dass sie von einem Computer ausgeführt werden kann.
- Allgemeingültigkeit (Die Anweisungen besitzen Gültigkeit für die Lösung einer ganzen Problemklasse, nicht nur für ein Einzelproblem)
- Ausführbarkeit (Die Anweisungen müssen verständlich formuliert sein für den Befehlsempfänger (Mensch oder Maschine) und für diesen ausführbar sein)
- Eindeutigkeit (An jeder Stelle muss der Ablauf der Anweisungen eindeutig sein)
- Endlichkeit /Terminiertheit (Nach endlich vielen Schritten liefert die Anweisungsfolge eine Lösung des gestellten Problems.)
Prinzipiell kann jeder Algorithmus auch durch einen Menschen ausgeführt werden. Computer haben gegenüber uns Menschen jedoch gewisse Vorteile:
- Ihre hohe Rechengeschwindigkeit: Computer können heutzutage einige Millionen Rechenoperationen pro Sekunde ausführen.
- Ihre große Zuverlässigkeit: Computer ermüden nicht und führen fehlerlos genau die Anweisungen durch, die ihnen der Mensch vorschreibt.
- Ihre gewaltige Speicherfähigkeit: Computer können Milliarden Daten dauerhaft abspeichern und sie auch sehr schnell wiederfinden.
Als Programm wird ein in einer Programmiersprache formulierter Algorithmus bezeichnet. Die Formulierung von Programmen erfolgt in sehr konkreter und eingeschränkter Form:
- Programme werden im exakt definierten und eindeutigen Formalismus einer Programmiersprache verfasst.
- Daten, auf denen Programme operieren, unterliegen einer festgelegten Darstellungsform. Unter Programmieren versteht man also das Erstellen von Programmen.
Struktogramme sind eine Möglichkeit, Algorithmen
Tip
Mehr infos zu Struktogrammen: Struktogramme Aufgerufen am: 24.06.2021 und überprüft am 22.04.2024
+
Addition-
Subtraktion*
Multiplikation/
Division//
Ganzzahldivision%
Modulo**
Potenz
and
logisches UNDor
logisches ODERnot
logisches NICHT==
Gleichheit!=
Ungleichheit<
kleiner als>
größer als<=
kleiner gleich>=
größer gleichin
Mitgliedschaftsoperatoris
Identitätsoperatornot in
Negierter Mitgliedschaftsoperatoris not
Negierter Identitätsoperator&
Bitweises UND|
Bitweises ODER^
Bitweises XOR~
Bitweises NICHT<<
Linksshift>>
Rechtsshift+=
Zuweisungsoperator
ein_integer = 5
ein_float = -5.5
ein_anderes_float = 5.0
ein_string = "Hallo"
ein_boolean = True
ein_boolean = False
eine_leere_liste = []
eine_liste = ["Kiwis", "Äpfel", "Bananen"]
eine_liste_mit_verschiedenen_datentypen = [5, 5.5, "Hallo", True]
Diese Datentypen kann man mit type()
überprüfen.
Beispiel:
print(type(5))
print(type(-5.5))
print(type(5.0))
print(type("Hallo"))
print(type(True))
Ausgabe: <class 'int'>; <class 'float'>; <class 'float'>; <class 'str'>; <class 'bool'>
Strings sind Zeichenketten. Ein Beispiel für einen String ist "Hallo".
ein_string = "Hallo"
.len()
gibt die Länge des Strings zurück- "Hallo".len() gibt 5 zurück
.lower()
gibt den String in Kleinbuchstaben zurück- "Hallo".lower() gibt "hallo" zurück
.upper()
gibt den String in Großbuchstaben zurück- `"Hallo".upper() gibt "HALLO" zurück
.replace()
ersetzt einen Teil des Strings durch einen anderen- "Hallo".replace("a", "e") gibt "Hello" zurück
.split()
teilt den String anhand eines Trennzeichens in eine Liste auf- "Hallo".split("a") gibt ["H", "llo"] zurück
.join()
fügt die Elemente einer Liste zu einem String zusammen- " ".join(["Hallo", "Welt"]) gibt "Hallo Welt" zurück
angenommen name = "Max"
print(f"Mein Name ist {name}")
gibt "Mein Name ist Max" zurückprint("Mein Name ist {}".format(name))
gibt "Mein Name ist Max" zurückprint("Mein Name ist " + name)
gibt "Mein Name ist Max" zurückprint("Mein Name ist %s" % name)
gibt "Mein Name ist Max" zurückprint("Mein Name ist {0}".format(name))
gibt "Mein Name ist Max" zurück
Integer sind ganze Zahlen. Sie können positive und negative Werte annehmen. Ein Integer hat keinen Nachkommawert. Ein Beispiel für einen Integer ist 5.
ein_integer = 5
Floats sind Zahlen mit Nachkommawert. Ein Beispiel für einen Float ist 5.5.
ein_float = 5.5
Booleans sind Wahrheitswerte. Sie können entweder wahr oder falsch sein. Ein Beispiel für einen Boolean ist True
oder False
.
ein_boolean = True
oder ein_boolean = False
Listen sind eine geordnete Sammlung von Elementen. Ein Beispiel für eine Liste ist ["Kiwis", "Äpfel", "Bananen"]
. Eine Liste kann Elemente von verschiedenen Datentypen enthalten.
eine_liste = ["Kiwis", "Äpfel", "Bananen"]
eine kann aber z.B. auch leer sein eine_leere_liste = []
.append()
fügt ein Element am Ende der Liste hinzueine_liste.append("Erdbeeren")
fügt "Erdbeeren" am Ende der Liste hinzueine_liste
gibt["Kiwis", "Äpfel", "Bananen", "Erdbeeren"]
zurück
Ein Bug ist ein Fehler im Programm, der dazu führt, dass das Programm nicht das tut, was es tun soll. Ein Beispiel für einen Bug ist, wenn ein Programmierer eine falsche Formel verwendet. Ein Bug kann auch durch eine falsche Eingabe des Benutzers entstehen. Ein Beispiel für einen Bug ist, wenn der Benutzer eine Buchstaben eingibt, obwohl eine Zahl erwartet wird.
Der Begriff "Bug" ist Englisch und bedeutet Käfer / Insekt und stammt aus der Zeit, als Computer noch mit Relais und Röhren gebaut wurden. Damals gab es tatsächlich Käfer, die in den Computer krochen und die Verbindungen störten. Dieser Begiff wird heute noch verwendet, obwohl es keine Käfer mehr gibt, die in Computer kriechen.
In Python werden Sie einen Syntaxfehler schnell bemerken, wenn der Interpreter die nervige Meldung ‚syntax error‘ ausgibt. Syntaxfehler entsprechen grammatischen Fehlern in natürlichen Sprachen. Das heißt, Sie haben etwas eingetippt, das die Konventionen für die korrekte Schreibweise in Python verletzt. Zum Glück sind Syntaxfehler normalerweise leicht zu beheben. Finden Sie einfach die entsprechenden Codezeile und überprüfen Sie die Syntax noch einmal.
Laufzeitfehler treten auf, wenn Sie ein syntaktisch korrektes Programm geschrieben haben, aber Python beim Ausführen ein Problem findet. Ein Beispiel für einen Laufzeitfehler ist, irgendwo im Code versehentlich zu versuchen, eine Zahl durch null zu teilen (in allen Sprachen eine ungültige mathematische Operation). Um Laufzeitfehler zu beheben, sehen Sie sich die entsprechende Fehlermeldung an und gehen zu der Stelle in Ihrem Code, an der der Laufzeitfehler auftritt.
Semantische Fehler werden auch als logische Fehler bezeichnet. Bei einem semantischen Fehler scheint Ihr Programm korrekt zu laufen. Der Interpreter beschwert sich weder über Syntaxfehler, noch gibt es Probleme zur Laufzeit. Trotzdem hat das Programm nicht das erwartete Ergebnis. Diese Fehler passieren immer, wenn Sie glauben, Ihrem Programm die richtigen Anweisungen gegeben zu haben, was dann aber nicht stimmt. Semantische Fehler sind oft am schwersten zu finden (oder zu »debuggen«).
(Denkt daran, dass die Einrückung in Python wichtig ist!)
if bedingung:
anweisung
if bedingung:
anweisung
else:
anweisung
if bedingung:
anweisung
elif bedingung:
anweisung
elif bedingung:
anweisung
else:
anweisung
beispiel:
punkte = input("Wie viele Notenpunkte hast du?")
if punkte > 5:
print("Macher 🤝")
elif punkte < 5:
print("Aua, der nächste Unterkurs ;(")
else:
print("Das war knapp, gerade noch so bestanden!")
(Denkt daran, dass die Einrückung in Python wichtig ist!)
Das passiert eigentlich nach dem :
und dann Enter automatisch.
for element in liste:
anweisung
Beispiele:
for i in range(5):
print(i)
Ausgabe: 0, 1, 2, 3, 4
for i in range(5, 10):
print(i)
Ausgabe: 5, 6, 7, 8, 9
for i in range(5, 10, 2):
print(i)
Ausgabe: 5, 7, 9
while bedingung:
anweisung
Beispiel:
i = 0
while i < 5:
print(i)
i += 1
Ausgabe: 0, 1, 2, 3, 4
Das Random modul ermöglicht es z.B. zufällige Zahlen zu generieren oder zufällige Elemente aus einer Liste auszuwählen.
Dazu muss das Modul zuerst importiert werden:
import random
random.choice(liste)
Beispiel:
import random
liste = ["Kiwis", "Äpfel", "Bananen"]
print(random.choice(liste))
Mögliche Ausgaben: "Kiwis" oder "Äpfel" oder "Bananen"
random.randint(start, end)
Beispiel:
import random
print(random.randint(1, 10))
Mögliche Ausgaben: 1 oder 2 oder 3 oder 4 oder 5 oder 6 oder 7 oder 8 oder 9 oder 10
liste = ["Kiwis", "Äpfel", "Bananen"]
random.shuffle(liste)
Mögliche Ausgabe z.B: ["Äpfel", "Bananen", "Kiwis"] oder andere zufällige Reihenfolge
Warning
Leute, auch ich kann Fehler machen, es kann sein, dass sich Fehler eingeschlichen haben. Lasst es mich dann bitte unbedingt wissen. Ich korrigiere die dann.
Leute, auch ich kann Fehler machen, es kann sein, dass sich Fehler eingeschlichen haben.
Lasst es mich dann bitte unbedingt wissen. Ich korrigiere die dann.