Kurs 1575, Klausur vom , Musterlösung

Größe: px
Ab Seite anzeigen:

Download "Kurs 1575, Klausur vom , Musterlösung"

Transkript

1 Aufgabe 1: Schleife, Fallunterscheidung (CASE) Schreiben Sie ein Programm, das eine positive ganze Zahl (im Gültigkeitsbereich von integer) einliest und ihre Ziffern in umgekehrter Reihenfolge als Text ausgibt. Beispiel: Die Eingabe von führe zu der Ausgabe: ergibt in Worten rueckwaerts: fuenf vier drei zwei eins 6789 ergibt in Worten rueckwaerts: neun acht sieben sechs ergibt in Worten rueckwaerts: neun sieben fuenf drei eins ergibt in Worten rueckwaerts: null acht sechs vier zwei ergibt in Worten rueckwaerts: sieben sechs sieben zwei drei Hinweis: Zum Abtrennen der letzten Ziffer kann der mod-operator nützlich sein, zum Verkleinern einer Zahl um die letzte Stelle der div- Operator. (Max. 20 Punkte) PROGRAM zerleg(input,output); VAR zahl, rest: INTEGER; assign(input,'zerleg.dat'); assign(output,'zerleg.out'); reset (input); REPEAT read(zahl); write(zahl:6, ' ergibt in Worten rueckwaerts: '); WHILE (zahl<>0) DO rest := zahl MOD 10; zahl := zahl DIV 10; CASE rest OF 1 : write('eins '); 2 : write('zwei '); 3 : write('drei '); 4 : write('vier '); 5 : write('fuenf '); 6 : write('sechs '); 7 : write('sieben '); 8 : write('acht '); 9 : write('neun '); 0 : write('null ') ; writeln UNTIL eof. 1

2 Aufgabe 2: Funktion Zwei verschiedene natürliche Zahlen a und b heissen befreundet, wenn die Summe der (von a verschiedenen) Teiler von a gleich b ist und die Summe der (von b verschiedenen) Teiler von b gleich a. Beispiel für ein solches Paar: 220 und 284: Teilersumme von a: = 284 = b Teilersumme von b: = 220 = a Schreiben Sie ein Programm, dass für eingegebene Zahlenpaare überprüft, ob es sich um in diesem Sinne befreundete Paare handelt. Zur Ermittlung der Teilersumme ist eine Funktion zu schreiben. Die Eingabe von: führe zu der Ausgabe: 220 und 284 sind befreundet 220 und 285 sind nicht befreundet 1184 und 1210 sind befreundet 1185 und 1210 sind nicht befreundet 2620 und 2924 sind befreundet 5020 und 5564 sind befreundet 6232 und 6368 sind befreundet und sind befreundet und sind befreundet und sind befreundet und sind nicht befreundet (Max. 20 Punkte) program teilsum(input,output); VAR zahl1, zahl2: INTEGER; FUNCTION teilersumme(zahl: INTEGER): INTEGER; VAR summe, zaehler: INTEGER; summe := 0; FOR zaehler := 1 TO zahl-1 DO IF zahl MOD zaehler = 0 THEN summe := summe + zaehler; teilersumme := summe ; {teilersumme} assign(input,'teilsum.dat'); assign(output,'teilsum.out'); reset (input); REPEAT read(zahl1, zahl2); write(zahl1:5, ' und ',zahl2:5,' sind '); IF (teilersumme(zahl1) <> zahl2) OR (teilersumme(zahl2) <> zahl1) THEN write('nicht '); writeln('befreundet') UNTIL eof. 2

3 Aufgabe 3: Einfach verkettete Liste, rekursive Funktion Ein Palindrom ist eine Zeichenkette, die vorwärts und rückwärts gelesen dasselbe ergibt. Z.B.: otto imi einnegermitgazellezagtimregennie amanaplanacanalpanama (Die beiden letzten Zeilen werden etwas verständlicher, wenn man sie wie folgt schreibt: Ein Neger mit Gazelle zagt im Regen nie A man, a plan, a canal: Panama Dann sind sie aber strenggenommen keine Palindrome mehr.) Ein Programm, das eine Zeichenkette daraufhin untersuchen soll, ob es sich bei ihr um ein Palindrom handelt, muß also das erste Zeichen der Kette mit dem letzten vergleichen, das zweite mit dem vorletzten usw. Um die Zeichenkette analysieren zu können, muss sie also vollständig im Programm eingelesen sein. Da sie im Prinzip beliebig lang sein darf, kann man sie nicht in einem Array speichern, sonder muss dafür eine dynamische Datenstruktur wählen, hier: eine einfach verkettete Liste. Wir verlangen von Ihnen nun nicht, das komplette Programm zu entwickeln. Das meiste stellen wir Ihnen zur Verfügung (s.u.), Sie sollen nur noch die rekursive Funktion schreiben, die analysiert, ob es sich bei der in der linearen Liste Zeichen für Zeichen gespeicherten Zeichenkette um ein Palindrom handelt oder nicht 1, sowie um den Aufruf dieser Funktion im Hauptprogramm. Auch die Formal- und Aktualparameter hier als? dargestellt - müssen bestimmt werden. Die beiden zu bearbeitenden Stellen haben wir unten im Programm fett hervorgehoben. PROGRAM PalRek(input,output); TYPE zeiger = ^komponente; komponente = RECORD zeichen: char; weiter: zeiger ; VAR kopf: zeiger; zeichen, buchstabek: CHAR; FUNCTION genknoten(zeichen: char): zeiger; VAR neu: zeiger; new(neu); neu^.zeichen :=zeichen; neu^.weiter := NIL; genknoten := neu {genknoten}; PROCEDURE erzeugeliste(var kopf: zeiger); VAR lauf, hilf: zeiger; read(zeichen); kopf := genknoten(zeichen); hilf := kopf; WHILE (NOT eoln) DO read(zeichen); hilf^.weiter := genknoten(zeichen); hilf := hilf^.weiter {erzeugeliste}; PROCEDURE printliste(liste: Zeiger); WHILE liste <> NIL DO write(liste^.zeichen); liste := liste^.weiter {printliste}; FUNCTION istpalindrom(?,?) : BOOLEAN; {Diese Funktion sollen Sie schreiben} { istpalindrom }; 1 Diese Funktion lässt sich in etwa zehn Zeilen hinschreiben. 3

