Klausur "C#" WS 2012/2013

Ähnliche Dokumente
Klausur "ADP" SS 2015

Klausur "ADP" SS 2016

Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415

1 Stückweise konstante Funktionen (ca =10 Punkte)

2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO

Klausur "Informationstechnische Grundlagen" WS 2012/2013

Programmierkurs Java

Probeklausur: Programmierung WS04/05

Sprachkonstrukte Verzweigungen und Array-Strukturen

Probeklausur: Programmieren I

Java - Programmierung - Prozedurale Programmierung 1

Musterlösung Stand: 5. Februar 2009

Klausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Klausur Grundlagen der Programmierung

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Semestralklausur Einführung in die Programmierung, WS 2005/06, Seite 1/6 Name, Vorname, Matrikelnummer: Gruppe A

einlesen n > 0? Ausgabe Negative Zahl

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.

Elementare Konzepte von

Klausur in Programmieren

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Einstieg in die Informatik mit Java

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

Allgemeine Hinweise:

Klausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java im Wintersemester 2015/16

Probeklausur Informatik 2 Sommersemester 2013

Einführung in die Informatik 1

2.2 Der Algorithmus von Knuth, Morris und Pratt

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

Algorithmen und Programmierung II

Einführung in die Informatik 1

2 Teil 2: Nassi-Schneiderman

Arbeitsblatt zu Methoden

Übung Datenstrukturen. Objektorientierung in C++

! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -

Welche Informatik-Kenntnisse bringen Sie mit?

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

Klausur in Programmieren

Einführung in die Programmierung und Programmiersprachen (OOP)

JAVA für Nichtinformatiker - Probeklausur -

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

Nachklausur Bitte in Druckschrift leserlich ausfüllen!

Zentralübung Grundlagen der Programmierung

Matrikelnummer:

Vorlesung Objektorientierte Programmierung Klausur

Einstieg in die Informatik mit Java

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -

Klausur Programmieren 2 SS 2016

pue13 January 28, 2017

Klausur Fachprüfung Wirtschaftsinformatik Dauer: 2 Stunden. Name:

Repetitorium Informatik (Java)

Klausur Fachprüfung Wirtschaftsinformatik. Name:

Zeichenketten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java. 16.

Programmieren in Java -Eingangstest-

Klassen als Datenstrukturen

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Programmieren I + II Regeln der Code-Formatierung

C++ - Objektorientierte Programmierung Konstante und statische Elemente

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

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Klausur Software-Entwicklung März 01

C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung

3. Anweisungen und Kontrollstrukturen

Primitive Datentypen

Klausur Informatik I WS 2006/2007

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

Institut für Programmierung und Reaktive Systeme 20. November Programmieren I. 4. Übungsblatt

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Wiederholung der Endklausur am 24. September 2013

RO-Tutorien 3 / 6 / 12

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

AuD-Tafelübung T-B5b

Einführung in die Programmierung

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

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

Einführung in die Programmierung für Wirtschaftsinformatik

1 Klassen anlegen und Objekte erzeugen

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Programmierung in Java

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

Programmieren I + II Regeln der Code-Formatierung

1 Klassen anlegen und Objekte erzeugen

Programmieren I. Kapitel 5. Kontrollfluss

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

Java: Eine kurze Einführung an Beispielen

Anweisungen zur Ablaufsteuerung

Universität zu Lübeck Institut für Telematik. Prof. Dr. Stefan Fischer

Klausur Software-Entwicklung September 00

Probeklausur: Einführung in die objektorientierte Programmierung mit Java 15WS

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

1 Klassen und Objekte

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

Klausur Informatik WS 2012/13

Transkript:

PD Dr. J. Reischer 13.02.2013 Klausur "C#" WS 2012/2013 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes aus! Die Klausur dauert 90 Minuten. Es sind maximal 45 Punkte zu erreichen. Es sind keine Hilfsmittel zugelassen. Bitte beantworten Sie alle Fragen direkt auf das Angabenblatt. Nutzen Sie ggf. die Rückseite und kennzeichnen Sie dies entsprechend. Eigene Schmierblätter sind nicht erlaubt. Bei mehreren oder mehrdeutigen Lösungen wird die schlechtere Lösung gewertet. Streichen Sie daher ungültige Lösungen eindeutig durch. Verwenden Sie nur C# für Programmieraufgaben. Viel Erfolg! 1

