Übungen / Aufgaben zu Objective-C

0 Lösungen
Zahlen in Wörtern ausdrücken
Anfänger - Objective-C von Gisbert5020 - 30.04.2020 um 15:17 Uhr
Schreiben Sie ein Programm, das Zahlen von 0 bis 99 in Wörtern fasst.
Zusatzaufgabe : Erweitern Sie das Programm von 0 bis 1000.
0 Lösungen
Mathematische Vektoroperationen
Anfänger - Objective-C von thunderbird - 28.04.2020 um 21:51 Uhr
Erstellen Sie ein Programm/ eine Funktion, mit der Vektorberechnungen durchgeführt werden können.
"Vektor" soll eine eigens erstellte Klasse sein, die aus 3 Fließkommazahlen bestehen.
Zudem beinhaltet die Klasse "Vektor" eine Methode zur Skalarmultiplikation, Addition, Subtraktion, Division und um das Kreuzprodukt zu berrechnen.
Erstellen Sie zur Darstellung eine Ausgabemethode.

Hinweis:
- Anstatt neue Methoden zu erstellen, können (sofern möglich) bereits vorhandene überladen werden.
- Mathematische Rechenregeln unter: https://de.wikipedia.org/wiki/Vektor
0 Lösungen
Anzahl an Nachbar-Dupletten in einem Array
Anfänger - Objective-C von thunderbird - 28.04.2020 um 09:38 Uhr
Es sollen die Anzahl von den Nachbar-Dubletten eines Zahlen-Arrays ermittelt werden. Die Nachbar-Dubletten sind gleiche benachbarte Zahlen in einem Array.
Es soll außerdem auf folgendes geachtet werden: Die Nachbar-Dubletten sind genau nur für zwei benachbarte Mitglieder definiert - sollte ein drittes Mitglied dabei benachbart sein, wird es nicht mitgezählt, weil es noch einen gleichen Nachbar braucht.

Beispiel:
Array = [3,3,7] : Ausgabe = 1
Array = [3,3,3] : Ausgabe = 1 (Mitglieder von Index 0 und 1 sind benachbart, Index 2 braucht auch ein Nachbar aber hat keinen)
Array = [3,3,3,3] : Ausgabe = 2
Array = [0, 3, 3, 3, 2, 7, 7, 7, 7, 3, 2, 1, 1, -2, 4, 4, 8, 9, 8, 6 ] : Ausgabe = 5

Zusatzanforderungen:
- Unter 30 Zeilen Code
- Variable Länge der Arrays
- Alle reellen Zahlen werden akzeptiert
0 Lösungen
Postleitzahl (PLZ) zu erstellen
Anfänger - Objective-C von Gelöschte Person - 22.04.2020 um 16:35 Uhr
Die Idee dieses Programmes soll sein, ein Nachschlagewerk für österreichische Postleitzahlen zu erstellen.
Repräsentativ sollen 9 beliebige Postleitzahlen, eins pro Bundesland, hardcoded eingetragen werden.
Jede PLZ besteht aus einer Zahl, die auf keinen Fall doppelt vorkommen darf und einem eindeutigen Stadtnamen, welcher anders als die Zahl doppelt vorkommen darf (z.B. 1010 Wien, 1020 Wien)
Überlegen Sie sich zuerst gut welchen geeigneten Datentyp Sie verwenden, in den Sie alle Daten strukturiert speichern können. Ich nenne diesen Datentyp im folgenden immer Datensatz.

Erstellen Sie sich für jeden der nachfolgenden Überschriften einen Menüpunkt in ihrem Programm.

z.B. Ausgabe Konsole:
0 - Exit
1 - PLZ erzeugen …

PLZ erzeugen
Es soll möglich sein eine beliebige Anzahl an PLZ zum Datensatz hinzufügen zu können. Ist die PLZ bereits vorhanden, so soll erst mit dem geheimen PIN 1234 das Ändern des Eintrages erlaubt werden. Fragen Sie unbedingt, ob eine Änderung (nur Name) vorgenommen werden soll.
Bedenken Sie, dass eine PLZ in Österreich immer aus genau 4 Zahlen besteht.

PLZ anzeigen
Es soll möglich sein alle PLZ aus dem Datensatz auf einmal auszugeben, um sich die passende zu finden. Sortieren Sie unbedingt den Datensatz nach jedem neuen Eintrag nach der PLZ.

