Übungen

Bsp 1 - Hello World

Schreibe ein Programm, das den Text „Hello World am Bildschirm ausgibt.

Bsp 2 - Summe

Zwei Zahlen sollen addiert werden. Das Summe wird ausgegeben.

Bsp 3 - Temperatur

Mit diesem Programm wird festgestellt, welche Umstände bei entsprechenden Temperaturen und Niederschlag zu beachten sind. Die Temperatur soll eingegeben werden. Weiters wird eingegeben, ob es Niederschlag gibt (0 für kein Niederschlag, 1 für Niederschlag).

Das Programm gibt je nach Eingaben folgende Werte zurück:

Bsp 4 - Bestellung

Zwei Produkte werden bestellt (Eingabe der Anzahl). Der Gesamtpreis wird ausgegeben.

Bsp 5 - Division

Nach Eingabe von Dividend und Divisor wird das Ergebnis und der Rest der Division ausgegeben.

Bsp 6 - Fahrenheit

Ein Fahrenheit-Wert wird eingegeben und in Grad Celsius umgerechnet. Weiters wird ausgegeben, ob Glatteisgefahr besteht oder nicht.

Bsp 7 - Kreisumfang und -flächeninhalt

Nach Eingabe von Radius wird der Umfang und Flächeninhalt eines Kreises ausgegeben.

Bsp 8 - Sortiertest

Drei Zahlen werden eingegeben. Das Programm überprüft, ob die drei eingegebenen Zahlen sortiert sind. Wenn dies zutrifft, wird die größte Zahl ausgegeben.

Bsp 9 - Dreieck

Die drei Seitenlängen a, b und c eines Dreiecks eingegeben. Es wird ausgegeben, ob es sich um ein Dreieck handelt. Weiters wird ermittelt, ob ein gleichschenkeliges, gleichseitiges, rechtwinkeliges oder allgemeines Dreieck vorliegt.

Bsp 10 - Body Mass Index

Im Programm wird eingegeben, ob man eine Frau oder ein Mann ist (z.B. 1 oder 2). Weiters gibt man die Körpergröße in cm sowie das Gewicht in kg an. Mittels folgender Formel wird der Body Mass Index berechnet und ausgegeben:

`bmi=(kg)/m^2`

Weiters soll nach folgender Tabelle ermittelt werden, ob Unter-, Normal- oder Übergewicht vorliegt.

FrauenMänner
Untergewicht<19.1<20.7
Normalgewicht19.1-25.820.7-26.4
Übergewicht>25.8>26.4

Bsp 11 - Geschwindigkeit

Je nach Höhe der Geschwindigkeit gibt es entweder keine Strafe oder gestaffelte Strafzahlungen.

Bsp 12 - Wochentag

Das Programm wandelt die Zahlen 0 bis 6 in den entsprechenden Wochentag um.

Bsp 13 - Noten

Das Programm gibt die eingegebene Schulnote verbal aus.

Bsp 14 - Textbasierter Rechner

Der Benutzer kann zwei Zahlen eingeben.

Anschließend gibt er mittels Eingabe von 1 (addieren), 2 (subtrahieren), 3 (multiplizieren) oder 4 (dividieren) an, welche Grundrechnungsart er wählen möchte. Das Ergebnis wird anschließend ausgegeben.

Wird eine andere Zahl eingegeben, bricht das Programm ab.

Bsp 15 - Uhrzeit

Das Programm wandelt die digitale Uhrzeit (z.B. 12:45) in die gesprochene Uhrzeit (Dreiviertel eins) um!

Bsp 16 - Gaußsche Wochentagsformel

Das Programm berechnet nach eingegebenem Datum den entsprechenden Wochentag.

Formel siehe: Gaußsche Wochentagsformel

Bsp 17 - Euroscheinüberprüfung

Schleifen und char nötig!!!

Jeder Euroschein hat eine Nummer, zum Beispiel N27175276569.

Der erste Buchstabe (hier N) ist ein Ländercode für das Herstellungsland, z.B. N für Österreich.

Darauf folgt eine zehnstellige, fortlaufende Seriennummer (hier: 2717527656). Dann folgt am Ende eine einstellige Prüfziffer, im Beispiel ist dies die 9.

Um zu prüfen, ob die Seriennummer bzw. der Schein echt ist, ist folgendes Verfahren anzuwenden:

  1. Buchstaben durch die Position des Buchstaben im Alphabet ersetzen: A=1, B=2, …, Y=25, Z=26.
  2. Die Summe aus der Buchstabenzahl, den zehn Ziffern der Seriennummer und der Prüfziffer bilden.
  3. Von dieser Summe die Ziffernsumme (und wieder die Ziffernsumme …) bilden, bis die Zahl einstellig wird.

Beispiel: 14+2+7+1+7+5+2+7+6+5+6+9=71

7+1=8

