Materiały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty).

Podobne dokumenty
Scenariusz zajęć. Moduł VI. Projekt Gra logiczna zgadywanie liczby

Lekcja 3: Pierwsze kroki z Pythonem. Pętle

Temat 20. Techniki algorytmiczne

lekcja 8a Gry komputerowe MasterMind

2.8. Algorytmy, schematy, programy

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Scenariusz lekcji Ozobot w klasie: Tabliczka mnożenia

Zadanie 1. Suma silni (11 pkt)

Liczby losowe i pętla while w języku Python

Jeśli nie potrafisz wytłumaczyć czegoś w prosty sposób, to znaczy, że tak naprawdę tego nie rozumiesz

Scenariusz lekcji Ozobot w klasie: Spacer losowy po układzie współrzędnych

Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW /99

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI 2 CELE LEKCJI. 2.1 Wiadomości. 2.2 Umiejętności 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE

STUDIUM PODYPLOMOWE INFORMATYKI SPI 51

Kolorowanie płaszczyzny, prostych i okręgów

Programowanie i techniki algorytmiczne

========================= Zapisujemy naszą funkcję kwadratową w postaci kanonicznej: 2

Programowanie w środowisku Baltie

Zadanie 1. Oblicz prawdopodobieństwo, że rzucając dwiema kostkami do gry otrzymamy:

Simba 3D LOGO. Cele zajęć: - Poznanie zasad i sposobów tworzenia procedur z parametrami. - Poznanie zasad wywoływania procedur z parametrami.

Wprowadzenie do zmiennych w programowaniu

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania

Sortowanie przez wstawianie Insertion Sort

EGZAMIN MATURALNY Z INFORMATYKI

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

EGZAMIN MATURALNY Z INFORMATYKI

Zapisywanie algorytmów w języku programowania

9. ILE TO KOSZTUJE CZYLI OD ZAGADKI DO ZADANIA TEKSTOWEGO, CZ. III

EGZAMIN MATURALNY Z INFORMATYKI POZIOM PODSTAWOWY MAJ 2014 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

RACHUNEK PRAWDOPODOBIEŃSTWA I KOMBINATORYKA

Streszczenie Komputery do przechowywania rysunków, zdjęć i innych obrazów używają tylko liczb. Te zajęcia mają ukazać w jaki sposób to robią.

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2013 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Gra planszowa stwarza jeszcze więcej możliwości!

Problemy matematyczne ułatwiające tworzenie zaawansowanych algorytmów w klasach IV VIII szkoły podstawowej

Zajęcia z aplikacją ScratchJr mogą zostać przeprowadzone na dwa sposoby:

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno

KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO

Temat 5. Programowanie w języku Logo

Zadanie 1. Potęgi (14 pkt)

EGZAMIN MATURALNY Z INFORMATYKI

EGZAMIN MATURALNY Z INFORMATYKI 13 MAJA 2019 POZIOM ROZSZERZONY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 90 minut

Cenne informacje dla rodziców

Przykładowe zadanie z unikania blokad.

dwanaście dwadzieścia osiem trzynaście

KONSPEKT ZAJĘĆ KOŁA INFORMATYCZNEGO LUB MATEMATYCZNEGO W KLASIE III GIMNAZJUM LUB I LICEUM ( 2 GODZ.)

Tajna wiadomość. Scenariusz lekcji

DZIAŁ 1. Liczby naturalne i ułamki

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

UONET+ moduł Dziennik

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

EGZAMIN MATURALNY Z INFORMATYKI WYBRANE: ... (system operacyjny) ... (program użytkowy) ... (środowisko programistyczne)

Gra planszowa dla 2 5 graczy w wieku powyżej 4 lat

#UczymyDzieciProgramować

a) Zapisz wynik działania powyższego algorytmu dla słów ARKA i MOTOR...

Sortowanie - wybrane algorytmy

Scenariusz lekcji Ozobot w klasie: Prezentacja liczb trójkątnych i kwadratowych

