RBT8vVsmHZyes
Grafika dekoracyjna przedstawiająca bloki programu.

Scratch (Blockly)

Źródło: Dave Braunschweig, Wikimedia Commons, licencja: CC BY-SA 4.0.

W e‑materiale Wyodrębnianie cyfr z danej liczbyD7SRZbIlaWyodrębnianie cyfr z danej liczby opisaliśmy algorytmalgorytmalgorytm wyodrębniania cyfr liczby za pomocą języka ScratchScratchScratch. Teraz rozwiążemy ten sam problem za pomocą platformy Google BlocklyBlocklyGoogle Blockly oraz języka Python.

  1. Interaktywna treść merytorycznaInteraktywna treść merytoryczna

  2. MultimediumMultimedium

  3. Zestaw ćwiczeń interaktywnychZestaw ćwiczeń interaktywnych

  4. SłownikSłownik

  5. BibliografiaBibliografia

Aby zrozumieć poruszane w tym materiale zagadnienia, przypomnij sobie:
Twoje cele
  • Stworzysz program, którego zadaniem będzie badanie parzystości liczby, wykorzystując język Blockly.

  • Omówisz funkcję floor() ze standardowego modułustandardowe modułystandardowego modułu math w języku Python.

  • Przygotujesz program wyodrębniający cyfry liczby w języku Python.

1

Przykładowy program w języku ScratchScratchScratch, który rozwiązuje problem wyodrębniania cyfr liczby podanej przez użytkownika

Znamy już język programowania Scratch zaprojektowany przez Mitchela Resnicka i rozwijany przez MIT Media Lab. Zapoznajmy się z tym, w jaki sposób zmienić program zapisany z wykorzystaniem języka Scratch w program w języku Python.

R1JrEZPMUYcBl
Źródło: Adam Jurkiewicz, licencja: CC BY-SA 3.0.

Omówienie poszczególnych bloków programu realizujących algorytmalgorytmalgorytm

  1. Rozpoczynamy od bloku Kiedy kliknięto [zieloną flagę].

RJK67DPOvsKDg
Źródło: Adam Jurkiewicz, licencja: CC BY-SA 3.0.
  1. Następnie pobieramy od użytkownika liczbę. W języku Scratch używamy do tego bloku zapytaj. W dalszej kolejności odpowiedź użytkownika przypisujemy do zmiennej liczba za pomocą bloku ustaw. W języku Scratch zmienną musimy wcześniej utworzyć, dodając ją w sekcji ZMIENNE.

RWWZmZf5RZqHN
Źródło: Adam Jurkiewicz, licencja: CC BY-SA 3.0.

Odpowiadający kod w Pythonie:

Linia 1. liczba znak równości input otwórz nawias okrągły cudzysłów Podaj zawartość zmiennej dwukropek cudzysłów zamknij nawias okrągły.

Przykładowy kod uruchomiony w IDLE.

R1I0eIk5nfXYL
Źródło: Adam Jurkiewicz, licencja: CC BY-SA 3.0.
Ważne!

W języku Scratch nie ma rozróżnienia między tym, czy użytkownik podaje liczbę, czy tekst. W języku Python ta różnica również nie jest widoczna. Wszystko, co użytkownik wprowadzi za pomocą funkcji input(), w języku Python jest tekstem (<class 'str'>).

Możemy to sprawdzić, uruchamiając kod w IDLE:

Linia 1. zmienna znak równości input otwórz nawias okrągły cudzysłów Podaj zawartość zmiennej dwukropek cudzysłów zamknij nawias okrągły. Linia 2. print otwórz nawias okrągły cudzysłów Zmienna zawiera dwukropek cudzysłów przecinek zmienna zamknij nawias okrągły. Linia 3. print otwórz nawias okrągły cudzysłów Typ danych to dwukropek cudzysłów przecinek type otwórz nawias okrągły zmienna zamknij nawias okrągły zamknij nawias okrągły.

Oto efekt:

Ru1wm4xqdy9m8
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.

Możemy sprawdzić, jak długi (z ilu znaków się składa) jest tekst podany przez użytkownika. Służy do tego funkcja len("tekst"):

