Laborator FAIMA #11 / An 1 Semestru 1

Se introduce de la tastatura un numar natural N > 2. Sa se calculeze limita:


calculand termenul N al sirului.
(aceasta limita este cunoscuta si sub numele de problema Basel)

Important! Gasiti aici documentul cu punctajele voastre la zi

Laborator FAIMA #10 / An 1 Semestru 1

Se introduc de la tastatura N numere reale. Sa se calculeze media lor armonica, pe baza formulei:


Programul trebuie sa continue sa primeasca seturi de numere pana la introducerea comenzii "stop". In cazul introducerii unor numere eronate, trebuie sa afiseze un mesaj de eroare.

Rezolvare - Laborator FAIMA #9 / An 1 Semestru 1


public class RezolvareFAIMA {

    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        String nl = "";
        while (!nl.equals("stop")) {
            nl = input.nextLine().toLowerCase();
            try {
                String[] sNumere = nl.split(",");
                if (sNumere.length == 3) {
                    double[] iNumere = new double[sNumere.length];
                    for (int i = 0; i < sNumere.length; i++) {
                        iNumere[i] = Double.parseDouble(sNumere[i]);
                    }
                    double[] rez = rezolvaEcuatie(iNumere);
                    if (rez == null) {
                        System.out.println("Ecuatia nu are radacini reale");
                    } else {
                        System.out.println("Radacinile sunt: "+rez[0]+","+rez[1]);
                    }
                } else {
                    System.out.println("Sunt necesare trei numere.");
                }
            } catch (Exception e) {
                if (!nl.equals("stop")) {
                    System.out.println("Numere incorecte");
                }
            }
        }
        System.out.println("Program terminat. O zi buna!");
    }

    private static double[] rezolvaEcuatie(double[] param) {
        double delta = Math.pow(param[1], 2) - 4 * param[0] * param[2];
        if (delta >= 0) {
            return new double[]{(-param[1] + Math.sqrt(delta)) / (2 * param[0]), (-param[1] - Math.sqrt(delta)) / (2 * param[0])};
        } else {
            return null;
        }
    }
}