Laboratorium nr 7 Sortowanie

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

Algorytm. a programowanie -

Lekcja : Tablice + pętle

Roboty grają w karty

Scenariusz lekcji matematyki w klasie V. Temat: Przykłady potęg o wykładniku naturalnym - (2 godziny).

Scenariusz lekcji. podać przykłady zalet użycia takiej instrukcji; opisać algorytm obliczania średniej n liczb;

LEKCJA OTWARTA Z MATEMATYKI. Temat lekcji: Pole powierzchni prostopadłościanu i sześcianu.

Scenariusz lekcji. rozpoznać prawidłową deklarację tablicy; podać odwołanie do określonego elementu tablicy.

EGZAMIN MATURALNY Z INFORMATYKI

PRZEDMIOTOWY SYSTEM OCENIANIA M A T E M A T Y K A

KONFERENCJA Jak odpowiadać na specjalne potrzeby edukacyjne uczniów zdolnych elementy systemowych rozwiązań w szkołach i placówkach

Patrycja Prokopiuk. Zastosowanie rachunku prawdopodobieństwa w Pokerze Pięciokartowym

Przykładowe rozwiązania

Odwrotna Notacja Polska

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

Przedmiotowy Konkurs Informatyczny LOGIA powołany przez Mazowieckiego Kuratora Oświaty

Opis implementacji: Poznanie zasad tworzenia programów komputerowych za pomocą instrukcji języka programowania.

Doświadczenie i zdarzenie losowe

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno

Funkcje i instrukcje języka JavaScript

ALGORYTMY I PROGRAMY

ZADANIE 1. Ważenie (14 pkt)

Definiowanie procedur z parametrami w Logo Komeniuszu.

Scenariusz lekcji. scharakteryzować budowę procedury w języku Logo; rozróżnić etapy tworzenia i wykonania procedury;

c) Zaszły oba zdarzenia A i B; d) Zaszło zdarzenie A i nie zaszło zdarzenie B;

2. Graficzna prezentacja algorytmów

Prawdopodobieństwo warunkowe Twierdzenie o prawdopodobieństwie całkowitym

Gimnazjum nr 2 im Armii Krajowej w Kwidzynie. Opracowała: Wiesława Podgórska

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2010 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

Wyszukiwanie binarne

Baltie. Programujemy historyjki

C Ułamkowe koła. D Dopełnianie kół. E Ułamkowe kwadraty. F Ułamkowe listwy. G Elastyczne ułamki. H Odmierzanie ryżu.

Uczeń otrzymuje ocenę z przedmiotu uzależnioną od opanowania przez niego wymagań edukacyjnych na określonym poziomie.

Zadanie 1. Doskonała inaczej (6 pkt) Poniższy algorytm wyznacza wszystkie dzielniki liczby naturalnej n 1, mniejsze od n.

Transkrypt:

Pudełkowy komputer Materiały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty). Budowa komputera: każdy uczeń składa proste pudełko metodą orgiami Zobacz: https://www.youtube.com/watch?v=-lg3t_7woiy Pudełko to jednostki pamięci komputera, piłeczki (lub inne przedmioty) to dane, które mogą być wczytane do pamięci komputera. Oto komputer 3-rejestrowy: Zasady działania komputera: 1. Pudełko może być puste lub zawierać tylko jedną piłeczkę. 2. W dłoniach ucznia może znajdować się co najwyżej jedna piłeczka. Zadanie 1. Dane są trzy pudełka: brązowe, czerwone i niebieskie. W pudełkach umieszczone są piłeczki, tak jak na rysunku poniżej. Przestaw piłeczki tak, aby każda trafiła do pudełka o tym samym kolorze. Zapisz wykonywane kroki.

Przykładowe rozwiązanie Wykonujemy kolejne kroki: Krok1 Krok 2 Krok 3

