Übung 1 (Entwurf von Algorithmen) Beispiellösung

Größe: px
Ab Seite anzeigen:

Download "Übung 1 (Entwurf von Algorithmen) Beispiellösung"

Transkript

1 Lernziele: Übung 1 (Entwurf von Algorithmen) Beispiellösung Vertiefen der Kenntnisse über den Entwurf von Algorithmen, einfache Algorithmen. Aufgabe 1: Sortieren eines Kartenstapels Ein Stapel ungeordneter Spielkarten ist durcheinander geraten und soll sortiert werden. Entwerfen Sie einen Algorithmus zur Lösung der Aufgabe. Welche Operationen haben Sie dabei jeweils vorausgesetzt? Beispiellösung: Grundidee: Der Spieler nimmt eine Karte nach der anderen (aus der kartenliste) auf und sortiert sie in die bereits aufgenommenen Karten (sortierteliste) ein ALGORITHMUS InsertionSort(kartenListe; sortierteliste) Beschreibung Sortiert eine Liste von Spielkarten mittels Sortieren durch Einfügen. Deklaration und Definition der lokalen Größen Übernahmeparameter: Liste von Karten kartenliste Rückgabeparameter: Liste von Karten sortierteliste Spielkarten: karte Algorithmuskern sortierteliste = erzeugeleereliste() SOLANGE kartenliste. istnichtleer?() FÜHRE AUS karte = kartenliste. nimmeinekarte() // Suche die Position, in der karte in der sortierten Liste eingefügt werden soll sortierteliste.betrachteerstekarte() SOLANGE NICHT( sortierteliste. listenendeerreicht?() ) UND sortierteliste.aktuellekarte() < karte FÜHRE AUS sortierteliste. betrachtenächstekarte() ENDE SOLANGE sortierteliste. einfügenkarte( karte ) ENDE SOLANGE Rückgabe sortierteliste ENDE ALGORITHMUS Wir gehen davon aus, dass folgende Operationen für Spielkarten sowie Listen von Karten zur Verfügung stehen. Operationen auf Spielkarten o karte1 < karte2 Zum Sortieren der Spielkarten müssen wir eine lineare Ordnung definieren, z.b. S. 1 / 10

2 Karo 7 < Karo 8 < < Karo Ass < Herz 7 < < Kreuz Ass Operationen auf Listen von Karten o erzeugeleereliste () Liefert leere Liste von Karten o istnichtleer?() Test, ob die Liste mindestens eine Karte enthält o nimmeinekarte() Nehme eine (z.b. die oberste) Karte aus der Liste heraus o aktuellekarte() Verweis auf die aktuelle Karte einer Liste o betrachteerstekarte() Setzt aktuellekarte auf die erste Karte einer Liste o betrachtenächstekarte() Setzt aktuellekarte auf die nächste Karte einer Liste o listenendeerreicht?() Test, ob das Ende der Liste erreicht ist o einfügenkarte( karte ) Füge die Karte karte an der aktuellen Position ein Für diese Aufgabe können wir diese Operationen als elementar betrachten, später werden Sie lernen, wie diese Operationen implementieren werden können. Anmerkung: Bei Verwendung eines Feldes (statt einer Liste) würde der Algorithmus sich wie folgt beschreiben lassen: ALGORITHMUS InsertionSort(kartenFeld; kartenfeld) Beschreibung Sortiert ein feld von Spielkarten mittels Sortieren durch Einfügen. Deklaration und Definition der lokalen Größen Übernahmeparameter: Feld von Karten kartenfeld Rückgabeparameter: sortiertes Feld von Karten kartenfeld Spielkarten: karte Ganze Zahlen: i, j Algorithmuskern FÜR i = 2 BIS länge( kartenfeld ) SCHRITTWEITE 1 karte = kartenfeld [ j ] // einzusortierende Karte // Suche die Position, in der karte in der sortierten Liste eingefügt werden soll j = i SOLANGE j > 1 UND kartenfeld [ j- 1 ] > karte FÜHRE AUS kartenfeld[ j ] = kartenfeld[ j- 1 ] j = j - 1 ENDE SOLANGE kartenfeld[ j ] = karte ENDE FÜR Rückgabe sortierteliste ENDE ALGORITHMUS Verwendete Operationen: länge(kartenfeld) Liefert die Größe des Feldes, d.h. die Anzahl der Karten im Feld kartenfeld[ j ] Zugriff auf das j- te Element des Feldes S. 2 / 10

