Klausur in Programmieren



Ähnliche Dokumente
Klausur in Programmieren

Klausur in Programmieren

Klausur in Programmieren

Klausur in Programmieren

Klausur in Programmieren

Einführung in die Programmierung

Klausur in Programmieren

Einführung in die Programmierung (EPR)

Klausur in Programmieren

1 Vom Problem zum Programm

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

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

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

Angewandte Mathematik und Programmierung

Einführung in die C++ Programmierung für Ingenieure

2. Semester, 2. Prüfung, Lösung

Graphic Coding. Klausur. 9. Februar Kurs A

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Zusammengesetzte Datentypen -- Arrays und Strukturen

Name: Klausur Programmierkonzepte SS 2011

Kurze Einführung in die Programmiersprache C++ und in Root

Projektverwaltung Problem Lösung: Modulare Programmierung

Übung Grundlagen der Programmierung. Übung 05: Arrays. Abgabetermin: xx.xx.xxxx. Java-Programm Testplan Testergebnisse

Klausur in Programmieren

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Informatik Repetitorium SS Volker Jaedicke

FB Informatik. Fehler. Testplan

Einführung in die Programmierung

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 16

Klausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber

Lösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

Algorithmen zur Datenanalyse in C++

Kontrollstrukturen und Funktionen in C

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, Uhr Bearbeitungszeit: 105 Minuten

Zählen von Objekten einer bestimmten Klasse

Fallunterscheidung: if-statement

Objektorientierte Programmierung mit C++ Vector und List

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Vorkurs C++ Programmierung

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

1. Übung zu "Numerik partieller Differentialgleichungen"

Computeranwendung und Programmierung (CuP)

Programmierkurs Java

Hochschule München, FK 03 FA SS Ingenieurinformatik

Übungen zu C++ Kapitel 1

BEISPIELKLAUSUR Softwareentwicklung:

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Delegatesund Ereignisse

Java-Programmierung mit NetBeans

Modellierung und Programmierung 1

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

Wir arbeiten mit Zufallszahlen

Ingenieurinformatik Diplom-FA (C-Programmierung)

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung.

Programmierung in C. Grundlagen. Stefan Kallerhoff

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik

Algorithmen & Datenstrukturen 1. Klausur

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Programmierung

Fakultät Angewandte Informatik Lehrprofessur für Informatik

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder

Funktionale Programmierung mit Haskell

Objektorientiertes Programmieren für Ingenieure

25 kann ohne Rest durch 5 geteilt werden! ist wahr

Prüfung Computation, Programming

Einführung in die Programmierung

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Studentische Lösung zum Übungsblatt Nr. 7

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Diana Lange. Generative Gestaltung Operatoren

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz Institut für Angewandte Informatik

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

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

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

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Deklarationen in C. Prof. Dr. Margarita Esponda

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert.

5.4 Klassen und Objekte

Zählerstände online übermitteln

In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut.

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Programmieren für Ingenieure Sommer Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

IT-Basics 2. DI Gerhard Fließ

Professionelle Seminare im Bereich MS-Office

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind

5. Tutorium zu Programmieren

Erwin Grüner

Die Programmiersprache C99: Zusammenfassung

Übung 9 - Lösungsvorschlag

1Schnelleinstieg 14. 2Wie aus einer einfachen Textdatei. 3 Wie man eigene Programme erstellt 30. Inhaltsverzeichnis. ein Programm wird 20

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Daten sammeln, darstellen, auswerten

Transkript:

Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2009, 16. Juli 2009 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.: Aufgabe 1 2 3 4 5 6 Summe Punkte max 12 6 20 16 26 15 95 Punkte Alle Fragen beziehen sich auf den Stoff der Vorlesung. Somit sind sie z.b. bezogen auf die Programmiersprache C++. Auch sonst gelten die Konventionen wie in unserer Vorlesung. 1. Aufgabe: Grundlagen Welche Ergebnisse haben die folgenden Operationen auf den gegebenen Definitionen? Die Operationen der einzelnen Teilaufgaben bauen nicht aufeinander auf! int a = 5; int b = 18; 1. int c = b++; Variablenwerte: b =, c = (2 Pkte) 2. int c = ++a; Variablenwerte: a =, c = (2 Pkte) 3. int c = --a / 5; Variablenwerte: a =, c = (2 Pkte) 4. int c = b % a++; Variablenwerte: a =, b =, c = (3 Pkte) 5. int c = ++b % a; Variablenwerte: a =, b =, c = (3 Pkte) - Bitte beachten Sie auch die Rückseite - Seite 1 von 7

