Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


programmieren_lernen:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
programmieren_lernen:start [2014/05/12 13:17]
johannes_spielmann [Bedingte Anweisung und Verzweigung]
programmieren_lernen:start [2023/12/27 13:18] (aktuell)
91.240.118.241 alte Version wiederhergestellt (2018/12/09 15:12)
Zeile 1: Zeile 1:
-====== git ====== +@@ErV2a
-[[git]] +
-====== Hello World ====== +
-  * interaktive Shell +
-  * Quellcode-Datei +
-====== Variablen ====== +
-Erklärung: Variablen sind Namen für Werte, ... +
- +
-  * Was sind die Namenskonventionen/​Wie dürfen Variablen heißen? Wird Gross/​Kleinschreibung unterschieden?​ +
-  * Wie weise ich einer Variable einen Wert zu? Muss ich Variablen deklarieren?​ +
-  * Wie lese ich den Wert einer Variablen wieder aus/wie benutze ich den Wert einer Variablen?​ +
- +
-Durchgängiges Beispiel: +
-  * Schreibe ein Programm, das "​Hallo"​ und einen in einer Variablen vorhandenen Namen ausgibt! Also z.B. "Hallo Klaus"​. +
- +
-===== Datentypen (I): Skalar ===== +
-Erklärung: Werte haben verschiedene Typen +
- +
-==== Zahl ==== +
- +
-  * Wie stelle ich eine (Dezimal-)zahl dar?  +
-  * Wie berechne ich die folgenden arithmetischen Operationen:​ +
-    * addieren +
-    * subtrahieren +
-    * multiplizieren +
-    * dividieren +
-    * potenzieren +
-  * Was ist das Ergebnis von:  +
-    * ''​3 * 5 + 2''?​  +
-    * ''​2 + 5 * 3''?​ +
-    * ''​(2 + 5) * 3''?​ +
-    * ''​2 + (5 * 3)''?​ +
-    * ''​10/​3''?​ +
-    * ''​10.0 / 3''?​ +
-    * ''​10.0 / 3 / 10''?​ +
-    * ''​10.0 / 3 / 10 * 3 * 10''?​  +
-    * ''​10.0 / 3 / 10 * 10 * 3''?​ +
-    * ''​10000000000000000.0 + 1''?​  +
-    * ''​10000000000000000 + 1''?​ +
-  * Gibt es einen Tausendertrenner?​ +
-  * Welche Größenbeschränkungen kennt meine Sprache? Mit welcher Genauigkeit arbeitet sie? +
- +
-==== String ==== +
- +
-  * Wie definiere ich einen String? +
-  * Welche unterschiedlichen Arten gibt es? Und wie unterscheiden die sich? +
-  * Wie kann ich Strings aneinanderfügen?​ +
-  * Gibt es sowas wie sprintf? +
-  * Wie kann ich Variablen in Text einbauen? +
-  * Wie kann ich die Länge eines Strings herausfinden?​ +
-  * Was ist ''"​1000"​ + 2''?​ Was ist ''"​1000"​ * 2''?​ +
- +
-Durchgängiges Beispiel: +
-  * Ergänze das hello-world Programm so, dass ein ganzer Satz ausgegeben wird, z.B. "Hallo Klaus!"​. Verwende dabei Interpolation. +
- +
-==== Boolean ==== +
-  * Wie kann ich Zahlen vergleichen?​ Größer, kleiner, gleich? +
-  * Wie kann ich das Ergebnis eines Vergleiches in Perl sehen?  +
-    * Einschub: Ternärer Operator +
-  * Wie kann ich Strings vergleichen?​ Gleich, ungleich? +
-  * Wie kann ich Zahlen und Strings vergleichen?​ +
-  * Wie kann ich Vergleiche verknüpfen?​ Und, Oder, Nicht, ...? +
-  * Wie kann ich testen, ob eine Zahl zwischen zwei Werten liegt? +
-  * Was ist der Wahrheitswert von: +
-    * 0 +
-    * 0.0 +
-    * 1 +
-    * 0.1 +
-    * "​0"​ +
-    * ""​ +
-    * "​true"​ +
-    * "​false"​ +
- +
-==== undefinierte Werte ==== +
-  * Welches Schlüsselwort steht für den undefinierten Wert? +
-  * Was passiert, wenn ich einen undefinierten Wert als Zahl, Text oder Boolean verwende? +
- +
-====== Bedingte Anweisung und Verzweigung ====== +
-  * Wie kann ich abhängig von einer Bedingung verschiede Anweisungen zum Ausführen bringen? +
- +
-Durchgängiges Beispiel: +
-  * Ergänze das hello-world Programm so, dass bei Namen mit weniger als 10 Zeichen ​ "Guten Tag Klaus",​ und bei längeren Namen "Hallo ..." ausgegeben wird. +
- +
-====== Schleifen ====== +
-Erklärung: Wenn man Dinge mehrmals ausführen möchte, benutzt man eine [[wpde>​Schleife_(Programmierung)|Schleife]].  +
-  * Wie formuliert man eine kopfgesteuerte Schleife? +
-  * Wie formuliert man eine fußgesteuerte Schleife? +
-  * Wie formuliert man eine Zählschleife?​ +
- +
-Durchgängiges Beispiel: +
-  * Ergänze das Programm so, dass: +
-    * der Gruß unendlich oft ausgegeben wird. +
-    * der Gruß genau 10 Mal ausgegeben wird (mit Nummerierung). +
- +
- +
-====== Datentypen (II): Array ====== +
- +
-Erklärung: was ist ein Array/eine Liste? Container für mehrere Dinge hintereinander +
- +
-  * Packe die folgenden Elemente in ein Array/eine Liste: ''"​eins",​ 2, 3.0''​ +
-  * Gebe die Länge der vorherigen Liste aus. +
-  * Gebe die Elemente einzeln wieder aus. +
-  * Weise dem zweiten Element der Liste einen neuen Wert zu. +
-  * Welchen Wert enthält die Variable ''​liste''​ am Ende von folgendem Pseudocode:  +
-<​file>​ +
-a = "​eins"​ +
-b = 2 +
-c = 3.0 +
-liste = [a,b,c] +
-a = 5 +
-</​file>​ +
-  * Wie füge am Ende bzw. am Anfang einer Liste ein oder mehrere Elemente an?  +
-  * Wie schneide ich sie ab?  +
-  * Wie füge ich zwei Listen zusammen? +
-  * Wie finde ich heraus, ob ein bestimmter Wert in einer Liste enthalten ist? +
-  * Wie füge ich ein Array zu einem String zusammen? +
-  * Wie wandle ich einen String der Spaltentrenner enthält in ein Array/eine Liste um? +
-  * Was ist der Wahrheitswert von: <​code>​[],​ [''​],​ [0], [False]</​code>​ +
- +
- +
-===== Die Argumentenliste ===== +
-Erklärung +
- +
-  * Erweitere das hello-world Programm so, dass es es den übergebenen Namen ausgibt, wenn er vorhanden ist, sonst ''​Klaus''?​ +
-  * Erweitere das Programm so, dass auch mehrere Namen auf der Kommandozeile übergeben werden können und alle einzeln als Gruß ausgegeben werden! +
- +
- +
-====== Mengenschleifen und Iteratoren ====== +
-Erklärung: Anstatt eine Schleife über Indizes laufen zu lassen, wäre es doch besser, die Schleife über die Elemente der Liste laufen zu lassen. +
- +
-  * Schreibe dein Programm so um, dass es über die eingegebenen Namen iteriert. +
-====== IO (I) ====== +
-Diskussionsfrage:​ Auf welche Arten kann ein Programm mit der Außenwelt kommunizieren?​ +
- ​-->​ Wir wollen: Tastatur (stdin/​stdout),​ Dateien lesen als Daten, Dateien eval'​en +
-===== STDIN ===== +
-  * Wie kann ich Eingaben von der Tastatur/​stdin einlesen? +
-  * Erweitere das Programm, so dass der Benutzer gezwungen wird einen Namen für die Begrüßung einzugeben, sofern kein Name in der Argumentenliste angegeben wurde.  +
- +
-===== Datei importieren ===== +
-  * Können wir Variablen aus anderen Dateien einlesen? --> import/​include/​eval/​... +
-  * Aufgabe: Erweitere das Programm so, dass der Benutzername in einer Konfig-Datei festgelegt wird. +
- +
-====== Datentypen (III): Hash ====== +
-  * Erklärung: was ist ein Hash/​Dictionary?​ +
-  * Wie lege ich einen leeren Hash an? +
-  * Wie lege ich einen Hash incl. erster Elemente an? +
-  * Wie füge ich neue Elemente hinzu? +
-  * Wie lese ich ein Element aus? +
-  * Wie verändere ich Elemente, die schon im Hash drin sind? +
-  * Wie finde ich die Menge aller Schlüssel? Werte? +
-  * Wie iteriere ich über alle Einträge?​ +
-  * Wann kann ich ein Array in einen Hash umwandeln? Wie geht das? +
-  * Wie kann ich einen Hash in ein Array umwandeln?​ +
- +
-  * Aufgabe: Erstelle eine Statistik über die Häufigkeit von Zeichen, die über stdin gelesen werden (z.B. '​a':​ 5, '​b':​ 10, ...). +
-  * Aufgabe: In einer von uns bereitgestellten Log-Datei, finden Sie die Häufigkeit der Worte "​POST",​ "​GET",​ "​200",​ "​500",​ "​404"​ heraus. +
-====== IO (II) ====== +
-===== Datei einlesen ===== +
-  * Wie kann ich eine Datei komplett einlesen? +
-  * Wie kann ich den Inhalt von Dateien zeilenweise einlesen? +
-===== Serialisierung ===== +
-  * Wie kann ich Datenstrukturen im YAML-Format speichern?​ +
-  * Wie kann ich Datenstrukturen aus YAML-Dateien einlesen? +
-  * Wie kann ich Datenstrukturen im JSON-Format speichern?​ +
-  * Wie kann ich Datenstrukturen aus JSON-Dateien einlesen? +
-====== Reguläre Ausdrücke ====== +
-  * Einführung in Reguläre Ausdrücke mit egrep +
-  * Wie kommen die RE in meine Sprache rein? +
-  * Wie speichere ich die Ergebnisse eines Treffers in ein Array? +
-  * Wie benutze ich einen Regulären Ausdruck um die Gültigkeit einer Eingabe als Telefonnumer zu überprüfen?​ +
-====== Subroutinen/​Funktionen ====== +
-  * Einführung Subroutinen +
-====== Todo ====== +
-  * Sichtbarkeit von Variablen +
programmieren_lernen/start.1399900663.txt.gz · Zuletzt geändert: 2014/05/12 13:17 von johannes_spielmann