Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
G
GoikLectures
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Deploy
Releases
Container Registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Goik Martin
GoikLectures
Commits
58d83bb3
Commit
58d83bb3
authored
8 years ago
by
Goik Martin
Browse files
Options
Downloads
Patches
Plain Diff
External link to zip archive replaced by page element in ILIAS
parent
cf02f0fc
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
Klausuren/Sd1/2015summer/Solution/beschreibung.xhtml
+60
-61
60 additions, 61 deletions
Klausuren/Sd1/2015summer/Solution/beschreibung.xhtml
Klausuren/Sd1/2015winter/Solution/Doc/a.xhtml
+8
-10
8 additions, 10 deletions
Klausuren/Sd1/2015winter/Solution/Doc/a.xhtml
with
68 additions
and
71 deletions
Klausuren/Sd1/2015summer/Solution/beschreibung.xhtml
+
60
−
61
View file @
58d83bb3
...
...
@@ -5,32 +5,28 @@
<title></title>
</head>
<body><h1
id=
"toc"
>
Übersicht
</h1>
<ul>
<body><h1
id=
"toc"
>
Übersicht
</h1><ul>
<li><a
href=
"#t1"
>
Aufgabenteil 1: String Transformationen
</a></li>
<li><a
href=
"#t2"
>
Aufgabenteil 2: Exceptions beim Morsen
</a></li>
</ul>
<hr
/>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
</ul><hr
/>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<h1
id=
"t1"
>
Aufgabenteil 1:
<span
lang=
"en"
>
String
</span>
Transformationen
</h1>
<h3>
Beschreibung
</h3>
<p>
In diesem Aufgabenteil sollen
mehrere Methoden zur Transformation von Zeichenketten (Strings)
implementiert werden.
</p><h3>
Vorbereitung
</h3><p>
Entpacken Sie das Archiv
<a
href=
"/files/goik/Klausur/SoSe2015/cjdhcwj776RRRR_QDSww3/sw1.zip"
>
sw1.zip
</a>
und importieren Sie den resultierenden Ordner
<code>
Klausur
</code>
als
<span
lang=
"en"
>
Maven
</span>
Projekt in Ihren
<span
lang=
"en"
>
Eclipse
Workspace
</span>
. Ignorieren Sie bitte das
<span
lang=
"en"
>
Package
</span>
<code>
de.hdm_stuttgart.mi.bitte_ignorieren
</code>
im Junit Test Zweig des
Projekts und ändern Sie
<strong>
nichts
</strong>
an den Tests.
</p>
<h3>
Aufgabe
</h3><p>
Vervollständigen Sie die Implementierung der folgenden
Methoden in der Klasse
<code>
de.hdm_stuttgart.sw1.klausur.StringTransforms
</code>
:
</p>
<ol>
Transformationen
</h1><h3>
Vorbereitung
</h3><p>
Entpacken Sie das oben
sichtbare Archiv exam.zip und importieren Sie den resultierenden Ordner
<code>
Exam
</code>
als
<span
lang=
"en"
>
Maven
</span>
Projekt in Ihren
<span
lang=
"en"
>
Eclipse Workspace
</span>
. Ändern Sie bitte
<strong>
nichts
</strong>
an den Tests.
</p><h3>
Aufgabe
</h3><p>
Vervollständigen Sie die Implementierung
der folgenden Methoden in der Klasse
<code>
de.hdm_stuttgart.sw1.klausur.StringTransforms
</code>
Ihres
importierten Projekts:
</p><ol>
<li><code>
chinesischerAkzent(final String input)
</code></li>
<li><code>
entferneVokale(final String input)
</code></li>
<li><code>
morsen(final String input)
</code></li>
</ol>
<p>
Die Javadoc Kommentare der jeweiligen Methoden beschreiben das
gewünschte Verhalten. Lesen Sie diese bitte
<strong>
sehr
genau
</strong>
.
</p>
<h3>
Allgemeine Hinweise
</h3>
<ul>
</ol><p>
Die Javadoc Kommentare der jeweiligen Methoden beschreiben das
gewünschte Verhalten. Lesen Sie diese bitte
<strong>
sehr
genau
</strong>
.
</p>
<h3>
Allgemeine Hinweise
</h3><ul>
<li><p>
Erwägen Sie die Verwendung von
<code><a
href=
"https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuffer.html"
target=
"_blank"
>
StringBuffer
</a></code>
Instanzen.
</p></li>
...
...
@@ -39,7 +35,7 @@
stehen Ihnen in der Testklasse
<code>
de.hdm_stuttgart.sw1.klausur.test.Test_StringTransforms
</code>
des
Junit Test Zweigs
<code>
src/test/java
</code>
korrespondierende Tests zur
Verfügung.
</p>
<p>
So definiert beispielsweise
Verfügung.
</p><p>
So definiert beispielsweise
<code>
de.hdm_stuttgart.sw1.klausur.test.Test_StringTransforms.chinesischerAkzent_Identisch()
</code>
einen Test der Methode
<code>
de.hdm_stuttgart.sw1.klausur.StringTransforms.chinesischerAkzent(String
...
...
@@ -48,7 +44,7 @@
<li><p>
Die von Ihnen erreichte Punktzahl richtet sich nach der Anzahl
positiv bestandener Tests. Sie bekommen keine Punkte, wenn Ihre
Implementierung in Bezug auf einen Test lediglich „fast richtig“ ist.
Daher im Zweifelsfall weniger Methoden vollständig
Daher im Zweifelsfall weniger Methoden
, diese dafür aber
vollständig
implementieren.
</p></li>
<li><p>
Beachten Sie alle Sonderfälle. Dazu zählen insbesondere
...
...
@@ -56,10 +52,16 @@
enthaltene null Werte in übergebenen Arrays.
</p></li>
<li><p>
Tip: Nutzen Sie den Debugger oder logging Statements (Beispiele
sind im Code vorhanden) im Fall fehlgeschlagener Testfälle, bei denen
Sie das zugrundeliegende Problem nicht unmittelbar lösen
können.
</p></li>
</ul>
<h3>
Methodenspezifische Hinweise
</h3>
<dl>
sind im Code vorhanden) im Fall fehlgeschlagener Testfälle, falls Sie
das zugrundeliegende Problem nicht unmittelbar lösen können.
</p></li>
<li><p>
Die Ausführung der Klasse
<code>
de.hdm_stuttgart.sw1.klausur.test.ShowReachedPoints
</code>
im
Junit Testzweig als Java Datei (nicht als Unit Test ausführen) zeigt
Ihnen die bereits erreichten Punkte aller Programmieranteile. Bitte
beachten: Dazu zählen auch nachfolgende Aufgaben, welche Sie ggf. noch
nicht bearbeitet haben.
</p></li>
</ul><h3>
Methodenspezifische Hinweise
</h3><dl>
<dt><code>
chinesischerAkzent(final String input)
</code></dt>
<dd><p>
Sie können einen String durch die Methode
<code><a
...
...
@@ -78,61 +80,58 @@
die Zeichen
<code>
A
</code>
bis
<code>
N
</code>
beschränkt, um Ihnen
Tipparbeit zu sparen. Ihre Lösung sollte aber problemlos um die
fehlenden Zeichen erweiterbar sein.
</p></dd>
</dl>
<h3
id=
"upload"
>
Hochladen Ihrer Lösung in das Klausursystem
</h3>
<p>
Sobald Sie die Aufgabe beendet haben (und möglichst wenige Tests
scheitern), exportieren Sie bitte Ihre Implementierung durch Rechtklick auf
das Eclipse Projekt.
</p>
<p>
Wählen Sie dazu durch Rechtsklick auf Ihr
Projekt im Package Explorer aus dem Kontextmenü sukzessive die Punkte
»Export--
>
General--
>
Archive File« und legen Sie einen auf
<code>
.zip
</code>
endenden Archivnamen fest. Laden Sie das resultierende
<code>
.zip
</code>
Archiv in das Ilias Klausursystem hoch (unteres
</dl><h3
id=
"upload"
>
Hochladen Ihrer Lösung in das
Klausursystem
</h3><p>
Sobald Sie die Aufgabe beendet haben (und möglichst
alle Tests erfolgreich sind), exportieren Sie bitte Ihre Implementierung per
Rechtsklick im Package Explorer auf Ihr Eclipse Projekt. Sie können dann im
Kontextmenü sukzessive »Export--
>
General--
>
Archive File« auswählen und
einen auf
<code>
.zip
</code>
endenden Archivnamen festlegen. Laden Sie
dieses
<code>
.zip
</code>
Archiv in das Ilias Klausursystem hoch (unteres
Seitenende). Zur Kontrolle: Die hochgeladene .zip Datei muss im
Klausursystem sichtbar sein.
</p>
<p
style=
"color: red;"
>
Achtung: Exportieren
Klausursystem sichtbar sein.
</p><p
style=
"color: red;"
>
Achtung: Exportieren
Sie Ihr Projekt als „.zip“ Datei (und nicht als „.tgz“, „.tar.gz“ o.ä). Sie
können nur Archive mit der Endung „.zip“ in das Klausursystem
hochladen.
</p>
<p>
Alternativ können Sie auch gleich den folgenden
<a
können nur Archive mit der Endung „.zip“ in das Klausursystem
hochladen.
</p>
<p>
Alternativ können Sie auch gleich den folgenden
<a
href=
"#t2"
>
Aufgabenteil 2
</a>
bearbeiten und dann beide Aufgabenteile
gemeinsam in einem Archiv hochladen.
</p>
<p>
Hinweis: Falls Sie mehrere
Archive hochladen, wird nur das zuletzt hochgeladene Archiv bewertet. Sie
können bei Bedarf hochgeladene Archive löschen, ich rate zur Vorsicht.
</p>
<hr
/>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<h1
id=
"t2"
>
Aufgabenteil 2: Exceptions beim Morsen
</h1>
<h3>
Beschreibung
</h3>
<p>
Das Morsealphabet kennt lediglich die Zeichen
<code>
A-Z
</code>
sowie die Ziffern
<code>
0-9
</code>
. Was passiert, wenn das
Argument von
<code>
morsen(final String input)
</code>
beispielsweise ein
"
<code>
+
</code>
" Zeichen enthält? Dieses Problem sollen Sie behandeln.
</p>
<h3>
Aufgabe
</h3>
<p>
Erstellen Sie eine geeignete unchecked Exception Klasse.
Werfen Sie eine Instanz mit entsprechender Fehlermeldung, falls sich ein
nicht-Morsezeichen in der Eingabe befindet.
</p>
<p>
Ihre Exception soll per
Konstruktor eine Meldung (Message) erhalten. Wir betrachten folgendes
Beispiel:
</p>
<pre>
try {
gemeinsam in einem Archiv hochlade
</p><p>
Hinweis: Falls Sie mehrere Archive
hochladen, wird nur das zuletzt hochgeladene Archiv bewertet. Sie können bei
Bedarf hochgeladene Archive löschen, ich rate zur Vorsicht.
</p>
<hr
/>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<h1
id=
"t2"
>
Aufgabenteil 2: Exceptions beim
Morsen
</h1><h3>
Beschreibung
</h3><p>
Das Morsealphabet kennt lediglich die
Zeichen
<code>
A-Z
</code>
sowie die Ziffern
<code>
0-9
</code>
. Was passiert,
wenn das Argument von
<code>
morsen(final String input)
</code>
beispielsweise
ein "
<code>
+
</code>
" Zeichen enthält? Dieses Problem sollen Sie
behandeln.
</p><h3>
Aufgabe
</h3><p>
Erstellen Sie eine geeignete unchecked
Exception Klasse. Werfen Sie eine Instanz mit entsprechender Fehlermeldung,
falls sich ein nicht-Morsezeichen in der Eingabe befindet.
</p><p>
Ihre
Exception soll per Konstruktor eine Fehlermeldung (Message) erhalten. Wir
betrachten folgendes Beispiel:
</p><pre>
try {
morsen("Ab+en_d");
} catch (final Exception ex) {
System.out.println(ex.getMessage());
}
</pre>
<p>
Dies sollte folgende Meldung
erzeugen:
</p>
<code>
Eingabezeichenkette 'Ab+en_d' enthält
nicht-Morsezeichen '+'.
</code>
<h3>
Hinweise
</h3>
<ul>
}
</pre><p>
Dies sollte folgende Meldung
erzeugen:
</p><p>
<code>
Eingabezeichenkette 'Ab+en_d' enthält
nicht-Morsezeichen '+'.
</code></p>
<h3>
Hinweise
</h3><ul>
<li><p>
Ihre Lösung soll die Tests in
<code>
de.hdm_stuttgart.sw1.klausur.test.Test_MorseExceptions
</code>
bestehen.
</p></li>
<li><p>
In der Fehlermeldung soll stets das
<strong>
erste
</strong>
nicht-Morsezeichen genannt werden.
</p></li>
nicht-Morsezeichen genannt werden, so wie im Beispiel das '+'
Zeichen.
</p></li>
<li><p>
Erzeugen Sie die Fehlermeldung exakt in der
zuvor
angegebenen
Form,
ansonsten wird der entsprechende Unit Test scheitern.
</p></li>
<li><p>
Erzeugen Sie die Fehlermeldung exakt in der angegebenen
Form,
ansonsten wird der entsprechende Unit Test scheitern.
</p></li>
<li><p>
Die Klasse
<a
href=
"https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html"
target=
"_blank"
>
IllegalArgumentException
</a>
kann Sinn stiftend
verwendet werden.
</p></li>
<li><p>
Beachten Sie
, dass Ihre Erweiterung nicht die Tests des
ersten
Aufgabenteils stört und führen Sie diese zur Sicherheit erneut
<li><p>
Stellen Sie sicher
, dass Ihre Erweiterung nicht die Tests des
ersten
Aufgabenteils stört und führen Sie diese zur Sicherheit erneut
aus.
</p></li>
</ul>
<p>
Vergessen Sie nicht, das
<a
href=
"#upload"
>
Prozedere zum
Hochladen Ihres Projekts
</a>
erneut auszuführen. Wie oben erwähnt, wird nur
das zuletzt hochgeladene Archiv bewertet. Achten Sie daher darauf, dass Ihre
Code-Erweiterung den ersten Teil nicht stört und führen Sie die Tests zum
<a
href=
"#t1"
>
Teil 1
</a>
zur Sicherheit ebenfalls aus.
</p></body>
</ul><p>
Vergessen Sie nicht, das
<a
href=
"#upload"
>
Prozedere zum Hochladen
Ihres Projekts
</a>
erneut auszuführen. Wie oben erwähnt, wird für beide
Aufgabenteile nur das zuletzt hochgeladene Archiv bewertet.
</p></body>
</html>
This diff is collapsed.
Click to expand it.
Klausuren/Sd1/2015winter/Solution/Doc/a.xhtml
+
8
−
10
View file @
58d83bb3
...
...
@@ -9,16 +9,14 @@
Klasse
</h1><h2>
Beschreibung
</h2><p>
Implementierung von Hilfsmethoden. In
dieser Aufgaben sollen die in der Klasse
<code>
de.hdm_stuttgart.sw1.klausur.Helper
</code>
bereits vorbereiteten Dummy
Methoden implementieren.
</p><h3>
Vorbereitung
</h3><p>
Entpacken Sie das Archiv
<a
href=
"../files/goik/Klausur/Ws2015/Sd1/cxadFFgdhJYY_c342Pq--QQas/exam.zip"
>
exam.zip
</a>
und importieren Sie den resultierenden Ordner
<code>
Exam
</code>
als
<span
lang=
"en"
>
Maven
</span>
Projekt in Ihren
<span
lang=
"en"
>
Eclipse
Workspace
</span>
. Das
<span
lang=
"en"
>
Package
</span>
<code>
de.hdm_stuttgart.mi.bitte_ignorieren
</code>
enthält Klassen, deren
Ausführung als Junit Test (Rechtsklick) Ihnen die bereits erreichten Punkte
anzeigen. Bitte beachten: Dazu zählen auch Tests zu nachfolgende Aufgaben,
welche Sie ggf. noch nicht bearbeitet
Methoden implementieren.
</p><h3>
Vorbereitung
</h3><p>
Entpacken Sie das oben
sichtbare Maven Archiv
<b>
exam.zip
</b>
und importieren Sie den
resultierenden Ordner
<code>
Exam
</code>
als
<span
lang=
"en"
>
Maven
</span>
Projekt in Ihren
<span
lang=
"en"
>
Eclipse Workspace
</span>
. Das
<span
lang=
"en"
>
Package
</span>
<code>
de.hdm_stuttgart.mi.bitte_ignorieren
</code>
enthält Klassen, deren Ausführung als Junit Test (Rechtsklick) Ihnen die
bereits erreichten Punkte anzeigen. Bitte beachten: Dazu zählen auch Tests
zu nachfolgende Aufgaben, welche Sie ggf. noch nicht bearbeitet
haben.
</p><h3>
Aufgabe
</h3><p>
Vervollständigen Sie die Implementierung aller
Methoden in der Klasse
<code>
de.hdm_stuttgart.sw1.klausur.Helper
</code>
. Die
Javadoc Kommentare der jeweiligen Methoden beschreiben das gewünschte
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment