Avatar
mir.pazler
Člen
Avatar
mir.pazler:

ahoj pomohl by mi někdo s úkolem ? jsem začátečník a zatím si nevím moc rady. Děkuji

Zadání:

  1. Zjistěte, zda trojúhelník zadaný pomocí třech stran (celá čísla, int) lze zkonstruovat. Dále zjistěte, zda-li je pravoúhlý, rovnostranný, rovnoramenný.
  2. Zjistěte, zda odmocnina zadaného čísla (int) je číslo celé (odmocnina n = Math.sqrt(n); Pozor! Vráti se double!).
  3. Napište program, který určí, zda zadaná posloupnost 4 čísel (int) je aritmetická (rozdíl dvou sousedních členů je pro celou řadu stejný - např. 2,5,8,11 atd), geometrická (podíl dvou sousedních členů je konstantní - např. 3,6,12,24, atd) nebo ani jedna z předchozích.
  4. Napište program, který přepíše zadané trojciferné číslo (int) do slovního vyjádření.
  5. Vypočítejte determinant matice 2×2. (a, b, c, d - double) (lze vypočítat vzorcem det A = ad - bc. Výsledky zaokrouhlujte na 2 desetinná místa.)
 
Odpovědět 15.10.2014 17:24
Avatar
Odpovídá na mir.pazler
Michal Haňáček:

Ahoj, klidně pomůžu. S čím konkrétně máš problém?

Nahoru Odpovědět  +1 15.10.2014 18:01
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Petr Čech (czubehead):

Nedělám v Javě, ale můžu ti pomoct s teorií:

1. to je primitivní: podmíka která zkontroluje, jestli je součet každých 2 stran větší než ta 3. něco ve stylu

if((a+b)>c&&(a+c)>b&&(b+c)>a)

zjištění pravoúhlosti: 3× zkontoluješ, jestli odmocnina součtu druhých mocnin dvou stran == té 3.
rovnostranný: a==b==c
rovnoramenný: if
navíc to můžeš postupně vylučovat
2. na vráceném doublu zavoláš metodu ToString() a ten string si uložíš.
string si pomocí něčeho jako split rozsekneš podle desetinné tečky a do dalšího (nebo stejného stringu) uložíš hodnotu na indexu 1 (část za tečkou) a zkontroluješ, jestli obsahuje něco jiného než 0

Nahoru Odpovědět  +1 15.10.2014 19:30
Why so serious? -Joker
Avatar
Odpovídá na mir.pazler
Ondřej Štorc:
  1. Jestli jde zkonstruovat zjistíš pomocí Pythagorovy věty a jestli je rovnostranný, pravoúhlý či rovnoramenný jistíš pomocí podmínek
  2. Třeba pomocí tohoto: http://stackoverflow.com/…eger-in-java
  3. Já bych to udělal pomocí cyklu kdy porovnáš dvě hodnoty které jdou za sebou
  4. To číslo bych si rozdděli na 3 části a pak bych každou tu část pomocí switche vypasal slovně
  5. S 5 ti neporadím jelikož ani nevim co to je..
Nahoru Odpovědět  ±0 15.10.2014 19:47
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
mir.pazler
Člen
Avatar
Odpovídá na Michal Haňáček
mir.pazler:

Ahoj no já vim jak na to jít logicky ale nevim jak to zapsat do netbeansu. :)

 
Nahoru Odpovědět 16.10.2014 15:26
Avatar
mir.pazler
Člen
Avatar
Odpovídá na mir.pazler
mir.pazler:

a cykly jsme ještě nedělali jen if a switch takže cykly netušim :/

 
Nahoru Odpovědět 16.10.2014 15:27
Avatar
Hit
Člen
Avatar
Odpovídá na mir.pazler
Hit:

Čus, snad už není pozdě, ale podíval jsem se na ten úkol a něco jsem stvořil, snažil jsem se to udělat s co nejjednodušíma prostředkama (nepoužival jsem pole ani cykly atd.) snad ti to k něčemu bude, kdyžtak řekni jeslti ti to pomohlo ;)

Hlavní třída

public class Ukol {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        //Ukol 1
        //První 3 čísla - strany, zbytek jsou úhly
        Triangle t = new Triangle(10, 15, 20, 30, 60, 50);
        if (t.isConstractible()){
            System.out.println("Trojúhelník je zkonstruovatelný.");
        }else{
            System.out.println("Trojúhelník není zkonstruovatelný.");
        }
        System.out.println("Trojúhelník je " + t.checkConstruction());

        //Úkol 2
        int number = 200;
        double odmocnina = Math.sqrt(number);
        if (odmocnina != (int)odmocnina){
            System.out.println("Číslo " + number + " je desetinné");
        }else{
            System.out.println("Číslo " + number + " je celé");
        }

        //Úkol 3
        Sequence s = new Sequence(3, 6, 12, 24);
        System.out.println("Posloupnost je " + s.checkSequence());

        //Úkol 4
        int num = 125;
        Number n = new Number(num);
        System.out.println(num + " - " + n.translate());

        //Úkol 5
        Matrix m = new Matrix(2, 4, 6, 10);
        System.out.println("Determinant: " + m.getResult());

    }

Trojúhelník

public class Triangle {
    private final int a;
    private final int b;
    private final int c;
    private final int alpha;
    private final int beta;
    private final int gama;
    private boolean isConstractible;
    private String construction;

    public Triangle(int a, int b, int c, int alpha, int beta, int gama){
        this.a = a;
        this.b = b;
        this.c = c;

        this.alpha = alpha;
        this.beta = beta;
        this.gama = gama;

    }

    public boolean isConstractible(){
        if (a + b > c && a + c > b && b + c > a){
            isConstractible = true;
        }
        return isConstractible;
    }

    public String checkConstruction(){
        if (isConstractible){
            if (a == b && a == c && b == c){
                construction = "rovnostranný";
            }
            else if (a == b && a != c && b != c){
                construction = "rovnoramenný";
            }
            else if (alpha == 90 || beta == 90 || gama == 90){
                construction = "pravoúhlý";
            }
            else if (a != b && a != c && b != c){
                construction = "obecný";
            }
        }
        return construction;
    }
}

Posloupnost:

public class Sequence {
    private final int a;
    private final int b;
    private final int c;
    private final int d;
    private String typeOfSequence;


    public Sequence (int a, int b, int c, int d){
        this.a = a;
        this.b = b;
        this.c = c;
        this.d = d;
    }

    public String checkSequence(){
        int difference = b - a;
        float difference2 = b / a;

        if (difference == c - b && difference == d - c){
            typeOfSequence = "aritmetická";
        }else if(difference2 == (float)(c / b) && difference2 == (float)(d / c)){
            typeOfSequence = "geometrická";
        }
        return typeOfSequence;
    }
}

Číslo pro překlad:

public class Number {
    private final int number;
    private boolean finish = false;
    private String output = "";
    private char first;
    private char second;
    private char third;

    public Number(int n){
        this.number = n;
    }

    public String translate(){
        String value = Integer.toString(number);

        if (value.length() < 3){
            return "Zadané číslo není trojciferné";
        }

        first = value.charAt(0);
        second = value.charAt(1);
        third = value.charAt(2);

        translateFirst();
        translateSecond();

        if (finish){
            return output;
        }

        translateThird();

        return output;

    }

    private void translateFirst(){
        switch (first){
            case '1':
                output += "Sto ";
                break;
            case '2':
                output += "Dvě stě ";
                break;
            case '3':
                output += "Tři sta ";
                break;
            case '4':
                output += "Čtyři sta ";
                break;
            case '5':
                output += "Pět set ";
                break;
            case '6':
                output += "Šest set ";
                break;
            case '7':
                output += "Sedm set ";
                break;
            case '8':
                output += "Osm set";
                break;
            case '9':
                output += "Devět set";
                break;
        }
    }

    private void translateSecond(){
        switch (second){
            case '1':
                finish = true;
                switch (third){
                    case '1':
                        output += "jedenáct";
                        break;
                    case '2':
                        output += "dvanáct";
                        break;
                    case '3':
                        output += "třináct";
                        break;
                    case '4':
                        output += "čtrnáct";
                        break;
                    case '5':
                        output += "patnáct";
                        break;
                    case '6':
                        output += "šestnáct";
                        break;
                    case '7':
                        output += "sedmnáct";
                        break;
                    case '8':
                        output += "osmnáct";
                        break;
                    case '9':
                        output += "devatenáct";
                        break;
                }
                break;
            case '2':
                output += "dvacet ";
                break;
            case '3':
                output += "třicet ";
                break;
            case '4':
                output += "čtyřicet ";
                break;
            case '5':
                output += "padesát ";
                break;
            case '6':
                output += "šedesát ";
                break;
            case '7':
                output += "sedmdesát ";
                break;
            case '8':
                output += "osmdesát ";
                break;
            case '9':
                output += "devadesát";
                break;
        }
    }

    private void translateThird(){
        switch (third){
            case '1':
                output += "jedna";
                break;
            case '2':
                output += "dva";
                break;
            case '3':
                output += "tři";
                break;
            case '4':
                output += "čtyři";
                break;
            case '5':
                output += "pět";
                break;
            case '6':
                output += "šest";
                break;
            case '7':
                output += "sedm";
                break;
            case '8':
                output += "osm";
                break;
            case '9':
                output += "devět";
                break;
        }
    }
}

Matice:

public class Matrix {
    private final int a;
    private final int b;
    private final int c;
    private final int d;
    private final double determinant;
    private double result;

    public Matrix(int a, int b, int c, int d){
        this.a = a;
        this.b = b;
        this.c = c;
        this.d = d;

        determinant = (a * d) - (b * c);
        result = determinant * 100;
        result = Math.round(result);
        result = result / 100;

    }


    public double getResult(){
        return result;
    }
}
Nahoru Odpovědět 22.10.2014 15:54
Life's not about how hard you can hit, it's about how hard you can GET hit and keep moving forward.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.