Das Ergebnis muss 8 sein, damit die Seriennummer echt ist!

Welcher Buchstabe für welches Land steht, findest du z.B. auf der Seite der Europäischen Zentralbank: http://www.ecb.int/euro/banknotes/html/index.de.html

Bsp 18 - Umwandlung Dualzahl in Dezimalzahl

Schreibe ein Programm, welches eine Dualzahl in eine Dezimalzahl umwandelt.
Bei der Eingabe dürfen nur die Ziffern 0 und 1 oder e eingegeben werden. Sobald e eingegeben wird, ist die Zahl zu Ende.
Die entsprechende Dezimalzahl wird ausgegeben.

Bsp 19 - Umwandlung Hexadezimalzahl in Dezimalzahl

Schreibe ein Programm, welches eine Hexadezimalzahl in eine Dezimalzahl umwandelt.
Bei der Eingabe dürfen nur die Ziffern 0 bis 9 bzw. A bis F oder e eingegeben werden. Sobald e eingegeben wird, ist die Zahl zu Ende. Die entsprechende Dezimalzahl wird ausgegeben.

Bsp 20 - "Tempo, kleine Fische"

Simuliere das Spiel „Tempo, kleine Fische“, indem du den Spielverlauf in geeigneter Form in ein Programm umsetzt.

Spielanleitung

a) Via Zufallswürfel soll der Verlauf einer Spielrunde simuliert werden.
b) Alternativ dazu soll der Benutzer bestimmen können, wie oft das Spiel durchgeführt wird (z.B. 100 mal). Danach gibt das Programm aus, wie oft die verschiedenen Möglichkeiten des Spielendes (Alle Fische erreichen das Meer, etc.) aufgetreten sind.

Bsp 21 - Malreihen

Schreibe ein Programm, dass alle 1*1-Reihen (1-10) auf einmal ausgegeben werden.

Hinweise: Schleifen können auch ineinander geschachtelt werden!

Ausgabebeispiel:

Das folgende Programm gibt alle Einmaleins-Reihen aus:

1er-Reihe:
1*1=1
2*1=2
...

2er-Reihe:
1*2=2
2*2=4
...

Bsp 22 - Quadratzahlen

Schreibe ein Programm, das eine Quadratzahltabelle von 1 bis zu einem eingegebenen Wert n ausgibt. (Quadratzahl.cpp)

Bsp 23 - Fibonacci

Schreibe ein Programm, das die ersten n Fibonacci-Zahlen erzeugt und ausgibt! Eine Fibonacci-Zahl berechnet sich aus der Summe der beiden vorhergehenden Zahlen. Die ersten beiden Fibonacci-Zahlen sind gleich 1! (Fibonacci.cpp)

z.B.: 1, 1, 2, 3, 5, 8, 13, 21,…

Bsp 24 - Dezimal-Dual

Schreibe ein Programm, das die eingegebene Dezimalzahl in eine Dualzahl umwandelt.
Auf welches Problem stößt du dabei? (DeziDual.cpp)

Bsp 25 - Teiler

a) Schreibe ein Programm, das die Teiler einer eingegebenen natürlichen Zahl n auflistet. (Teilerliste.cpp)
b) Schreibe ein Programm, das die Anzahl der Teiler eingegebenen natürlichen Zahl n ausgibt. (Teileranzahl.cpp)

Bsp 26 - Staffelrechnung/Rechenturm

Erstelle ein Programm, das eine Staffelrechnung / einen Rechenturm durchführt. Der Benutzer gibt ein, mit welcher Zahl er die Staffelrechnung beginnen will und bis zu welcher Multiplikation die Rechnungen durchgeführt werden:

Z.B.
Anfangszahl: 385
Multiplikationen bis: 6

Ausgabe:

385*2=770
770*3=2310
2310*4=9240
9240*5=46200
46200*6=277200
277200/2=138600
138600/3=46200
46200/4=11550
11550/5=2310
2310/6=385

Bsp 27 - verschachtelte Schleifen

Rechteck

Schreibe ein Programm, das mit Sternchen ein Rechteck ausgibt! Das Programm soll Breite, Höhe und einen Versatz einlesen. Der Versatz bestimmt, um viele Zeichenbreiten das gesamte Rechteck nach rechts verschoben wird.

Ein Rechteck
 
    Breite? 
    17
 
    Hoehe? 
    4
 
    Versatz? 
    2
 
      ***************** 
      ***************** 
      ***************** 
      *****************

Parallelogramm

Schreibe ein Programm, das mit Sternchen ein Parallelogramm ausgibt! Das Programm soll die Breite, Höhe und die Versatzänderung (die Verschiebung nach rechts pro Zeile) einlesen.

Ein Parallelogramm
 
    Breite? 
    11
 
    Hoehe? 
    5
 
    Versatzaenderung? 
    1
 
    *********** 
     *********** 
      *********** 
       *********** 
        ***********

