Przejdź do głównej zawartości

Instrukcje iteracyjne w języku Pyton. Ciągi

 

Cele lekcji:

1. Zrozumiecie, dlaczego intuicja zawodzi przy dużych liczbach i jak Python pozwala uniknąć bankructwa.
2. Nauczycie się stosować iterację do rozwiązywania problemów algorytmicznych
3. Przetestujecie swoją czujność, szukając błędów w kodzie (debugowanie).
4. Zbudujecie kalkulator porównujący legendarne sumy z realnymi danymi gospodarczymi świata.

Plan lekcji:

1. Legenda o szachownicy
2. Gra edukacyjna na platformie GimKit
3. Wspólne pisanie kodu.
4. Szukanie błędu w kodzie.
5. Praca samodzielna - 3 zadania.
6. Refleksja i podsumowanie.


Karta samooceny ucznia

System oceniania

Zadanie 0. 
Ziarna na szachownicy 
👉 Ciąg to wydawałoby się pojęcie abstrakcyjne. Ale wykorzystanie własności ciągów geometrycznych pozwala na rozwiązanie wielu problemów z otaczającej nas rzeczywistości.
👉 A wszystko ponoć zaczęło się wtedy, gdy władca Indii zapytał wynalazcę szachów jakiego wynagrodzenia sobie życzy. Wtedy sprytny wynalazca poprosił, aby władca ofiarował mu ziarna pszenicy – tyle ziaren, ile zmieści się na polach szachownicy. Ziarna mają być układane według prostej zasady – na pierwszym polu jedno ziarno, na drugim dwa, na trzecim cztery, i tak dalej – na każdym następnym polu dwa razy więcej niż na poprzednim. 
👉 Władca bardzo chętnie zgodził się na to życzenie, ale niestety później bardzo tego żałował. 
👉 Ile ziaren będzie na szachownicy?

Wspólne pisanie kodu 

Wynik to 62, a powinno być 31! Dlaczego program pominął pierwsze ziarno i wszystko podwoił? Znajdźcie błąd w kolejności instrukcji!


Zadanie A. 
Polecenie: Rozbuduj program o obliczenia:
1. Oblicz ile pszenicy będzie na 64 polach szachownicy.
2. Oblicz masę pszenicy na 64 polach w gramach. Przyjmij, że 1 ziarno waży 0,04 g (użyj zmiennej masa_gramy).
3. Oblicz masę całkowitą w tonach (masa_gramy/1000000). Użyj zmiennej masa_tony.
4. Porównanie: Roczna produkcja pszenicy na świecie to 780 mln ton. Oblicz, na ile lat wystarczyłoby ziaren z szachownicy dla całej planety (lata = masa_tony / 780000000).
Objaśnienie kodu: Pętla musi iterować 64 razy. Każda iteracja to kolejne pole szachownicy.

Zadanie B. 
Instrukcja dla "Głupiego Handlowca"
Treść zadania: Jeden handlowiec płaci drugiemu 10 000 USD dziennie przez 30 dni. Drugi oddaje mu 1 cent pierwszego dnia, 2 centy drugiego, 4 trzeciego itd. Ile dolarów drugi handlowiec oddał pierwszemu po 30 dniach? Zapisz program w pliku pod nazwą Handlowiec.

Słowny algorytm (Jak to zaprogramować?):
• Oblicz zysk stały: zysk = 30 * 10000.
• Stwórz pętlę for działającą 30 razy.
• Wewnątrz pętli obliczaj sumę wpłat (zaczynając od 1 centa).
• Ważne: Pamiętaj o podwajaniu kwoty w każdym kroku pętli!
• Przelicz sumę wpłat z centów na dolary.
• Wyświetl końcowy bilans: Ile dolarów drugi handlowiec oddał pierwszemu pod koniec pierwszego miesiąca (30 dni)?

Zadanie C. 
TikTok Viral: Jak zostać influencerem?* (Zadanie na 6)
Treść zadania: Algorytm TikToka działa na zasadzie poleceń. Wrzucasz film. Jeśli film jest dobry, TikTok pokazuje go 3 osobom. W każdej kolejnej godzinie zasięg potraja się (każdy widz sprowadza 3 nowych). Sprawdź, czy Twój film stał się wiralowy po 15 godzinach. Przyjmijmy, że film jest wiralowy, jeśli obejrzy go ponad 100 milionów osób. Zapisz program w pliku pod nazwą Tik Tok.

Słowny algorytm (Jak to zaprogramować?):
• Ustaw zmienną wyswietlenia na 3.
• Stwórz pętlę for, która przejdzie przez kolejne 14 godzin.
• Wewnątrz pętli mnóż wyswietlenia przez 3.
• Wyświetl ostateczny wynik.
• Po pętli użyj instrukcji if: 
    jeśli wyswietlenia > 10000000, wyświetl komunikat: "Twój film stał się wiralowy!".

Refleksja 
Daj odpowiedź na pytanie: Jakie przewagi daje nam instrukcja iteracyjna?
⬇


Dla zainteresowanych:
Zadanie D.
Symulator Bakterii 
Treść zadania: Bakteria dzieli się co 20 minut. Startujemy od 1 sztuki. Ile ich będzie po 2 dniach? Jeśli jedna bakteria ma objętość 0.000001 mm3 , czy po 2 dniach zajęłyby więcej niż pokój (40 m3)?  Zapisz program w pliku pod nazwą Bakterie.

Słowny algorytm (Jak to zaprogramować?):
• Ustaw zmienną bakterie na 1.
• Oblicz liczbę cykli: 2 dni to 48 godzin, każda godzina ma trzy 20-minutówki.
• Stwórz pętlę for powtarzającą tyle razy ile jest cykli. 
• Wewnątrz pętli mnóż liczbę bakterie przez 2.
• Po pętli pomnóż wynik przez objętość jednej bakterii i przelicz jednostki na metry sześcienne.
• Użyj instrukcji if, aby porównać wynik z liczbą 40.

Komentarze