Zapis algorytmu 1. Zawartość czerwonego pudełka umieść w brązowym. 2. Zawartość niebieskiego pudełka umieść w czerwonym. 3. Zawartość brązowego pudełka w niebieskim. Kroki algorytmu (pseudokod) B niebieskie, C czerwone, N niebieskie 1. (B=C) zapis oznacza: przenieś zawartość czerwonego pudeka (C) do brazowego (B). 2. (C=N) 3. (N=B) Zadanie 2. Dane są trzy pudełka: brązowe, czerwone i niebieskie (jak w zadaniu1). Włóż do woreczka dwie piłeczki: niebieską i różową. Wylosuj pierwszą piłeczkę i umieść ją w niebieskim pudełku. Wylosuj drugą piłeczkę i umieść ją w czerwonym pudełku. Wykonaj algorytm zapisany w pseudokodzie z zadania 2. Czy algorytm, dla dowolnego losowania piłeczek, zawsze działa poprawnie? Odpowiedź NIE DZIAŁA POPRAWNIE! Dlaczego nie działa poprawnie? Jak zmodyfikować nasz komputer, aby stworzyć algorytm działający dla dowolnych danych? Modyfikacja komputera pudełkowego. Wprowadzamy dodatkową instrukcję: Instrukcja JEŚLI warunek TO wykonaj W PRZECIWNYM WYPADKU wykonaj. Na przykład, algorytm z zadania 1 można napisać następująco: 1. JEŚLI kolor pudełka niebieskiego jest różny od koloru piłki TO 2. przenieś piłkę z niebieskiego do pustego pudełka; 3. przenieś piłkę z czerwonego do pustego pudełka; 4. przenieś piłkę z białego do pustego pudełka; 5. koniec. W PRZECIWNYM WYPADKU 6. koniec. Ilustracja graficzna kroków zmodyfikowanego algorytmu. Krok 1

Krok 2 Krok 3 Krok 4 Pseudokod algorytmu. 1. JEŚLI N niebieski TO 2. B=N 3. N=C 4. C=B 5. koniec. W PRZECIWNYM WYPADKU 6. koniec. Zadanie 3. Dane są cztery pudełka: niebieskie, czerwone, zielone oraz białe. Ponadto, mamy woreczek, w który znajdują się trzy piłki: niebieska, czerwona i zielona. Wylosuj piłkę z woreczka i włóż do niebieskiego pudełka, wylosuj kolejną piłkę i umieść w czerwonym pudełku, w końcu ostatnią piłkę umieść w zielonym pudełku. Zaprojektuj algorytm, który przestawia piłeczki tak, aby każda trafiła do pudełka o tym samym kolorze. Zapisz wykonywane kroki w pseudokodzie.

Przykładowy układ wylosowanych piłeczek. 1. JEŚLI kolor pudełka niebieskiego jest różny od koloru piłki TO 2. przenieś piłkę z niebieskiego do pustego pudełka; 3. przenieś piłkę z czerwonego do pustego pudełka; 4. przenieś piłkę z zielonego do pustego pudełka; 5. przenieś piłkę z białego do pustego pudełka; 6. skok do 1. W PRZECIWNYM WYPADKU 7. przesuń białe pudełko pod czerwone. 8. JEŚLI kolor pudełka czerwonego jest różny od koloru piłki TO 9. przenieś piłkę z czerwonego do pustego pudełka; 10. przenieś piłkę z zielonego do pustego pudełka; 11. skok do 8. W PRZECIWNYM WYPADKU 12. koniec. Układ pieczek po wykonaniu powyższego algorytmu. Zadanie 4. Czy potrafisz zaprojektować inny algorytm niż podany powyżej, który realizuje taki sam problem? Zaproponuj taki algorytm. Zadanie 5. Czy potrafisz zaprojektować analogiczny algorytm, gdy danych jest pięć różnokolorowych pudełek oraz cztery piłeczki? Zaprojektuj taki algorytm. Zadanie 6. W tym zadaniu kolory pudełek nie mają znaczenia. Danych jest 6 pudełek, które układamy w szeregu, oraz worek zawierający 10 piłeczek, pięć żółtych i pięć niebieskich. Losujemy pięć piłeczek z woreczka i wkładamy każdą z nich do pięciu różnych pudełek. Zadanie polega na przemieszczeniu piłeczek w ten sposób, aby w szeregu znajdowały się najpierw żółte piłeczki, a potem niebieskie. Zobacz ilustrację poniżej. Zaprojektuj algorytm, który działa dla dowolnego wyboru piłeczek z woreczka i zapisz jego pseudokod.

