Um eine Datei in Prolog zu lesen oder zu schreiben bietet die Prolog-Bibliothek viele Prädikaten. Mittels der Prädikat
|
|
- Jacob Fürst
- vor 6 Jahren
- Abrufe
Transkript
1 Lesen und schreiben aus einer Datei Um eine Datei in Prolog zu lesen oder zu schreiben bietet die Prolog-Bibliothek viele Prädikaten. Mittels der Prädikat /* working_directory(-old, +New) kann man den aktuelle Verzeichniss ändern bzw. durch den Aufruf von working directory(path, Path) das aktuelle Verzeichnis ablessen. open(file, read, Stream, [alias(in\_file)]) Öffnet die angegebene File zum Lesen und markiert den Inputstream mit in file. open(file, write, Stream, [alias(out\_file)]) Öffnet die angegebene File zum Schreiben und markiert den Outputstream mit out file. close(+stream) Schliesst der angegebenen Stream. Häufig ist das folgende repeat, % Markiert den Platz ab welche nach Alternativen gesucht wird ( Bedingung % Falls die Bedingung einmal true wird, wird mit dem Cut die repeat- ->! % Schleife abgebrochen ; % else Aktion, % tue etwas fail % Setze false, damit den Interpreter nach weitere Alternativen suchen kann, % d.h. tue der nexte Durchlauf. ) Programmkonstrukt sehr nützlich z.b. das folgende Prädikat liest eine Datei und gibt ihre Inhalt auf die Konsole aus. read_and_print_file(file):- open(file,read,stream), repeat, ( at_end_of_stream(stream) ->! ; get_char(stream, Char), write(char), fail ), Programmieren sie einen Prädikat /* copy_file(+input_file,+output_file)<- welches das obere Konstrukt benutzt um eine Datei in eine andere Datei zu kopieren. Man sieht sofort, dass bei der oberen repeat-konstruktion keine Parameterübergabe oder Mitführung von Listen in den einzelne Durchlaufe möglich ist. Dacher ist sinnvoll ein eigenes Prädikat zu schreiben, das flexibel den Stream behandelt. 1
2 /* pred(+stream,?param1 oder -Liste1,?Param2 oder -Liste2,...)<- pred(stream, Parameter1 oder Liste1, Parameter2 oder Liste2,...):- not(at end of stream(stream)), % Solange das Ende des Streams nicht erreicht wurde action, % tue etwas % Schneide die Alternativen, damit das Stream % korrekt geschlossen werden kann pred(stream, Prameter1 oder List1,...). % Nexter Durchlauf, wobei die Parametern % direkt übergeben werden und die Listen sind % das Ergebniss aus dem nexten Durchlauf. Konkretes Beispiel: /* get_file_in_codes(+file,-codes)<- get_file_in_codes(file,codes):- open(file,read,stream), get_codes(stream,codes). % Das Pr"adikat get_codes(stream,[code Codes]):- get_code(stream,code), get_codes(stream,codes). get_codes(stream,[]):- Ein weiteres Beispiel sollten Sie schreiben, welche eine Datei z.b.: line1 line2 line3 einliest und in eine Liste, deren Elementen Listen mit den Zeileninhalt sind z.b. Liste =[[l, i, n, e, 1 ], [l, i, n, e, 2 ], [l, i, n, e, 3 ]], speichert. Das Predikat soll die folgende Schnittstelle haben Hinweis: /* read_file_in_lines(+file,-lines)<- Benutzen einen Parameter Delim= n. Man wandelt eine Code in eine Character und umgekehrt mittels das Prädikat /* char_code(?char,?code)<- Denken Sie an ein drittes Predikat welche die Line-Listen bildet. Die Codes bzw. die Chars lassen sich genau so wie in C++ klassifizieren, unter?- help(4-22). 2
3 oder finden Sie eine Beschreibung für die verschiedenen Char-Typen in Prolog. Schreiben Sie ein Prädikat /* split_file_in_types(+file,-types)<- das eine Datei einliest und die Zeichen nach sienen Type anordnet. Zulässige Types sind csymf, digit, punct, newline und space. Beispiel: Sei die Datei ddb/input.txt : pred(x,y):- write(x), write(y). gegeben, dann liefert den Aufruf?- split_file_in_types( ddb/input.txt,types),write(types). Types = [csymf:[p, r, e, d], punct:[ ( ], csymf:[ X ], punct:[ (, )], csymf:[ Y ], punct:[ ), :, -], newline:[ \n ], space:[ \t ], csymf:[w, r, i, t, e], punct:[ ( ], csymf:[ X ], punct:[ ), (, )], newline:[ \n ], space:[ \t ], csymf:[w, r, i, t, e], punct:[ ( ], csymf:[ Y ], punct:[ ),. ], newline:[ \n ]]; No?- Anleitung: Sreiben Sie ein Prädikat /* ordne_type(?char,?type)<-,das?type mit dem Typ von?char gefolgt von Doppelpunkt und eine einlementige Liste mit?char unifiziert. Schreiben Sie ein Prädikat /* split_in_types_list(+stream,-types)<-, das jedes Zeichen aus dem Stream seinen Typ anordnet. z.b.?- open( ddb/input.txt,read,stream), split_in_types_list(stream,types). Stream = \$stream ( ) Types = [csymf:[p], csymf:[r], csymf:[e], csymf:[d], punct:[ ( ], csymf:[ X ], punct:[ (, )], csymf:[ Y ], punct:[ ) ], punct:[:], punct:[-], newline:[ \n ], space:[ \t ], csymf:[w], 3
4 csymf:[r], csymf:[i], csymf:[t], csymf:[e], punct:[ ( ], csymf:[ X ], punct:[ ) ], punct:[ (, )], newline:[ \n ], space:[ \t ], csymf:[w], csymf:[r], csymf:[i], csymf:[t], csymf:[e], punct:[ ( ], csymf:[ Y ], punct:[ ) ], punct:[. ], newline:[ \n ]] ; No?- Schreiben Sie ein Prädikat /* merge_types(+types,-merged)<-, welches benachbarte Zeichen von gleichen Typ zusammenfasst. oder Sie können die gelesenen Zeichen sofort anordnen, d.h. ohne den Stream zuerst in einer Liste zu speichern. In diesem Fall denke man an weitere Listen die eine muss am Ende der Rekursion direkt übergeben werden. Mit dem bis jetzt gelernten Techiken zum Arbeit mit einem Stream überlegen Sie sich wie könnte ein search in file(+file,+regex) Prädikat ohne das Zwischenspeichern des Codes in einer Liste implementiert werden? 4
5 Musterlösungen: /* copy_file(+input_file,+output_file)<- copy_file(file1,file2):- open(file1,read,_,[alias(in)]), open(file2,write,_,[alias(out)]), repeat, ( at_end_of_stream(in) ->! ; get_code(in, Code), put_code(out,code), fail ), close(in), close(out). /* read_file_in_lines(+file,-lines)<- read_file_in_lines(file,lines):- open(file,read,stream,[alias(in_file)]), read_from_stream(stream, \n,lines). read_from_stream(stream, Delim,[Line Lines]):- get_next_line(stream,delim,line), read_from_stream(stream,delim,lines). read_from_stream(stream,_,[]):- get_next_line(stream,delim,[char Chars]):- get_char(stream,char), Char \= Delim, get_next_line(stream,delim, Chars). get_next_line(_,_,[]). 5
6 /* split_file_in_types(file,types_2)<- split_file_in_types(file,types_2):- open(file,read,stream), split_in_types_list(stream,types_1), write(types_1), merge_types(types_1,types_2). /* split_in_types_list(+stream,-types)<- split_in_types_list(stream,[type Types]):- get_char(stream,char), ordne_type(char,type), split_in_types_list(stream,types). split_in_types_list(stream,types):- split_in_types_list(stream,types). split_in_types_list(stream,[]):- ordne_type(char,csymf:[char]):- char_type(char,csymf). ordne_type(char,digit:[char]):- char_type(char,digit). ordne_type(char,punct:[char]):- char_type(char,punct). ordne_type(char, newline:[char]):- char_type(char, newline). ordne_type(char,space:[char]):- char_type(char,space). /* merge_types(types,merged)<- merge_types(types,merged):- [T:_ _] = Types, merge_types(types,t:[],[],merged). merge_types([last:char Xs],Last:L,Merged,Merged2):- append(l,char,m), merge_types(xs,last:m,merged,merged2). merge_types([x Xs],Last:L,Merged,Merged2):- append(merged,[last:l],m), merge_types(xs,x,m,merged2). merge_types([],last:l,merged,m):- append(merged,[last:l],m). 6
Dateien und Module. Heute: Ein- und Ausgabe. Module. Programmierkurs Prolog p.1
Dateien und Module Heute: Ein- und Ausgabe Module Programmierkurs Prolog p.1 Ausgabe auf den Bildschirm?- X= Hagrid, write( Hallo ), write(x). Hallo Hagrid X = Hagrid?- write(ron),nl,write(hermione). ron
Mehr13.2) Implementieren Sie nun das Prädikat differenz/3 indem nur Elemente vorkommen die exklusiv in L1 vorkommen. L1=[1,2,3,4],L2=[3,4,5,6],L3=[1,2]
Aufgabenblatt 6: Einführung in das Symbolische Programmieren CIS, WS 2010 ===================================================================== Lösung Aufgabe 13 13.1) Gegeben seinen zwei Listen, L1 und
MehrEinführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe
Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt
MehrEinführung in die Informatik Algorithmen und Datenstrukturen. Thema 12 Datenverarbeitung
Einführung in die Informatik Algorithmen und Datenstrukturen Thema 12 Datenverarbeitung Daten - Definitionen Foto? Text? Musik? Video? Zeichnung? Programm? Daten, urspr. svw. geschichtl. Zeitangaben; heute
MehrEine Mini-Shell als Literate Program
Eine Mini-Shell als Literate Program Hans-Georg Eßer 16.10.2013 Inhaltsverzeichnis 1 Eine Mini-Shell 1 1.1 Einen Befehl parsen......................... 2 1.2 Was tun mit dem Kommando?...................
MehrVorlesung Programmieren. Java I/O: Input und Output mit Java. Ein-/Ausgabe von Daten. Java I/O. Heute. Grundlage fast aller Programme
Vorlesung Programmieren Java I/O Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Java I/O: Input und Output mit Java Heute Ein-/Ausgabe
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf
MehrHeap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen
Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
Mehr6 Speicherorganisation
Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für
MehrHeap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen
Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
MehrProgrammier-Befehle - Woche 10
Funktionen Rekursion Selbstaufruf einer Funktion Jeder rekursive Funktionsaufruf hat seine eigenen, unabhängigen Variablen und Argumente. Dies kann man sich sehr gut anhand des in der Vorlesung gezeigten
MehrDateizugriff unter C
Begriffe Dateizugriff unter C Datei = sequentielle Ansammlung von Datenbytes, z.b. auf einer Festplatte Auch Bildschirm und Tastatur werden wie Dateien behandelt: Bildschirm ist die Datei stdout Tastatur
MehrReihenfolge von Klauseln
Reihenfolge von Klauseln Bei der Programmierung in Prolog steht grundsätzlich die Repräsentation logischer Zusammenhänge im Vordergrund. Nichtsdestotrotz ist es unvermeidbar, die Mechanismen der Abarbeitung
Mehr3.4 Struktur von Programmen
3.4 Struktur von Programmen Programme sind hierarchisch aus Komponenten aufgebaut. Für jede Komponente geben wir Regeln an, wie sie aus anderen Komponenten zusammengesetzt sein können. program ::= decl*
MehrLesen und Schreiben von Dateien
Lesen und Schreiben von Dateien Pfade, Text-Dateien und Binäre Dateien Dr. Beatrice Amrhein Überblick Der Verzeichnis-Pfad Kopieren, Verschieben, Ändern oder Löschen von Dateien Lesen und Schreiben von
MehrTokenizer. Motivation. Ein einfacher Tokenizer. Zweck und Funktion eines Tokenizers. These are words. Eingabe = [these,are,words,'.'].
Tokenizer Motivation Übersicht Was sind Tokenizer? Der Tokenizer von Covington Aufrufdiagramm Definition und Arbeitsweise der einzelnen Prädikate Programmiertechnik Look-Ahead Wort- und Satzgrenzen erkennen
MehrProgrammiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm
Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 23
Kapitel 16 Datei Aus- und Eingabe Seite 1 von 23 Datei Aus- und Eingabe - Für die Ausgabe auf Dateien und die Eingabe von Dateien werden die Streams ofstream und ifstream verwendet. - Sie sind in der Bibliothek
MehrC# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen
C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
Mehr7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele
MehrProgrammieren 2 Selbststudium Semesterwoche 6
Programmieren 2 Selbststudium Semesterwoche 6 1. Datenströme (Basis: Handout PRG2_SW6_OOP) 1. Gehen Sie nochmals die Kontrollfragen A durch. A.1. Ein JavaProgramm liest Daten aus einem???strom. InputStream
Mehreinlesen n > 0? Ausgabe Negative Zahl
1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen
MehrEine kurze Einführung in Vim
Eine kurze Einführung in Vim Johannes Englisch Universität Leipzig Institut für Linguistik Seminar Sprachwissenschaftliche Elementarkompetenz Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten
MehrObjektorientiertes Programmieren für Ingenieure
Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen
MehrEinführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrInformatik I Übung, Woche 40
Giuseppe Accaputo 2. Oktober, 2014 Plan für heute 1. Fragen & Nachbesprechung Übung 2 2. Zusammenfassung der bisherigen Vorlesungsslides 3. Tipps zur Übung 3 Informatik 1 (D-BAUG) Giuseppe Accaputo 2 Nachbesprechung
Mehr6.1.5 Verzeichnisdateien
6.1.5 Verzeichnisdateien Anstelle eines zentralen Verzeichnisses: Menge von Verzeichnisdateien (directory files), die selbst in Verzeichnissen verzeichnet sind, alle ab einem Wurzelverzeichnis (root directory)
MehrArithmetik in der tcsh
Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3
Mehr10: Serial Communication Interface (SCI)
10: Serial Communication Interface (SCI) Sie verstehen das RS-232 Protokoll sowie das Zusammenspiel zwischen HW und SW bei der Kommunikation über die serielle Schnittstelle. 1. Systemüberblick Vom PC aus
MehrAutomaten und das State Pattern
Automaten und das State Pattern Axel Böttcher 24. September 2012 (GUI-)Logik mittels Automaten realisieren Das Problem, komplizierte Logik zu implementieren tritt recht häufig auf. Smells: häufig wiederholte
Mehr13 Reguläre Ausdrücke
13 Reguläre Ausdrücke 13.1 Übungsaufgabe 13.1.1 Aufgabe 1 Schreiben Sie ein C++ Programm, das eine txt-datei (UTF8 kodiert) öffnet und mit wcin alle Wörter einliest, Punktuationszeichen am Anfang und Ende
MehrEinführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrKünstliche Intelligenz Unifikation, Backtracking, Rekursion und Listen in Prolog
Künstliche Intelligenz fikation, Backtracking, Rekursion und Listen in Prolog Stephan Schwiebert WS 2008/2009 Sprachliche Informationsverarbeitung Institut für Linguistik versität zu Köln Aufgabe: Stammbaum
MehrPython 2. Vorlesung Computerlinguistische Techniken Alexander Koller. 28. Oktober 2014
Python 2! Vorlesung Computerlinguistische Techniken Alexander Koller! 28. Oktober 2014 Listen Sequenz von beliebigen Werten. Literale: [], [1,2,3], [ hallo, True, -5.0] Hinten an Liste anhängen: L.append(27)
Mehr4 Schleifen und Dateien
4 Schleifen und Dateien 4.1 Übungsaufgabe 4.1.1 Aufgabe 1 Schreiben Sie drei C++ Programme: pword_for.cxx, pword_while.cxx, pword_do.cxx. Die Programme sollen den Benutzer höchstens 5 Mal nach einem Passwort
MehrKlausur Software-Entwicklung März 01
Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,
MehrProbeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten
Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, 13.00-14.45 Uhr Bearbeitungszeit: 105 Minuten Schalten Sie ihr Mobiltelefon aus. Bei der Klausur ist als einziges
MehrIm Mathe-Pool startet man Eclipse am besten aus einer Shell heraus, und zwar indem man im Home- Verzeichnis den Befehl
Eclipse Eclipse ist eine IDE (Integrierte Entwicklungsumgebung), die speziell auf das Programmieren in Java zugeschnitten (und auch selbst in Java geschrieben) ist. Eine solche IDE vereint die Funktionalität
Mehr7. Pakete Grundlagen der Programmierung 1 (Java)
7. Pakete Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 29. November 2005 Einordnung im Kontext der Vorlesung 1.
MehrPraktische Übung. Die Lernplattformen ILIAS ist mit Stud.IP verbunden, sodass Sie Lernmodule dieser Plattform
Informatik I Wintersemester 2016/2017 Prof. Dr. Carsten Damm Georg-August-Universität Göttingen Dr. Henrik Brosenne Institut für Informatik Übung 1 Praktische Übung Testate von Di., 01.11., 8-10 Uhr bis
MehrPraxis der Programmierung
Dynamische Datentypen Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Dynamische Datentypen 2 Dynamische Datentypen
MehrGI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
MehrEinstieg in die Informatik mit Java
1 / 17 Einstieg in die Informatik mit Java String Tokenizer Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick Tokenizer 2 StringTokenizer 3 Verwendung von String.split
MehrÜbersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!
!!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit
MehrErwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
MehrKlausur "ADP" SS 2015
PD Dr. J. Reischer 20.7.2015 Klausur "ADP" SS 2015 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes aus! Die Klausur
MehrKlausur Fachprüfung Wirtschaftsinformatik Dauer: 2 Stunden. Name:
Klausur Fachprüfung Wirtschaftsinformatik Dauer: 2 Stunden Datum: 17.07.2003 Name: Punkte True-or-False: von 15 Punkte Multiple Choice: von 15 Punkte Quickies: von 30 Punkte Shorties: von 20 Punkte Longies:
MehrProgrammieren in Java
Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang
MehrAufgabe 19. %Warum ist auch [X] drin? %
Aufgabenblatt 8: Einführung in das Symbolische Programmieren CIS, WS 2010 ===================================================================== Lösungsvorschlag Aufgabe 19 Schreiben Sie ein Programm zur
MehrEinführung in die Programmierung für Computerlinguisten
EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN Dr. Maximilian Hadersbeck Leonie Weißweiler LMU Geschwister-Scholl-Platz 1 80539 München Anrede Name Straße Lösung zur 3. Übung zur Vorlesung Ludwig-Maximilians-Universität
MehrInformatik B. Vorlesung 14 Serialisierung, Autoboxing. Dr. Ralf Kunze
Vorlesung 14 Serialisierung, Autoboxing 1 Serialisierung von Objekten Die Objekte innerhalb eines Java-Programmes sollen manchmal auch nach Beendigung der JVM verfügbar bleiben Objekte müssen ab und an
MehrStreams. V by WBR1&MOU2/BFH-TI. Berner Fachhochschule Hochschule für Technik und Informatik HTI
Ein- Ausgabe Streams Unterlagen zum Modul "OOP mit Java" V 3.0 2011 by WBR1&MOU2/BFH-TI Ein- Ausgabe, Streams V3.0 2011 by WBR1&MOU2/BFH-TI Definition: Berner Fachhochschule Streams Ein Stream ist eine
MehrKapitel 3: Variablen
Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber
MehrEin- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010
Ein- und Ausgabe C - Kurs 2010 Mario Bodemann 15. September 2010 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License 1 / 46 Inhaltsverzeichnis 1 Wiederholung
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList
MehrEin- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010
Ein- und Ausgabe C - Kurs 2010 Mario Bodemann 15. September 2010 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License 1 / 46 Inhaltsverzeichnis 1 Wiederholung
MehrMMC/SD FAT 16 mit AVR und C
MMC/SD FAT 16 mit AVR und C Die Bibliothek von Roland Riegel enthält einen kompletten FAT16 Zugriff auf MMC/SD Karten über den SPI eines µc. Anforderungen: - SPI oder 5 freie PINs am Controller - Für den
MehrVersuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore.
Hochschule Harz Versuch: fcopy Mit Java FB Automatisierung und Informatik Betriebssysteme Thema: Kopieren einer Datei unter der Kontrolle von Semaphoren Versuchsziele Konzepte der parallelen Programmierung
Mehr2 Teil 2: Nassi-Schneiderman
2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der
MehrMusterlösung. Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller
Musterlösung Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit, 10:30 12:00 Uhr(90 min) Aufgabenblätter 14 Seiten(einschl. Deckblatt) erreichbare Punktzahl
MehrÜbung Praktische Informatik I
Übung Praktische Informatik I HWS 2008/2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 24.10.08 6-1 Heutige große Übung Hinweise
MehrCrashkurs Haskell Mentoring WiSe 2016/17. Anja Wolffgramm Freie Universität Berlin
Crashkurs Haskell Mentoring WiSe 2016/17 Anja Wolffgramm Freie Universität Berlin 02/11/2016 , Inhalt Kommandozeile Haskell installieren & starten Ein 1. Haskell-Programm Funktionsdefinition Primitive
MehrInstitut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme
Institut für Computational Science Prof. Dr. H. Hinterberger Praxismodul 1 Einführung in die Programmierung Erste Programme Einführung in die Programmierung 2 Institut für Computational Science, ETH Zürich,
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrStream EDitor SED und Reguläre Ausdrücke
Stream EDitor SED und Reguläre Ausdrücke ExactCODE New Thinking Store 11. Mai 2006 Was ist SED? sed steht für Stream EDitor eine Variante des Unix Editors ed und arbeitet auf Streams keine interaktiven
MehrSpeicher und Adressraum
Linearer Speicher (Adressraum) Technische Universität München Speicher und Adressraum Freie Speicherhalde (Heap) Freier Speicherstapel (Stack) Globale Variablen Bibliotheksfunktionen Laufzeitsystem Programmcode
Mehr(6) Verknüpfen der GUI mit dem Spiel
Das einzige was eurer App jetzt noch fehlt ist die Verknüpfung eurer GUI mit dem Spiel Schiffe Versenken. Damit auch alles perfekt funktioniert werdet ihr als Vorbereitung einige neue Elemente und Variablen
MehrKlausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte
Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Musterlösung 1. Aufgabe (5 Punkte) Im folgenden Programmcode sind einige Fehler enthalten. Finden und markieren Sie mindestens
MehrProgrammieren in Java
Programmieren in Java Vorlesung 02: Methoden Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 17 Inhalt Scanner
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrWorkbooster File Exchanger Command Line Tool
Thema Technische Benutzerdokumentation - WBFileExchanger Workbooster File Exchanger Command Line Tool Letzte Anpassung 18. Januar 2014 Status / Version Finale Version - V 1.1 Summary Erstellung Diese technische
MehrFunktionale Programmierung
Monaden LFE Theoretische Informatik, Institut für Informatik, Ludwig-Maximilians Universität, München 30. April 2009 Monaden Eine Monade ist ein Programmier-Schema für sequentielle Berechnungen. In Haskell
MehrEinstieg in die Informatik mit Java
1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,
MehrStrings. Daten aus Dateien einlesen und in Dateien speichern.
Strings. Daten aus Dateien einlesen und in Dateien speichern. Strings Ein String ist eine Zeichenkette, welche von MATLAB nicht als Programmcode interpretiert wird. Der Ausdruck 'a' ist ein String bestehend
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 10
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Übungsblatt Nr. 10 Aufgabe 20: Code Verständnis Löse diese Aufgabe selbständig als Vorbereitung zur Übung auf dem Papier. a) Gib
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 15. Pakete
Grundlagen der Programmierung Prof. H. Mössenböck 15. Pakete Idee Paket = Sammlung zusammengehöriger Klassen (Bibliothek) Zweck mehr Ordnung in Programme bringen bessere Kontrolle der Zugriffsrechte (wer
MehrGrundlagen der Informatik 2. Typen
Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace
MehrAufgabe: Hinweise zu der Farbwahl der Texte/Wörter: Orange ist angegeben, wo etwas ergänzt werden soll.
Aufgabe: Im Folgenden ist der Code des selbstlernenden Spiels Tiere Raten abgedruckt. Der Code ist noch nicht lauffähig. Damit das Spiel gespielt werden kann, müssen in der Klasse Tiere Raten einige Dinge
MehrDie Klasse Collection (gb) implementiert eine Hash-Tabelle, deren Elemente aus einem Wert-Schlüssel-Paar
7.5.0 Collection Die Klasse Collection (gb) implementiert eine Hash-Tabelle, deren Elemente aus einem Wert-Schlüssel-Paar bestehen. Die Schlüssel sind generell vom Typ String und die assoziierten Werte
MehrEinführung in die C-Programmierung
Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).
MehrSystemprogrammierung: Erste Schritte (P) Das Manpage-System (P) Versionsverwaltung mit Subversion (P)
Systempraktikum im Wintersemester 2009/2010 (LMU): Zum Selbststudium Foliensatz 0 Systemprogrammierung: Erste Schritte (P) Das Manpage-System (P) Versionsverwaltung mit Subversion (P) Dr. Thomas Schaaf,
MehrWiederholung: Zusammenfassung Felder. Algorithmen und Datenstrukturen (für ET/IT) Definition Abstrakter Datentyp. Programm heute
Wiederholung: Zusammenfassung Felder Algorithmen und Datenstrukturen (für ET/IT) Wintersemester / Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Ein Feld A kann repräsentiert
MehrKlausur Fachprüfung Wirtschaftsinformatik. Name:
Klausur Fachprüfung Wirtschaftsinformatik Dauer: 2 Stunden Datum: 02.10.2003 Name: Punkte True-or-False: von 15 Punkte Multiple Choice: von 15 Punkte Quickies: von 30 Punkte Shorties: von 20 Punkte Longies:
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung
Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:
MehrLinux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte
Linux Kommandozeile: Einfache Skripte AST, Wintersemester 2016/2017 1 Wiederhohlung Hier sind ein paar Befehle, die ihr letzte Woche schon kennen gelernt habt und heute benutzt. Befehl Parameter Funktion
MehrSchachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A
2.4.6. Kontrollstrukturen if-anweisung: Bedingte Ausführung (Verzweigung) 2 Varianten: if (Bedingung) Anweisung (Anweisung = einzelne Anweisung oder Block) Bedeutung: die Anweisung wird nur ausgeführt,
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Christof Beyer Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 7-1 Bisher eingeführt war für Namen nur der Datentyp char. Dieser erlaubt das Speichern
MehrEinführung in die Computerlinguistik
Einführung in die Computerlinguistik Übung 2 Laura Kallmeyer Sommersemester 204, Heinrich-Heine-Universität Düsseldorf Offizielle Python Seite, auf der man jede Menge Dokumentation findet: http://www.python.org/
MehrKünstliche Intelligenz Einführung in Prolog
Künstliche Intelligenz Einführung in Prolog Stephan Schwiebert WS 2009/20010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Was ist Programmieren? Was ist Programmieren?
MehrGran Turismo Cars - WS 11/12
WS 2011/2012 Stephan Gimbel Repetitorium PAD 1+2 Übungsblatt Gran Turismo Cars - WS 11/12 Empfehlung: Arbeiten Sie in kleinen Schritten und sorgen Sie dafür, dass Sie jederzeit ein lauffähiges Anwendungssystem
MehrProzedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
MehrProf.Dr. Alfred Irber Dies ist keine Musterprüfung, sondern eine Sammlung von Aufgaben aus früheren Prüfungen "Programmieren"
Prof.Dr. Alfred Irber 7.6.2012 Dies ist keine Musterprüfung, sondern eine Sammlung von Aufgaben aus früheren Prüfungen "Programmieren" Textformatierung (30 Punkte) Schreiben Sie ein komplettes C-Programm,
MehrProblem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe
Maximale Größe?! Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um Dynamische Anpassung der Größe Praktische Informatik I, HWS 2009, Kapitel 10 Seite
MehrProgrammieren in Python
% Vorlesung 4: Input/ Output und Filehandling % Matthias Bieg Programmieren in Python Interaktiver Modus Code wird Zeile für Zeile programmiert und direkt ausgeführt Vorteil: Das Verhalten von Codefragmenten
MehrÜbertragung der Software Aktivierung auf neuen PC
Übertragung der Software Aktivierung auf neuen PC Übertragung der Software Aktivierung auf neuen PC Inhalt Inhaltsverzeichnis... 1 Einführung... 2 Überblick: Übertragung der Aktivierung in 3 einfachen
MehrGrundlagen der Objektorientierten Programmierung - IO-Tools
Ein- und Ausgabe mit den IO-Tools Die nativen (eingebauten) Ein- und Ausgabefunktionen der Java-API sind zwar recht umfangreich und für viele Zwecke anpassbar - ihre Verwendung in einem Java- Programm
Mehr