Linia 1. zmienna znak równości cudzysłów tekst cudzysłów. Linia 2. print otwórz nawias okrągły cudzysłów Długość zmiennej dwukropek cudzysłów przecinek len otwórz nawias okrągły zmienna zamknij nawias okrągły zamknij nawias okrągły. Linia 3. kratka Efekt dwukropek. Linia 4. Długość zmiennej dwukropek 5.

Musimy zamienić ciąg znaków na liczbę. Dokonamy tego, używając funkcji int().

Przykład do wykorzystania w IDLE:

Linia 1. zmienna znak równości int otwórz nawias okrągły input otwórz nawias okrągły cudzysłów Podaj zawartość zmiennej dwukropek cudzysłów zamknij nawias okrągły zamknij nawias okrągły. Linia 2. print otwórz nawias okrągły cudzysłów Zmienna zawiera dwukropek cudzysłów przecinek zmienna zamknij nawias okrągły. Linia 3. print otwórz nawias okrągły cudzysłów Typ danych to dwukropek cudzysłów przecinek type otwórz nawias okrągły zmienna zamknij nawias okrągły zamknij nawias okrągły.

Efekt wykonania wygląda następująco (w kodzie zaznaczona jest funkcja int()):

R17UBEKPkDHcN
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.

W ten sposób uzyskujemy liczbę całkowitą (<class 'int'>) z wartości podanej przez użytkownika, która została pobrana przez funkcję input().

  1. Kolejnym krokiem jest pętla warunkowa. W języku Scratch wykonujemy operacje tak długo, aż zmienna liczba nie osiągnie wartości 0, wówczas kończymy operacje.

R1BloRompM8wV
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.

Aby w języku Python osiągnąć taki sam efekt, należy skorzystać z instrukcji while. Pętla wykonuje się tak długo, jak długo zmienna liczba ma wartość większą niż 0.

Linia 1. while liczba zamknij nawias ostrokątny 0 dwukropek. Linia 2. kratka instrukcje weanątrz pętli.

Pomimo że warunki wyglądają inaczej, pętle działają podobnie. Operacje w pętli while (Python) wykonywane są tak długo, jak długo warunek jest prawdziwy. Zwrócenie przez warunek wartości False kończy pętlę (w tym przypadku działanie pętli się zakończy, gdy wartość zmiennej liczba będzie wynosić 0).

Natomiast w języku Scratch instrukcje wewnętrzne pętli wykonywane są tak długo, jak długo warunek ma wartość False. Zwrócenie przez warunek wartości True kończy pętlę.

Bloki kodu wewnątrz pętli

  1. Wyodrębniamy najmniej znaczącą cyfrę liczby za pomocą obliczania reszty z dzielenia (operator %).

R1cb0HEU7HE2R
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.

Odpowiadający kod w języku Python:

Linia 1. cyfra znak równości liczba procent 10.
  1. Wypisujemy na ekranie tę cyfrę.

RPBzWefSMFot9
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.

Odpowiadający kod w języku Python:

Linia 1. print otwórz nawias okrągły cyfra zamknij nawias okrągły. Linia 2. kratka lub. Linia 3. print otwórz nawias okrągły cudzysłów Cyfra to dwukropek cudzysłów przecinek cyfra zamknij nawias okrągły. Linia 4. kratka lub. Linia 5. print otwórz nawias okrągły cudzysłów Cyfra to dwukropek cudzysłów plus str otwórz nawias okrągły cyfra zamknij nawias okrągły zamknij nawias okrągły.
  1. Obliczamy nową wartość zmiennej liczba, stosując dzielenie całkowite przez 10.

RS3Fm90aCqvqG
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.

Odpowiadający kod w Pythonie:

Linia 1. liczba znak równości liczba prawy ukośnik prawy ukośnik 10.
Ważne!

Operator // w języku Python oznacza dzielenie całkowite.

Ważne!

Możemy użyć bloku podłoga, który obliczoną wartość wyrażenia zaokrągla w dół do najbliższej liczby całkowitej:

R1ApObofbKcZa
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.

W języku Python odpowiada mu funkcja floor(x)modułustandardowe modułymodułu math.

