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 09:27]
johannes_spielmann [Zahl]
programmieren_lernen:start [2025/04/04 19:19] (aktuell)
valentin_bachem
Zeile 1: Zeile 1:
-====== git ====== 
-[[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?​ +====== Inhalte ======
-  * 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+  * [[Hello World]] 
-  * Schreibe ein Programm, das "​Hallo" ​und einen in einer Variablen vorhandenen Namen ausgibt! Also z.B. "Hallo Klaus"​.+  * [[Variablen]] 
 +  * Datentypen (I)[[Einzelwerte|Einzelwerte/​Skalare]] 
 +  * [[Bedingte Anweisungen ​und Verzweigungen]] 
 +  * [[Schleifen]] 
 +  * Datentypen (II): [[Listen|Listen/​Arrays]] 
 +    * [[Argumentenliste]] 
 +  * [[Mengenschleifen und Iteratoren]] 
 +  * IO (I): [[Dateneingabe]] 
 +    * [[STDIN]] 
 +  * Datentypen (III): [[Hashtabelle|Hash/​assoziatives Array/​Dictionary]] 
 +  * [[Reguläre Ausdrücke]]
  
-===== 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"​ + 1? 
- 
-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 zur 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 ====== ====== Todo ======
-  * Sichtbarkeit von Variablen+  * IO (II): 
 +    * [[Datei importieren]] 
 +    * [[Datei lesen]] 
 +    * [[Serialisierung]] 
 +  * [[Unterprogramme|Unterprogramme/​Subroutinen/​Funktionen]] 
 +  * [[Sichtbarkeit von Variablen]]
  
 +  * [[git]]  ​
 +1
programmieren_lernen/start.1399886876.txt.gz · Zuletzt geändert: 2014/05/12 09:27 von johannes_spielmann