====== 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);