Die Nachfolgenden Aufgaben sollen dir helfen das Gelernte zu vertiefen und dich dazu animieren selbstständig Lösungen zu erarbeiten. Aus dem Grund werden hier keine Musterlösungen veröffentlicht. Solltest du Hilfe benötigen kannst du gerne im Forum um Rat fragen.

Aufgabe 1

Lies Länge und Breite eines Rechtecks ein und berechne den Umfang und die Fläche des Rechtecks.


Aufgabe 2

Lies Artikelpreis, Anzahl und Mehrwertsteuersatz ein und gib den Gesamtpreis aus.


Aufgabe 3

Lies den Radius r und den Winkel a ein und berechne die Fläche des durch r und a definierten Kreissegmentes.
Für den Sinus gibt es entsprechende Bibliotheken: #include <cmath.h> und sin( ) (C++), Math.Sin( ) (C#/Java)


Aufgabe 4

Rechne von Celsius in Fahrenheit und in Kelvin um.


Aufgabe 5

Berechne die Summe der Zahlen von 1 bis n.


Aufgabe 6

Rechne Euro in Schilling um und umgekehrt.


Aufgabe 7

Lies 6 Werte ein und bestimme den Mittelwert.


Aufgabe 8

Schreibe ein Programm, das die Wahrscheinlichkeit für einen Sechser beim österreichischen Lotto (6 aus 45) ermittelt.


Aufgabe 9

Schreibe ein Programm, das nach Eingabe von gefahrenen Kilometer und des verbrauchten Treibstoffs den Durchschnittsverbrauch berechnet.


Aufgabe 10

Lies 6 Werte ein und bestimme den Mittelwert. Verwende dazu maximal 2 Variablen.


Aufgabe 11

Schreibe ein Programm, das zwei Zahlen m und n einliest und die n-te Ziffer der Zahl m ausgibt
z.B. m=4531 n=3 Ausgabe: 3


Aufgabe 12

Schreibe ein Programm, das eine 3-stellige Zahl einliest und per Ziffernsumme prüft, ob die eingegebene Zahl durch 3 teilbar ist.


Aufgabe 13

Schreibe ein Programm, das eine 3-stellige Zahl einliest und die Zahl ausgibt, die durch Umkehrung entsteht.
z.B.: Eingabe: 589 Ausgabe: 985


Aufgabe 14

Schreibe ein Programm zur Umrechnung von Schilling in Euro. Gib das Ergebnis formatiert in Euro und Cent aus. z.B.: Eingabe: 100 Ausgabe: 7 Euro 27 Cent


Aufgabe 15

Schreibe ein Programm zur Umrechnung von Sekunden in die entsprechende Anzahl von Jahren, Tagen, Stunden, Minuten und Sekunden und umgekehrt.


Aufgabe 16

Ein Bananenversand verkauft Kisten mit jeweils n Kilogramm Füllmenge. Kunden können beliebige Mengen in ganzen Kilogramm bestellen.
Schreibe ein Programm, das n und eine Bestellmenge einliest und die Anzahl der benötigten Kisten berechnet.


Aufgabe 17

Lesen Sie zwei ganze Zahlen ein und ermitteln Sie, ob die zuletzt eingegebene Zahl ein Teiler der zuerst eingegebenen Zahl ist.
z.B. Eingabe: 7 3 Ausgabe: 3 teilt 7 nicht. Eingabe: 15 5 Ausgabe: 5 teilt 15.


Aufgabe 18

Schreibe ein Programm, das eine 4-stellige Zahl einliest und ihre sprachliche Repräsentation ausgibt.
z.B. Eingabe 7209
Ausgabe sieben-zwei-null-neun.


Aufgabe 19

Schreibe ein Programm zur Lösung der quadratischen Gleichung x2+px+q=0
Für die Quadratwurzel gibt es entsprechende Bibliotheken: #include <cmath.h> und sqrt( ) (C++), Math.Sqrt( ) (C#/Java)


Aufgabe 20

Berechne die Fakultät von n mit Hilfe einer Schleife.


Aufgabe 21

Lies zwei Intervallgrenzen und danach beliebig viele Zahlen (Abschluss mit 0) ein, und gib aus, wie viele Zahlen kleiner als die untere Intervallgrenze, wie viele im Intervall und wie viele größer als die obere Intervallgrenze sind.


Aufgabe 22

Bestimm, ob eine eingegebene Zahl eine Primzahl ist.


Aufgabe 23

Lies beliebig viele Zahlen (Abschluss mit 0) ein, und gib das Maximum, das Minimum und den Mittelwert der eingegebenen Werte aus.


Aufgabe 24

Schreibe ein Programm, das eine Zahl einliest und die größte Zweierpotenz ausgibt, die die eingelesene Zahl teilt.

Eingabe Ausgabe
17 1
48 16
1024 1024


Aufgabe 25

Wie Aufgabe 18 allerdings für beliebige reelle Zahlen.

z.B. Eingabe 24.12
Ausgabe: zwei-vier-komma-eins-zwei.


Aufgabe 26

Lies beliebig viele Zahlen (Abschluss mit dem Wert 0) ein, speichere diese in einem Array und gib Mittelwert und die Standardabweichung der Zahlen aus.


Aufgabe 27