4 assign(input,'palrek.dat'); assign(output,'palrek.out'); reset(input); WHILE (NOT eof) DO erzeugeliste(kopf); printliste(kopf); write(' ist '); IF (NOT istpalindrom(?,?)) THEN write('k'); writeln ('ein Palindrom'); readln {palrek}. Bei der Eingabe von einnegermitgazellezagtimregennie otto emil amanaplanacanalpanama imi yoyo oma würde die Ausgabe so aussehen: einnegermitgazellezagtimregennie ist ein Palindrom otto ist ein Palindrom emil ist kein Palindrom amanaplanacanalpanama ist ein Palindrom imi ist ein Palindrom yoyo ist kein Palindrom oma ist kein Palindrom Schreiben Sie die Funktion istpalindrom einschließlich ihrer Formalparameter sowie den Aufruf der Funktion mit ihren Aktualparametern. (Max. 30 Punkte) PROGRAM PalRek(input,output); TYPE zeiger = ^komponente; komponente = RECORD zeichen: char; weiter: zeiger ; VAR kopf: zeiger; zeichen: char; FUNCTION genknoten(zeichen: char): zeiger; VAR neu: zeiger; new(neu); neu^.zeichen :=zeichen; neu^.weiter := NIL; genknoten := neu {genknoten}; 4

5 PROCEDURE erzeugeliste(var kopf: zeiger); VAR lauf, hilf: zeiger; read(zeichen); kopf := genknoten(zeichen); hilf := kopf; WHILE (NOT eoln) DO read(zeichen); hilf^.weiter := genknoten(zeichen); hilf := hilf^.weiter {erzeugeliste}; PROCEDURE printliste(liste: Zeiger); WHILE liste <> NIL DO write(liste^.zeichen); liste := liste^.weiter {printliste}; FUNCTION istpalindrom(var anfang: zeiger; ende: zeiger) : BOOLEAN; istpalindrom := FALSE; IF ende <> NIL THEN istpalindrom := istpalindrom(anfang, ende^.weiter) AND (anfang^.zeichen = ende^.zeichen); anfang := anfang^.weiter ELSE istpalindrom := TRUE { istpalindrom }; assign(input,'palrek.dat'); assign(output,'palrek.out'); reset(input); WHILE (NOT eof) DO erzeugeliste(kopf); printliste(kopf); write(' ist '); IF (NOT istpalindrom(kopf,kopf)) THEN write('k'); writeln ('ein Palindrom'); readln {palrek}. 5

6 Aufgabe 4: Schleife, Array, Prozedur Beim Schachspielen gibt es die sogenannte Patt-Situation: Steht einem am Zug befindlichen Spieler keine Zugmöglichkeit zur Verfügung, befindet sein König sich jedoch nicht im Schach, so spricht man von einem Patt, die Partie endet in diesem Fall remis (unentschieden). Sie sollen nun ein Pascal-Programm schreiben, dass für eine bestimmte Konfiguration von Schachfiguren feststellt, ob es sich um eine Patt-Situation handelt. Die Situation ist wie folgt beschrieben: Weiss verfügt über den König und einen Springer. Schwarz verfügt nur über den König und ist am Zug. Die Zugregeln für König und Springer: Der König kann sich grundsätzlich nur auf ein anliegendes Nachbarfeld bewegen. Der Springer zieht in eine der vier Himmelsrichtungen zwei Felder geradeaus sowie ein Feld nach links oder rechts. Die Figuren bedrohen die Felder, auf die sie beim nächsten Zug ziehen könnten. Der König bedrohe zusätzlich das Feld, auf dem er steht 2. Einige Hinweise zur Lösung: Stellen Sie das Schachbrett durch ein 8x8-Array dar. Die Positionen der drei Figuren werden als Indexwerte für dieses Array eingelesen. Ausgehend von den Positionen von weissem König und weissem Springer werden mit den Zugregeln diejenigen Felder (genauer gesagt: deren Indexe) im Array berechnet, die sie bedrohen, und entsprechend markiert. Für den schwarzen König wird von seiner Position aus berechnet, ob er (im nächsten Zug) ein Feld erreichen kann, das nicht bedroht ist. Ist das der Fall, so liegt keine Patt- Situation vor. Es ist dafür zu sorgen, dass kein Zug aus dem Schachbrett herausführen darf (Indexgrenzenverletzung)! Und denken Sie daran: Ihr Programm soll kein vollständiges Schachprogramm sein, sonder ausschließlich die beschriebene spezielle Konfiguration analysieren. Eine Beispielsituation: 2 Dies als Hilfskonstruktion, um eine reguläre Schachsituation sicherzustellen (Hinweis für passionierte Schachspieler). 6

