Gyakorlati alapok

Háromszög-e a háromszög? (többszörös feltételmegadás II.)

 

Borzoljuk tovább a kedélyeket, azaz folytassuk a többszörös feltételmegadás körüli felfedezéseinket!

 

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

 

Adott 3 db oldalhossz (a, b, c), amelyek csakis akkor alkotnak háromszöget, ha 2 db oldalhossz mindig nagyobb a 3. oldalhossznál. Kissé sematikusan, de lényegében így lehetne ezt lerajzolni:

 

www.informatika-programozas.hu

 

A feltételvizsgálatba az összes oldalt be kell vonnunk és mivel az összes feltételnek egyszerre kell teljesülnie, logikai ÉS műveletet szükséges használnunk. Írjuk ezt le pszeudokódban:

 

HA a + b > c ÉS a + c > b ÉS b + c > a

 

 A vizsgálatot elég 1 irányban megtennünk, mivel...

 

a + b > c = b + a > c

 

...így 6 db művelet helyett csak 3 db műveletünk lesz.

 

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

 

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

 

 

 

 

 

 

 


public class Main {
public static void main(String[] args) {
    int a = 3;
    int b = 4;
    int c = 5;
    if((a + b > c) && (b + c > a) && (a + c > b)){
        System.out.println("Az oldalak háromszöget alkotnak.");
    }
    else
        System.out.println("Az oldalak NEM alkotnak háromszöget.");
    }
}

 

Végeredmény:

Az oldalak háromszöget alkotnak.

 

Nézzünk meg egy olyan esetet is, amelyben az oldalak nem alkotnak háromszöget:

 

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

 

 

 

 

 

 

 


public class Main {
public static void main(String[] args) {
    int a = 2;
    int b = 4;
    int c = 6;
    if((a + b > c) && (b + c > a) && (a + c > b)){
        System.out.println("Az oldalak háromszöget alkotnak.");
    }
    else
        System.out.println("Az oldalak NEM alkotnak háromszöget.");
    }
}

 

Végeredmény:

Az oldalak NEM alkotnak háromszöget.