3 Aufgabe 2: Zahlen überprüfen Entwickeln Sie einen Algorithmus, der zu einer gegebenen Zahl n prüft, ob n mit einer 3 endet. Z.B. endet 853 mit einer 3, aber 47 endet nicht mit einer 3. Beispiellösung: ALGORITHMUS ÜberprüfeZahl() Beschreibung Prüft, ob eine Zahl n mit einer 3 endet. Deklaration und Definition der lokalen Größen Übernahmeparameter: Rückgabeparameter: Ganze Zahlen: n, letzteziffer Algorithmuskern Einlesen von n letzteziffer = n MODULO 10 FALLS letzteziffer == 3 DANN Ausgabe Zahl endet auf 3 SONST Ausgabe Zahl endet nicht auf 3 ENDE FALLS ENDE ALGORITHMUS In C können wir diesen Algorithmus wie folgt implementieren: #include <stdio.h> void main(void) { // Beschreibung: // Prüft, ob eine Zahl n mit einer 3 endet int n, letzteziffer; // Algorithmuskern printf("n = "); scanf("%d", &n); // Deklaration der lokalen Variablen // Einlesen von m letzteziffer = n % 10; // n MODULO 10 if (letzteziffer == 3) { // FALLS letzteziffer == 3 DANN printf("zahl %d endet auf 3\n", n); // Ausgabe: else { // SONST printf("zahl %d endet nicht auf 3\n", n); // Ausgabe: // ENDE FALLS S. 3 / 10

4 Aufgabe 3: Schleifen: Tabelle von Quadratzahlen Entwickeln Sie einen Algorithmus, welcher eine Tabelle der Quadratzahlen von m bis n am Bildschirm ausgibt. Beispiel: Für m = 1 und n = 8 ergibt sich bspw. folgende Tabelle: x x * x Beispiellösung: ALGORITHMUS QuadratzahlTabelle() Beschreibung Gibt eine Tabelle der Quadratzahlen von m bis n aus. Deklaration und Definition der lokalen Größen Übernahmeparameter: Rückgabeparameter: Ganze Zahlen: m, n, x Algorithmuskern Einlesen von n Einlesen von m Ausgabe x x * x // Tabellenkopf x = m // Anfangswert SOLANGE x n FÜHRE AUS Ausgabe x, x*x x = x + 1 // nächste Zahl ENDE SOLANGE ENDE ALGORITHMUS OPTIONAL: [Überführung in ein C- Programm] In C können wir diesen Algorithmus wie folgt implementieren: #include <stdio.h> void main(void) { // Beschreibung: // tabellarische Ausgabe der Zahlen m..n mit deren Quadratzahlen int m, n; // Deklaration der lokalen Variablen S. 4 / 10

5 int x; // Algorithmuskern printf("m = "); scanf("%d", &m); printf("n = "); scanf("%d", &n); printf("x X * X\n"); printf(" \n"); // Einlesen von m // Einlesen von n // Ausgabe Tabellenkopf x = m; // Anfangswert: m while (x <= n) { // SOLANGE Endwert n nicht // erreicht FÜHRE AUS: printf("%d %d\n", x, x*x); // Ausgabe: x und x^2 x = x + 1; // erhöhe x um 1 (nächste Zahl) // ENDE SOLANGE Nicht ausgelastet? Für den Fall, dass Sie nicht ausgelastet sein sollten oder weitere Übungsaufgaben zur Vertiefung des Stoffes bearbeiten wollen, haben wir Ihnen nachfolgend einige Zusatzaufgaben angegeben. Aufgabe 5: Nicht ausgelastet? Zahlen multiplizieren Geben Sie einen umgangssprachlichen Algorithmus an, der beschreibt wie man zwei Zahlen multiplizieren kann (z.b ). Aufgabe 6: Nicht ausgelastet? Primzahltest Entwickeln Sie einen Algorithmus, der zu einer eingegebenen Zahl prüft, ob die Zahl eine Primzahl ist Beispiellösung: a) Entwickeln Sie einen Algorithmus, der zu einer eingegebenen Zahl prüft, ob die Zahl eine Primzahl ist. Eine natürliche Zahl n ist Primzahl, falls Sie nur 1 und sich selbst teilbar ist. Folglich brauchen wir nur zu überprüfen, ob die Zahl n durch 2 oder 3 oder 4 oder oder n- 1 teilbar ist, da sie dann keine Primzahl ist. Eine leichte Schwierigkeit ergibt sich hier dadurch, dass man sich merken muss, ob es einen solchen Teiler gibt. S. 5 / 10

6 Anmerkung: Es gibt bessere, d.h. schnellere Verfahren zum Primzahltest. Insbesondere kann man diesen Algorithmus noch verbessern. Der vorgeschlagene Algorithmus ist jedoch so einfach, dass man ihn auch ohne große Mathematik- und Informatikkenntnisse selbst entwickeln kann. ALGORITHMUS Primzahltest() Beschreibung Prüft, ob eine Zahl eine Primzahl ist Deklaration und Definition der lokalen Größen Aufrufparameter: Rückgabeparameter: Ganze Zahlen: n, teiler Boolsche Variable: teilergefunden Algorithmuskern Einlesen von n FALLS (n 0) DANN Ausgabe Fehler: natürliche Zahl (> 0) eingeben! SONST teilergefunden = FALSCH teiler = 2 SOLANGE (teiler n- 1) FÜHRE AUS FALLS (n MODULO teiler) == 0 DANN teilergefunden = WAHR ENDE FALLS teiler = teiler + 1 ENDE SOLANGE FALLS (teilergefunden == FALSCH) DANN Ausgabe Primzahl SONST Ausgabe keine Primzahl ENDE FALLS ENDE FALLS ENDE ALGORITHMUS b) OPTIONAL: [Überführung in ein C- Programm] Optional: Überführen Sie den Algorithmus in ein C- Programm. #include <stdio.h> void main(void) { // Beschreibung: // Prüft, ob eine Zahl eine Primzahl ist // Deklaration und Definition der lokalen Größen: // - Übergabeparameter: // - Rückgabeparameter: // - Ganze Zahlen: n, teiler S. 6 / 10