Linia 1. import math. Linia 2. liczba znak równości math kropka floor otwórz nawias okrągły liczba prawy ukośnik 10 zamknij nawias okrągły.

Nie jest to jednak sposób polecany (nie należy do dobrych praktyk programowania).

Oto całkowity kod w Pythonie i efekt jego wykonania:

Linia 1. liczba znak równości int otwórz nawias okrągły input otwórz nawias okrągły cudzysłów Podaj zawartość zmiennej dwukropek cudzysłów zamknij nawias okrągły zamknij nawias okrągły. Linia 2. while liczba zamknij nawias ostrokątny 0 dwukropek. Linia 3. cyfra znak równości liczba procent 10. Linia 4. print otwórz nawias okrągły cudzysłów Kolejna cyfra to dwukropek cudzysłów przecinek cyfra zamknij nawias okrągły. Linia 5. liczba znak równości liczba prawy ukośnik prawy ukośnik 10.

Przykładowy program uruchomiony w IDLE:

RxMpd158G4G5j
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.

Istnieje podobna do języka Scratch platforma, BlocklyBlocklyBlockly, która pozwala stworzyć program realizujący algorytm za pomocą bloczków, a następnie zamienić go na kod źródłowy w jednym z kilku języków programowania, np.:

  • JavaScript

  • Python

  • PHP

  • Lua

  • Dart.

Przyjrzyjmy się temu, jak może wyglądać proces tworzenia algorytmu wyodrębniania cyfr liczby w konkretnym języku programowania.

Prezentujemy przykładowy program realizujący algorytm wyodrębniania cyfr liczby w Blockly oraz wygenerowany kod w Pythonie.

Ważne!

W tym przykładzie przypisujemy zmiennej liczba wartość 847601 za pomocą instrukcji przypisania, nie pobieramy jej od użytkownika. Takie pobranie pojawi się w dalszej części materiału.

R9UCPtgSEybzL
Źródło: Contentplus sp. z o.o., licencja: CC BY 3.0.

Wersja w języku Python – kod wygenerowany w Blockly

Ważne!

Jeśli chcesz zmienić język programowania, w którym wyświetlany jest kod, skorzystaj z zakładek:

RBYFsBpffoqZJ
Linia 1. import math. Linia 3. liczba znak równości None. Linia 4. cyfra znak równości None. Linia 7. liczba znak równości 847601. Linia 8. while liczba zamknij nawias ostrokątny 0 dwukropek. Linia 9. print otwórz nawias okrągły apostrof Nasza liczba to dwukropek apostrof plus str otwórz nawias okrągły liczba zamknij nawias okrągły zamknij nawias okrągły. Linia 10. cyfra znak równości liczba procent 10. Linia 11. print otwórz nawias okrągły apostrof Kolejna cyfra to dwukropek apostrof plus str otwórz nawias okrągły cyfra zamknij nawias okrągły zamknij nawias okrągły. Linia 12. liczba znak równości math kropka floor otwórz nawias okrągły liczba prawy ukośnik 10 zamknij nawias okrągły.
Ważne!

W przykładzie widzimy instrukcję import math. Za jej pomocą dodajemy bibliotekę (moduł) math. Biblioteka zawiera różne funkcje matematyczne m. in. funkcję floor(). Funkcja ta jest wykorzystywana do zaokrąglania liczb w dół do najbliższej całkowitej liczby. Jest to inny sposób wykonania działania dzielenia całkowitego.

Zapoznaj się z przykładowym kodem i uruchom go. Otrzymasz komunikat błędu – nie dodano modułu math.

Kod, w którym nie importujemy modułu math.

Linia 1. liczba znak równości 847601. Linia 2. wynik znak równości math kropka floor otwórz nawias okrągły liczba prawy ukośnik 10 zamknij nawias okrągły. Linia 3. print otwórz nawias okrągły wynik zamknij nawias okrągły.

Kod, w którym importujemy moduł math.

Linia 1. import math. Linia 2. liczba znak równości 847601. Linia 3. wynik znak równości math kropka floor otwórz nawias okrągły liczba prawy ukośnik 10 zamknij nawias okrągły. Linia 4. print otwórz nawias okrągły wynik zamknij nawias okrągły.