Schreibe ein Programm, das zunächst eine Zeichenkette (max. 50 Zeichen) einliest und dann immer wieder ein einzelnes Zeichen einliest und die Zeichenkette ausgibt, die entsteht wenn man das zuletzt eingegebene Zeichen aus der ursprünglichen Zeichenkette entfernt.

z.B. Eingabe: Tagesdecke
Eingabe: d
Ausgabe: Tagesecke
Eingabe: e
Ausgabe: Tagsck


Aufgabe 28

Bei einer Wahl muss sichergestellt werden, dass jede/r Wahlberechtigte (es sind derer maximal 50) nur einmal wählt. Für diesen Zweck prüft man die Sozialversicherungsnummer und speichert, wer schon gewählt hat.
Schreibe ein Programm, das beliebig viele Sozialversicherungsnummern einliest und eine Warnung ausgibt, sobald eine Nummer bereits vorgekommen ist.


Aufgabe 29

Schreibe ein Programm, das Tipps im Lotto 6 aus 45 verwaltet. Lies maximal 50 Tipps ein und danach das Ziehungsergebnis. Gib aus wieviele Sechser in den Tipps vorkommen.


Aufgabe 30

Lies maximal 20 Zahlen (Abschluß mit 0) in ein Array A ein, sowie einen Wert x. Teile den Inhalt des Arrays A so auf zwei weitere Array Ag und Ak auf, dass alle Werte, die größer als x sind, in Ag liegen und alle anderen in Ak. Gib dann abwechselnd je eine Zahl aus Ag und eine aus Ak aus.

z.B. Eingabe: 5 16 20 88 1 54 11 5 9 0 x = 12
Ag enhält dann 16 20 88 54 und Ak 5 1 11 5 9
Ausgabe: 16 5 20 1 88 11 54 5 9


Aufgabe 31

Lies maximal 20 Zeichenketten ein (jede hat maximal 50 Zeichen, Abschluß durch Eingabe von "Ende") sowie einen Wert n. Gib dann alle Zeichenketten aus, die maximal n Zeichen lang sind.

Eingabe: Der Code ist gar nicht so einfach Ende n=3
Ausgabe: Der ist gar so


Aufgabe 32

Schreibe eine einfache Version des Tic-Tac-Toe Spiels. Dabei spielt der Benutzer gegen den Computer. Nach jedem Zug soll der aktuelle Zustand des Spielbretts am Bildschirm ausgegeben werden. Es reicht wenn der Computer einfach das erste freie Feld befüllt.


Aufgabe 33

Schreibe eine Funktion int ''ggt(int a, int b)'' die den größten gemeinsamen Teiler der beiden natürlichen Zahlen a und b berechnet.


Aufgabe 34

Schreibe die Funktionen ''int multi(int m, int n)'' und ''int power(int m, int n)'', die das Produkt m*n bzw. die Exponentialfunktion m^n der Zahlen m und n berechnen.
Für die Potentierung gibt es entsprechende Bibliotheken: #include <cmath.h> und pow( ) (C++), Math.Pow( ) (C#/Java)


Aufgabe 35

Die Funktionen b(n), c(n) und d(n) sind für natürliche Zahlen n wie folgt definiert:
b(0) = 0
c(0) = 0
d(0) = 1
b(n) = d(n)+c(n-1)
c(n) = 2*b(n)
d(n) = n*d(n-1)
Schreibe ein Programm, das die Berechnung der Funktion b für ein beliebiges n erlaubt.


Aufgabe 36

Schreibe eine Funktion ''bool intTest(int n, char c)'', die prüft ob die Ziffer c in der Zahl n vorkommt.


Aufgabe 37

Schreibe eine Funktion, die die Länge eines Strings bestimmt. Methoden aus der String-Klasse (zB. strlen( ) ist nicht erlaubt).


Aufgabe 38

Schreibe eine Funktion, die aus einem integer-Array, das als globale Variable vereinbart und in main( ) eingelesen wird, das Maximum ermittelt und zurückgibt. Die Funktion soll außerdem die Summe aller Werte ausgeben.


Aufgabe 39

Schreibe ein Programm, das für eine vom Benutzer eingegebene Jahreszahl das Datum für den Ostersonntag errechnet.


Aufgabe 40

Schreibe eine Funktion, die zwei Strings als Parameter entgegen nimmt, und prüft ob der zweite String ein Anagramm des ersten ist.
z.B.: Nachname - anmachen oder Datenbuch - unbedacht


Aufgabe 41

Schreibe ein Programm, das zur Steuerung von Lichtern in einer Straßenfest dient. Es können 26 Lichter angesteuert werden.
Es bietet sich z.B. eine integer-Array an mit Nullen und Einsen oder ein boolean-Array mit true und false.
Eine eins (true) bedeutet dabei, dass das entsprechende Licht eingeschaltet ist, eine 0 (false) bedeutet, die Lampe ist ausgeschaltet.

Schreibe entsprechnde Funktionen um folgende Aktionen zu ermöglichen:
1. alle Lichter einschalten
2. alle Lichter ausschalten
3. mehrere Lichter ein/auszuschalten ohne den Zustand der anderer zu verändern
4. den Zustand aller Lichter umzukehren
5. den Zustand von mehreren vom Benutzer vorgegebenen Lichtern umzukehren