7 // - Boolsche Variable: istprimzahl int n, teiler; int istprimzahl; // Algorithmuskern printf("n = "); scanf("%d", &n); // Einlesen if (n <= 0) { printf("fehler: natürliche Zahl (> 0) eingeben! \n"); else { istprimzahl = 1; // TRUE teiler = 2; while (teiler <= n- 1) { if (n % teiler == 0) { istprimzahl = 0; // FALSE teiler = teiler + 1; if (istprimzahl == 1) { printf("primzahl\n"); // Ausgabe else { printf("keine Primzahl\n"); // Ausgabe Aufgabe 7: Nicht ausgelastet? Primzahlliste Erstellen Sie einen Algorithmus, der eine Liste aller Primzahlen zwischen n und m anzeigt. Hinweis: Anfangs- und Endwerte sollen eingegeben werden können Aufgabe 8: Nicht ausgelastet? Geld wechseln a) Finden Sie einen Algorithmus, der zu einen gegebenen Kaufpreis ( 100 Euro) bei Bezahlung mit einem Hundertmarkschein das Wechselgeld bestimmt. Dabei soll nur die minimale Anzahl von Münzen zurückgegeben werden. Zur Vereinfachung sei der Kaufpreis in ganzen Euro (keine Cent- Beträge), Geldscheine werden als Wechselgeld nicht zurückgegeben. b) Nicht ausgelastet? Geben Sie beim Wechselgeld auch Scheine (sowie ggf. Münzen) zurück. c) Nicht ausgelastet? Erweitern Sie Ihren Algorithmus so, dass er für einen beliebigen Kaufpreis und einen beliebigen Zahlbetrag funktioniert. S. 7 / 10

8 Hinweise: Zur Vereinfachung können Sie annehmen, dass alle Beträge jeweils in ganzen Euro (ohne Cent) angegeben sind. Was passiert, wenn der Zahlbetrag zu gering ist? Aufgabe 9: Nicht ausgelastet? Prozessverwaltung LineTimer sei ein Programm, das nach seinem Aufruf zur Eingabe einer Wartezeit auffordert. Diese soll von dem Benutzer festgelegt und mittels der Tastatur eingegeben werden. InfoLine sei eine Datei, in welcher das aktuelle Datum (Tag, Monat, Jahr), die Jahreszeit und ein kurzer Begrüßungstext enthalten sind. Nachdem man das Programm gestartet und die Wartezeit eingegeben hat, wartet es so lange, bis die genannte Zeit vorbei ist. Danach wird die Info- Zeile aus der InfoLine- Datei ausgegeben. Damit das Programm beendet werden kann, muss der Benutzer den Erhalt der Nachricht über die Tastatur bestätigen. Neben dem aufgerufenen LineTimer sollten dem Benutzer andere Programme wie gewöhnlich zur Verfügung stehen. Ihre Aufgabe: a) Für dieses Programm sollte ein Algorithmus modelliert werden. Die Darstellung des Algorithmus kann in natürlicher Sprache erfolgen. Sie können davon ausgehen, dass das Betriebssystem über eine Wartefunktion verfügt. b) Welche Zustände durchläuft dieser Prozess vom seinem Start bis zu seinem Ende? Begründen Sie die von Ihnen genannten Zustandsübergänge! c) Was passiert, wenn unser Betriebssystem über keine Wartefunktion verfügt lediglich die aktuelle Uhrzeit kann abgefragt werden? Wie könnten Sie Ihre Lösungsidee abändern, so dass der LineTimer auch in dem Falle funktioniert? Beispiel- Lösung (TODO: Anpassen an Algorithmus- Notation) a) Programmskizze für LineTimer (das Betriebsystem verfügt über eine Wartefunktion:) BEGIN 1. warte auf Eingabe der Wartezeit durch den User 2. warte bis die Zeit vorbei ist (Wartefunktion des Betriebssystems aktiviert) 3. gebe den Inhalt der Datei InfoLine aus 4. warte auf eine Bestätigung vom User (Tastatureingabe) END b) Zustände, die der Prozess durchläuft: aktiv blockiert warte auf Eingabe der Wartezeit S. 8 / 10