7 Der schwarze König befinde sich auf Position [1,1], der weisse König auf [2,3] und der weisse Springer auf [1,3]. (Diese Positionen wurden in der folgenden Darstellung hilfsweise mit (sk), (wk) bzw (ws) bezeichnet. Mit der Darstellung (sk) usw. soll angedeutet werden, dass dies nicht etwa im Array gespeichert werden muss, sondern nur zur Erläuterung der Situation im Bild dienen soll.) Dann könnten die bedrohten Felder durch (z.b.) b markiert werden: (sk) b 2 b b b 3 (ws) b (wk) b b 4 b b b 5 b Man erkennt, dass der schwarze König sich nur auf bedrohte Felder bewegen könnte. Es liegt also eine Patt-Situation vor. Für die folgende Eingabe: soll dass Programm diese Ausgabe erzeugen: Schwarzer Koenig[1,1], Weisser Koenig[2,3], Weisser Springer[1,3]: Patt Schwarzer Koenig[1,1], Weisser Koenig[2,3], Weisser Springer[1,4]: Kein Patt Schwarzer Koenig[3,3], Weisser Koenig[4,5], Weisser Springer[3,5]: Kein Patt Schwarzer Koenig[1,1], Weisser Koenig[2,3], Weisser Springer[3,3]: Patt Schwarzer Koenig[1,1], Weisser Koenig[3,2], Weisser Springer[3,3]: Patt Schwarzer Koenig[1,1], Weisser Koenig[3,2], Weisser Springer[3,1]: Patt Die erste Eingabezeile entspricht übrigens der dargestellten Beispielsituation. (Max. 30 Punkte) 7

8 PROGRAM patt(input,output); CONST N=8; TESTEN=TRUE; ZIEHEN=FALSE; TYPE brett = ARRAY[1..N,1..N] OF CHAR; VAR schachbrett: brett; u,v: ARRAY[1..8] OF INTEGER; {relative Sprungadresse} xks, yks, xkw, ykw, xsw, ysw: INTEGER; {x/y-koord von schwarzem/weissem Koenig, weissem Springer} istkeinpatt: BOOLEAN; FUNCTION zulaessigesziel(x, y : INTEGER): BOOLEAN; zulaessigesziel := (x>=1) AND (y>=1) AND (x<=n) AND (y<=n) {zulaessigesziel}; PROCEDURE initialisieresprungtabelle; u[1] := 2; v[1] := 1; u[2] := 1; v[2] := 2; u[3] :=-1; v[3] := 2; u[4] :=-2; v[4] := 1; u[5] :=-2; v[5] :=-1; u[6] :=-1; v[6] :=-2; u[7] := 1; v[7] :=-2; u[8] := 2; v[8] :=-1 {initialisieresprungtabelle}; PROCEDURE initialisiereschachbrett; VAR xlauf, ylauf: INTEGER; FOR xlauf:=1 TO N DO FOR ylauf:=1 TO N DO schachbrett[xlauf,ylauf] := ' ' {initialisiereschachbrett}; PROCEDURE springer(xa, ya : INTEGER); VAR lauf, xz, yz : INTEGER; FOR lauf:=1 TO 8 DO xz := xa + u[lauf]; yz := ya + v[lauf]; IF zulaessigesziel(xz,yz) THEN {Zug bleibt im Schachbrett} schachbrett[xz,yz] :='b' {springer}; 8

9 PROCEDURE koenig(xa, ya : INTEGER; test: BOOLEAN; VAR zugistmoeglich: BOOLEAN); VAR xz, yz, xlauf, ylauf : INTEGER; zugistmoeglich := FALSE; FOR xlauf:=-1 TO 1 DO FOR ylauf:=-1 TO 1 DO xz := xa + xlauf; yz := ya + ylauf; IF zulaessigesziel(xz,yz) THEN {Zug bleibt im Schachbrett} IF (NOT test) THEN {moegl. Zug markieren} schachbrett[xz,yz] := 'b' ELSE {Testen auf freie Position} IF NOT ((xz=xa) AND (yz=ya)) THEN {Figur darf nicht auf Ausgangsposition stehenbleiben} IF schachbrett[xz,yz]<>'b' THEN zugistmoeglich := TRUE {koenig}; assign(input,'patt.dat'); assign(output,'patt.out'); reset (input); initialisieresprungtabelle; REPEAT initialisiereschachbrett; readln(xks, yks, xkw, ykw, xsw, ysw); springer(xsw,ysw); koenig(xkw,ykw,ziehen,istkeinpatt); {istkeinpatt: hier (nur) formal erforderlich} koenig(xks,yks,testen,istkeinpatt); write('schwarzer Koenig[',xks:1,',',yks,'], '); write('weisser Koenig[',xkw:1,',',ykw,'], '); write('weisser Springer[',xsw:1,',',ysw,']: '); IF istkeinpatt THEN write('kein '); writeln('patt') UNTIL eof. 9

Kurs 1575, Klausur vom , Musterlösung

Kurs 1575, Klausur vom , Musterlösung Kurs 1575, Klausur vom 7.2.1998, Musterlösung Sie wollen die Tause von Büchern in Ihrem heimischen Bücherregal lich systematisch erfassen. Dazu schreiben Sie sich von jedem Buch Autorenname, Titel sowie

Mehr

Syntax der Sprache PASCAL