PLZ suchen
Beim Suchen soll es möglich sein einzelne oder mehrere PLZ aufzulisten. Wird bspw. 1010
eingegeben so soll 1010 Wien (PLZ inkl. Name) ausgegeben werden. Wird nur 1 eingegeben und
gesucht, so sollen alle PLZ inkl Name mit 1 beginnend ausgegeben werden. Wird 10 eingegeben, so
sollen alle PLZ inkl. Name mit 10 beginnend ausgegeben werden usw.
Optional: Wird Wien eingegeben, so sollen alle Wiener PLZ aufgelistet werden.
Das Programm darf bei der Suche keinesfalls abstürzen!

Erweiterung
Erweitern Sie nun das Programm um folgende Funktion:
Es soll nach einer Adresse gefragt werden. Erst Adresszeile, dann PLZ, dann Stadt. Eine Adresse,
besteht immer aus einer Adresszeile einer PLZ und einer Stadt.
Ist die PLZ aus dem Datensatz bekannt, soll gar nicht mehr nach dem Stadtnamen gefragt und
automatisch vervollständigt werden. Außerdem soll die eingegebene Adresse ausgegeben und vom
User kontrolliert werden. Zudem soll diese direkt in eine Liste gespeichert werden, wenn diese
korrekt ist. Selbstverständlich soll in der Liste der Städtename ebenfalls hinterlegt sein.
War die PLZ nicht bekannt, soll diese in den Datensatz für die Zukunft gespeichert werden, nachdem
die Korrektheit der Adresse bestätigt wurde.
Geben Sie abschließend alle Adressen aus der Liste, sowie alle PLZ aus dem Datensatz aus.
0 Lösungen
Überholen: benötigte Strecke und Dauer berechnen
Anfänger - Objective-C von Waldgeist - 22.04.2020 um 10:55 Uhr
Es soll ein Programm für die Berechnung von Überhol-weg und Überhol-zeit (bei angenommener konstanten Geschwindigkeit) erstellt werden.

Dazu werden die Länge der beiden Fahrzeuge (l1 und l2) und deren Geschwindigkeit (v1 und v2) angegeben.

Aus diesen Daten ermitteln wir den Sicherheitsabstand (a).
Dieser soll der halben Geschwindigkeit entsprechen. Also bei 100 km/h sind 60 m Sicherheitsabstand einzuhalten.

Die benötigte Strecke berechnen wir dann nach folgender Formel:

s = v1 / (v1−v2) * (l1+l2+2*a)

Weitere Information findet ihr hier: Video


Viel Spaß!

0 Lösungen
Game - Heiß oder Kalt
Anfänger - Objective-C von DavidDev024 - 20.04.2020 um 19:36 Uhr
Das Spiel läuft folgender Maßen ab:

- Spieler 1 denkt sich eine Zahl aus
- Spieler 2 versucht nun die Zahl zu erraten, indem er eine Zahl eingibt
- nun wird der vorherige Versuch (falls einer vorhanden) mit dem jetzigen verglichen und wärmer oder kälter ausgegeben (je nachdem ob man der geheimen Zahl von Spieler 1 näher kommt oder nicht)
-Erratet Spieler 2 die Zahl sollen die benötigten Versuche und die benötigte Zeit ausgegeben werden.

Have Fun
0 Lösungen
Ein nicht-rekursiver Algorithmus!
Anfänger - Objective-C von Labi1995 - 19.04.2020 um 20:52 Uhr
Was leistet folgender rekursiver Algorithmus für natürliche Zahlen n mit n>0?

int DoSomething(int n)
{
if (n == 1)
return n - 1;
else
{
if ((n / 2) * 2 == n)
{
return 1 + DoSomething(n - 1);
}
else
{
return DoSomething(n - 1);
}
}
}


Geben Sie einen nicht-rekursiven Algorithmus an, der dasselbe leistet.
0 Lösungen
Konsolenanwendung zur Bestimmung der Primzahlen - Ganzzahlenbereich
Anfänger - Objective-C von Labi1995 - 19.04.2020 um 20:39 Uhr
Schreiben Sie eine Konsolenanwendung zur Bestimmung der Primzahlen in dem vom Nutzer eingegebenen Ganzzahlenbereich von Null bis n unter Verwendung des Siebs des Eratosthenes.

