Programmierung 1 - Repetitorium

Slides:



Advertisements
Ähnliche Präsentationen
Imperative Programmierung
Advertisements

der Universität Oldenburg
Strukturen in C Spelz, Sievers, Bethke.
Programmierung: Einführung
Hochschule Fulda – FB ET Sommersemester 2010
Ausführen.
Programmierung 1 - Repetitorium
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Programmierung 1 - Repetitorium
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Programmierung 1 - Repetitorium
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Programmierung 1 - Repetitorium
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Programmierung 1 - Repetitorium
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
M a r c – o l i v e r p a h l Informatik II – Kapitel 14 Hashing Zusammenfassung des Kapitel 14 Küchlin, Weber, Einführung in die Informatik, 2.Auflage.
Sortieren I - Bubblesort -
Imperative Programmierung -Entwicklungswerkzeuge
Parser generieren Yet Another Compiler – Compiler YACC.
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
Java: Dynamische Datentypen
Parser - Verfahren: Rekursiver Abstieg
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
Dateihandles Um in Perl eine bestimmte Datei zum Lesen, Schreiben oder Anhängen zu öffnen, benötigt man so genannte Dateihandles. Ein Dateihandle ist der.
SWITCH - Anweisung.
ARRAY oder FELD oder VEKTOR
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 9 Claudio Moraga; Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Imperative Programmierung Funktionen und Parameter
Imperative Programmierung
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Das erste Programm (Folie 16)
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Der C-Präprozessor EDV1 - 04Präprozessor.
DVG Einführung in Java1 Einführung in JAVA.
Der C-Präprozessor 08-CPräprozessor.
Datenströme DVG Datenströme.
boolean Datentyp und Operator
Visualisierung funktionaler Programme
Einführung in die Programmierung
Programmieren mit MS Small Basic
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Wiederholte Programmausführung
Permanente Datenspeicherung
PG5 Building Advanced / DDC Suite 2.0 BACnet
Variablen in Programmiersprachen
Informatik II Grundlagen der Programmierung Programmieren in C Benutzerinteraktion / Ein- und Ausgabe Hochschule Fulda – FB ET Sommersemester
DATEISPEICHER in der S P S
1 Tagesüberblick 2 Lösung Hausaufgabe/Fragen Datei- ein- und ausgabe Schleifen Vergleiche Wahrheit.
Beispiel 8 aus den Vorlesungsbeispielen (2) Struktogrammentwurf schrittweise.
Kommandozeile und Batch-Dateien Molekulare Phylogenetik – Praktikum
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Mensch – Maschine - Kommunikation
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Blockseminar Allgemeine Technologien II Dozent: P. Sahle März 2009 PHP in HTML Referentin: Angela Brinck.
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
Der Taskmanager ist Bestandteil des Betriebssystems, der als Prozessmanager Prozessmanager unter anderem die aktuell laufenden Programme und Prozesse.
Datentypen: integer, char, string, boolean
 Präsentation transkript:

Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage: http://info1.marcwagner.info

Direkt ausführbare Programme Donnerstag, den 10.04.03 Kapitel 8 Direkt ausführbare Programme

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

8.1 Zeichen und Zeichenreihen Die Operation ^ konkateniert zwei Zeichenreihen. lexikographische Vergleiche auf Zeichenreihen mit < , <= , > , >= size : string → int liefert die Länge einer Zeichenreihe Prozeduren zum Konvertieren zwischen ganzen Zahlen und Zeichenreihen : Int.toString : int → string Int.fromString : string → int option weitere Funktionen : siehe Standardstrukturen Char und String Eine Auflistung der gesamten Bibliothek von Moscow ML ist hier zu finden : http://www.dina.dk/~sestoft/mosmllib/

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. Ausgabeprozedur print : string → unit Übersetzer mosmlc CommandLine.arguments : unit → string list liefert die Startargumente als Zeichenreihe. 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 [ x1 , ... , xn ] = ( p x1 ; ... ; p xn )

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 a1, ... , an von Zeichenreihen. Dabei ist p der Name der Datei, in der das Programm steht. Die Zeichenreihe a1 , ... , an sind die Startargumente. Wenn das Betriebssystem einen Programmaufruf ausführt, erzeugt es einen Prozess, in dem das Programm ausgeführt wird.

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.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.

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