Przykładowy układ wylosowanych piłeczek. Prawidłowo ułożone piłeczki po wykonaniu zadania. POWTARZAJ DOPÓKI SĄ PUDEŁKA W SZEREGU: 1.JEŚLI w pierwszym pudełku jest żółta piłka TO 2. przesuń pomarańczowe pudełko pod następne; 3. pudełko nad pomarańczowym ustal jako pierwsze; 4. Skok do 1. W PRZECIWNYM WYPADKU (zamień zawartości pierwszego pudełka i ostatniego) 5. Przenieś piłkę z pierwszego pudełka do pomarańczowego; 6. Przenieś piłkę z ostatniego pudełka do pierwszego; 7. Przenieś piłkę z pomarańczowego do ostatniego; 8. Odsuń ostatnie pudełko od pozostałych; 9. Pudełko przed odsuniętym ustal jako ostatnie; 10. Skok do 1.

Przykładowe wykonanie algorytmu: Wylosowane piłki: Pierwsze wykonanie pętli (zamiana i odsunięcie) Drugie wykonanie pętli (zamiana i odsunięcie)

Trzecie wykonanie pętli (przesunięcie pomarańczowego) Czwarte wykonanie pętli (przesunięcie pomarańczowego) Piąte wykonanie pętli (zamiana i odsunięcie)

Koniec. Zadanie 7. W tym zadaniu kolory pudełek nie mają znaczenia. Danych jest 8 pudełek, które układamy w szeregu, oraz worek zawierający 15 piłeczek, pięć żółtych, pięć niebieskich oraz pięć czarnych. Losujemy siedem piłeczek z woreczka i wkładamy każdą z nich do siedmiu różnych pudełek. Zadanie polega na przemieszczeniu piłeczek w ten sposób, aby w szeregu znajdowały się najpierw żółte piłeczki, potem niebieskie, a na końcu czarne. Zobacz ilustrację poniżej. Zaprojektuj algorytm, który działa dla dowolnego wyboru piłeczek z woreczka i zapisz jego pseudokod. (Podpowiedź: Przekładaj żółte na początek, czarne na koniec, a niebieskich piłeczek nie ruszaj podobnie jak żółtych w zadaniu 6.) Dalsze propozycje zabawy z pudełkami: 1. Budowa stosu z pudełek (pudełka układamy jedno na drugim) 2. Sprawdzanie czy wylosowana z woreczka piłeczka znajduje się na Stosie 3. Budowa Stosu według jasności kolorów ciemne piłeczki na koniec, a jasne na początek itp. O co w tym wszystkim chodzi? Pudełkowy komputer symuluje działanie elementarnych operacji wykonywanych przez komputer. Pudełko to elementarna jednostka pamięci komputera (rejestr pamięci o ustalonym adresie), w której można przechowywać dane. Założenie mówiące o tym, że w jednym pudełku może znajdować się co najwyżej jedna piłeczka, odzwierciedla fakt, że w rejestrze komputera (pod wskazanym adresem) może znajdować się co najwyżej jedna wartość zapisana w postaci binarnej. Jak wiadomo, dane można zapisywać w różnych rejestrach (pod różnymi adresami). W kompuerze pudełkowym każde pudełko odpowiada rejestrowi pod pewnym ustalonym adresem. Aby dokonać operacji zamiany wartości znajdujących się w rejestrze pod ustalonymi dwoma adresami, należy wykorzystać trzeci dodatkowy rejestr, którego zadaniem będzie tymczasowe przechowywanie jednej z dwóch zamienianych wartości. W ten sposób unikniemy straty wartości zapisanych w rejestrach. Tak więc chcąc dokonać zamiany piłeczek znajdujących się w dwóch pudełkach, potrzebujemy trzeciego dodatkowego pudełka, które tymczasowo będzie przechowywać jedną z dwóch zamienianych piłeczek. Założenie mówiące o tym, że podczas przekładania piłeczek uczeń w dłoniach może trzymac tylko jedną piłeczkę, związane jest z faktem, że procesor wykonuje zadania jedno po drugim, a nie równolegle. Nieformalnie mówiąc, dłoń ucznia jest dodatkowym obszarem,,pamięci pośredniczącym w zamianie piłeczek (nie należy o tym jednak wpominać podczas procesu edukacji). Opisaną sytuację uczniowe napotykają podczas nauki podstaw programowania. Minowicie, rozważmy program, który zamienia warościami dwie zmienne a i b. Nawiasem mówiąc, moim zdaniem, powinien to być jeden z pierwszych programów analizowanych przez uczniów podczas nauki prograwowania. Kod napisany w języku Python może wygladac tak:

