DLACZEGO NIE POWINNIŚMY KSZTAŁCIĆ KOLEJNYCH SEKRETAREK ?
description
Transcript of DLACZEGO NIE POWINNIŚMY KSZTAŁCIĆ KOLEJNYCH SEKRETAREK ?
DLACZEGO NIE POWINNIŚMY KSZTAŁCIĆ KOLEJNYCH SEKRETAREK?Algorytmika jest dla każdego!
Przemysław SzydzikRedaktor publikacji informatycznychWydawnictwo Szkolne [email protected]
Co mówi Google?
http://europa.eu/rapid/press-release_STAT-12-47_en.htm
Wieże Hanoi
// problemPrzenieś wszystkie krążki (z zachowaniem ich układu) ze słupka A na słupek C, wykorzystując słupek pomocniczy B.
Zasady:
• za jednym razem możesz przenieść tylko jeden krążek
• na dowolny krążek możesz położyć tylko krążek od niego mniejszy
Wieże Hanoi - rozwiązanie
POWTARZAJ:
› przenieś najmniejszy z możliwych do przeniesienia krążków na kolejny słupek, zgodnie z ruchem wskazówek zegara
› jeśli jest taka możliwość, wykonaj możliwe przeniesienie krążkiem, który nie jest najmniejszy
DO MOMENTU, GDY: wszystkie krążki znajdą się na jednym słupku.
Zamiana wartości zmiennych
Jaki jest pierwszy pomysł ucznia na zamianę wartości zmiennych x i y?
x=y;
y=x;
Taka odpowiedź wydaje się naturalna, bo przecież właśnie taki (w dużym skrócie) cel chcemy osiągnąć.
Zamiana wartości zmiennych
Jak wyjaśnić uczniowi, że takie działania nie dadzą poprawnego efektu?
Poprosić, aby myślał jak komputer!
Zamiana wartości zmiennych
Sprawdzenie dla dowolnych liczb, na przykład: x=5 i y=7.
W ten sposób obie zmienne przechowują tę samą wartość.
Nie o to nam jednak chodziło!
Kod Efekt
x=5; y=7; Przypisanie zmiennej x wartości 5,a zmiennej y wartości 7.
x=y; Zmienna x przechowuje wartość 7.
y=x; Zmienna y przechowuje wartość zmiennej x, czyli 7.
Zamiana wartości zmiennych –rozwiązania
Wprowadzenie pomocniczej zmiennej:
bufor=x;
x=y;
y=bufor;
Manewrowanie dodawaniem:
x=x+y;
y=x-y;
x=x-y;
Programowanie od małego w CoderDojo
Misja: Świat potrzebuje hakerów!
http://coderdojo.org.pl/
Gra w Nimn
// problemZe zbioru n-kamieni gracze 1 i 2, począwszy od gracza 1, zabierają na przemian jeden lub dwa kamienie. Przegrywa ten, który zabiera ostatni kamień.
Gra w Nim5
wygrał g2
wygrał g1
wygrał g1
wygrał g2
wygrał g2
wygrał g2
5g1
2
g1
2
g1
1
g1
4g2
3
g2
1g2
1
g2
1
g1
wygrał g1
3
g12
g2
Gra w Nim5
W grze z pięcioma kamieniami zawsze może wygrać gracz, który rozpoczyna – musi jednak
rozpocząć od jednego kamienia.
Gra w Nim5
wygrał g2
wygrał g1
wygrał g1
wygrał g2
wygrał g2
wygrał g2
5g1
2
g1
2
g1
1
g1
4g2
3
g2
1g2
1
g2
1
g1
wygrał g1
3
g12
g2
Gra w Nim5
A jeśli gracz 1 się pomyli i w pierwszym ruchu weźmie
2 kamienie?
Gra w Nim5
wygrał g1
wygrał g2
wygrał g2
5g1
2
g1
3
g2
1
g2
1
g1
Gracz 1 przegra, jeśli gracz drugi weźmie 2 kamienie.
Ratowanie życia – algorytm resuscytacji
Kluczowe pytanie: Jaki jest warunek zakończenia
algorytmu?
źródło: Podstawowe zabiegi resuscytacyjne u osób dorosłych oraz zastosowanie automatycznych defibrylatorów zewnętrznych (AED)Rudolph W. Koster, Michael A. Baubin, Leo L. Bossaert, Antonio Caballero, Pascal Cassan, Maaret Castrén, Cristina Granja, Anthony J. Handley, Koenraad G. Monsieurs, Gavin D. Perkins, Violetta Raffay, Claudio Sandron
Godzina Programowania (9-15.12.2013)
Pierwsze kroki z programowaniuKodowanie z Angry Bird: http://learn.code.org/hoc/1
Goole Blockly: http://skroc.pl/360e2
Patriota w dobie iPadów
Koduj dla Polski to inicjatywa Fundacji ePaństwo, której celem jest promocja "kodowania", "programowania" i "bycia developerem" jako nowoczesnych form patriotyzmu.
http://epf.org.pl/kodujdlapolski/
Patriota w dobie iPadów
ADOPT-A-HYDRANTAplikacja, w oparciu o mapę miasta, umożliwia obywatelom Bostonu zgłoszenie lokalnym władzom zasypanych śniegiem hydrantów przeciwpożarowych.
CIVIC INSIGHTSAplikacja oferuje mieszkańcom najświeższe informacje o statusie zniszczonej nieruchomości w danym mieście.
http://epf.org.pl/kodujdlapolski/
DiscoverBPSAplikacja łączy opinie, kryteria, dane szkoły oraz zaawansowane narzędzia by pomóc rodzicom wybrać szkołę dla swojego dziecka.
Sortowanie zbiorów liczbowych
//problem
Dany jest zbiór liczb naturalnych. Ustaw elementy tego zbioru w porządku niemalejącym.
Sortowanie bąbelkowe – rozwiązanie
www.youtube.com/watch?v=lyZQPjUT5B4
Sortowanie przez kopcowanie – alternatywne rozwiązanie
Kopiec – drzewo binarne, w którym wartość przechowywana w dowolnym węźle jest nie mniejsza niż wartość w węzłach potomków.
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Sortowanie przez kopcowanie – schemat postępowania
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Sortowanie przez kopcowanie – schemat postępowania
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Sortowanie przez kopcowanie – schemat postępowania
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Sortowanie przez kopcowanie – schemat postępowania
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Sortowanie przez kopcowanie – schemat postępowania
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Sortowanie przez kopcowanie – schemat postępowania
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Sortowanie przez kopcowanie – schemat postępowania
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Sortowanie przez kopcowanie – schemat postępowania
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Sortowanie przez kopcowanie – schemat postępowania
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Sortowanie przez kopcowanie – schemat postępowania
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Sortowanie przez kopcowanie – schemat postępowania
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Sortowanie przez kopcowanie – implementacjaint Lewy(int rodzic) {
return (2*rodzic);
}
int Prawy(int rodzic) { return (2*rodzic + 1); }
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Sortowanie przez kopcowanie – implementacjavoid WykonajKopiec(int x) { int pmax, l, r; l= Lewy(x); r= Prawy(x); if (l <= rozmiar && t[l] > t[x]) pmax= l; else pmax= x; if (r <= rozmiar && t[r] > t[pmax]) pmax= r; if(pmax != x) { Zamien(x, pmax); WykonajKopiec(pmax); }}
Sortowanie przez kopcowanie – praca z uczniem
Co zrobić z uczniami, którym trudno będzie napisać program?
Sortowanie przez kopcowanie – praca z uczniem
Model pracy:
> pokaz z wykorzystaniem modelu> samodzielna, wielokrotna analiza algorytmu> samodzielne zastosowanie kolejnych kroków algorytmu> sprawdzenie rozwiązania
Sortowanie przez kopcowanie – praca z uczniem
Pokaz i analiza
Zastosowanie
Sprawdzenie
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Algorytmika z uczniem słabszym
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Wieże Hanoi Fraktale
Algorytmika z uczniem słabszym
Źródło: Informatyka nie tylko dla uczniów. Zakres rozszerzony, Wydawnictwo Szkolne PWN
Przynależność punktu do obszaru
Kursy programowania online
› http://www.codecademy.com/
› http://www.learnstreet.com
› http://tryruby.org/
› https://www.codeschool.com/
› https://dash.generalassemb.ly/
Ostatni slajd
› if(nr_slajdu == ostatni)
› print ”Dziękuję za uwagę!”;