Syntax der Sprache PASCAL Syntax der Sprache PASCAL Buchstaben A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Ziffern 0 1 2 3 4 5 6 7 8 9 Sonderzeichen und Wortsymbole +

Mehr

Kurs 1575, Musterlösung der Klausur vom

Kurs 1575, Musterlösung der Klausur vom Vorbemerkung: Gehen Sie bei Ihren Lösungen grundsätzlich davon aus, dass die Eingabedaten in einer Datei zur Verfügung stehen und über input eingelesen werden, und dass die Ausgabe über output in eine

Mehr

2.2 Einfache Datenstrukturen

2.2 Einfache Datenstrukturen 2.2 Einfache Datenstrukturen Konstante und Variable Die Begriffe "Konstante" und "Variable" haben zunächst auch in der Informatik dieselbe grundsätzliche Bedeutung wie in der übrigen Mathematik. Variablen

Mehr

4.Grundsätzliche Programmentwicklungsmethoden

4.Grundsätzliche Programmentwicklungsmethoden 4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden

Mehr

Kurs 1575, Musterlösung zur Winter Klausur 2003/04

Kurs 1575, Musterlösung zur Winter Klausur 2003/04 Kurs 1575, Musterlösung zur Klausur im Wintersemester 2003/04 1 Kurs 1575, Musterlösung zur Winter Klausur 2003/04 Aufgabe 1: Römische Zahlen Wer kennt das Problem nicht: Sie stehen vor einer Inschrift,

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 1613 Einführung in die imperative Programmierung Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i

Mehr

Informatik I Übung, Woche 40

Informatik I Übung, Woche 40 Giuseppe Accaputo 1. Oktober, 2015 Plan für heute 1. Nachbesprechung Übung 2 2. Vorbesprechung Übung 3 3. Zusammenfassung der für Übung 3 wichtigen Vorlesungsslides Informatik 1 (D-BAUG) Giuseppe Accaputo

Mehr

15 Der strukturierte Datentyp»set«(Mengen)

15 Der strukturierte Datentyp»set«(Mengen) Dr. K. Haller Turbo-Pascal Kap. 15: Mengen (Sets) 15-1 15 Der strukturierte Datentyp»set«(Mengen) Gliederung 15.1 Allgemeines zu Mengen...2 15.2 Mengen-Operatoren, Demo-Programm...3 15.3 Mengen-Prozeduren,

Mehr

Vordiplom für Wirtschaftswissenschaften Allgemeine Informatik II SS Juli 2002 Bearbeitungszeit: 120 Minuten BEISPIELLÖSUNG

Vordiplom für Wirtschaftswissenschaften Allgemeine Informatik II SS Juli 2002 Bearbeitungszeit: 120 Minuten BEISPIELLÖSUNG Vordiplom für Wirtschaftswissenschaften Allgemeine Informatik II SS 00 30. Juli 00 Bearbeitungszeit: 10 Minuten BEISPIELLÖSUNG Name: Vorname: Matrikelnummer: Aufgabe Punkte Bewertung 1 8 a) b) 6 8 3 8

Mehr

1953/54 (USA) PS FORTRAN (FORmula TRANslating system) 1958/60 (Europa) ALGOL (ALGOrithmic Language)

1953/54 (USA) PS FORTRAN (FORmula TRANslating system) 1958/60 (Europa) ALGOL (ALGOrithmic Language) 4. Zur Struktur der PS PASCAL 4.1. Einleitende Bemerkungen 1953/54 (USA) PS FORTRAN (FORmula TRANslating system) 1958/60 (Europa) ALGOL (ALGOrithmic Language) Anfang 60er (USA) COBOL (Commercial Business

Mehr

Kurs 1575, Klausur vom

Kurs 1575, Klausur vom Kurs 1575, Klausur vom 7.2.1998 Sie wollen die Tausende von Büchern in Ihrem heimischen Bücherregal endlich systematisch erfassen. Dazu schreiben Sie sich von jedem Buch Autorenname, Titel sowie ein beschreibendes

Mehr

Vordiplom Wirtschaftswissenschaften Allgemeine Informatik I WS 2001/ Februar 2002

Vordiplom Wirtschaftswissenschaften Allgemeine Informatik I WS 2001/ Februar 2002 Vordiplom Wirtschaftswissenschaften Allgemeine Informatik I WS 2001/2002 19. Februar 2002 Name: Vorname: Matrikelnummer: Bearbeitungszeit: 120 Minuten Aufgabe Punkte Bewertung 1 12 a) 2 b) 2 c) 2 d) 3

Mehr

Klausur zu Grundlagen der Informatik I mit Lösungen 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth

Klausur zu Grundlagen der Informatik I mit Lösungen 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth Klausur zu Grundlagen der Informatik I mit Lösungen 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth A Nr Max Bewertung 1 14 2 12 3 14 4 12 5 12 6 12 7 12 8 12 Summe 100 Klausur

Mehr

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