Narzędzie, w którym możesz przetestować działanie kodu:

Kod wygenerowany automatycznie przez Blockly zawiera zbędne elementy.

Pozbędziemy się ich.

Kod wygenerowany:

Linia 1. import math. Linia 3. liczba znak równości None. Linia 4. cyfra znak równości None. Linia 6. liczba znak równości 847601. Linia 7. while liczba zamknij nawias ostrokątny 0 dwukropek. Linia 8. print otwórz nawias okrągły apostrof Nasza liczba to dwukropek apostrof plus str otwórz nawias okrągły liczba zamknij nawias okrągły zamknij nawias okrągły. Linia 9. cyfra znak równości liczba procent 10. Linia 10. print otwórz nawias okrągły apostrof Kolejna cyfra to dwukropek apostrof plus str otwórz nawias okrągły cyfra zamknij nawias okrągły zamknij nawias okrągły. Linia 11. liczba znak równości math kropka floor otwórz nawias okrągły liczba prawy ukośnik 10 zamknij nawias okrągły.

Kod po usunięciu zbędnych instrukcji:

Linia 1. import math. Linia 3. liczba znak równości 847601. Linia 4. while liczba zamknij nawias ostrokątny 0 dwukropek. Linia 5. print otwórz nawias okrągły apostrof Nasza liczba to dwukropek apostrof plus str otwórz nawias okrągły liczba zamknij nawias okrągły zamknij nawias okrągły. Linia 6. cyfra znak równości liczba procent 10. Linia 7. print otwórz nawias okrągły apostrof Kolejna cyfra to dwukropek apostrof plus str otwórz nawias okrągły cyfra zamknij nawias okrągły zamknij nawias okrągły. Linia 8. liczba znak równości math kropka floor otwórz nawias okrągły liczba prawy ukośnik 10 zamknij nawias okrągły.

Usunęliśmy instrukcje inicjalizacji zmiennych.

Polecenie 1

Skopiuj kod zamieszczony powyżej i przetestuj jego działanie w testerce.

ReuzuGFCVUoLq1

Analiza kodu wygenerowanego przez platformę Blockly

  1. W pierwszym wierszu znajduje się instrukcja, w której dodawany jest moduł math za pomocą instrukcji import. Ta instrukcja nie ma swojego odpowiednika w blokach Blockly. Blockly sprawdza, z jakich bloków korzystaliśmy, i automatycznie dodaje odpowiednie biblioteki w trakcie tłumaczenia na inne języki.

Linia 1. import math.
  1. Inicjacja zmiennych. Wszystkim zmiennym, które pojawiają się w programie, Blockly przypisuje wartość None, czyli nic. Może to być przydatne na przykład w sytuacji, gdy chcemy zainicjować zmienną bez konkretnej wartości lub przekazać wartość, która nie ma znaczenia w danym kontekście. Warto zauważyć, że w języku Python nie ma konieczności inicjowania zmiennych, ale w wielu innych językach programowania zmienna przed pierwszym użyciem musi być zainicjowana. Oznacza to, że trzeba określić jej typ. Do dobrych praktyk programistycznych należy również nadanie jej wartości początkowej.

  2. Następnie Blockly nadpisuje wartość zmiennej (zgodnie ze stworzonym blokiem). W Blockly jest to widoczne jako blok przypisania wartości do zmiennej.

RTIdYcUuxkYVW
Źródło: Contentplus sp. z o.o, licencja: CC BY 3.0.
Linia 1. liczba znak równości None. Linia 2. cyfra znak równości None. Linia 4. liczba znak równości 847601.
Ważne!

W tym przykładzie zmiennym przypisano wartości None za pomocą instrukcji przypisania. W języku Python nie musimy inicjować zmiennych, pierwsze przypisanie dowolnej wartości do nowej zmiennej powoduje automatyczne jej utworzenie. Zatem nie zapisalibyśmy takiej instrukcji, tworząc program.

Przykład kodu, który działa, jednak jest sprzeczny z dobrymi praktykami:

