Scenariusz lekcji informatyki
Temat: Algorytmy warunkowe na przykładzie gry w języku Python „Papier, kamień, nożyce”.
Podstawa programowa: zakres podstawowy dla technikum (II klasa)
Cel ogólny:
Rozumienie, analizowanie i rozwiązywanie problemów z wykorzystaniem algorytmu warunkowego
Cele szczegółowe, uczeń:
• omawia instrukcje warunkowe IF / ELSE, wiedząc że od ich spełnienia zależy kolejność wykonywania działań;
• rozpisuje przykładowy algorytm zawierający przynajmniej jeden warunek do spełnienia;
• przedstawia przykładowy algorytm w postaci listy kroków, schematu blokowego i programu Python;
• rozumie algorytm warunkowy realizujący w odpowiednim porządku warunki wynikające z treści zadania;
• pisze w języku Python program realizujący prostą grę „Papier, kamień, nożyce”;
• przeprowadza weryfikację poprawności działania algorytmu, testuje grę.
Metody i techniki nauczania:
• rozmowa nauczająca z wykorzystaniem tablicy
• dyskusja
Formy pracy:
• praca indywidualna;
• praca w grupie;
Środki dydaktyczne:
• komputery z dostępem do Internetu;
• oprogramowanie dla języka Python 3 lub środowisko online - Replit
Przebieg lekcji
Faza wstępna:
1. Przedstawienie celów zajęć, tematu lekcji, wyjaśnienie zagadnienia. Nauczyciel wprowadza w tematykę zagadnienia - wyjaśnia uczniom iż algorytmy warunkowe wymagają rozpatrzenia warunków. Od spełnienia tych warunków zależy kolejność wykonywania działań. Tu należy zastosować instrukcje warunkowe w następujący sposób:
if : (jeśli warunek 1)
zrób coś
elif : (jeśli jest inaczej, to warunek 2)
zrób coś innego
else: (gdy wczesniejsze rozwiazania się nie sprawdzily)
zrób coś jeszcze innego
Nauczyciel nawiązując do wcześniejszej lekcji, wskazuje iż algorytmy warunkowe, podobnie jak liniowe, przedstawiamy także w postaci listy kroków oraz w postaci schematu blokowego.
Faza realizacyjna:
1. Uczniowie analizują i rozpisują razem z nauczycielem przykładowy algorytm wykorzystując instrukcje warunkowe if/elif/else dla liczb a i b wprowadzanych z klawiatury. Algorytm ma sprawdzać która z liczb jest większa lub równa.
Uczniowie samodzielnie podają listę kroków:
Krok 1. Podaj a, podaj b;
Krok 2. Jeśli a jest większe od b, to wyświetl komunikat „b jest mniejsze” i zakończ algorytm;
Krok 3. Jeśli a jest mniejsze od b, to wyświetl komunikat „b jest większe” i zakończ algorytm.
Nauczyciel zwraca uwagę, iż podczas graficznego przedstawiania tego algorytmu, istotny będzie nowy blok - blok w kształcie rombu, to blok decyzyjny. Posiada on jedno połączenie przychodzące i dwa wychodzące: 1) gdy warunek jest spełniony - tak, 2) gdy warunek nie jest spełniony - nie
Z pomocą nauczyciela uczniowie piszą kod programu w języku Python:
a=int(input("podaj a "))
b=int(input("podaj b "))
if a>b:
print ("b jest mniejse")
elif a<b:
print ("b jest większe")
else:
print ("b jest równe a")
2. W kolejnym etapie Nauczyciel wykorzystał prostą, znaną uczniom, grę: „Papier, kamień, nożyce”. Razem z uczniami rozpisuje algorytm sprawdzający, który z użytkowników-graczy wygrał lub zremisował, rozpatrując kolejno możliwe sytuacje/warunki które mogą zaistnieć. Do algorytmu włączony został operator logiczny „and”
gracz1=input("gracz 1 podaj swoj wybor ")
gracz2=input("gracz 2 podaj swoj wybor ")
if gracz1=='papier' and gracz2=='kamień':
print ('gracz 1 wygral')
elif gracz1=='kamień' and gracz2=='nożyce':
print ('gracz 1 wygrał')
elif gracz1=='nożyce' and gracz2=='papier':
print ('gracz 1 wygrał')
elif gracz1 == gracz2:
print('remis')
else:
print ('gracz 2 wygrał')
3. Ćwiczenie umiejętności. Uczniowie rozpisują algorytm warunkowy na swoich stanowiskach. Sprawdzają działanie kodu testując grę „Papier, kamień, nożyce”. Samodzielnie opracowują schemat blokowy oraz listę kroków do działającego algorytmu.
Faza podsumowująca:
Nauczyciel sprawdza poprawność napisanych programów, analizuje listę kroków i schemat blokowy rozpisany samodzielnie przez uczniów, omawia ewentualne problemy podczas rozwiązania ćwiczeń z programowania w języku Python.