RO6d2BQlsWR1V
Zdjęcie przedstawia rzut z góry na rondo z pięcioma zjazdami.

I_P_W13_M04_Java Algorytmy z warunkami w języku Java

Źródło: Osman Rana, domena publiczna.
Polecenie 1

Napisz program, który wyliczania rabaty dla pewnego sklepu.

R1HVR3AC81QNH

Przetestuj działanie programu dla klienta, który kupuje 10 sztuk towaru, którego jednostkowa cena wynosi 5 . W przypadku tego klienta rabat naliczany jest od zakupu powyżej 4 sztuk produktów i dla każdej sztuki wynosi 10%.

Napisz program, który sprawdzi, czy podana liczba x jest liczbą dodatnią. Twoje zadania: 1. Program sprawdza, czy wartość zmiennej x jest dodatnia. Podany kod: 1. public class Main { 2. public static void main (String [] args) { 3. int x = -3; 4. 5. // Tutaj dodaj kod. Program wypisuje "tak", jeżeli warunek zadania jest spełniony, lub "nie", w przeciwnym razie 6. // Do wypisywania, użyj funkcji: System.out.println(); 7. 8. } 9. }

Specyfikacja:

Dane:

  • liczbaSztuk – liczba sztuk produktu; liczba naturalna

  • cenaTowaru – jednostkowa cena towaru; liczba naturalna

  • rabatPowyzejSztuk – od ilu produktów naliczany jest rabat; liczba naturalna

  • wysokoscRabatu – rabat liczony od cenyTowaru dla każdej sztuki powyżej rabatPowyzejSztuk; liczba rzeczywista dodatnia

Wynik:

  • doZaplat – sumaryczny koszt zakupionego towaru; liczba rzeczywista

Polecenie 2

Przeanalizuj prezentację, w której opisano algorytm wyliczania rabatów dla pewnego sklepu. Na jej podstawie spróbuj wytłumaczyć zasadę działania instrukcji warunkowej dowolnej osobie z twojego otoczenia. Zwróć uwagę na posługiwanie się prawidłowym słownictwem.

R1cqzzCDQGSHv
Nagranie głosowe
R15pG6BTa82WA1
Krok pierwszy Przeanalizujmy, w jaki sposób zachowa się instrukcja warunkowa podczas obliczania wysokości rabatu na zakupione sztuki towaru. Chcemy zakupić 10 sztuk towaru. Dostaliśmy informację od producenta, że nastąpiła zmiana w sposobie przyznawania rabatów. Od teraz rabat w wysokości 10% naliczany jest za każdą sztukę powyżej 8. Koszt jednej sztuki towaru wynosi 5 zł. Jeżeli planujemy zakupić powyżej 100 sztuk, należy to zgłosić producentowi, a cena za sztukę oraz rabat ustalane będą indywidualnie. Krok drugi Chcemy zakupić 10 sztuk towaru. Oznacza to, że promocją objęte zostaną dwie sztuki towaru. Poniższy fragment kodu przedstawia dane z zadania. liczbaSztuk = 10 cenaTowaru = 5 rabatPowyzejSztuk = 8 wysokoscRabatu = 0.10 Krok trzeci Do obliczenia łącznej ceny zamówienia posłużymy się instrukcją warunkową. if (liczbaSztuk > 100) { // Musimy poinformować producenta i uzgodnić cenę towaru } else if (liczbaSztuk > 8) { doZaplaty = 8 * cenaTowaru + (liczbaSztuk - rabatPowyzejSztuk) * cenaTowaru * (1 - wysokoscRabatu); } else { doZaplaty = liczbaSztuk * cenaTowaru; } Krok czwarty Dla ułatwienia analizy podstawmy zamiast nazw zmiennych konkretne dane: if (liczbaSztuk > 100) { // Musimy poinformować producenta i uzgodnić cenę towaru } else if (10 > 8) { doZaplaty = 8 * 5 + (10 - 8) * 5 * (1 - 0.10); } else { doZaplaty = 10 * 5; } Kro piąty Dokonajmy obliczeń zgodnie z kolejnością wykonywania działań if (liczbaSztuk > 100) { // Musimy poinformować producenta i uzgodnić cenę towaru } else if (10 > 8) { doZaplaty = 49; } else { doZaplaty = 50; } Krok szósty Gdy podstawiliśmy do zmiennych obliczone wartości, szukamy pierwszego warunku, który zwraca wartość true. if (liczbaSztuk > 100) { // Musimy poinformować producenta i uzgodnić cenę towaru } else if (10 > 8) { doZaplaty = 49; } else { doZaplaty = 50; } Widzimy, że pierwszym spełnionym warunkiem jest warunek: if (10 > 8). Oznacza to, że musimy zapłacić 49 zł (czyli udało się nam zaoszczędzić 1 zł). Krok siódmy Dostaliśmy informację, że producent zamierza wprowadzić dodatkową zniżkę dla stałych klientów. Nas taka zniżka będzie obowiązywać. Zniżka wynosi 30% niezależnie od liczby zakupionych sztuk. Krok ósmy Aby rozwiązać ten problem, warto dodać zmienną staly_klient typu boolean, przechowującą jedynie informację true (prawda) albo false (fałsz): boolean staly_klient = true; Krok dziewiązty Następnie będziemy musieli dodać instrukcję warunkową na samym początku, aby sprawdzić, czy jesteśmy stałymi klientami. if (staly_klient == true) { wysokoscRabatu = 0.3; doZaplaty = (liczbaSztuk * cenaTowaru) * (1 - wysokoscRabatu); } else { if (liczbaSztuk > 100) { // Musimy poinformować producenta i uzgodnić cenę towaru } else if (liczbaSztuk > 8) { doZaplaty = 8 * cenaTowaru + (liczbaSztuk - rabatPowyzejSztuk) * cenaTowaru * (1 - wysokoscRabatu); } else { doZaplaty = iloscSztuk * cenaTowaru; } } Zastosowaliśmy instrukcje warunkowe wewnątrz instrukcji else (w przeciwnym razie). Oznacza to, że mamy możliwość zagnieżdżania instrukcji logicznych.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.