9 bereit aktiv blockiert bereit aktiv blockiert bereit aktiv beendet Zeit wurde eingegeben warte auf Prozessorzuteilung (wenn nicht mehr zurück in den Zustand 'bereit') Wartefunktion des Betriebssystems ein Wartefunktion des Betriebssystems aus/die Wartezeit vorbei warte auf Prozessorzuteilung (wenn nicht mehr zurück in den Zustand 'bereit') warte auf Bestätigung des Users Bestätigung des Users erhalten warte auf Prozessorzuteilung (wenn nicht mehr zurück in den Zustand 'bereit') Man könnte also die Darstellung der Zustandsübergänge verallgemeinern zu: aktiv (warte auf Ereignis) blockiert (Ereignis tritt ein) bereit CPU Zuteilung aktiv Verdrängung(durch einen anderen Prozess) bereit (Wiederzuteilung der CPU) aktiv... Das Pendeln zwischen den Zuständen: 'bereit' und 'aktiv' ist dadurch verursacht, daß die CPU auch anderen Prozessen zugeteilt werden muss. c) Wenn nur die aktuelle Uhrzeit abgefragt werden kann, würde sich folgendes ändern: BEGIN 1. warte auf Eingabe der Wartezeit durch den User 2. frage die aktuelle Uhrzeit beim System ab 3. berechne die Uhrzeit zur welchen die Ausgabe erfolgen soll 4. vergleiche aktuelle Uhrzeit mit der Ausgabeuhrzeit, wenn gleich (oder bereits später): gehe zu 6 5. frage die aktuelle Uhrzeit beim System ab: zurück zu 4 6. gebe den Inhalt der Datei InfoLine aus 7. warte auf die Bestätigung vom User (Tastatureingabe) END Nach der Eingabe der Wartezeit durch den User wird der Prozess nicht in den 'blockierten' Zustand übergehen, sondern man muss andauernd die Uhrzeit abfragen (busy waiting), d.h. zwischen den 'bereiten' und 'ausführenden' Zustand pendeln, bis die aktuelle Uhrzeit die Ausgabeuhrzeit erreicht hat. S. 9 / 10

10 Aufgabe 10: Nicht ausgelastet? Übung in C Überführen Sie Ihre Algorithmen in ein C- Programm. Hinweise: Zum Ausgeben können Sie die Funktion printf verwenden: printf("..."); Ausgaben einer ganzen Zahl: int n; n =...; printf("%d", n); // ganze Zahl ausgeben Eine ganze Zahl n können Sie mittels der Funktion scanf einlesen: int n; scanf("%d", &n); // ganze Zahl einlesen (Typ: %d für int) In MS Visual Studio können Sie statt scanf die Funktion scanf_s verwenden. (Unterschiede bestehen lediglich beim Einlesen von Zeichen oder Strings.) S. 10 / 10

Vom Algorithmus zum Programm

Vom Algorithmus zum Programm Vom Algorithmus zum Programm Lernziele: Vertiefen der Kenntnisse über den Entwurf von Algorithmen und deren Übertragung in ein C- Programm Aufgabe 1: Pythagoreisches Tripel a) Entwickeln Sie einen Algorithmus,

Mehr

Hochschule Niederrhein Einführung in die Programmierung Prof. Dr. Nitsche. Bachelor Informatik WS 2015/16 Blatt 3 Beispiellösung.

Hochschule Niederrhein Einführung in die Programmierung Prof. Dr. Nitsche. Bachelor Informatik WS 2015/16 Blatt 3 Beispiellösung. Zahldarstellung Lernziele: Vertiefen der Kenntnisse über Zahldarstellungen. Aufgabe 1: Werte/Konstanten Ergänzen Sie die Tabelle ganzzahliger Konstanten auf einem 16- Bit- System. Die Konstanten in einer

Mehr

GI Vektoren