2. Aufgabe: Datentypen Welche Ausgabe produzieren die folgenden Programmfragmente (6P): a) I short int a = 32767; // short int 2 Byte a++; if(a > 0) std::cout << "Wert groesser 0. " << endl; else std::cout << "Wert kleiner oder gleich 0. " << endl; Ausgabe: Wert...0. b) short int b = -32768; // short int 2 Byte b++; if(b > 0) std::cout << "Wert groesser 0. " << endl; else std::cout << "Wert kleiner oder gleich 0. " << endl; Ausgabe: Wert...0. - Bitte beachten Sie auch die Rückseite - Seite 2 von 7

3. Aufgabe: Array/Feld, Indizierung a) Für Zeichenketten gibt es unterschiedliche Handhabungen. Die üblichsten Vorgehensweisen bauen auf Arrays mit dem Datentyp char auf. Meist füllen die Zeichenketten jedoch nicht das gesamte Array, sodass die Länge oder das Ende einer Zeichenkette gesondert betrachtet werden muss. Es sind dabei zwei Varianten üblich: 1. die Markierung des Endes einer Zeichenkette mit einer 0. 2. die Speicherung der Länge an der 1. Stelle des Arrays. a) Nennen Sie je Methode einen Vor- und einen Nachteil bei der jeweiligen Vorgehensweise: (4P) Vorteil bei 1: Nachteil bei 1: Vorteil bei 2: Nachteil bei 2: b) Schreiben Sie eine Funktion, die eine Zeichenkette der Variante 2 (acinstringv2) in eine Zeichenkette der Variante 1 (acoutstringv1) umwandelt. Verwenden Sie dabei den nachfolgend vordefinierten Funktionskopf und ergänzen Sie den Funktionsrumpf: (16P) void convertstring(char* acoutstringv1, char* acinstringv2) - Bitte beachten Sie auch die Rückseite - Seite 3 von 7

4. Aufgabe: Schleifen a) Welche Schleifentypen gibt es in C/C++? Umreißen Sie in kurzen Stichworten die Unterschiede. (6P) b) Schreiben Sie nachfolgende while-schleife als for-schleife mit derselben Bedeutung (10P): int li = 10; int lsumme = 0; while(li >= 0) std::cout << "Zwischensumme: " << lsumme << endl; lsumme += li; li--; - Bitte beachten Sie auch die Rückseite - Seite 4 von 7

5. Aufgabe: Ganzes Programm (26 P) Ergänzen Sie die Lücken im nachfolgenden Programmtext zu einem lauffähigen C++- Programm. Es hat die Aufgabe meteorologische Temperaturangaben einzulesen, daraus den Mittelwert und die Varianz zu bestimmen und auf die Konsole auszugeben. Der Mittelwert und die Varianz bestimmen sich durch 1 1 n x i n i= 0 mw =, varianz = n i= #include <math.h> #include <iostream> using 1 n 1 0 ( x i mw ) 2 // Messwerte von der Konsole einlesen void eingebenmesswerte(unsigned int& ruioutmesswerteanzahl, double*& rpdoutmesswerte) cout << Anzahl Messwerte: ; cin >> ruioutmesswerteanzahl; rpdoutmesswerte = new double[guimesswerteanzahl]; for( ) cout << Messwert: ; cin >> rpdoutmesswerte[ ]; // Mittelwert bestimmen double rechnemittelwert(unsigned int uiinmesswerteanzahl, double* adinmesswerte) - Bitte beachten Sie auch die Rückseite - Seite 5 von 7

// Varianz bestimmen double rechnevarianz(double dinmittelwert, unsigned int uiinmesswerteanzahl, double* adinmesswerte) double dsumme = 0.0; for( ) double ddiff = dinmittelwert adinmesswert[ ]; dsumme += ddiff * ; return sqrt(dsumme) ; int main() double* admesswerte; unsigned int uimesswerteanzahl; eingabemesswerte( ); double dmittelwert = ; double dvarianz = rechnevarianz(dmittelwert, ); cout << Mittelwert: << ; cout << Varianz: << ; delete ; // Freigabe dynamisches Array return 0; - Bitte beachten Sie auch die Rückseite - Seite 6 von 7

6. Aufgabe: Algorithmus Was berechnet die nachfolgende Funktion bzw. was macht sie? Bitte beschreiben Sie die Funktionsweise möglichst abstrakt. (15 P) Hinweis: Testen Sie den Algorithmus anhand eines kleinen Arrays und beobachten Sie die Variablenwerte. void unknown(int* aiinoutarray, int iinanzahl) for(unsigned int uiindex=0; uiindex < iinanzahl; ++uiindex) bool bnoswap = true; for(unsigned int uiindex2=0; uiindex2 < uiindex; ++uindex2) if(aiinoutarray[uiindex2] > aiinoutarray[uiindex2+1] int itmp = aiinoutarray[uiindex2]; aiinoutarray[uiindex2] = aiinoutarray[uiindex2+1]; aiinoutarray[uiindex2+1] = itmp; bnoswap = false; if(bnoswap) return; - Bitte beachten Sie auch die Rückseite - Seite 7 von 7