Dreieck

Schreibe ein Programm, das mit Sternchen ein Dreieck ausgibt! Das Programm soll die Höhe und die Verbreiterung pro Zeile einlesen.

Ein Dreieck
 
    Hoehe? 
    6
 
    Verbreiterung? 
    1
 
    * 
    ** 
    *** 
    **** 
    ***** 
    ******

Bsp 28 - Regelmäßige Zahlungen

Schreibe ein Programm, das den Betrag eines regelmäßigen jährlichen Einzahlungsbetrages, die Verzinsung und den gewünschten Endbetrag einliest und ausgibt, nach wie vielen Jahren der gewünschte Endbetrag erreicht (oder erstmals überschritten) ist.

Am Anfang des ersten Jahres wird zunächst ein Einzahlungsbetrages, z.B. 1000 Euro, eingezahlt. Am Ende des ersten Jahres (nach einem Jahr) kommt der Zins, bei 5 % z.B. 50 Euro, und ein weiterer Einzahlungsbetrag, wieder 1000 Euro, hinzu. Nach einem Jahr ist der Kontostand dann also beispielsweise 1000 + 50 + 1000 Euro = 2050 Euro. Sollten also beispielsweise 2000 Euro angespart werden, so wäre dies unter diesen Umständen nach einem Jahr erreicht.

Man kann also in einer Schleife die Jahre mitzählen und den Kontostand fortschreiben. Dann kann man jedesmal prüfen, ob der gewünschte Endbetrag schon erreicht oder überschritten wurde und gegebenenfalls die Zahl der abgelaufenen Jahre und den Kontostand ausgeben. In der Endfassung darf das Programm aber nichts anderes ausgeben als das Endergebnis (keine Zwischenstände).

Das Programm muß auch dann eine richtige (sinnvolle) Antwort geben, wenn der gewünschte Endbetrag kleiner oder gleich dem Einzahlungsbetrag ist.

Die Lösung der Übungsaufgabe sollte mindestens mit den beiden folgenden Testsituationen geprüft werden und muß dann identische Ergebisse liefern.

Beispiel 1
 
    jaehrlicher Zahlbetrag? 
    1000
 
    Verzinsung, in Prozent? 
    5
 
    gewuenschter Endbetrag? 
    2000
 
    Es wird 1 Jahr benoetigt. 
    Der erreichte Endbetrag ist dann 2050.
 
 
Beispiel 2
 
    jaehrlicher Zahlbetrag? 
    100
 
    Verzinsung, in Prozent? 
    5
 
    gewuenschter Endbetrag? 
    10000
 
    Es werden 36 Jahre benoetigt. 
    Der erreichte Endbetrag ist dann 10162.8.

Bsp 29 - Statistische Kenndaten

Schreibe Sie ein Programm, das in einer Schleife solange natürliche Zahlen einliest, bis -1 eingegeben wird und dann Maximum, Minimum und das arithmetische Mittel der Zahlen ausgibt. Da die Zahl -1 nur als Stoppwert verwendet wird, soll sie bei der Statistik nicht berücksichtigt werden.

Hinweis: Wenn die Variablen summe und n beide vom Typ integer sind, dann wird bei einer Division das Ergebnis (arithmetisches Mittel am) auch ganzzahlig berechnet. Um dies zu verhindern konvertiert man den Zähler mittels (float).

 am=summe/(float)n;

Bsp 30 - Harshad-Zahlen

Eine natürliche Zahl, die durch ihre eigene Ziffernsumme teilbar ist, heißt Harshad- oder Niven-Zahl.
Zum Beispiel:
777 ist durch 7 + 7 + 7 = 21 teilbar und damit eine Harshad-Zahl.

Schreibe ein Programm, das alle Zahlen bis n testet, ob sie Harshad-Zahlen sind. Das Programm soll alle Harshad-Zahlen ausgeben.

Bsp 31 - Werfen von 2 Würfeln

Stochastische Feststellung: Kommt die 7 wirklich am häufigsten vor?

Wenn man mit 2 Würfeln würfelt, so tritt die 7 am häufigsten auf.

Wie oft tritt welche Zahl auf, wenn man n mal würfelt?

Werfen von 2 Würfeln...
Gib an, wie oft gewürfelt werden soll: 100
Gib an, welche Summe gezählt werden soll: 6

Insgesamt kam die Augensumme 6 genau 12 mal vor.

Bsp 32 - Prüfen der Sozialversicherungsnummer

Schreibe ein Programm, welche die Gültigkeit einer Sozialversicherungsnummer prüft.
Der Benutzer gibt die Sozialversicherungsnummer ein, das Programm gibt aus, ob es sich um eine gültige Sozialversicherungsnummer handelt.

Informationen zur Sozialversicherungsnummer:

http://www.pruefziffernberechnung.de/V/VSNR-AT.shtml