Wpis z mikrobloga

Uzytkownik podaje liczbę od 0 do 100 000, w zależności od tego w jakim przedziale jest liczbą, pokaże się coś innego (przedziałów jest 10). Jak to zrobić bez użycia if i switcha? #javascript #programowanie
  • 24
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

w zależności


@skolfild: Z definicji mówisz o operacji warunkowej, ale nie chcesz używasz instrukcji warunkowych? Nawet jak znajdziesz na to sposób, bo będzie to tylko obejście użycia ifa inną składnią.
  • Odpowiedz
@zakopiak: można, ale w tej pętli też pewnie przynajmniej raz użyjesz ifa. Imo OP robi zadanie na studia, które ma na nim wymusić użycie operatora warunkowego lub czegoś podobnego(nie przychodzi mi nic do głowy tak na szybko, w javie piszę, ale nie skryptowej, więc może w jsie jest coś sensowniejszego:) ). Normalnie dla takiego questa człowiek używa ładnego i czytelnego switch/case i sajonara.
  • Odpowiedz
@zakopiak no tak. W takim przypadku bym sumowal wartości przedziałów po kolei dopóki wynik < input I wtedy też taki indeks by było łatwo wyciągnąć. W sumie rozwiązanie zależy jak kto lubi pisać, chyba że chce to jakoś optymalizować :p
  • Odpowiedz
można, ale w tej pętli też pewnie przynajmniej raz użyjesz ifa


@vrdst: Nie użyję ( ͡° ͜ʖ ͡°) Każda pętla ma warunek w swojej składni, który można do tego celu wykorzystać.
  • Odpowiedz
  • 0
@vrdst robię swój mały projekcik ale nie na studia, a gdzieś tam mam w głowie że 90% da się zrobić bez ifa dlatego szukam sposobu :) @zakopiak przedziały niestety nie są równo co 10k. Jest 0-25k. 25001-30k 30001-38k itd bez żadnej szczególnej zasady
  • Odpowiedz
@skolfild: Cały czas nie powiedziałeś, czy to zadanie czysto teoretyczne i w ogóle nie chcesz użyć ani jednego ifa "bo tak", czy zadanie praktyczne, tylko chcesz wiedzieć jak uniknąć 10 ifów.

Instrukcja warunkowa to podstawowy element języka programowania. Nie należy go unikać jako takiego. Unikać należy 20 ifów z rzędu.
  • Odpowiedz
@skolfild: ale jakoś musisz przecież ogarnąć czy wartość podana ma się jakoś do innych wartości, więc porównanie Cię nie ominie. Czy to będzie if, czy operator warunkowy, czy pętla czy inne rzeczy bez ifa, ale działające na tej samej zasadzie. Nadmierna ifologia źle wygląda, ale switch na kilka pozycji jest całkiem spoko.
  • Odpowiedz
  • 0
@zakopiak zadanie praktyczne, obecnie mam w kodzie ifa 8 else ifow i jednego else i zastanawiam się jak to zrobić lepiej/ladniej ale chyba faktycznie zostaje tylko switch
  • Odpowiedz
@skolfild: W takim razie sugeruję coś na kształt tego co pisał @Johnny_. Czyli tablica z przedziałami. Potem iteracja po niej ze sprawdzeniem, czy podana liczba jest w tym przedziale.

+ obsługa edge case'ów oczywiście.
  • Odpowiedz