Program zapisany w języku JavaScript oblicza cenę promocyjną dla swetrów w kolorach: zielonym, niebieskim (zmienna kolor) przy zakupach powyżej 200 zł (zmienna zakupy). Warunek do obliczeń powinien być zapisany przy pomocy wyrażenia logicznego
Odpowiedzi
Informacja zwrotna
Poprawna odpowiedź to "zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')". Wyrażenie to jest zgodne z logiką obliczeń cen promocyjnych. Użycie operatora koniunkcji (&&) wskazuje, że oba warunki muszą być spełnione, aby cena promocyjna mogła być zastosowana. Po pierwsze, wartość zakupów musi przekraczać 200 zł, co jest kluczowym warunkiem, aby móc skorzystać z promocji. Po drugie, kolor swetra musi być jednym z dozwolonych, czyli zielonym lub niebieskim, co zostało zrealizowane za pomocą operatora alternatywy (||). Używając nawiasów, wyraźnie wskazujemy, że sprawdzenie koloru jest niezależne od warunku dotyczącego wartości zakupów. Taka konstrukcja jest zgodna z dobrą praktyką programistyczną, zapewniając czytelność i ułatwiając późniejszą modyfikację kodu. W kontekście praktycznym, można zastosować tę logikę w aplikacjach e-commerce, gdzie dynamiczne obliczenia cen promocyjnych w zależności od różnych kryteriów są powszechne. Przykładowo, przy dodawaniu nowych kolorów lub zmieniając próg zakupów, wystarczy jedynie edytować odpowiednie warunki, co czyni kod bardziej elastycznym i łatwym do zarządzania.
W analizowanych odpowiedziach istnieje kilka kluczowych błędów logicznych, które prowadzą do niepoprawnych wniosków. W pierwszym przypadku, użycie operatora alternatywy (||) w połączeniu z warunkiem o wartości zakupów nie spełnia wymagań zadania, ponieważ sugeruje, że promocja jest dostępna niezależnie od koloru, co jest sprzeczne z intencją zadania. To błędne podejście prowadzi do wniosku, że każdy zakup powyżej 200 zł, bez względu na kolor, kwalifikuje się do promocji, co jest niepoprawne. Kolejny błąd występuje w drugim podejściu, gdzie zastosowano koniunkcję (&&) dla obu kolorów. Takie sformułowanie wymagałoby, aby sweter był jednocześnie zielony i niebieski, co jest logicznie niemożliwe. Taka konstrukcja nie tylko jest nielogiczna, ale i niepraktyczna, ponieważ nie spełnia podstawowych zasad logiki boolowskiej. Ostatnia niepoprawna odpowiedź wprowadza dodatkową złożoność bez potrzeby, łącząc warunek o wartościach zakupów z wymaganiem o kolorze za pomocą operatora alternatywy (||), co również skutkuje błędnym wnioskiem. Poprawne wyrażenie powinno jasno uwzględniać, że kolor swetra musi być jednym z dwóch dozwolonych wariantów oraz że musi istnieć minimalna wartość zakupów, co jest kluczowe dla prawidłowego obliczenia ceny promocyjnej.