Mehr

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am Kurs 1613 Einführung in die imperative Programmierung 1 Aufgabe 1 In einer ersten for-schleife wird das Kandidatenfeld initialisiert, so dass alle Kandidaten hinten stehen. Eine zweite for-schleife simuliert

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 1613 Einführung in die imperative Programmierung Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { Programm sortiert das Eingabefeld iofeld aufsteigend var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1;

Mehr

Informatik I Übung, Woche 40

Informatik 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

Mehr

Kurs 1613 Einführung in die imperative Programmierung Lösungen der Aufgaben zum Studientag

Kurs 1613 Einführung in die imperative Programmierung Lösungen der Aufgaben zum Studientag Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { Programm sortiert das Eingabefeld iofeld aufsteigend var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1;

Mehr

Boolean Wertemenge: Wahrheitswerte {FALSE,TRUE}, auch {0,1} Deklaration:

Boolean Wertemenge: Wahrheitswerte {FALSE,TRUE}, auch {0,1} Deklaration: Boolean Wertemenge: Wahrheitswerte {,}, auch {,} Deklaration: VAR present,billig,laut,gefunden : BOOLEAN; Ein-/Ausgabe: keine! Operatoren: Negation, Verneinung NOT ~ Konjunktion, logisches UND AND & Disjunktion,

Mehr

( = 18 Punkte)

( = 18 Punkte) 1 Lösung 1 ( 6 + 5 + 3 + 4 = 18 Punkte) a) function countziff (inzahl : tnatzahl): tnatzahl; {gibt die Stellenanzahl der inzahl} i, j : tnatzahl; i := inzahl; j := 1; while i => 10 do j := j + 1; i :=

Mehr

Grundlagen wissenschaftlichen Arbeitens (ws /05)

Grundlagen wissenschaftlichen Arbeitens (ws /05) Grundlagen wissenschaftlichen Arbeitens (ws.. 2004/05) Thema: The programming language PASCAL Autor: Ratko Trajanovski 1 kurzfassung Zur Sprache PASCAL Pascal in der Ausbildung Lexikalische Elemente Programmaufbau

Mehr

Datentypen: integer, char, string, boolean

Datentypen: integer, char, string, boolean Agenda für heute, 13. April, 2006 Der Datentyp integer Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen Zusammengesetzte if-then-else-anweisungen Var i: integer; Teilbereich der ganzen Zahlen,

Mehr

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

Mehr

einlesen n > 0? Ausgabe Negative Zahl

einlesen 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

Mehr

INFORMATIK FÜR BIOLOGEN

INFORMATIK FÜR BIOLOGEN Technische Universität Dresden 15012015 Institut für Theoretische Informatik Professur für Automatentheorie INFORMATIK FÜR BIOLOGEN Musterklausur WS 2014/15 Studiengang Biologie und Molekulare Biotechnologie

Mehr

Über Arrays und verkettete Listen Listen in Delphi

Über Arrays und verkettete Listen Listen in Delphi Über Arrays und verkettete Listen Listen in Delphi Michael Puff mail@michael-puff.de 2010-03-26 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung 3 2 Arrays 4 3 Einfach verkettete Listen 7 4 Doppelt verkettete

Mehr

Klausur zu Grundlagen der Informatik I 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth

Klausur zu Grundlagen der Informatik I 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth Klausur zu Grundlagen der Informatik I 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth A Bearbeitungszeit: 120 Minuten NICHT MIT BLEISTIFT SCHREIBEN! Name: Vorname: Matrikelnummer:

Mehr

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Nachklausur am

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Nachklausur am 1 Aufgabe 1 Analysiert man das Verfahren anhand des angegebenen Beispiels, ist schnell zu erkennen, dass das erste Element von infeld2 nach outfeld an Index 2 kopiert wird, das zweite den Index 4 bekommt,

Mehr

10 Wiederholungsanweisungen

10 Wiederholungsanweisungen Dr. K. Haller Turbo-Pascal Kap. 10: Wiederholungsanweisungen 10.1 10 Wiederholungsanweisungen /until-schleifen while-schleifen for-schleifen Break und Continue Gliederung 10.1 Die /until-schleife...2 10.2

Mehr

Fachbericht DPR. Name: René Wagener. Klasse: CI3O1. Fachlehrer: Herr Balog

Fachbericht DPR. Name: René Wagener. Klasse: CI3O1. Fachlehrer: Herr Balog Fachbericht DPR Name: René Wagener Klasse: CI3O1 Fachlehrer: Herr Balog Inhalt Der Anfang... 3 Was ist Delphi?... 3 Das erste Programm... 3 Delphi VCL-Formularanwendung... 4 Variablen... 5 Beispiel für

Mehr

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Nachklausur am

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Nachklausur am 1 Aufgabe 1 a) Die erste Variante (Verkettungsänderung) ist vorzuziehen. Sie hat zwei wesentliche Vorteile: Zunächst ist eine solche Implementierung universell einsetzbar, unabhängig davon, wieviele Informationen

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Lösungsvorschläge zur Hauptklausur 1661 Datenstrukturen I

Lösungsvorschläge zur Hauptklausur 1661 Datenstrukturen I Lösungsvorschläge zur Hauptklausur 1661 Datenstrukturen I 12.08.2006 Seite 2 Lösungsvorschläge zur Klausur vom 12.08.2006 Kurs 1661 Datenstrukturen I Aufgabe 1 (a) algebra sammlung sorts sammlung, marke,

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Einstieg in die Informatik mit Java

Einstieg 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,

Mehr

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2 Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen

Mehr

Klausur Informatik B April Teil I: Informatik 3

Klausur Informatik B April Teil I: Informatik 3 Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.

Mehr

Vordiplom Wirtschaftswissenschaften Allgemeine Informatik I WS 2001/ April 2002

Vordiplom Wirtschaftswissenschaften Allgemeine Informatik I WS 2001/ April 2002 Vordiplom Wirtschaftswissenschaften Allgemeine Informatik I WS 200/2002 2. April 2002 Name: Vorname: Matrikelnummer: Bearbeitungszeit: 20 Minuten Aufgabe Punkte Bewertung 2 a) 2 b) 2 c) 2 d) 2 e) 4 2 0