Linia 1. liczba znak równości None. Linia 2. liczba znak równości 12. Linia 3. print otwórz nawias okrągły liczba zamknij nawias okrągły. Linia 4. kratka efekt dwukropek 12.

Kod, który jest zgodny z dobrymi praktykami:

Linia 1. liczba znak równości 12. Linia 2. print otwórz nawias okrągły liczba zamknij nawias okrągły. Linia 3. kratka efekt dwukropek 12.
  1. W programie wykorzystaliśmy blok powtarzaj dopóki, którego odpowiednikiem w języku Python jest pętla warunkowa while, a więc dopóki spełniony jest warunek logiczny (wartość zmiennej liczba jest większa niż 0).

R1CzUPdYuvQAZ
Źródło: Contentplus sp. z o.o, licencja: CC BY 3.0.
Linia 1. while liczba zamknij nawias ostrokątny 0 dwukropek.
Ważne!

Wewnątrz pętli znajduje się blok kodu. W języku Python oznaczamy go za pomocą wcięcia, np. 4 spacji.

  1. W kolejnym kroku wypisywana jest na ekranie wartość zmiennej liczba. W ten sposób można zaprezentować, jak zmienia się jej wartość w kolejnych iteracjach pętli.

ROUtRUOzeTceK
Źródło: Contentplus sp. z o.o, licencja: CC BY 3.0.
Linia 1. print otwórz nawias okrągły apostrof Nasza liczba to dwukropek apostrof plus str otwórz nawias okrągły liczba zamknij nawias okrągły zamknij nawias okrągły.
  1. Następnie wyodrębniana jest ostatnia cyfra liczby. Wykonywana jest operacja obliczania reszty z dzielenia (w tym wypadku przez 10), to tzw. dzielenie modulomodulodzielenie modulo.

R1PWvrGWgzOmw
Źródło: Contentplus sp. z o.o, licencja: CC BY 3.0.
Linia 1. cyfra znak równości liczba procent 10.
  1. W dalszej kolejności wypisywana jest na ekranie informacja o kolejnej cyfrze.

R1bkoMv2QNntj
Źródło: Contentplus sp. z o.o, licencja: CC BY 3.0.
Linia 1. print otwórz nawias okrągły apostrof Kolejna cyfra to dwukropek apostrof plus str otwórz nawias okrągły cyfra zamknij nawias okrągły zamknij nawias okrągły.
  1. Program dokonuje aktualizacji zmiennej liczba. Przypisywany jest jej zaokrąglony w dół wynik dzielenia przez 10.

RWazv4Mq2ykEE
Źródło: Contentplus sp. z o.o, licencja: CC BY 3.0.
Linia 1. liczba znak równości math kropka floor otwórz nawias okrągły liczba prawy ukośnik 10 zamknij nawias okrągły.

Zamiast funkcji floor() możliwe jest użycie dzielenia całkowitego, wykorzystując operator //.

Ważne!

W przykładzie liczbie przypisywana jest konkretna wartość w kodzie programu. W przyszłości poznamy funkcję input(), która może służyć do pobierania danych od użytkownika. Platforma Google Blockly pozwala na wczytanie danych z klawiatury. Kod w języku Python, który generuje, nie jest jednak zgodny z dobrymi praktykami programistycznymi.

Zwróć uwagę na to, że kod wygenerowany przez Blockly nie jest poprawny, ponieważ zmienna cyfra została zadeklarowana według Blockly jako typ float, co spowodowało, że wynik operacji modulo (%) został automatycznie skonwertowany na typ zmiennoprzecinkowy (float), nawet jeśli wynik był liczbą całkowitą. Wynik powinien być liczbą całkowitą, ale konwersja na typ float spowodowała, że zwracana była liczba zmiennoprzecinkowa (6.0), zamiast liczby całkowitej (6).

Notatnik

RYJZTKizGLzeX
Miejsce na Twoje notatki: (Uzupełnij).
2

Animacja (samouczek)

Zapoznaj się z filmem, aby utrwalić swoją wiedzę i zapoznać się ze sposobem przygotowania programu w Blockly.

