Skip to content

Aktywność

Nieparzyste i parzyste liczby

Średnio zaawansowany | MakeCode, Python | Przyciski, Wyświetlacz LED | Algorytmy, Dzielenie, Numer & wartość miejsca, Wybór

Krok 1: Wykonaj to

Co to jest?

Zagraj w grę matematyczną z BBC micro:bit! Zaprogramuj go, aby wybrał losową liczbę międy 1 a 100. Możesz zdecydować, czy liczba jest nieparzysta czy parzysta, a następnie użyć micro:bit do przetestowania, czy masz rację.

Te dwa filmy pokazują, co stworzysz i jak to zakodować:

Czego się nauczysz

Nauczysz się, jak przekształcić prosty algorytm matematyczny w kod, jak korzystać z wyboru w programach komputerowych i jak dzielić liczbę i używać jej reszty.

Jeśli chcesz, aby nauka koncentrowała się raczej na umiejętnościach matematycznych niż na kodowaniu, to gotowy kod jest dostępny do pobrania od razu. Kliknij na 'Open in MakeCode' lub pobierz plik hex poniżej.

Jak to działa

  • Ten program opiera się na algorytmie sprawdzania, czy liczba jest nieparzysta lub parzysta. Algorytm ten: podziel liczbę przez dwie i jeśli reszta wynosi 0, to liczba jest parzysta. W przeciwnym razie ta liczba jest nieparzysta.
  • Po naciśnięciu przycisku A, program wybiera losową liczbę między 1 a 100 i pokazuje ją na wyświetlaczu LED. (Program wybiera za każdym razem losową liczbę, a nie tę samą liczbę, aby gra był interesujca grając w nią więcej niż raz.)
  • Po naciśnięciu przycisku B program dzieli liczbę przez 2 i dalej postępuje z resztą. 
  • Program używa instrukcji „jeżeli … w przeciwnym razie”. Jeżeli reszta wynosi 0, na wyświetlaczu LED pojawi się słowo „even”. W przeciwnym razie, pojawi się słowo „odd”.
  • Gdy inne rzeczy mogą się zdarzyć w oparciu o różne warunki w programie komputerowym, takim jak ta, jest to znane jako selekcja (wybór). Znajdziesz kluczowe terminy, takie jak selekcja objaśnione w naszych plakatach i glosariuszu.

Czego potrzebujesz

  • micro:bit (lub symulator MakeCode)
  • MakeCode lub edytor Pythona
  • pakiet baterii (opcjonalnie)

Krok 2: Zakoduj to

1from microbit import *
2import random
3
4# An error could appear if you press button B without pressing button A first.
5# If the variable ‘number’ has not been assigned.
6# To work around this, the value of 101 is assigned to the variable 'number' 
7# at the start of the program. When you press button B the program tests 
8# first to see if the value of ‘number’ is 101 - if it is, it shows a helpful message.
9
10number = 101
11
12while True:
13    if button_a.was_pressed():
14        number = random.randint(1, 100)
15        display.scroll(number)   
16    if button_b.was_pressed():
17        if number == 101:
18            display.scroll('no number chosen yet') 
19        elif number%2 == 0:
20            display.scroll('even')   
21        else:
22            display.scroll('odd') 

Krok 3: Ulepsz to

  • Znajdź sposób, aby pokazać losową liczbę wybraną więcej niż jeden raz.
  • Jeśli naciśniesz przycisk B przed naciśnięciem przycisku A, żadna losowa liczba nie zostanie wybrana, a na wyświetlaczu LED pojawi się słowo "even". Czy potrafisz dostosować kod, aby to się nie zdarzyło? Spójrz na wersję programu w Pythonie, aby zobaczyć, jak to zrobić.
  • Dostosować program do innych czynników liczb, na przykład, czy 3 jest czynnikiem 100.