Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:

Ähnliche Präsentationen


Präsentation zum Thema: "Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:"—  Präsentation transkript:

1 Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:

2 Programmierung 1 - Repetitorium Donnerstag, den Kapitel 8 Direkt ausführbare Programme

3 Programmierung 1 - Repetitorium 8.1 Zeichen und Zeichenreihen Zeichenreihe = Werte des Typs string leere Zeichenreihe = Zeichen = Wert des Typs char Informatik #S Konvertierungsprozeduren : explode : string char list implode : char list string ord : char int chr : int char SML [#S,#M,#L] [#S,#M,#L] SML #A #A Hinweis : Große Buchstaben werden mit kleineren Zahlen dargestellt als kleine Buchstaben ! Sonderzeichen : \ Anführungszeichen \\ Backslash \t Tabulator \n Zeilenwechsel

4 Programmierung 1 - Repetitorium 8.1 Zeichen und Zeichenreihen Die Operation ^ konkateniert zwei Zeichenreihen. lexikographische Vergleiche auf Zeichenreihen mit, >= size : string intliefert die Länge einer Zeichenreihe Prozeduren zum Konvertieren zwischen ganzen Zahlen und Zeichenreihen : Int.toString : int stringInt.fromString : string int option weitere Funktionen : siehe Standardstrukturen Char und String Eine Auflistung der gesamten Bibliothek von Moscow ML ist hier zu finden :

5 Programmierung 1 - Repetitorium 8.2 Übersetzung Der Übersetzer überprüft das Quellprogramm zunächst auf Zulässigkeit und meldet eventuelle Fehler. Nur wenn das Quellprogramm fehlerfrei ist, wird ein Objektprogramm erzeugt. Ausgabeprozedurprint : string unit Übersetzermosmlc CommandLine.arguments : unit string list Das Laden von Standardstrukturen ist beim Arbeiten mit dem Übersetzer nicht erforderlich. app : (a unit ) a list unit wendet eine Prozedur auf jedes Element einer Liste an : app p [ x 1,..., x n ] = ( p x 1 ;... ; p x n ) liefert die Startargumente als Zeichenreihe.

6 Programmierung 1 - Repetitorium 8.3 Dateien und Prozesse Das Dateisystem realisiert einen Speicher, dessen Einträge (die Dateien) jeweils aus einem Namen (dem Dateinamen) und einer Zeichenreihe (dem Inhalt der Datei) bestehen. Ein Programmaufruf ist eine Folge p a 1,..., a n von Zeichenreihen. Dabei ist p der Name der Datei, in der das Programm steht. Die Zeichenreihe a 1,..., a n sind die Startargumente. Wenn das Betriebssystem einen Programmaufruf ausführt, erzeugt es einen Prozess, in dem das Programm ausgeführt wird.

7 Programmierung 1 - Repetitorium 8.4 Lesen und Schreiben von Dateien Mithilfe der Standardstruktur TextIO können Programme auf das Dateisystem des Betriebssystems zugreifen und Dateien lesen und schreiben. Lesevorgang : Öffnen einer Datei mit TextIO.openIn : string instream Zeile aus dem Eingabstrom lesen mit TextIO.inputLine : instream string Schließen einer Datei mit TextIO.closeIn : instream unit Schreibvorgang : Öffnen einer Datei mit TextIO.openOut : string outstream Zeichen in Datei schreiben mit TextIO.output : outstream * string unit Schließen einer Datei mit TextIO.closeOut : outstream unit

8 Programmierung 1 - Repetitorium 8.5 Interaktive Programme immer offener Eingabestrom TextIO.stdIn Wenn der Benutzer noch keine Zeile eingegeben hat, blockiert die Ausführung des Ausdrucks TextIO.inputLine TextIO.stdIn solange, bis der Benutzer eine Zeile eingibt. Die Ausführung eines direkt ausführbaren Programms kann übrigens immer mit Gewalt durch die Eingabe von Ctrl + c abgebrochen werden.

9 Programmierung 1 - Repetitorium 8.6 Imperative Prozeduren fun date () = Date.toString(Date.fromTimeLocal(Time.now())) liefert das aktuelle Datum mit Uhrzeit Prozeduren, deren Semantik vollständig durch die zugeordnete Funktion beschrieben wird, werden als funktionale Prozeduren bezeichnet. Alle anderen Prozeduren werden als imperative Prozeduren bezeichnet. date ( ) = date ( ) kann durchaus zu false auswerten


Herunterladen ppt "Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:"

Ähnliche Präsentationen


Google-Anzeigen