====== 5.cvičení ======
===== Příklady z hodiny =====
==== Příklad 1 ====
=== Zadání ===
Napište program, který načte od uživatele heslo (celé číslo) a pokud bude správné přivítá jej. Pokud nebude správné, bude požadováno opětovné zadání hesla.
=== Vypracování ===
Scanner klv = new Scanner(System.in);
int a ;
do {
System.out.print("Zadej heslo :");
a = klv.nextInt();
} while (a!=1234);
System.out.println("Ahoj");
==== Příklad 2 ====
=== Zadání ===
Inovujte Příklad 1 za použití cyklu //while//
== Vypracování ==
Scanner klv = new Scanner(System.in);
int a;
a = 0; //cokoliv jineho nez heslo
while (a!=1234) {
System.out.print("Zadej heslo :");
a = klv.nextInt();
}
System.out.println("Ahoj");
System.out.println("Konec programu");
Scanner klv = new Scanner(System.in);
int a;
while (true) {
System.out.print("Zadej heslo :");
a = klv.nextInt();
if (a==1234) break;
}
System.out.println("Ahoj");
System.out.println("Konec programu");
==== Příklad 3 ====
=== Zadání ===
Inovujte Příklad 1 za použití cyklu //for//
== Vypracování ==
Scanner klv = new Scanner(System.in);
int a;
for (a=0;a!=1234;){
System.out.print("Zadej heslo :");
a = klv.nextInt();
}
System.out.println("Ahoj");
System.out.println("Konec programu");
Scanner klv = new Scanner(System.in);
int a,i;
for (i=1;i==1;){
System.out.print("Zadej heslo :");
a = klv.nextInt();
if (a==1234) i++;
}
System.out.println("Ahoj");
System.out.println("Konec programu");
Scanner klv = new Scanner(System.in);
int a;
for (;;){
System.out.print("Zadej heslo :");
a = klv.nextInt();
if (a==1234) break;
}
System.out.println("Ahoj");
System.out.println("Konec programu");
==== Příklad 4 ====
=== Zadání ===
Inovujte Příklad 1 za podmínky, že uživatel má pouze 3 pokusy pro zadání správného hesla.
== Vypracování ==
Scanner klv = new Scanner(System.in);
int a,i;
boolean b = false;
for (i=1;(i<4)&!b;i++){
System.out.print("Zadej heslo :");
a = klv.nextInt();
if (a==1234) b = true;
}
if (b) System.out.println("Ahoj");
System.out.println("Konec programu");
===== Další příklady =====
==== Příklad 1 ====
===Zadání - a ===
Napište program, který načte od uživatele 10 čísel a poté zobrazí maximální a minimální zadané číslo.
=== Vypracování===
Scanner klv = new Scanner(System.in);
int cislo;
int i;
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for (i=1;i<11;i++)
{
System.out.print("Zadej "+i+". cislo: ");
cislo = klv.nextInt();
if (cislomax) max=cislo;
}
System.out.println("Maximalni hodnota je : "+max);
System.out.println("Minimalni hodnota je : "+min);
=== Zadání - b ===
Napište program, který načte od uživatele zadaný počet čísel a poté zobrazí maximální a minimální zadané číslo.
=== Vypracování===
Scanner klv = new Scanner(System.in);
int cislo;
int i,pc;
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
System.out.print("Zadej kolik bude cisel: ");
pc = klv.nextInt();
for (i=1;imax) max=cislo;
}
System.out.println("Maximalni hodnota je : "+max);
System.out.println("Minimalni hodnota je : "+min);
=== Zadání - c ===
Přepište zadání b tak, aby se za klíčovým slovem for v závorce nevyskytovaly žádné výrazy.
=== Řešení ===
Scanner klv = new Scanner(System.in);
int cislo;
int i=1;
int pc;
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
System.out.print("Zadej kolik bude cisel: ");
pc = klv.nextInt();
for (;;)
{
System.out.print("Zadej "+i+". cislo: ");
cislo = klv.nextInt();
if (cislomax) max=cislo;
i++;
if i>pc break;
}
System.out.println("Maximalni hodnota je : "+max);
System.out.println("Minimalni hodnota je : "+min);
==== Příklad 2 ====
=== Zadání a ===
Napište program, který bude od uživatele načte x čísel a po zadání 0 vypíše součet zadaných čísel.
=== Vypracování===
Scanner klv = new Scanner(System.in);
int soucet = 0;
int cislo;
do {
System.out.print("Zadej cislo:");
cislo= klv.nextInt();
soucet+=cislo;
}while (cislo!=0);
System.out.println("Soucet je: "+soucet);
=== Zadání b===
Inovujte zadání a tak, aby po zadání x čísel byla zadávana další čísla, dokud součet nebude 25.
=== Řešení ===
Scanner klv = new Scanner(System.in);
int soucet = 0;
int cislo;
do {
System.out.print("Zadej cislo:");
cislo= klv.nextInt();
soucet+=cislo;
}while (cislo!=0);
System.out.println("Soucet je: "+soucet);
while (soucet!=25)
{
System.out.print("Zadej cislo:");
cislo= klv.nextInt();
soucet+=cislo;
}
==== Dobrovolný domácí úkol ====
Přepište všechna (nebo některá) předchozí zadání do jiného než použitého typu cyklu.
=== Vypracování===
== Př 1 b - while ==
Scanner klv = new Scanner(System.in);
int cislo;
int i,pc;
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
System.out.print("Zadej kolik bude cisel: ");
pc = klv.nextInt();
i=1;
while(imax) max=cislo;
i++;
}
System.out.println("Maximalni hodnota je : "+max);
System.out.println("Minimalni hodnota je : "+min);
== Př 2 - for ==
Scanner klv = new Scanner(System.in);
int soucet = 0;
int cislo;
int i = 0;
for (;i<1;) {
System.out.print("Zadej cislo:");
cislo= klv.nextInt();
soucet+=cislo;
if (cislo==0) i++;
}
System.out.println("Soucet je: "+soucet);