Uzupełnij kod programu tak, aby obliczał rozwiązanie równania kwadratowego w postaci . Przetestuj jego działanie dla następujących danych:
a = -20
b = 7
c = 8
Specyfikacja problemu:
Dane:
a – liczba rzeczywista; współczynnik przy
b – liczba rzeczywista; współczynnik przy
c – liczba rzeczywista; wyraz wolny
Wynik:
Program, na standardowym wyjściu, wypisuje odpowiedni komunikat:
Nie jest to rownanie kwadratowe,
Rownanie nie ma rozwiazania,
Rownanie ma jedno rozwiazanie x1 = X1, gdzie w miejscu X1 powinna znajdować się wyznaczona wartość miejsca zerowego,
Rownanie ma dwa rozwiazania: x1 = X1 x2 = X2, gdzie w miejscu X1, X2 powinny znajdować się wyznaczone wartości miejsc zerowych.
Przykładowe wyjście:
Linia 1. Rownanie ma dwa rozwiazania dwukropek.
Linia 2. x1 znak równości 0 kropka 8312202374203345.
Linia 3. x2 znak równości minus 0 kropka 4812202374203344.
R1Ime6m2UrhFS
Przykładowe rozwiązanie zadania:
Linia 1. public class Main otwórz nawias klamrowy.
Linia 3. private static void rozwiaz otwórz nawias okrągły double a przecinek double b przecinek double c zamknij nawias okrągły otwórz nawias klamrowy.
Linia 5. double x1 przecinek x2 średnik.
Linia 7. double delta znak równości b asterysk b minus otwórz nawias okrągły 4 asterysk a asterysk c zamknij nawias okrągły średnik.
Linia 9. if otwórz nawias okrągły delta otwórz nawias ostrokątny 0 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 10. System kropka out kropka println otwórz nawias okrągły cudzysłów Rownanie nie ma rozwiazania cudzysłów zamknij nawias okrągły średnik.
Linia 11. System kropka exit otwórz nawias okrągły 0 zamknij nawias okrągły średnik.
Linia 13. zamknij nawias klamrowy else if otwórz nawias okrągły delta znak równości znak równości 0 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 14. x1 znak równości minus otwórz nawias okrągły b prawy ukośnik 2 asterysk a zamknij nawias okrągły średnik.
Linia 15. System kropka out kropka println otwórz nawias okrągły cudzysłów Rownanie ma jedno rozwiazanie x1 znak równości cudzysłów plus x1 zamknij nawias okrągły średnik.
Linia 17. zamknij nawias klamrowy else if otwórz nawias okrągły delta zamknij nawias ostrokątny 0 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 18. x1 znak równości otwórz nawias okrągły otwórz nawias okrągły minus 1 zamknij nawias okrągły asterysk b minus Math kropka sqrt otwórz nawias okrągły delta zamknij nawias okrągły zamknij nawias okrągły prawy ukośnik otwórz nawias okrągły 2 asterysk a zamknij nawias okrągły średnik.
Linia 19. x2 znak równości otwórz nawias okrągły otwórz nawias okrągły minus 1 zamknij nawias okrągły asterysk b plus Math kropka sqrt otwórz nawias okrągły delta zamknij nawias okrągły zamknij nawias okrągły prawy ukośnik otwórz nawias okrągły 2 asterysk a zamknij nawias okrągły średnik.
Linia 20. System kropka out kropka println otwórz nawias okrągły cudzysłów Rownanie ma dwa rozwiazania dwukropek cudzysłów zamknij nawias okrągły średnik.
Linia 21. System kropka out kropka println otwórz nawias okrągły cudzysłów x1 znak równości cudzysłów plus x1 zamknij nawias okrągły średnik.
Linia 22. System kropka out kropka println otwórz nawias okrągły cudzysłów x2 znak równości cudzysłów plus x2 zamknij nawias okrągły średnik.
Linia 23. zamknij nawias klamrowy.
Linia 24. zamknij nawias klamrowy.
Linia 26. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 27. double a znak równości minus 20 średnik.
Linia 28. double b znak równości 7 średnik.
Linia 29. double c znak równości 8 średnik.
Linia 30. rozwiaz otwórz nawias okrągły a przecinek b przecinek c zamknij nawias okrągły średnik.
Linia 32. zamknij nawias klamrowy.
Linia 34. zamknij nawias klamrowy.
31
Ćwiczenie 2
Pan Krzysztof jest numizmatykiem. Niedawno na lokalnej giełdzie staroci udało mu się zakupić paczkę starych banknotów. Pana Krzysztofa interesują banknoty, których siedmiocyfrowy numer seryjny jest palindromem, to znaczy czytany od lewej strony jest identyczny jak czytany od strony prawej, np. . Napisz funkcję wskazującą, które z banknotów mają numer seryjny będący palindromem. Numery seryjne banknotów przechowywane są w n-elementowej tablicy numery, a każdy numer seryjny ma siedem znaków. Pan Krzysztof ponumerował banknoty od 0. Działanie programu przetestuj dla następujących danych:
n – liczba naturalna dodatnia; rozmiar tablicy numery
numery – tablica zawierająca n napisów, każdy rozmiaru 7
Wynik:
Program powinien wyświetlać indeksy z tablicy numery, na których znajdują się numery seryjne będące palindromami. Indeksy powinny być oddzielone spacją.
Przykładowe wyjście:
Linia 1. 1 10 11 14 18.
R1XdTh9q59Poj
Przykładowe rozwiązanie zadania:
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. private static boolean czyPalindrom otwórz nawias okrągły String numer zamknij nawias okrągły otwórz nawias klamrowy.
Linia 3. int pierwszy znak równości 0 średnik.
Linia 4. int ostatni znak równości 6 średnik.
Linia 5. while otwórz nawias okrągły pierwszy otwórz nawias ostrokątny ostatni zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. if otwórz nawias okrągły numer kropka charAt otwórz nawias okrągły pierwszy zamknij nawias okrągły wykrzyknik znak równości numer kropka charAt otwórz nawias okrągły ostatni zamknij nawias okrągły zamknij nawias okrągły.
Linia 7. return false średnik.
Linia 8. pierwszy plus plus średnik.
Linia 9. ostatni minus minus średnik.
Linia 10. zamknij nawias klamrowy.
Linia 11. return true średnik.
Linia 12. zamknij nawias klamrowy.
Linia 14. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 15. String numery otwórz nawias kwadratowy zamknij nawias kwadratowy znak równości otwórz nawias klamrowy cudzysłów 1233332 cudzysłów przecinek cudzysłów 1112111 cudzysłów przecinek cudzysłów 3132204 cudzysłów przecinek.
Linia 16. cudzysłów 3412589 cudzysłów przecinek cudzysłów 9014521 cudzysłów przecinek cudzysłów 5213645 cudzysłów przecinek cudzysłów 1234567 cudzysłów przecinek.
Linia 17. cudzysłów 9234821 cudzysłów przecinek cudzysłów 1423405 cudzysłów przecinek cudzysłów 1234961 cudzysłów przecinek cudzysłów 5429245 cudzysłów przecinek.
Linia 18. cudzysłów 8730378 cudzysłów przecinek cudzysłów 1234543 cudzysłów przecinek cudzysłów 6345234 cudzysłów przecinek cudzysłów 9910199 cudzysłów przecinek.
Linia 19. cudzysłów 6655321 cudzysłów przecinek cudzysłów 1122334 cudzysłów przecinek cudzysłów 9948328 cudzysłów przecinek cudzysłów 7786877 cudzysłów zamknij nawias klamrowy średnik.
Linia 20. int n znak równości 19 średnik.
Linia 22. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny n średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 23. if otwórz nawias okrągły czyPalindrom otwórz nawias okrągły numery otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 24. System kropka out kropka print otwórz nawias okrągły i plus cudzysłów cudzysłów zamknij nawias okrągły średnik.
Linia 25. zamknij nawias klamrowy.
Linia 26. zamknij nawias klamrowy.
Linia 27. zamknij nawias klamrowy.
Linia 28. zamknij nawias klamrowy.