Mehr

Android-Apps Gegenüberstellung Delphi java

Android-Apps Gegenüberstellung Delphi java Android-Apps Gegenüberstellung 2/9 Grundsätzliches etc. Groß-/Kleinschreibung egal sensitiv! Zuweisung := = Kommentare // // { } /* */ Zeichenkettenbegrenzer: 'text' "text" Inkrementieren / Dekrementieren

Mehr

1. Allgemeine Datei (Binärdatei mit formatierten Inhalt)

1. Allgemeine Datei (Binärdatei mit formatierten Inhalt) Datei ein komplexer Datentyp, der primär zur dauerhaften (persistenten) Speicherung von Daten auf einen externen Datenträger dient die wichtigsten Operationen, die mit Dateien durchgeführt werden, sind

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 1613 Einführung in die imperative Programmierung 1 Wintersemester 2003/2004 Hinweise zur Bearbeitung der Klausur zum Wir begrüßen Sie zur Klausur "Einführung in die imperative Programmierung". Lesen Sie sich diese Hinweise vollständig und aufmerksam

Mehr

Klausur zur Wirtschaftsinformatik II im Grundstudium

Klausur zur Wirtschaftsinformatik II im Grundstudium Prof. Dr. R. Gabriel Sommersemester 2005 Wirtschaftsinformatik 19. August 2005 Ruhr-Universität Bochum Klausur zur Wirtschaftsinformatik II im Grundstudium - Die Bearbeitungszeit der Klausur beträgt 90

Mehr

Um mit dem Computer über ein Programm in Kontakt treten zu können braucht man sogenannte Ein- und Ausgabebefehle.

Um mit dem Computer über ein Programm in Kontakt treten zu können braucht man sogenannte Ein- und Ausgabebefehle. TURBO-PASCAL Programmaufbau Jedes Pascal-Programm hat eine ganz bestimmte Struktur. Außerdem hat jeder Teil des Programms eine ähnliche Struktur. Man teilt ein Pascal-Programm in drei Abschnitte ein: 1.

Mehr

Programmieren lernen mit Visual Basic

Programmieren lernen mit Visual Basic Programmieren lernen mit Visual Basic Teil 5: Fallunterscheidungen (Teil 1) Ein paar Operatoren fehlen noch. Zum einen logische Operatoren, die mit Wahrheitswerden arbeiten. Die folgenden drei verwenden

Mehr

Aufgabe (Schreibtischtest, lexikographische Ordnung)

Aufgabe (Schreibtischtest, lexikographische Ordnung) Aufgabe (Schreibtischtest, lexikographische Ordnung) Führen Sie einen Schreibtischtest für den Algorithmus Bubblesort aus der VL für die folgenden Eingabe-Arrays durch. Geben Sie das Array S nach jedem

Mehr

Vorkurs Mathematik für Informatiker. 1 Potenzen. Michael Bader, Thomas Huckle, Stefan Zimmer Oktober Kap.

Vorkurs Mathematik für Informatiker. 1 Potenzen. Michael Bader, Thomas Huckle, Stefan Zimmer Oktober Kap. 1 Potenzen Michael Bader, Thomas Huckle, Stefan Zimmer 1. 9. Oktober 2008 Kap. 1: Potenzen 1 Potenzen Definition Für reelle Zahl x R (Basis) und eine natürliche Zahl n N (Exponent): x n := x x x... x }{{}

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for

Mehr

ÜBERPRÜFUNG VON TYPEN

ÜBERPRÜFUNG VON TYPEN 5. Kapitel ÜBERPRÜFUNG VON TYPEN Compilerbau Prof. Dr. Wolfgang Schramm Typüberprüfung 1 Was ist wird überprüft? Ob Operatoren und Operanden verträglich (kompatibel) sind. Welche Programmelemente haben

Mehr

Wie funktioniert das Sortieren einer Reihe von Zufallszahlen mit Quicksort?

Wie funktioniert das Sortieren einer Reihe von Zufallszahlen mit Quicksort? Wie funktioniert das Sortieren einer Reihe von Zufallszahlen mit Quicksort? Seite 1 Sehen wir uns zunächst einmal die grundsätzliche Vorgehensweise des Programmes an, ohne auf Einzelheiten oder Fachtermini

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

Mehr

INSERTION-SORT: Ja, Es wird immer das erste, kleinste Element an die neue Liste angehängt.

INSERTION-SORT: Ja, Es wird immer das erste, kleinste Element an die neue Liste angehängt. Aufgabe 1 INSERTION-SORT: Ja, Es wird immer das erste, kleinste Element an die neue Liste angehängt. QUICK-SORT: Hängt davon ab ob PARTITION stabil ist. MERGE-SORT: Ja, Splitten, sowie Mergen ist stabil.

Mehr

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am 1 Lösung 1 ( 4+4 Punkte) a) procedure VerschiebeZyklisch ( iofeld : tfeld); { verschiebt die Werte innerhalb eines Feldes eine Position nach rechts; der Wert iofeld[max] wird nach iofeld[1] übertragen

Mehr

Informatik I Übung, Woche 41

Informatik I Übung, Woche 41 Giuseppe Accaputo 8. Oktober, 2015 Plan für heute 1. Fragen & Nachbesprechung Übung 3 2. Zusammenfassung der bisherigen Vorlesungsslides 3. Tipps zur Übung 4 Informatik 1 (D-BAUG) Giuseppe Accaputo 2 Nachbesprechung

Mehr

Kurs 1612 Konzepte imperativer Programmierung Musterlösung zur Klausur am

Kurs 1612 Konzepte imperativer Programmierung Musterlösung zur Klausur am Kurs 1612 Konzepte imperativer Programmierung 1 Aufgabe 1 a) Wir müssen zunächst die Abbruchbedingung des Verfahrens festlegen: Wir beenden die Rekursion, wenn das zu untersuchende Feldstück nur noch aus

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe

