COMA T.Bosse COMA Ubung 4COMA Ubung 4 T.Bosse Ubungsauf- gaben Hinweise Aufgaben 1 Aufgaben 2...
Transcript of COMA T.Bosse COMA Ubung 4COMA Ubung 4 T.Bosse Ubungsauf- gaben Hinweise Aufgaben 1 Aufgaben 2...
COMAUbung 4
T.Bosse
Ubungsauf-gaben
Hinweise
Aufgaben1
Aufgaben2
Aufgaben3
Viel Erfolg
COMA Ubung 4Eine JAVA Einfuhrung
T.Bosse
COMAUbung 4
T.Bosse
Ubungsauf-gaben
Hinweise
Aufgaben1
Aufgaben2
Aufgaben3
Viel Erfolg
Einlesen von Konsolen Eingabe
Der folgende Code liest eine Eingabe in der Konsole (wahrend der Laufzeit)und speichert diese in einer Variablen vom Typ String (hier in ’UserEingabe’).Die Variable und deren Inhalt kann dann im spateren (. . . ) benutzt werden.
import java.io.Console;
public class EinleseneinesStrings
{
public static void main(String[] args)
{
Console console = System.console();
String UserEingabe = console.readLine("Eingabe? ");
...
}
}
COMAUbung 4
T.Bosse
Ubungsauf-gaben
Hinweise
Aufgaben1
Aufgaben2
Aufgaben3
Viel Erfolg
String zu int/double
� Umwandeln einer String-Variable in eine integer bzw double Variable:
public class UmwandelneinesStringsinInt
{
public static void main(String[] args)
{
String zahlenfolge="1234";
int zahl;
zahl = Integer.parseInt(zahlenfolge);
...
}
}
� public class UmwandelneinesStringsinDouble
{
public static void main(String[] args)
{
String zahlenfolge = "3.14159265";
double zahl;
zahl = Double.parseDouble( zahlenfolge ) ;
...
}
}
COMAUbung 4
T.Bosse
Ubungsauf-gaben
Hinweise
Aufgaben1
Aufgaben2
Aufgaben3
Viel Erfolg
While Schleife
Neben den for-loops konnen Anweisungen auch mittels While-Scheifenwiederholt werden:
� while (Bedingung)
{
...
}
� do
{
...
}
while (Bedingung)
Dabei werden die Anweisungen (. . . ) innerhalb der Schleifen wiederholt,solange die Bedingung wahr ist.
Hinweis: Im Unterschied zur while-Schleife wird der Inhalt der do-whileSchleife immer mindestens einmal durchlaufen.
COMAUbung 4
T.Bosse
Ubungsauf-gaben
Hinweise
Aufgaben1
Aufgaben2
Aufgaben3
Viel Erfolg
Beispiel While Schleifen
import java.io.Console;
public class EinfachePasswortAbfrage
{
public static void main(String[] args)
{
int UserEingabe;
Console console = System.console();
int StrenggeheimesPasswort=1234;
console.printf("Passwort (4 Ziffern) eingeben:");
do
{
String UserEingabeString= console.readLine("Eingabe:");
UserEingabe= Integer.parseInt(UserEingabeString);
}while(UserEingabe!=StrenggeheimesPasswort);
console.printf("Passwort korrekt.");
}
}
Hinweis: Obiger Code geht noch schoner :-)
COMAUbung 4
T.Bosse
Ubungsauf-gaben
Hinweise
Aufgaben1
Aufgaben2
Aufgaben3
Viel Erfolg
(Optionale) Aufgaben 1
Aufgabe 1
Schreiben Sie ein Programm, welches Ihren Namen und IhreImmatrikulationsnummer ausgibt.
Aufgabe 2
Schreiben Sie ein Programm, welches Ihnen den Wert
1− qn+1
1− qmit q = 0.5 und n = 20
berechnet und ausgibt.
Aufgabe 3
Schreiben Sie ein Programm, welches die geometrische Reihe
n∑k=0
qk mit q = 0.5 und k = 20.
fur den Wert q = 0.5 und n = 20 berechnet.
COMAUbung 4
T.Bosse
Ubungsauf-gaben
Hinweise
Aufgaben1
Aufgaben2
Aufgaben3
Viel Erfolg
(Optionale) Aufgaben 2
Aufgabe 4
Erweitern Sie obigen Programme durch eine Eingabe.
Aufgabe 5
Schreiben Sie ein Programm, welches als Eingabe zwei ganze Zahlen erhaltund danach die Summe, die Differenz, das Produkt und die Division mit Restdieser Zahlen ausgibt.
Aufgabe 6
Schreiben Sie ein Programm, das als Eingabe eine naturliche Zahlen n erhaltund danach eine aufsteigend sortierte Liste aller Zahlen zwischen n und n + 20ausgibt, welche durch 3 teilbar oder gleich 35 sind.
Aufgabe 7
� Dividieren Sie x , beginnend mit x = 1.0, fortlaufend durch 2, bis x = 0.0ist. Wieviele Schritte braucht das?
� Bilden Sie y = 1.0 + x , bis y = 1.0 wird, mit jeweils halbiertem x .Wieviele Schritte braucht das? Warum gibt es Unterschiede zu Teil 1?
COMAUbung 4
T.Bosse
Ubungsauf-gaben
Hinweise
Aufgaben1
Aufgaben2
Aufgaben3
Viel Erfolg
(Optionale) Aufgaben 3
Aufgabe 8
Berechnen Sie 3√a mittels Quadratwurzeln: Sei x3 = a, dann ist x4 = a · x ,
also x2 =√ax und x =
√√ax . Wahlen Sie also irgendein x0, mit oder ohne
Abhangigkeit von a, und iterieren Sie xi+1 =√√
axi .
Aufgabe 9
� Schreiben Sie ein Programm, bei dem der Rechner sich eine naturlicheZahl zwischen 0 und 1000 ‘denkt’, welche der Nutzer erraten soll. NutzenSie zum Generieren der Zahl die Funktion double Math.random() mitdouble Werten in [0, 1). Diese Werte konnen nach einer geeignetenSkalierung double Math.floor(double)) auf die nachste kleiner ganzeZahl abgerundet werden. Das Program soll auf jeden Tipp die Antwort
”großer“ oder
”kleiner“ geben und anschliessend die Leistung des Nutzers
bewerten, d.h., wie oft sich der Abstand zur gesuchten Zahl in etwahalbiert hat und in wievielen Schritten dies nicht passiert ist.
� Denken Sie sich eine Zahl und lassen Sie den Rechner raten. VersuchenSie einen Algorithmus zu entwerfen, der moglichst effizient ist.
COMAUbung 4
T.Bosse
Ubungsauf-gaben
Hinweise
Aufgaben1
Aufgaben2
Aufgaben3
Viel Erfolg
Viel Erfolg.