Wie viele Primzahlen gibt es im Zahlenbereich bis 100?
Wie viele Primzahlen gibt es im Zahlenbereich bis 10.000?
Wie viele Primzahlen gibt es im Zahlenbereich bis 1.000.000?
0 Lösungen
Galgenraten (hangman)
Anfänger - Objective-C von JKooP - 18.04.2020 um 12:18 Uhr
Erstelle ein Konsolenspiel in der Form „Galgenraten“.

Spieler 1 gibt verdeckt ein zu erratenes Wort ein.
Regeln: Buchstaben a-z, keine Zahlen, ä = ae, ö = oe, ü = ue, ß = ss

Spieler 2 muss versuchen die richtigen Buchstaben zu erraten.
Dazu wird am Anfang des Spiels jeder Buchstabe des Lösungsworts als „Unterstrich“ dargestellt.
Errät Spieler 2 einen Buchstaben, wird der Unterstrich an allen Positionen an der sich der gefundene Buchstabe befindet durch den jeweiligen Buchstaben ersetzt.
Es sollen am Ende des Spiels die benötigte Zeit und die Anzahl der Versuche ausgegeben werden.
Die Anzahl der Versuche soll ähnlich wie beim Galgenraten begrenzt werden.

Varianten:
Der Spieler 2 kann auch das Lösungswort eingeben. Ist das Wort falsch, wird es als 2 Fehlversuche gewertet.
Als Hilfe könnten die bereits genutzten Buchstaben angezeigt werden.
Aus der Anzahl der benötigten Versuche und der Zeit könnten Gewinnpunkte generiert werden.

Viel Spaß
0 Lösungen
flexible Temperaturumrechnung
Fortgeschrittener - Objective-C von Gnom - 10.04.2020 um 11:24 Uhr
Gegeben sei ein String-Array mit einer beliebigen Anzahl von Temperaturangaben in °C, °F oder K (z. B. "24,5 °C", "74.3 °F" oder "-270 K"). Dabei sollen unterschiedliche Ausprägungen vorliegen: positive/negative Zahlen, Ganzzahlen/Kommazahlen, Trennung durch Punkt oder Komma, Angaben mit "°" oder ohne, Angabe der Einheit ("K"/"C"/"F", evtl. auch "k"/"c"/"f"), Variationen der Anordnung von Leerzeichen.

Das Programm soll nacheinander alle Strings analysieren und jeweils die Zahl und die Einheit ermitteln und in Variablen speichern, die Temperatur von der gegebenen Einheit in die beiden anderen Einheiten umrechnen und alle drei Werte geordnet mit einer Nachkommastelle ausgeben.
0 Lösungen
Zwei-Quadrate-Satz (Fermat / Girard)
Anfänger - Objective-C von JKooP - 06.04.2020 um 14:49 Uhr
1. Schreibe eine Funktion bzw. Methode mit der es möglich ist zu überprüfen, ob es sich bei der eingegebenen Zahl um eine Primzahl handelt.

2. Erweitere das Programm dahingehend, dass nur die ungeraden Primzahlen ausgegeben werden, welche dem Quadrate- Satz von
Fermat entsprechen. Also der Summe zweier ganzzahliger Quadrate.

Beispiele:
5 = 1² + 2², 13 = 2² + 3², 17 = 1² + 4², …

Gegenbeispiele:
3, 7, 11, 19 funktionieren nicht, da sie durch 4 geteilt (Modulo 4) nicht den Wert 1 ergeben. Daher gibt es auch keine Lösung (4n+1).

3. Erweitere das Programm wiederum, sodass die möglichen Lösungen aus als Zahlenpaare auf dem Bildschirm ausgegeben werden.
z.B.: 13 (2,3)

Viel Spaß
0 Lösungen
Steckbrief-Informationen
Anfänger - Objective-C von DragStar - 06.04.2020 um 08:37 Uhr
Baue ein passendes Array, welches du mit Steckbriefinfos füllst (z.B. Name, Alter, Hobbies usw).
Danach lass den User ein Hobby eingeben und gib dann den Namen der Personen ein, die dieses Hobby haben.