Mehr

Programmiertechnik Übungen zu Klassen & -methoden

Programmiertechnik Übungen zu Klassen & -methoden Programmiertechnik Übungen zu Klassen & -methoden Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Übung 1 Ein Verfahren, den größten gemeinsamen Teiler (ggt) zweier Zahlen a und b, a

Mehr

3. Sprachkonzepte und ihre Übersetzungen

3. Sprachkonzepte und ihre Übersetzungen Übersetzung von Wertzuweisungen: Funktion coder x p codel x p; ind T coder c p ldc T c coder (e1 = e2) p coder e1 p; coder e2 p; equ T coder (e1 / e2) p coder e1 p; coder e2 p; div N coder(-e) p coder

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Klausur 1. August 2008 1. Dynamische Datenstrukturen und objektorientierte Programmierung (45 Punkte) Gegeben sei eine Datenstruktur mit folgendem Aufbau struct lelem { int w;

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Musterklausur 1. Dynamische Datenstrukturen und objektorientierte Programmierung Zur Verwaltung einer digitalen Fotogalerie sollen Techniken der objektorientierten Programmierung

Mehr

PostScript -Sprache. Frank Richter

PostScript -Sprache. Frank Richter PostScript -Sprache Frank Richter 27.01.2003 Stack-Operationen exch vertauscht die zwei obersten Stackelemente x y exch => y x dup dupliziert oberstes Stackelement x dup => x x pop löscht oberstes Element

Mehr

Berechnungsschemata: Funktion als Parameter abstrahiert Operation im Schema, wird bei Aufruf des Schemas konkretisiert

Berechnungsschemata: Funktion als Parameter abstrahiert Operation im Schema, wird bei Aufruf des Schemas konkretisiert 6. Funktionen als Daten, Übersicht Orthogonales Typsystem: Funktionen sind beliebig mit anderen Typen kombinierbar Notation für Funktionswerte (Lambda-Ausdruck): fn (z,k) => z*k Datenstrukturen mit Funktionen

Mehr

Studienseminar Koblenz - Fachseminar Informatik Visualisierung von Sortieralgorithmen

Studienseminar Koblenz - Fachseminar Informatik Visualisierung von Sortieralgorithmen Thema: Visualisieren von Sortieralgorithmen in Delphi (am Beispiel: Bubblesort und Quicksort) Ziel ist es, eine Animation des Bubblesort- und Quicksort-Algorithmus in Delphi für die Anwung im Unterricht

Mehr

9 Steueranweisungen. if... then if... then... else case... of goto. Gliederung. 9.1 Die einseitige Verzweigung if... then...2

9 Steueranweisungen. if... then if... then... else case... of goto. Gliederung. 9.1 Die einseitige Verzweigung if... then...2 Dr. K. Haller Turbo-Pascal Kap. 9: Steueranweisungen 9-1 9 Steueranweisungen if... then if... then... else case... of goto Gliederung 9.1 Die einseitige Verzweigung if... then...2 9.2 Die zweiseitige Verzweigung

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Erklären

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 4 Pkt.) Gegeben

Mehr

Informatik I Übung, Woche 38

Informatik I Übung, Woche 38 Giuseppe Accaputo 18. September, 2014 Plan für heute 1. Wer bin ich 2. Allgemeines 3. Zusammenfassung der bisherigen Vorlesungsslides 4. Kurze Vorbesprechung zur Übung 1 Informatik 1 (D-BAUG) Giuseppe

Mehr

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 1

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 1 UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 1 Darstellungsarten von Algorithmen Umgangssprache Stilisierte Prosa Ablauf-/Struktogramme Jana Programmiersprache Institut für Pervasive

Mehr

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 1

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 1 UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 1 Darstellungsarten von Algorithmen Umgangssprache Stilisierte Prosa Ablauf-/Struktogramme Jana Programmiersprache Institut für Pervasive

Mehr

Ekkehard Kaier. Informationstechnische Grundbildung Turbo Pascal

Ekkehard Kaier. Informationstechnische Grundbildung Turbo Pascal Ekkehard Kaier Informationstechnische Grundbildung Turbo Pascal Ekkehard Kaier I nformationstechnische Grundbildung Turbo Pascal Mit Referenzliste zur strukturierten Programmierung Zweite, durchgesehene

Mehr

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab...

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 2 1 1 2 0 2 1 0 Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 1 2 1 1 3 2 2 3 212 Um solche Tabellen leicht implementieren zu können, stellt Java das switch-statement

Mehr

Die Notwendigkeit für wiederholte Programmausführungen. Agenda für heute, 11. März, 2010

Die Notwendigkeit für wiederholte Programmausführungen. Agenda für heute, 11. März, 2010 Agenda für heute, 11. März, 2010 Die Notwendigkeit für wiederholte Programmausführungen Aufgabe: Die Quadratwurzel einer positiven Zahl berechnen Einschränkung: Es stehen nur arithmetische Operationen

Mehr