GI 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

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 11. Vorlesung 14.06.2017 1 Schleifen 2 do...while do block while ( bedingung ); block: eine Anweisung oder Anweisungen in { block bed JA NEIN 3 while while ( bedingung ) block

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

Kontrollstrukturen und Funktionen in C

Kontrollstrukturen und Funktionen in C Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren

Mehr

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife Praktikum Ingenieurinformatik Termin 2 Verzweigungen (if-else), printf und scanf, while-schleife 1 1. Import/Export von Projekten 2. Verzweigungen (if-else-anweisung) 3. printf und scanf 4. Übungsaufgaben

Mehr

Primzahlen und Programmieren

Primzahlen und Programmieren Primzahlen Wir wollen heute gemeinsam einen (sehr grundlegenden) Zusammenhang zwischen Programmieren und Mathematik herstellen. Die Zeiten in denen Mathematiker nur mit Zettel und Stift (oder Tafel und

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

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Einführung in die Programmiersprache C Teil 2 Ein- und Ausgabe in C-Programmen Prof. Dr.-Ing. Thomas Wiedemann Fachgebiet Informatik / Mathematik Überblick zur Vorlesung Ein-

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Übungen zu Algorithmen

Übungen zu Algorithmen Institut für Informatik Universität Osnabrück, 08.11.2016 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/~ainf Lukas Kalbertodt, B.Sc. Testat bis 16.11.2016, 14:00 Uhr Nils Haldenwang, M.Sc. Übungen

Mehr

Nachname:... Vorname:... MatrNr.:... Klausur PR2. Erstellen Sie eine Struktur für eine Komplexe Zahl mit den Elementen real und imag vom Typ double.

Nachname:... Vorname:... MatrNr.:... Klausur PR2. Erstellen Sie eine Struktur für eine Komplexe Zahl mit den Elementen real und imag vom Typ double. Nachname:... Vorname:... MatrNr.:... Klausur PR2 HAW-Hamburg, Fakultät Technik und Informatik, Department Informations- und Elektrotechnik Dr. Robert Heß, 4.7.2008 Bearbeitungsdauer: 90 min Hilfsmittel:

Mehr

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei

Mehr

Kapitel 3. Mein erstes C-Programm

Kapitel 3. Mein erstes C-Programm Kapitel 3 Mein erstes C-Programm 1 Gliederung Kapitel 3 Mein erstes C-Programm 3.1 Einleitung 3.2 Mein erstes C-Programm 3.3 Zusammenfassung 2 Problem Algorithmus Mittelwert für Messwerte berechnen DGL

Mehr

CEN1112 Labor Software-Entwicklung

CEN1112 Labor Software-Entwicklung Dipl.-Ing. (FH) Peter Bitterlich M.Sc. Joachim Storz Fakultät für Technik STUDIENGANG MEDIZINTECHNIK CEN1112 Labor Software-Entwicklung Vorbereitungsaufgaben zu Versuch 3 C-Programmierung Vertiefung Wintersemester

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 4: Prof. Dr. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen

Mehr

"Einführung in die Programmierung" Krefeld, den 24. September 2013

Einführung in die Programmierung Krefeld, den 24. September 2013 Einführung in die Programmierung Matrikelnummer: Klausur zur Vorlesung "Einführung in die Programmierung" Krefeld, den 24. September 2013 Hinweise: Übertragen Sie bitte Name und Matrikelnummer deutlich

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:

Mehr

Schleifenanweisungen

Schleifenanweisungen Schleifenanweisungen Bisher: sequentielle Abarbeitung von Befehlen (von oben nach unten) Nun: Befehle mehrfach ausführen (= Programmschleife): for-anweisung - wenn feststeht, wie oft z.b.: eine Berechnung

Mehr

Praktikum Ingenieurinformatik. Termin 3. Fehlervermeidung, Fehlersuche, Schleifen (while, do-while, for)

Praktikum Ingenieurinformatik. Termin 3. Fehlervermeidung, Fehlersuche, Schleifen (while, do-while, for) Praktikum Ingenieurinformatik Termin 3 Fehlervermeidung, Fehlersuche, Schleifen (while, do-while, for) 1 1. Fehlervermeidung, Fehlersuche 2. Schleifen 3. Debugger 2 1.1. Fehlertypen Fehler bei der Problemanalyse

Mehr

Programmieren in C (Übungsblatt 1)

Programmieren in C (Übungsblatt 1) 21.02.2017 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung

Mehr

Wiederholung C-Programmierung

Wiederholung C-Programmierung 1.1. Gliederung Kapitel 1 Wiederholung C-Programmierung Entwicklungsumgebung Qt Creator Ein- und Ausgabe Kontrollstrukturen, Verzweigungen, Schleifen Funktionen, lokale und globale Variablen Felder und

Mehr

Programmieren in C (Übungsblatt 1)

Programmieren in C (Übungsblatt 1) 23.02.2016 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung

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

Übungspaket 32 Einfach verkettete, sortierte Liste

Übungspaket 32 Einfach verkettete, sortierte Liste Übungspaket 32 Einfach verkettete, sortierte Liste Übungsziele: Skript: 1. Aufbau einer einfach verketteten, sortierten Liste 2. Traversieren von Listen 3. Vereinfachung durch ein Dummy-Element Kapitel:

Mehr

Praktikum Ingenieurinformatik. Termin 6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

Praktikum Ingenieurinformatik. Termin 6. Mehrdimensionale Felder, Kurvendarstellung mit Excel Praktikum Ingenieurinformatik Termin 6 Mehrdimensionale Felder, Kurvendarstellung mit Excel 1 Praktikum Ingenieurinformatik Termin 6 1. Mehrdimensionale Felder 2. Kurvendarstellung mit Excel 3. Zusatzaufgaben

Mehr

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz FH München, FB 03 FA WS 06/07 Ingenieurinformatik Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz Zulassung geprüft vom Aufgabensteller: Teil I Aufg. 2 Aufg. 3 Aufg. 4 Aufg. 5 Summe Note Aufgabensteller:

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr

Lesen Sie alle Aufgabenstellungen sorgfältig durch, bevor Sie mit der Bearbeitung der ersten Aufgabe beginnen.

Lesen Sie alle Aufgabenstellungen sorgfältig durch, bevor Sie mit der Bearbeitung der ersten Aufgabe beginnen. INE1 Musteraufgaben für die Semesterendprüfung Hilfsmittel Vier Seiten selbst verfasste Zusammenfassung keine weiteren Hilfsmittel keine elektronischen Hilfsmittel Abgabe Füllen Sie das erste Aufgabenblatt

Mehr

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung)

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Hochschule München, FK 03 SS 2014 Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung

Mehr

Ausgabe:

Ausgabe: Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife

Mehr

5. Übung: PHP-Grundlagen

5. Übung: PHP-Grundlagen 5.1. Erstes PHP-Programm 1. Schreiben Sie PHP-Programm innerhalb einer Webseite, d.h. innerhalb eines HTML-Dokument. Ihr PHP-Programm soll einen kurzen Text ausgeben und Komentare enthalten. Speichern

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es 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

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,

Mehr

Computergrundkenntnisse und Programmieren, WS 07/08, Übung 11: Klassen der Standardbibliothek 2

Computergrundkenntnisse und Programmieren, WS 07/08, Übung 11: Klassen der Standardbibliothek 2 Computergrundkenntnisse und Programmieren, WS 07/08, Übung 11: Klassen der Standardbibliothek 2 Neben vector ist list die zweite wichtige Containerklasse. Um unsere Kenntnisse von Containerklassen zu erweitern,

Mehr

FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren

FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit Aufgabenblätter erreichbare Punktzahl zugelassene Hilfsmittel, 0800 1000 Uhr (120 min) 16 Seiten (einschl. Deckblatt)

Mehr

Kapitel 7. Zusammengesetzte Datentypen, Vektoren, Zeichenketten

Kapitel 7. Zusammengesetzte Datentypen, Vektoren, Zeichenketten Kapitel 7 Zusammengesetzte Datentypen, Vektoren, Zeichenketten 1 Gliederung Kapitel 7 Zusammengesetzte Datentypen 7.1 Vektoren 7.2 Sortieren eines Vektors 7.3 Mehrdimensionale Felder 7.4 Umgang mit ein-/zweidimensionalen

Mehr

5. Elementare Befehle und Struktogramme

5. Elementare Befehle und Struktogramme 5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen

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

Zeichenketten sind uns bisher nur als konstante Texte begegnet, welche in "" angegeben waren; z.b. als Formatstring in der printf()-funktion:

Zeichenketten sind uns bisher nur als konstante Texte begegnet, welche in  angegeben waren; z.b. als Formatstring in der printf()-funktion: Zeichenketten (Strings) Seite 1 von 11 Zeichenketten(Strings) sind wichtige Bestandteile fast eines jeden Programms. Beispiele sind Eingabe von Namen oder Adressen, Ausgabe von Meldetexten oder Bearbeitung

Mehr

Programmieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Aufgabenblatt 3

Programmieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Aufgabenblatt 3 Übung zur Vorlesung Programmieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Allgemeines Aufgabenblatt 3 Abgabe: 10.12.2013, vor der Vorlesung (14:15 Uhr, AM 1) Max.

Mehr

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Michael Jugovac Dominik Kopczynski Jan Quadflieg Till Schäfer Stephan Windmüller Dortmund, den 30. Oktober 2014 Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Es können 12 (+5

Mehr

Arithmetik in der tcsh

Arithmetik 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

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

2.5 Programmstrukturen Entscheidung / Alternative

2.5 Programmstrukturen Entscheidung / Alternative Entscheidung, ob der folgende Anweisungsblock ausgeführt wird oder ein alternativer Block Entscheidung ob die Bedingung wahr oder falsch (True / False) ist Syntax: 2.5 Programmstrukturen 2.5.1 Entscheidung

Mehr

E-/A-Funktionalität nicht Teil der Programmiersprache

E-/A-Funktionalität nicht Teil der Programmiersprache C Ein-/Ausgabe C Ein-/Ausgabe C.1 Überblick E-/A-Funktionalität nicht Teil der Programmiersprache Realisisierung durch "normale" Funktionen Bestandteil der Standard-Funktionsbibliothek einfache Programmierschnittstelle

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

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung.

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. Dateioperationen Seite 1 von 12 Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. z.b.: c:\testdateien\text.dat //Datendatei

Mehr

Übersicht Shell-Scripten

Übersicht Shell-Scripten !!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,

Mehr

Greenfoot: Verzweigungen

Greenfoot: Verzweigungen Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch Betrachten wir die act()-methode des Wombats aus dem Wombats-Szenario: Wie interpretieren Sie diesen Code? (einfach übersetzen) Falls der Wombat ein

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

Aufgabe 1 (12 Punkte)

Aufgabe 1 (12 Punkte) Aufgabe 1 (12 Punkte) Schreiben Sie eine Klasse public class ZinsesZins, die zu einem gegebenen Anfangskapital von 100,00 die Kapitalentwicklung bei einer jährlichen nachschüssigen Verzinsung in Höhe von

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben 18.11.5 1 HEUTE 18.11.5 3 Schleifen Arrays while, do reichen aus, um alle iterativen Algorithmen zu beschreiben Nachteil: Steuermechanismus ist verteilt Übersicht nicht immer leicht dazu gibt es for (

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 7 Besprechung: 4. 8.12.2017 (KW 49) Vorbereitende

Mehr

Teil 5: Zeiger, Felder, Zeichenketten Gliederung

Teil 5: Zeiger, Felder, Zeichenketten Gliederung Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik

Mehr

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf

Mehr

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12

Mehr

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Andre Droschinsky Ingo Schulz Dortmund, den 0. Dezember 2015 Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Block rot Es können 4 + 1 Punkte erreicht werden. Abgabedatum: 10. Dezember 2015 2:59 Uhr Hinweise

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

Wuerfel - augenzahl: int + Wuerfel() + wuerfeln() + gibaugenzahl(): int

Wuerfel - augenzahl: int + Wuerfel() + wuerfeln() + gibaugenzahl(): int Informatik Eph IFG1/2 (GA) Bearbeitungszeit: 90 min. Seite 1 Aufgabe 1: Kniffel Modellierung und Implementierung Im Folgenden sollen Teile eines kleinen "Kniffel"-Spiels modelliert, analysiert und implementiert

Mehr

Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch

Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch Betrachten wir die act()-methode des Wombats aus dem Wombats-Szenario: Wie interpretieren Sie diesen Code? (einfach übersetzen) Falls der Wombat ein

Mehr

Thomas Gewering Benjamin Koch Dominik Lüke. (geschachtelte Schleifen)

Thomas Gewering Benjamin Koch Dominik Lüke. (geschachtelte Schleifen) Technische Informatik für Ingenieure WS 2010/2011 Musterlösung Übungsblatt Nr. 6 2. November 2010 Übungsgruppenleiter: Matthias Fischer Mouns Almarrani Rafał Dorociak Michael Feldmann Thomas Gewering Benjamin

Mehr

Datenstrukturen und Algorithmen 2. Klausur SS 2001

Datenstrukturen und Algorithmen 2. Klausur SS 2001 UNIVERSITÄT PADERBORN FACHBEREICH 7 (MATHEMATIK INFORMATIK) Datenstrukturen und Algorithmen 2. Klausur SS 200 Lösungsansätze Dienstag, 8. September 200 Name, Vorname:...................................................

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

Einfü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

Mehr

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

1 Aufgaben 1.1 Objektorientiert: (extended-hamster) Sammel-Hamster 1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

Mehr

2.5 Listen. Kurzschreibweise: [42; 0; 16] Listen werden mithilfe von [] und :: konstruiert.

2.5 Listen. Kurzschreibweise: [42; 0; 16] Listen werden mithilfe von [] und :: konstruiert. 2.5 Listen Listen werden mithilfe von [] und :: konstruiert. Kurzschreibweise: [42; 0; 16] # let mt = [];; val mt : a list = [] # let l1 = 1::mt;; val l1 : int list = [1] # let l = [1;2;3];; val l : int

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

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) 1. Aufgabe 6 Punkte Geben Sie Definitionen an für: a) eine float-variable var: b) einen Zeiger pvar, der auf die Variable var zeigt: c) eine Funktion