RvAsbo7VrLTyl1
Film przedstawiający wyodrębnianie cyfr liczby naturalnej.

Platforma Blockly, w której możesz wykonywać polecenia

1
R18xctuyTSKD51
Komponet do wprowadzania kodu programu.
Polecenie 2
RZ1JuVvUZIlrh
RYKqQkn71KtUx
Polecenie 3

Wykonaj w Blockly następujące polecenia:

  • utwórz zmienną wynik,

  • utwórz zaprezentowane polecenie, a potem wygeneruj kod w języku Python.

RpybvyvO3yVxj
Źródło: Contentplus sp. z o.o, licencja: CC BY 3.0.
R1OgFmDhEAjza
Ra5C1on4IPEHA
R1JZliqSpKr8E

1
Polecenie 4

Zapoznaj się z kodem i wykonaj polecenie.

Linia 1. liczba znak równości int otwórz nawias okrągły input otwórz nawias okrągły cudzysłów Podaj liczbę naturalną dwukropek cudzysłów zamknij nawias okrągły zamknij nawias okrągły. Linia 2. if liczba procent 2 znak równości znak równości 0 dwukropek. Linia 3. print otwórz nawias okrągły cudzysłów Liczba jest parzysta kropka cudzysłów zamknij nawias okrągły. Linia 4. else dwukropek. Linia 5. print otwórz nawias okrągły cudzysłów Liczba jest nieparzysta kropka cudzysłów zamknij nawias okrągły.
ROrtenmHsTvgN
3

Zestaw ćwiczeń interaktywnych

1
Pokaż ćwiczenia:
R1e0nhEoOCX3Q1
Ćwiczenie 1
Które ze środowisk potrafi wygenerować kod w tekstowym języku programowania, np. Python? Możliwe odpowiedzi: 1. Blockly, 2. Scratch, 3. Scratch Jr
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.
RRnC734OJFWWM1
Ćwiczenie 2
Wskaż wszystkie języki programowania, w których na platformie Blockly możemy generować kod. Możliwe odpowiedzi: 1. Javascript, Python, 2. PHP, Dart, 3. Lua, 4. Javascript, Python, PHP, Lua, Dart, XML
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.
R1JIXHp3eEha31
Ćwiczenie 3
Wskaż, którą instrukcją w języku Python można zastąpić konstrukcję bloku reszta z dzielenia w języku Scratch.
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.
ROtnuAkD4Cs5V2
Ćwiczenie 4
Rozwiąż krzyżówkę i odczytaj hasło.
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.
1
21
Ćwiczenie 5

Wykorzystując dostępne bloki, ułóż program, który do zmiennej liczba przypisze losową wartość między 1 a 100, następnie wypisze na ekranie informację Liczba jest parzysta lub Liczba jest nieparzysta, korzystając tylko z jednego bloku instrukcji warunkowej.

R9gpVv8XJk4bp
Alternatywne ćwiczenie znajduje się w trybie dostępności.
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.
RztWYlgifmHLY
Ćwiczenie 5
Uzupełnij elementy kolejnych bloków, tak aby program, który do zmiennej liczba przypisywał losową wartość między 1 a 100, a następnie wypisał na ekranie informację liczba jest parzysta lub liczba jest nieparzysta. Pamiętaj o odpowiedniej kolejność elementów.
311
Ćwiczenie 6

Zapoznaj się z ilustracją, na której znajduje się kod programu zapisanego w języku Scratch. Napisz program w języku Python, który obliczy najmniej znaczącą cyfrę wieku. Wiek obliczamy, odejmując rok urodzenia od aktualnego roku.

Dokonaj konwersji obliczonej najmniej znaczącej cyfry – przekształć ją do postaci znakowej za pomocą funkcji str().

R1BN8bYhMAHUi
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.

Specyfikacja problemu:

Dane:

  • rok_aktualny – liczba naturalna; aktualny rok

  • rok_urodzenia – liczba naturalna; rok urodzenia

Wynik:

  • program wyświetla komunikat dotyczący najmniej znaczącej cyfry obliczonego wieku

