Gyakorlati alapok

3 szám közül melyik a legnagyobb?

 

Ebben a fejezetben a címben megjelölt problémát programozzuk le a lehető legegyszerűbb eszközökkel. Az alapszintű eszköztár a következő:

Az algoritmus legfontosabb része a helyes feltételbeállítás, int a esetén:

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

(a > b && a > c)

A feltétel verbális olvasata: ha a nagyobb b-nél ÉS c-nél.

 

A vizsgálatot természetesen el kell végeznünk mindhárom szám esetében, valamint mindegyikhez hozzá kell illesztenünk a kiértékelést is. Láthatjuk, hogy az utóbbi, a System.out.println() függvény többszörös használata kódredundanciát eredményez (funkcionális kódtöbbletet, azaz azonos funkciójú kód többször is előfordul, amely alapértelmezésben kerülendő objektumorientált szemlélet szerint). Ezt természetesen a későbbiekben képesek leszünk optimalizálni, ám a jelen pillanatban ezen a programozási szinten vagyunk.

Nézzük meg a futtatható Java-kódot:

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


class Main{
public static void main(String args[]){
    int a = 1;
    int b = 2;
    int c = 3;

    if (a > b && a > c)
        System.out.println("Az 1. szám a legnagyobb.");
    else if (b > a && b > c)
        System.out.println("A 2. szám a legnagyobb.");
    else if (c > a && c > b)
        System.out.println("A 3. szám a legnagyobb.");
    }
}
 

Végeredmény:

A 3. szám a legnagyobb.

 

www.informatika-programozas.hu - Ez a programozási feladat nehéz lesz!

 

Ugyan még nem vettük az adatbekérést (Ami már eddig is nagyon hiányzott: az adatbekérés című fejezet), de ha már itt vagyunk, oldjuk meg a problémát ezzel a lehetőséggel is.

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

Kiértékeléskor érdemes egy további else ágat is beiktatnunk, hátha a gonoszkodó felhasználó mindhárom számra ugyanazt írja be.

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


import java.util.Scanner;

class Main{
public static void main(String args[]){
    int a, b, c;
    Scanner scanner = new Scanner(System.in);

    System.out.print("Kérem, hogy gépelje be az 1. számot: ");
    a = scanner.nextInt();
    System.out.print("Kérem, hogy gépelje be a 2. számot: ");
    b = scanner.nextInt();
    System.out.print("Kérem, hogy gépelje be a 3. számot: ");
    c = scanner.nextInt();

    if (a > b && a > c)
        System.out.println("Az 1. szám a legnagyobb.");
    else if (b > a && b > c)
        System.out.println("A 2. szám a legnagyobb.");
    else if (c > a && c > b)
        System.out.println("A 3. szám a legnagyobb.");
    else
        System.out.println("Mindhárom szám egyenlő.");
    }
}

 

Végeredmény:

A 3. szám a legnagyobb.