a=1 b=2 print('przed zamianą',a,b) c=a a=b b=c print('po zamianie',a,b) W powyższym przykładzie liczby odpowiadają piłeczkom, a zmienne a, b papierowym pudełkom. Formalnie mówiąc, zmienne a, b oraz c mają przydzieloną pamięć pod ustalonymi adresami, a wartości 1, 2, w początkowej fazie programu, są przechowywane pod tymi samymi adresami co odpowiednio zmienne a i b. Jak wiadomo, procesor może porównywać stany dwóch ustalonych rejestrów. Dlatego, komputer pudełkowy został wyposażony w możliwość porównywania zawartości (stanu) dokładnie dwóch pudełek. Jest to realizowane poprzez instrukcję JEŚLI warunek TO wykonaj W PRZECIWNYM WYPADKU wykonaj. Należy zwrócic uwagę, że pudełka, których zawartość jest ze sobą porównywana, powinny się ze sobą stykać, co ma odpowiadać faktowi, że porównywana jest ze sobą zawarość dokładnie dwóch pudełek. Poniższy kod (w Pythonie) odzwierciedla sytuację, w której sprawdzamy, czy w niebieskim pudełku (N) znajduje się niebieska ('niebieska') piłeczka. Jeśli tak, to następuje zamiana piłeczek z pomocą białego pudełka (B). N='czerwona' C='niebieska' if N!='niebieska': B=N N=C C=B print(c,n) Podczas wykonywania algorytmów na pudełkowym komputerze pudełka można przemieszczać wzdłuż innych pudełek, co może odpowiadać krokom kolejnych iteracji. Po wykonaniu zadań na pudełkowym komputerze można je zaimplementować np. w języku Python. Praktyczna realizacja pudełkowego komputera podczas lekcji Dwie kolejne lekcje informatyki wystarczyły do wprowadzenie i omówienia zasad działania komputera pudełkowego oraz zrealizowania zadań 1 6 w klasie II i III gimnazjum. Zadanie 1 zostało zrealizowane bezproblemowo. Kluczowym momentem lekcji była realizacja zadania 2 i zrozumienie przez uczniów, że ich pierwszy algorytm nie działa dla dowolnego wyboru piłeczek z woreczka. Zaprojektowanie algorytmu działającego poprawnie wymagało wprowadzenie instrukcji JEŻELI... Uczniowie sami zaproponowali takie rozwiązanie, było ono jednym z wielu proponowanych. W dalszej części lekcji uczniowie mieli możliwość rozwiązania kolejnych zadań, dla ustalonego układu piłeczek, bądź zaprojektowania ogólnego algorytmu dla losowego wyboru piłeczek z woreczka, co okazało się zadaniem dla nich znacznie trudniejszym.