Logo

Scratch - Instrukcje warunkowe i operatory

Opis: Zostaną omówione podstawowe zagadnienia dotyczące instrukcji warunkowej w programie Scratch, w tym zasada jej działania, sposób tworzenia warunków oraz przykłady wykorzystania instrukcji jeżeli i jeżeli - w przeciwnym razie do sterowania przebiegiem programu.

Scratch - instrukcja warunkowa if

Instrukcja warunkowa to po prostu rozgałęzienie w działaniu programu (ang. if = jeżeli). W zależności od tego, czy warunek zawarty w instrukcji jest prawdziwy lub fałszywy, wykonane zostają inne instrukcje.

Poniżej został przedstawiony schemat blokowy instrukcji warunkowej if else.

Źródło: Jakub Piskorowski

Poniżej został przedstawiony przykładowy kod instrukcji warunkowej if else.

Źródło: Jakub Piskorowski

Instrukcja warunkowa else if

Rozwinięciem podstawowej instrukcji if jest instrukcja else if. Dzięki niej można określić szereg opcjonalnych warunków oraz określić, co się wtedy ma wydarzyć.

Źródło: Jakub Piskorowski

Poniżej został przedstawiony przykładowy kod instrukcji warunkowej else if.

Źródło: Jakub Piskorowski

Instrukcja warunkowa w Scratch

Spróbujemy teraz wykorzystać zdobytą wiedzę o instrukcjach warunkowych tworząc prosty skrypt w programie Scratch. Nasz program będzie sprawdzał czy dana osoba może brać udział w głosowaniu czy nie.

Na początku musimy stworzyć dwie zmienne, przechowującą wiek użytkownika oraz jaki jest limit do wzięcia udziału w głosowaniu. Następnie musimy zapytać użytkownika o wiek oraz ustawić limit. W tym celu potrzebny będzie bloczek "zapytaj" oraz "Ustaw".

Źródło: Jakub Piskorowski

olejnym krokiem jest wykorzystanie instrukcji warunkowej w której sprawdzimy czy wiek użytkownika jest większy od limitu. Jeżeli tak, to zostanie zwrócony komunikat "Możesz głosować". W przeciwnym razie zostanie wyświetlony komunikat "Nie możesz głosować". W tym celu używamy bloczku "jeżeli {warunek} … w przeciwnym razie".

Źródło: Jakub Piskorowski

Możemy też tworzyć instrukcje "jeżeli" zagnieżdżone. W poniższym przykładzie jest sprawdzany pierwszy warunek "jeżeli moja zmienna < 50" i jeżeli ten warunek nie zostanie spełniony to zostanie sprawdzony kolejny warunek "jeżeli moja zmienna = 50" i dopiero jeżeli drugi warunek też nie zostanie spełniony to jest wykonywana instrukcja w "w przeciwnym razie".

Źródło: Jakub Piskorowski

Scratch - operatory logiczne

W instrukcjach warunkowych możemy umieścić więcej niż jeden warunek. W takim wypadku niezbędne są operatory logiczne, które określają jaka jest zależność między warunkami, aby w rezultacie określić prawidłowy rezultat działania warunku. W programowaniu mamy 3 podstawowe rodzaje operatorów:

  • && - and - i

  • || - or - lub

  • ! – not - nie

W poniższej tabeli został przedstawiony wynik działania tych operatorów. Wartość 0 to fałsz, natomiast 1 to prawda.

Warunek 1

Warunek 2

OR ( || )

AND ( && )

0

0

0

0

0

1

1

0

1

0

1

0

1

1

1

1

Warunek

NOT ( ! )

0

1

1

0

Konkluzja jest prosta: operator AND (&&) zwraca wartość "prawda" 1, tylko jeżeli oba warunki były prawdziwe (pomyśl o logowaniu - system "wpuszcza nas" tylko jeżeli zarówno login jak i hasło były prawidłowe (prawdziwe).

Operator OR (||) daje wartość "prawda", jeżeli przynajmniej jeden warunek były prawdziwy (na przykład sytuacja z podaniem małej lub dużej litery jako odpowiedzi w quizie).

Negacja ! (zgodnie ze swoją nazwą) zawsze zmienia wartość logiczną na przeciwną (prawda zmienia się na fałsz, zaś fałsz naprawdę).

Operatory logiczne w Scratch

Bloczki operatorów logicznych znajdują się w zakładce "wyrażenia".

Źródło: Jakub Piskorowski

Jeżeli chcielibyśmy sprawdzić, czy wiek jest z przedziału od 18 do 25 należy sprawdzić czy nasz wiek jest większy od 18 i wiek jest mniejszy od 25. W ten sposób uzyskamy nasz przedział od 18 do 25.

Źródło: Jakub Piskorowski

Natomiast jeżeli chcielibyśmy sprawdzić czy nasz wiek jest większy lub równy 18 i mniejszy od 25 należy zmodyfikować bloczki w następujący sposób:

Źródło: Jakub Piskorowski

Zadania - Scratch - Instrukcje warunkowe

Zadanie 1: Tworzenie kalkulatora BMI (wskaźnika masy ciała).

  • Stwórz nowy projekt w programie Scratch.

  • Stwórz dwie zmienne: "Waga" (w kilogramach) i "Wzrost" (w metrach).

  • Stwórz kod, który pozwala użytkownikowi wprowadzić swoją wagę i wzrost. Możesz to zrobić, np. przez kliknięcie na postać, co spowoduje pojawienie się pola do wprowadzenia danych.

  • Użyj instrukcji warunkowej "Jeśli... W przeciwnym razie..." do obliczenia BMI na podstawie wprowadzonych danych. Wzór na BMI to masa (w kg) / (wzrost w metrach * wzrost w metrach).

  • Dodaj warunki do instrukcji warunkowej, aby określić, w jakim zakresie BMI znajduje się użytkownik:

    • Jeśli BMI < 18.5, wyświetl komunikat "Masz niedowagę."

    • Jeśli 18.5 <= BMI < 25, wyświetl komunikat "Masz prawidłową wagę."

    • Jeśli BMI >= 25, wyświetl komunikat "Masz nadwagę."

  • Przetestuj swój kalkulator, wprowadzając różne wartości wagi i wzrostu, aby zobaczyć, jak zmieniają się komunikaty na podstawie obliczonego BMI.

Zadanie 2: Znajdź liczby parzyste i nieparzyste.

  • Stwórz nowy projekt w programie Scratch.

  • Stwórz zmienną nazwaną "Liczba" i ustaw jej początkową wartość na 0.

  • Stwórz kod, który pozwoli użytkownikowi zwiększać lub zmniejszać wartość zmiennej "Liczba" przy użyciu przycisków strzałek w górę i w dół na klawiaturze.

  • Użyj instrukcji warunkowej "Jeśli... W przeciwnym razie..." do sprawdzenia, czy aktualna wartość zmiennej "Liczba" jest parzysta czy nieparzysta.

  • Jeśli wartość jest parzysta, wyświetl komunikat "Liczba {liczba} jest parzysta" Jeśli nieparzysta, wyświetl komunikat "Liczba {liczba} jest nieparzysta"

  • Przetestuj swoją interaktywną aplikację, zmieniając wartość zmiennej "Liczba" i obserwując, jak zmieniają się komunikaty w zależności od jej parzystości lub nieparzystości.