Wintersemester 2010/2011 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung

Wintersemester 2010/2011 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung Name: Matrikelnr.: Wintersemester 2010/2011 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung Wir begrüßen Sie zur Klausur Einführung in die imperative Programmierung.

Mehr

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält

Mehr

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel Inhalt: Vorbemerkung...1 Allgemeines zu Shell Scripts...1 Aufruf...1 Einfaches Beispiel...1 Testen eines Shell-Scripts...2 Kommandozeilen-Parameter...2 Prozeßsteuerung...3 Bedingte Ausführung: if...3 Mehrfachentscheidung:

Mehr

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Syntax und Semantik): 1. Was ist Syntax? Was ist Semantik? Erläutern Sie den Unterschied. 2.

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Crashkurs: Haskell. Mentoring FU Berlin Felix Droop

Crashkurs: Haskell. Mentoring FU Berlin Felix Droop Crashkurs: Haskell Mentoring FU Berlin 7.11.2018 Felix Droop Crashkurs Haskell 1. GHCi Umgebung

Mehr

PK-Einstufungstest. 1. Allgemeine Multiple-Choice-Aufgaben

PK-Einstufungstest. 1. Allgemeine Multiple-Choice-Aufgaben PK-Einstufungstest 34 / 100 Punkte Alle Aufgaben beziehen sich auf Java. 1. Allgemeine Multiple-Choice-Aufgaben 4 / 15 Punkte Bitte wählen Sie ALLE zutreffenden Antwortmöglichkeiten aus. Es können beliebig

Mehr

Anwendung (2. Versuch:-) Entkopplung der Locks

Anwendung (2. Versuch:-) Entkopplung der Locks Gut gemeint aber leider fehlerhaft... Jeder Producer benötigt zwei Locks gleichzeitig, um zu produzieren: 1. dasjenige für den Puffer; 2. dasjenige für einen Semaphor. Musser fürden Semaphor einwait()

Mehr

Kontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue

Kontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue Kontrollstrukturen Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue Einfache Verzweigung Eine Verzweigung erlaubt das bedingte Ausführen bestimmter Programm-Teile.

Mehr

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung

Mehr

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am Kurs 1613 Einführung in die imperative Programmierung 1 Aufgabe 1 procedure NachVorn( inwert: integer; var iorefanfang: trefelement); {Sucht das erste vorkommende Element mit inwert in der info-komponente

Mehr

TURBO PASCAL VERSION 5.5

TURBO PASCAL VERSION 5.5 Jörg Lange TURBO PASCAL VERSION 5.5 / Hüthig Buch Verlag Heidelberg 7 Inhaltsverzeichnis 1. DasTURBO-Pascal-System 13 1.1 Starten des TURBO-Pascal-Systems 13 1.2 DasTURBO-Pascal-Menue-System 17 1.3 DasF)ILE-Menue

Mehr

Wiederholungsanweisungen II

Wiederholungsanweisungen II Wiederholungsanweisungen II (1.) (a.) Die Fakultät einer positiven ganzen Zahl wird als n!(fakultät) geschrieben und wie folgt definiert: n!=n(n-1)(n-2)* * 4*3*2*1 0!=1 Beispiel: 5!=5*4*3*2*1=120 (a.)

Mehr

Einführung in die Programmierung. (K-)II/Wb17

Einführung in die Programmierung. (K-)II/Wb17 Probeklausur Hochschule Zittau/Görlitz, Prüfer: Prof. Dr. Georg Ringwelski Einführung in die Programmierung (K-)II/Wb17 Matrikelnummer: Punkte: 1 2 3 4 5 6 Gesamt /21 /19 /20 /20 /20 /20 /120 Spielregeln:

Mehr

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; unit sudoku; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TCvD_Sudoku = class(tform) Panel1: TPanel; Bevel1: TBevel; Bevel2:

Mehr

Algorithmen I - Tutorium 28 Nr. 3

Algorithmen I - Tutorium 28 Nr. 3 Algorithmen I - Tutorium 28 Nr. 3 18.05.2016: Spaß mit Listen, Arrays und amortisierter Analyse Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN

Mehr

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda Amortisierte Analyse Suche in sortierten Arrays Heaps Vorstellen des fünften Übungsblatts

Mehr

5. Übung - Kanalkodierung/Programmierung

5. Übung - Kanalkodierung/Programmierung 5. Übung - Kanalkodierung/Programmierung Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Kanalkodierung a Folgende Kodes stehen Ihnen zur Verfügung: Kode 1: 0000000 Kode

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda 1. Vorstellen des vierten Übungsblatts 2. Vorbereitende Aufgaben für das vierte Übungsblatt

Mehr

Teil X. Von Mini Pascal zu Pascal

Teil X. Von Mini Pascal zu Pascal Teil X Von Mini Pascal zu Pascal 1 Teil X.1 Pascal Datentypen 2 Begriffe Typ: Menge von Werten Beispiel: integer alle ganzen Zahlen zwischen - MaxInt und MaxInt Variable: Reserviert Speicherplatz für Werte

Mehr

Lösungen zu den Übungsaufgaben zu Feldern

Lösungen zu den Übungsaufgaben zu Feldern Lösungen zu den Übungsaufgaben zu Feldern Aufgabe 1: Punktberechnung procedure TForm1.Button1Click(Ser: TObject); punkt = array[1..3] of double; d, p, q: punkt; abstand: double; // Eingabe p[1]:= StrToFloat(Edit1.Text);

Mehr