Warning
This page is located in archive.

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 (cislo<min) min=cislo;
                if (cislo>max) 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;i<pc+1;i++)
            {
                System.out.print("Zadej "+i+". cislo: ");
                cislo = klv.nextInt();
                if (cislo<min) min=cislo;
                if (cislo>max) 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 (cislo<min) min=cislo;
                if (cislo>max) 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(i<pc+1){
                System.out.print("Zadej "+i+". cislo: ");
                cislo = klv.nextInt();
                if (cislo<min) min=cislo;
                if (cislo>max) 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);

courses/a0b36pri/teacher/havlicr/cv5.txt · Last modified: 2015/01/16 21:04 (external edit)