R1NQJhDzGkt6t1
Źródło: Contentplus sp. z o.o, licencja: CC BY 3.0.
RCmbVvFad1NtT
1
31
Ćwiczenie 7

Wykorzystując rozrzucone bloki, ułóż algorytm badania parzystości liczby. Wynikiem jego działania powinna być informacja na ekranie To liczba parzysta lub To liczba nieparzysta w zależności od wyniku operacji obliczania reszty z dzielenia. Przetestuj jego działanie dla liczby 123.

Specyfikacja problemu:

Dane:

  • liczba – liczba naturalna; liczba, której parzystość ma być badana

Wynik:

  • komunikat informujący o tym, czy badana liczba jest parzysta

R1Y3mtnrcT1hA3
Ćwiczenie alternatywne znajduje się w trybie dostępności.
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.
R1RyWBHKqod5e
Ćwiczenie 7
Uzupełnij brakujące elementy elementy kolejnych bloków, tak aby algorytm badania parzystości liczby był prawidłowy. Pamiętaj o odpowiedniej kolejności w jakiej ułożone są bloki, przy wykorzystaniu dwóch bloków jeśli.
1
31
Ćwiczenie 8

Wykorzystując rozrzucone bloki, stwórz algorytm wyszukiwania największego elementu w zbiorze 5 liczb rzeczywistych.

Uwaga! Brakuje niektórych bloczków. Jakich? Co należy zrobić, aby uzyskać poprawny algorytm?

R1ShaNMfDiZa0
Ćwiczenie alternatywne znajduje się w trybie dostępności.
Źródło: Adam Jurkiewicz, licencja: CC BY 3.0.
Ćwiczenie 8
RbDvQhEbqiYYL
4

Słownik

algorytm
algorytm

precyzyjny opis, jak wykonać określone zadanie lub rozwiązać problem, składający się z kroków, które należy wykonać w określonej kolejności

Blockly
Blockly

platforma do tworzenia wizualnych programów, które potem można przekształcić w kod źródłowy w różnych językach programowania, np.: Python, Dart, JavaScript; Google odradza nazywanie jej wizualnym językiem programowania; jest to narzędzie dla tworzących programy

modulo
modulo

operacja matematyczna, która zwraca resztę z dzielenia jednej liczby przez inną; operator arytmetyczny, którego symbol to znak procentu (%)

Scratch
Scratch

wizualny język programowania stworzony w roku 2007 przez Mitchela Resnicka, profesora MIT

int()
int()

funkcja w języku Python dokonująca konwersji z pewnego typu danych (np. tekst) na liczbę całkowitą (można używać jej w połączeniu z funkcją input())

Linia 1. liczba znak równości int otwórz nawias okrągły input otwórz nawias okrągły apostrof Podaj liczbę calkowitą dwukropek apostrof zamknij nawias okrągły zamknij nawias okrągły.
float()
float()

funkcja w języku Python dokonująca konwersji z pewnego typu danych (np. tekst) na liczbę zmiennoprzecinkową (separatorem części całkowitej od ułamkowej jest znak kropki); można używać jej w połączeniu z funkcją input()

Linia 1. liczba znak równości float otwórz nawias okrągły input otwórz nawias okrągły apostrof Podaj liczbę zmiennoprzecinkową dwukropek apostrof zamknij nawias okrągły zamknij nawias okrągły.
standardowe moduły
standardowe moduły

język Python ma wiele dodatkowych funkcjonalności zwanych modułami; standardowe moduły to te, które są instalowane razem z językiem Python (np. mathrandom); opisane są na stronie standardowych bibliotek języka Python

5

Bibliografia

  • Jurkiewicz A., Python 3 - Projekty dla początkujących i pasjonatów, Helion, Gliwice 2021.

  • Dokumentacja języka Python, docs.python.org, dostęp 27.02.2024.

  • Łos K., Python dla nastolatków. Projekty graficzne z Python Turtle, Helion, Gliwice 2022.

  • Platforma OSE IT‑Szkoła, Programowanie w Pythonie z Klubem Młodego Programisty, it‑szkola.edu.pl, dostęp 27.02.2024.

  • Sysło M.M., Algorytmy, Helion, Gliwice 2016.