Arbeitsblaetter zu Java

Werbung
LF6 – ANW
1
LS6.3
Java-Programmierung
Lineare Programme
Einfaches Beispiel, in dem nacheinander zwei Zahlen eingegeben werden, die Summe berechnet und
ausgegeben wird.
package Summe ;
import java . util .*;
public class Summe {
public static void main ( String [] args )
int iZahl1 , iZahl2 , iErgebnis ;
{
// Objekt input von der Scanner - Klasse erzeugen
Scanner input = new Scanner ( System . in );
System . out . print ( " Geben Sie die erste Zahl ein : " );
// 1. Variante
iZahl1 = Integer . parseInt ( input . nextLine () );
System . out . print ( " Geben Sie die zweite Zahl ein : " );
// 2. Variante
iZahl2 = input . nextInt ();
iErgebnis = iZahl1 + iZahl2 ;
// Ausgabe
System . out . println ( " Die Summe von " + iZahl1 + "
und " +
iZahl2 + " ist " + iErgebnis );
// Scanner wieder schliessen
input . close ();
}
}
Aufgaben:
1. Subtraktion
Verändern Sie das Programm Summe, so dass es die Differenz der beiden eingegebenen ganzen
Zahlen ausgibt.
Subtraktion zweier Zahlen
Zahl1: 23
Zahl2: 4
Das Ergebnis der Subtraktion 23 - 4 ist 19
2. Division
Verändern Sie das Programm Summe, so dass es das Ergebnis der Division der beiden eingegebenen
Zahlen ausgibt.
Division zweier Zahlen
Zahl1: 1
Zahl2: 2
Das Ergebnis der Division 1.0/2.0 ist 0.5
3. Benzin
Schreiben Sie ein Programm, das nach Eingabe der gefahrenen Kilometer und der Menge des verbrauchten Kraftstoffes den Durchschnittsverbrauch auf 100 km berechnet und ausgibt.
Java 4 U
1
LF6 – ANW
LS6.3
Java-Programmierung
Berechnung des Durchschnittsverbrauchs
verbrauchter Kraftstoff in l: 52.5
gefahrene Strecke in km: 500
Der Durchschnittsverbrauch ist 10.5 l/100km
4. Ganzteil
Das ganzzahlige Ergebnis und der Rest der Division von zwei einzugebenden ganzen Zahlen sollen
mit einem Programm berechnet werden.
Ganzzahlige Division mit Rest
Dividend: 23
Divisor: 4
Das Ergebnis der Division 23:4 ist 5 Rest 3
5. Parallele Widerstände
Der Gesamtwiderstand zweier parallelgeschalteter Widerstände soll nach der Eingabe der beiden
Widerstandswerte berechnet werden.
Rg =
R1 ·R2
R1 +R2
Widerstands - Parallelschaltung
R1 in Ohm: 12000
R2 in Ohm: 10000
Der Gesamtwiderstand ist 5454.5454 Ohm
6. Abstand zweier Punkte
Der Abstand von zwei Punkten P1 = (x1 , y1 ) und P2 = (x2 , y2 ) soll nach Eingabe der x− und
y−Werte berechnet und ausgegeben werden. (Wurzel → Math.sqrt(4); //ergibt 2)
Punktabstand
1.Punkt x: 3
1.Punkt y: 3
2.Punkt x: 7
2.Punkt y: 6
Der Punktabstand: 5.0
7. Rechnen
Schreiben Sie ein Programm welches den Benutzer zur Eingabe von zwei ganzen Zahlen auffordert.
Bei Eingabe von 35 und 7 soll folgende Ausgabe erzeugt werden:
Rechenoperatoren fuer ganze Zahlen
1. ganze Zahl: 35
2. ganze Zahl: 7
35 + 7 = 42
35 - 7 = 28
35 * 7 = 245
35 / 7 = 5
35 % 7 = 0
8. Paket
In einem Versandhandel werden Pakete unterschiedlicher Größe versandt. Alle Pakete haben eine
Breite, Höhe und Tiefe (gemessen in cm). Die Pakete sollen ringsum mit einer Paketschnur gesichert
werden. Überlegen Sie sich, wieviel Paketschnur (in cm) je nach Breite, Höhe und Tiefe benötigt
werden. Für die Schleife müssen zusätzlich 30 cm Schnur einkalkuliert werden!
Java 4 U
2
LF6 – ANW
LS6.3
Java-Programmierung
Paketschnurberechnung
Paket, Breite (in cm): 35
Paket, Hoehe (in cm): 15
Paket, Tiefe (in cm): 5
Schnurlaenge: 250 cm
2
Kontrollstrukturen
2.1
2.1.1
Auswahl
Einseitige Auswahl
public class Warnung {
public static void main ( String [] args ) {
int iGrenzwert = 50;
int iWert = 320;
if ( iWert > iGrenzwert ) {
System . out . println ( " WARNUNG ! Grenzwert ueberschritten " );
}
}
}
Aufgaben:
1. Bestellung
Eine Firma liefert bei einem Bestellwert ab 200,- e porto- und verpackungsfrei. Für Aufträge
unter 200.- e beträgt die Versandpauschale 5,50 e. Ein Programm soll den Rechnungsbetrag in
Abhängigkeit vom Bestellwert ausgeben.
Berechnung des Rechnungsbetrages
Bestellwert in Euro: 150
Rechnungsbetrag: 155.5 Euro
Berechnung des Rechnungsbetrages
Bestellwert in Euro: 250
Rechnungsbetrag: 250 Euro
2. Dreieck
Ein Dreieck lässt sich aus den Seiten a, b und c konstruieren, wenn die Dreiecksungleichungen
a + b > c und a + c > b und b + c > a gelten. Schreiben Sie ein Programm, das bei einzugebenden
Seiten überprüft, ob sich das Dreieck konstruieren lässt.
Konstruierbarkeit eines Dreiecks pruefen
Seite a: 12.5
Seite b: 12.5
Seite c: 12.5
Das Dreieck ist konstruierbar.
Java 4 U
3
LF6 – ANW
LS6.3
Java-Programmierung
Konstruierbarkeit eines Dreiecks pruefen
Seite a: 12.5
Seite b: 21
Seite c: 7.5
Das Dreieck ist nicht konstruierbar.
3. Gleichung
Die Gleichung ax + b = 0 soll für einzulesende Werte a und b vom Computer gelöst werden. Denken
Sie daran, dass sowohl a als auch b den Wert 0 annehmen können.
Gleichung ax+b=0
A: 3
B: 6
Loesung: -2
2.1.2
Zweiseitige Auswahl
public class Warnung {
public static void main ( String [] args ) {
int iGrenzwert = 50;
int iWert = 320;
if ( iWert < iGrenzwert ) {
System . out . println ( " OK " );
}
else {
System . out . println ( " WARNUNG ! Grenzwert ueberschritten " );
}
}
}
Aufgaben:
1. Benzin (Version 2)
Schreiben Sie ein Programm, das nach Eingabe der gefahrenen Kilometer und der Menge des verbrauchten Kraftstoffes den Durchschnittsverbrauch auf 100 km berechnet und ausgibt. Die Berechnung darf aber nur erfolgen, wenn die gefahrenen Kilometer ungleich null sind, ansonsten soll eine
(sinnvolle) Fehlermeldung ausgegeben werden.
Berechnung des Durchschnittsverbrauchs
verbrauchter Kraftstoff in l: 32.3
gefahrene Strecke in km: 0
Ungueltige Strecke eingegeben!
2. Bestellung (Version 3)
Eine Elektrofirma erhebt für Bestellungen unter 100,- e einen Porto- und Verpackungsanteil von
5,50 e, von 100,- bis 200,- e einen Betrag von 3,- e, ab 200,- e werden keine Porto- und Verpackungskosten berechnet. Ein Programm soll bei eingegebener Auftragssumme den Rechnungsbetrag
ausgeben.
Java 4 U
4
LF6 – ANW
LS6.3
Java-Programmierung
Berechnung des Rechnungsbetrages
Auftragssumme in Euro: 90
Rechnungsbetrag: 95,50 Euro
Berechnung des Rechnungsbetrages
Auftragssumme in Euro: 150
Rechnungsbetrag: 153,00 Euro
Berechnung des Rechnungsbetrages
Auftragssumme in Euro: 250
Rechnungsbetrag: 250,00 Euro
3. Geraden
Der Schnittpunkt zweier Geraden ist gesucht. Gerade 1 wird durch die Punkte A(ax , ay ) und
B(bx , by ), Gerade 2 durch die Punkte C(cx , cy ) und D(dx , dy ) angegeben. Denken Sie daran, dass
die Geraden auch parallel sein können; dies muss besonders beachtet werden.
Es gilt:
(bx − ax) · y = (by − ay ) · x + (ay · bx –ax · by )
(dx − cx ) · y = (dy –cy ) · x + (cy · dx –cx · dy )
Die Geraden sind parallel, wenn gilt:
(by − ay ) · (dx − cx ) − (dy − cy ) · (bx − ax ) = 0
Schnittpunktberechnung
ax: 3
ay: 3
bx: 4
by: 4
cx: -3
cy: -3
dx: 4
dy: 4
Schnittpunkt x=0; y=0
4. Kehrwert
Schreiben Sie ein Programm, das eine ganze Zahl (z.B. Typ int) über Tastatur einliest und den
dazugehörigen Kehrwert ausgibt. Zusätzlich soll überprüft werden, ob die eingegebene Zahl 0 war.
In diesem Fall soll eine Meldung ausgegeben werden, das kein Kehrwert gebildet werden kann.
Kehrwert
Zahl: 2
Kehrwert: 0.5
Kehrwert
Zahl: 0
Bildung des Kehrwerts nicht moeglich!
Java 4 U
5
LF6 – ANW
LS6.3
Java-Programmierung
5. Kindergeld
Eine Familie erhält nach folgender einkommensabhängiger Tabelle Kindergeld (Werte nicht realistisch).
Einkommen
für das 1.Kind
für das 2.Kind
für das 3.Kind
ab dem 4.Kind
<45000,70,130,220,240,-
>=45000,70,70,140,140,-
Ein Programm ist gesucht, das nach Eingabe der Kinderzahl und des Einkommens das zu zahlende
Kindergeld berechnet.
Kindergeldberechnung
Ihr Jahreseinkommen: 47900
Anzahl der Kinder: 3
Ergebnis: 280 Kindergeld.
Programmende Kindergeld
6. Vergleich
Schreiben Sie ein Programm, das zwei ganze Zahlen (z.B. Typ int) über Tastatur einliest und den
größeren eingegebenen Wert zuerst ausgibt
Vergleich
1. Zahl: 12000
2. Zahl: 10000
Groesserer Wert: 12000
Vergleich
1. Zahl: -12000
2. Zahl: 10000
Groesserer Wert: 10000
7. Widerstand
Wahlweise soll der Gesamtwiderstand (Rg ) zweier parallel oder in Reihe geschalteter Widerstände
(R1 , R2 ) nach Eingabe der beiden Widerstandswerte berechnet werden.
Parallelschaltung: Rg =
R1 ·R2
R1 +R2
Reihenschaltung: Rg = R1 + R2
Widerstands-Schaltung(P)arallel- oder (R)eihenschaltung? P
R1 in Ohm: 12000
R2 in Ohm: 10000
Der Gesamtwert der Parallelschaltung ist 5454,545 Ohm
Widerstands-Schaltung(P)arallel- oder (R)eihenschaltung? R
R1 in Ohm: 12000
R2 in Ohm: 10000
Der Gesamtwert der Parallelschaltung ist 22000,000 Ohm
Java 4 U
6
LF6 – ANW
LS6.3
Java-Programmierung
8. Zahlinfo
Schreiben Sie ein Programm, das eine ganze Zahl (z.B. Typ int) über Tastatur einliest und danach
prüft, ob sie größer, kleiner oder gleich 0 ist. Außerdem soll ausgegeben werden, ob es sich um eine
gerade oder ungerade Zahl handelt.
ZahlInfo
Zahl: 2
Eingegebene Zahl ist groeßer 0 und gerade.
ZahlInfo
Zahl: -3
Eingegebene Zahl ist kleiner 0 und ungerade.
ZahlInfo
Zahl: 0
Eingegebene Zahl ist gleich 0 und gerade.
2.1.3
Mehrseitige Auswahl
public class Warnung {
public static void main ( String [] args ) {
int iNote = 2;
switch ( iNote ) {
case 1:
System . out . println ( " sehr gut " );
break ;
case 2:
System . out . println ( " gut " );
break ;
case 3:
System . out . println ( " befriedigend " );
break ;
// und so weiter ...
default :
System . out . println ( " Note unbekannt . " );
}
}
}
Aufgaben:
1. Körper
Es sollen die Volumina und Oberflächen von Zylinder, Würfel, Quader, Kreiskegel oder Kugel berechnet werden. Erstellen Sie ein Programm, das die Eingabe der Körperform und der notwendigen
Maße erlaubt und danach die Werte berechnet
Hinweis: Die Kreiszahl Pi ist in Java über Math.PI benutzbar.
Berechnung von Volumen/Oberflaeche div. Koerper
Java 4 U
7
LF6 – ANW
LS6.3
Java-Programmierung
Bitte waehlen Sie((Z)ylinder, (W)uerfel,
(Q)uader, (K)reiskegel oder K(u)gel):
Ihre Wahl: W
Kantenlaenge in cm: 5
Wuerfel Oberflaeche: 150 cm^2
Wuerfel Volumen: 125 cm^3
2. Monatsnamen
Schreiben Sie ein Programm, das die Monatsnamen Januar bis Dezember ausgibt, wenn eine der
Zahlen von 1 bis 12 eingegeben wird.
Ausgabe des Monatsnamens
Nummer des Monats (1..12): 4
Der 4. Monat heisst April.
Ausgabe des Monatsnamens
Nummer des Monats (1..12): 14
Fehler!
3. Quadratische Gleichung
Die quadratische Gleichung ax2 + bx + c = 0 ist zu lösen. Denken Sie daran, dass die Lösungen
imaginär sein können.
Hinweis: Wurzeln werden in Java mit der Funktion Math.sqrt(x) berechnet (Bemerkung: x muss
vom Typ double sein!)
Quadratische Gleichung a*x^2+b*x+c=0
a: 2
b: 24
c: 22
x(1) = -11 ; x(2) = -1
Java 4 U
8
LF6 – ANW
2.2
LS6.3
Java-Programmierung
Schleifen
2.2.1
Kopfgesteuerte Schleife
import java . util .*;
public class Zahlenreihe {
public static void main ( String argv [] ) {
int iZahl , i =0;
Scanner input = new Scanner ( System . in );
System . out . print ( " Geben Sie eine Zahl ein : " );
iZahl = input . nextInt ();
while ( i <= iZahl ) {
System . out . println ( i );
i ++;
}
input . close ();
}
}
Aufgaben:
1. Primzahl
Lassen Sie prüfen, ob eine long-Zahl eine Primzahl ist. Dividieren Sie die zu prüfende Zahl durch
i = 2, 3, usw. bis i > x ist und prüfen Sie, ob die Division x/i einen Rest lässt.
Primzahlpruefung
Ganze Zahl eingeben: 66
66 ist keine Primzahl.
2. Produkt über Addition
Das Produkt zweier ganzer Zahlen ist mit Hilfe der Addition zu berechnen. Beachten Sie, dass die
Zahlen auch 0 oder negativ sein können.
Berechnung des Produktes ueber Addition
Multiplikator: 3
Multiplikand : 5
Das Produkt ist 15.
3. Quotient und Rest über Subtraktion
Der ganzzahlige Quotient a/b zweier ganzer Zahlen a und b und der entstehende Rest sollen
über die Subtraktion berechnet werden. Überlegen Sie, welche Fehlerquellen es geben kann und
berücksichtigen Sie diese im Programm.
Berechnung des Quotient und Rest ueber Subtraktion
Divident: 25
Java 4 U
9
LF6 – ANW
LS6.3
Java-Programmierung
Divisor: 3
Ganzahliger Quotient: 8
Ganzzahliger Rest: 1
4. SummeA
Lassen Sie den Rechner die Summe der folgenden Zahlen bis zu einem Grenzwert g berechnen und
geben Sie die Anzahl der benötigten Glieder aus.
SumA
Berechnung der Summe 1+2+3+4+... bis zum Grenzwert
Grenzwert: 16
Nach 6 Gliedern ist 16 erreicht. Die Summe ist 21
5. SummeB
Lassen Sie den Rechner die Summe der folgenden Zahlen bis zu einem Grenzwert g berechnen und
geben Sie die Anzahl der benötigten Glieder aus.
1 − 2 + 3 − 4 + 5 . . . + (2n + 1) − 2n . . .
Berechnung der Summe 1-2+3-4+... bis zum Grenzwert
Grenzwert: 16
Nach 31 Gliedern ist 16 erreicht. Die Summe ist 16.
6. SummeC
Lassen Sie den Rechner die Summe der folgenden Zahlen bis zu einem Grenzwert g berechnen und
geben Sie die Anzahl der benötigten Glieder aus.
Berechnung der Summe 1 +(1/2)+(1/3)+(1/4)+... bis zum Grenzwert
Grenzwert: 1.5
Nach 2 Gliedern ist 1.5 erreicht. Die Summe ist 1.5
7. SummeD
Lassen Sie den Rechner die Summe der folgenden Zahlen bis zu einem Grenzwert g berechnen und
geben Sie die Anzahl der benötigten Glieder aus.
Berechnung der Summe 1 + 4 + 9 + 16 +... bis zum Grenzwert
Grenzwert: 16
Nach 4 Gliedern ist 16 erreicht. Die Summe ist 30.
Java 4 U
10
LF6 – ANW
2.2.2
LS6.3
Java-Programmierung
Fußgesteuerte Schleife
import java . util .*;
public class Zahlenreihe {
public static void main ( String argv [] ) {
int iZahl1 =3 , iZahl2 =5 , i =0;
Scanner input = new Scanner ( System . in );
do {
System . out . println ( " Die Summe von " + iZahl1 + "
iZahl2 + " ist " + ( iZahl1 + iZahl2 ) );
und " +
System . out . print ( " Erneut ausfuehren ? (1= ja ): " );
i = input . nextInt ();
} while ( i == 1 );
input . close ();
}
}
Aufgaben:
1. SummeUndDurchschnitt
Lassen Sie eine beliebige Anzahl von Zahlen addieren, bis die Zahl 0 eingegeben wird. Danach wird
die Gesamtsumme und der Durchschnitt ausgegeben.
SummeUndDurchschnitt
Zahl (Ende mit 0): 1.5
Zahl (Ende mit 0): 3
Zahl (Ende mit 0): 1.5
Zahl (Ende mit 0): 0
Summe: 6.0; Durchschnitt 2.0
2. Teiler
Lassen Sie alle Teiler einer einzulesenden ganzen Zahl ausgeben. Benutzen Sie auch hier eine Division
mit ganzzahligem Ergebnis. Beispiel: 8 hat die Teiler 1, 2, 4, 8.
Teiler
Geben Sie eine ganze Zahl ein: 63
63 ist durch: 1, 3, 7, 9, 21, 63 teilbar.
Java 4 U
11
LF6 – ANW
2.2.3
LS6.3
Java-Programmierung
Zählschleife
public class Zahlenreihe {
public static void main ( String argv [] ) {
int iAnzahl =20 , i =0;
for ( i =0; i <= iAnzahl ; i ++ ) {
System . out . print ( " * " );
}
}
}
Aufgaben:
1. Form1
Schreiben Sie ein Programm mittels einer Schleife, welches folgende Bildschirmausgabe erzeugt:
Form1
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
2. Form2
Schreiben Sie ein Programm mittels zweier Schleifen, welches folgende Bildschirmausgabe erzeugt:
Bemerkung: Werden mehr Zeilen/Zeichen eingegeben als erlaubt, wird die Zahl auf das zulässige
Maximum begrenzt.
Form2
Anzahl der Zeilen (max. 10): 6
Anzahl der Zeichen (max. 15): 4
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
3. Form3
Schreiben Sie ein Programm mittels Schleifen, welches folgende Bildschirmausgabe erzeugt:
Form3
x
xx
xxx
xxxx
xxxxx
Java 4 U
12
LF6 – ANW
LS6.3
Java-Programmierung
xxxxxx
xxxxxxx
xxxxxxxx
xxxxxxxxx
xxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx
4. Matrix
Es soll eine Multiplikationsmatrix auf dem Bildschirm von 10 Zeilen/10 Spalten) angezeigt werden.
Nach Eingabe einer Ziffer zwischen 2..9 werden alle Zahlen durch einen Stern gekennzeichnet, die
diese Ziffer enthalten, oder durch die eingegeben Zahl ohne Rest teilbar sind.
Matrix von 0 ..
Zahl (2..9): 4
0
1
2
3
10 11 *
13
*
21 *
23
30 31 *
33
*
*
*
*
50 ......
.....
90 91 *
93
99
*
*
*
*
*
5
15
25
35
*
6
*
26
*
*
7
17
27
37
*
*
18
*
38
*
9
19
29
39
*
*
95
*
97
98
99
5. Rechnen
Es sollen die Quadratzahlen, die Kubikzahlen und die Kehrwerte der Zahlen zwischen zwei einzugebenden Grenzen ausgegeben werden.
Rechnen
Untere Grenze: 4
Obere Grenze: 5
(1)Quadratzahl;(2):Kubikzahl;(3) Kehrwert
(1)16.0;(2)64.0;(3)0.25
(1)25.0;(2)125.0;(3)0.2
6. SummeNb
Schreiben Sie ein Programm, das nach Eingabe von n die folgende Summe berechnet:
12 + 32 + 52 + . . . + (2n − 1)2
SummeNb
Berechnung der Summe der Reihe:
1 * 1 + 3 * 3 + 5 * 5 + .. + (2*n-1)^2
Geben Sie eine pos. ganze Zahl ein (n): 3
Summe ist: 35
7. SummeNc
Schreiben Sie ein Programm, das nach Eingabe von n die folgende Summe berechnet:
22 + 42 + 62 + . . . + (2n)2
Java 4 U
13
LF6 – ANW
LS6.3
Java-Programmierung
SummeNc
Berechnung der Summe der Reihe:
2*2+4*4+6*6+..+(2*n)^2
Geben Sie eine pos. ganze Zahl ein (n): 3
Summe ist: 56
8. SummeNd
Schreiben Sie ein Programm, das nach Eingabe von n die folgende Summe berechnet:
1 + 1/2 + 1/3 + . . . + 1/n
SummeNd
Berechnung der Summe der Reihe:
1 + 1/2+ 1/3 + .. 1/n
Geben Sie eine pos. ganze Zahl ein (n): 3
Summe ist: 1.833334
9. Ungerade
Lassen Sie den Computer die ungerade Zahlen zwischen zwei einzugebenden Werten ausdrucken.
Ungerade
Untere Grenze: 5
Obere Grenze: 12
Ungerade Zahlen die zwischen 5 und 12 liegen:
Java 4 U
7 9 11
14
Herunterladen