Aufgabe 1: (3 Punkte) Nennen Sie insgesamt drei formale und/oder inhaltliche Gemeinsamkeiten bzw. Unterschiede zwischen if und switch. Aufgabe 2: (6 Punkte) Finden Sie syntaktische und semantische Fehler in folgendem Programmfragment. Unterstreichen Sie die Fehler und begründen Sie, warum ein Fehler vorliegt. Ein Fehlertyp, der mehrfach auftritt, wird nur einmal gewertet. // Test auf Palindrom: Ein Palindrom ist eine Zeichenkette, die vorwärts // wie rückwärts gelesen identisch ist, d. h. symmetrisch bezüglich der // Mitte ist (z. B. "", "X", "121", "ABBA", "RELIEFPFEILER") static boole IsPalindrom(string S) if (S.Length() = 0) return true; else if (S.Length() = 1) return true; else N = S.Length(); for (int I = 0; I <= N; I++) if (S[I]!= S[N I]) return false; return true; }; }; 2

Aufgabe 3: (6 Punkte) Ermitteln Sie, welche Werte die folgende Funktion für die Parameter N = 0, N = 1,, N = 5 berechnet und zurückgibt. Tragen Sie das Ergebnis in die darunter stehende Tabelle ein. // Funktion F, die für ihren Parameter N bestimmte Werte berechnet static int F(int N) int C = 0; // Funktionsergebnis, das unten gesetzt wird while (N > 0) // kreise in Schleife, solange N > 0 if (N % 2 == 0) // wenn N gerade ('%' = modulo = Divisionsrest) N = N / 2 1; // teile N durch 2 und subtrahiere 1 else // sonst N = N + 1; // erhöhe N um 1 C++; // zähle mit in C, wie oft Schleife durchlaufen wird } return C; // gib Anzahl Schleifendurchläufe zurück } N 0 1 2 3 4 5 F(N) (bzw. C) 3

Aufgabe 4: (8 Punkte) Schreiben Sie eine Funktion string Convert(char[][] Matrix), die den Inhalt der quadratischen Zeichenmatrix Matrix (zweidimensionales Array aus char) rückwärts, d. h. von unten nach oben und rechts nach links entgegen der üblichen Leserichtung in einen String wandelt und als Funktionsergebnis zurückgibt (s. Beispiele unten). Die Matrix kann beliebig groß sein außer 0 0. Die Ausdehnung der Matrix in einer Dimension kann mit Matrix.Length ermittelt werden (da die Matrix quadratisch ist, ist die vertikale und horizontale Größe gleich). Beispiel für 3 3-Matrix: Beispiel für 4 4-Matrix: 'R' 'E' 'B' 'M' 'E' 'T' Ergebnisstring: "SEPTEMBER" 'N' 'I' 'L' 'O' 'R' 'A' 'C' 'T' Ergebnisstring: "HANSLIEBTCAROLIN" 'P' 'E' 'S' 'B' 'E' 'I' 'L' 'S' 'N' 'A' 'H' 4

Aufgabe 5: (8 Punkte) Schreiben Sie eine Funktion string ReplaceChars(string S), die im übergebenen String S alle großen und kleinen Umlaute sowie das scharfe 'ß' durch entsprechende Umschreibungen ersetzt: 'ä' "ae", 'ö' "oe", 'ü' "ue", 'Ä' "Ae", 'Ö' "Oe", 'Ü' "ue", 'ß' "sz". Verändern Sie hierzu nicht S selbst, sondern bauen Sie sukzessive einen neuen String (z. B. R) auf, der 'normale' Zeichen aus S übernimmt und bei Umlauten/'ß' die jeweilige Ersatzdarstellung anfügt. Beispiel: "bärbeißig" "baerbeiszig", "Übergröße" "Uebergroesze" usw. 5

Aufgabe 6: (14 Punkte) Definieren Sie eine Klasse Word mit folgenden Attributen und Methoden (inkl. Instanzkonstruktor): Attribut private string MyWord: enthält eine Zeichenkette, die ein Wort darstellt, das dann durch die unten stehenden Methoden verarbeitet werden soll. Methode public bool IsCapital(): Die Methode (Funktion) soll true zurückgeben, wenn alle Zeichen in MyWord nur aus Großbuchstaben bestehen. Methode public bool HasVowel(): Die Methode (Funktion) soll true zurückgeben, wenn in MyWord mindestens ein Vokal (auch Umlaut) enthalten ist. Instanzkonstruktor public Word(string S): MyWord soll bei der Instanzierung (d. h. bei der potenziellen Erzeugung einer Instanz der Klasse Word per Deklaration und Initialisierung durch new-operator) den Wert von S erhalten. Schreiben Sie zunächst nur den vollständigen Klassenrahmen class Word } hin, d. h. das Attribut sowie die beiden Methoden- und den Konstruktor-Rahmen (also jeweils nur Kopf und Rumpf der Methode bzw. des Konstruktors ohne eigentlichen Algorithmus). Sofern Sie noch Zeit haben, können Sie auch noch die entsprechende Funktionalität (Algorithmus) ausprogrammieren. Sie brauchen keine konkrete Instanz zu erzeugen. 6