Mehr

Eine kleine Befehlssammlung für Java Teil1

Eine kleine Befehlssammlung für Java Teil1 Eine kleine Befehlssammlung für Java Teil1 Definition einer Klasse public class Klasse{ Hier wird der Name der Klasse definiert. In diesem Fall ist das Klasse. Der Name muss mit dem Namen der.class Datei

Mehr

Übung zu Grundlagen der Betriebssysteme. 3. Übung 30.10.2012

Übung zu Grundlagen der Betriebssysteme. 3. Übung 30.10.2012 Übung zu Grundlagen der Betriebssysteme 3. Übung 30.10.2012 Aufgabe 1 Schließen Sie sich über die URL http://userpages.uni-koblenz.de/~mips/bs/anmeldung/ Bearbeitungsgruppen bestehend aus 3 Teilnehmern

Mehr

Lösungen der P1-Musterprüfungsaufgaben

Lösungen der P1-Musterprüfungsaufgaben Lösungen der P1-Musterprüfungsaufgaben 7.6.2012 Textformatierung Eine Textdatei wird eingelesen, aufeinander folgende White-space-Zeichen werden zu einem zusammengefasst, die Zeilenlänge wird angepasst

Mehr

Schleifen: Immer wieder dasselbe tun

Schleifen: Immer wieder dasselbe tun Schleifen: Immer wieder dasselbe tun Bei einer Schleife werden Anweisungen immer wieder ausgeführt, solange die Bedingung wahr ist. Dafür muss man eine Variable immer wieder ändern, solange bis eine Überprüfung

Mehr

2 Teil 2: Nassi-Schneiderman

2 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

Mehr

Übung zu Einführung in die Informatik # 11

Übung zu Einführung in die Informatik # 11 Übung zu Einführung in die Informatik # 11 Tobias Schill tschill@techfak.uni-bielefeld.de 22. Januar 2016 Aktualisiert am 22. Januar 2016 um 11:36 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* Aufgabe

Mehr

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe Aufgabe 6: Häuser verwalten - dynamisch Für ein Schneeräumungsunternehmen soll ein Programm zur Verwaltung von Häuserlisten geschrieben werden. Das Programm soll in der Lage sein, zu einem Haus die wichtigsten

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

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang

Mehr

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten

Mehr

Steuern des GSR-Interface mit QBasic

Steuern des GSR-Interface mit QBasic Steuern des GSR-Interface mit QBasic Erstellt von Jochen Sendler, Geschwister-Scholl-Realschule Mannheim Inhaltsverzeichnis 1. Die Programmiersprache QBasic 3 2. Starten von QBasic 3 3. Ansteuern einzelner

Mehr

= 7 (In Binärdarstellung: = 0111; Unterlauf) = -8 (In Binärdarstellung: = 1000; Überlauf)

= 7 (In Binärdarstellung: = 0111; Unterlauf) = -8 (In Binärdarstellung: = 1000; Überlauf) Musterlösung Übung 2 Aufgabe 1: Große Zahlen Das Ergebnis ist nicht immer richtig. Die Maschine erzeugt bei Zahlen, die zu groß sind um sie darstellen zu können einen Über- bzw. einen Unterlauf. Beispiele

Mehr

Praktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration

Praktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration Praktikum Ingenieurinformatik Termin 4 Funktionen, numerische Integration 1 Praktikum Ingenieurinformatik Termin 4 1. Funktionen. Numerische Integration, Trapezverfahren 1.1. Funktionen Eine Funktion ist

Mehr

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C Übersicht Funktionen Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion Sinn von Funktionen Wiederverwendung häufig verwendeter nicht banaler Programmteile Wiederverwendung

Mehr

Definition von LR(k)-Grammatiken

Definition von LR(k)-Grammatiken Definition von LR(k)-Grammatiken Ziel: Ein Lookahead von k soll ausreichen um entscheiden zu können, welche Regel angewendet werden muss. Definition: FIRST k (w 1 w n ):= w 1 w k, falls n k, w 1 w n, sonst.

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Prüfung Algorithmen und Datenstrukturen, WS 2008/2009 (97 Punkte, 4 Seiten)

Prüfung Algorithmen und Datenstrukturen, WS 2008/2009 (97 Punkte, 4 Seiten) Name:... Studiengruppe:... Platz Nr.:... Hochschule München, Fakultät für Elektrotechnik und Informationstechnik Prof. Dr. Irber, Prof. Dr. Rauh, Prof. Dr. Ries Prüfung Algorithmen und Datenstrukturen,

Mehr

Übungspaket 8 Datentyp int

Übungspaket 8 Datentyp int Übungspaket 8 Datentyp int Übungsziele: Skript: 1. Umgang mit dem Datentyp int, 2. Deklarationen von int-variablen, 3. int-konstanten 4. und int-rechenoperationen. Kapitel: 21 Semester: Wintersemester

Mehr

Crashkurs Haskell Mentoring WiSe 2016/17. Anja Wolffgramm Freie Universität Berlin

Crashkurs 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

Mehr

Übungspaket 14 Eindimensionale Arrays

Übungspaket 14 Eindimensionale Arrays Übungspaket 14 Eindimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung eindimensionaler Arrays Kapitel: 33 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Übungspaket 9 Logische Ausdrücke

Übungspaket 9 Logische Ausdrücke Übungspaket 9 Logische Ausdrücke Übungsziele: Skript: 1. Umgang mit logischen Vergleichs- und Verknüpfungsoperatoren 2. Bilden einfacher und komplexer logischer Ausdrücke Kapitel: 22 Semester: Wintersemester

Mehr

Nachname:... Vorname:... MatrNr.:... Klausur PR2. int main() { char Text[] = "Sehr geehrte Damen und Herren!"; char *tmp=text;

Nachname:... Vorname:... MatrNr.:... Klausur PR2. int main() { char Text[] = Sehr geehrte Damen und Herren!; char *tmp=text; Nachname:... Vorname:... MatrNr.:... Klausur PR2 HAW-Hamburg, Fakultät Technik und Informatik, Department Informations- und Elektrotechnik Dr. Robert Heß, 26.1.2009 Bearbeitungsdauer: 90 min Hilfsmittel:

Mehr

Prof. W. Hillen, Medizinische Informatik FH - AC (Jülich), Phys. Technik / Bio.Med. Technik. EDV - Praktikum (4)

Prof. W. Hillen, Medizinische Informatik FH - AC (Jülich), Phys. Technik / Bio.Med. Technik. EDV - Praktikum (4) Prof. W. Hillen, Medizinische Informatik FH - AC (Jülich), Phys. Technik / Bio.Med. Technik i:\lab_doc\hillen\edv_prak\pas_pr04.doc EDV - Praktikum (4) Thema: Anwendung von Schleifen Verwendung von Auswahlanweisungen

Mehr