Blok olimpijski z inf.

Computer Science Unplugged (Większość 'Activities' na tej stronie jest również po polsku!) - która zmieniła m.in. Australijską Olimpiadę Informatyczną i zainspirowała Polaków do stworzenia podobnego do niej Konkursu KOmbinatoryczno-Algorytmiczno-Logicznego "Koala" (w którym czołowe miejsca zajmowali w naszym regionie uczniowie III LO!)...

inne (ciekawe!) linki


maszyna RAM - opis   program do rozpakowania i zainstalacji (legalnie, za darmo...)


Udało mi się namówić młodszego kolegę, żeby mnie zastąpił 6 XI, więc zapraszam na normalne zajęcia również pod moją nieobecność. Tymczasem, jak mówiłem - warto sprawdzić, czy umie się zapisać w C++ rozwiązania naszych zadań z naszych list - lista 1 to tylko chyba kwestia nowego zapisu, w liście 2 być może ponownie trzeba będzie cos przemyśleć...


O liście "sprawdzian":

  • najłatwiejsze są chyba zad. "Ciąg..." i "Pierwiastek III" - w obu wystarczą wiadomości z zajęć do pocz. października,
    "Pierwiastek" jest poza tym podobny do zad. "Logarytm" z listy 3 i sposobu szukania pierw. kwadratowego (lub jego podłogi), który omawialiśmy wtedy na zajęciach, jeszcze bez wyszukiwania połówkowego, które tutaj też nie jest potrzebne (bo...?);

  • "Sprawdzanie pierwszości" wymaga sprawdzania podzielności i odrobinki pokombinowania;

  • do "Palindromu" trzeba wykorzystać adresowanie pośrednie (które było jednym z naszych ost. zagadnień - patrz listy 4 i 5), ale poza tym nie jest takie straszne;

  • zad. "Sprawdzian4" jest już ciekawsze, więc spoiler - proponowałbym odrywać z liczby po dwie cyfry i sprawdzać, czy się zgodzą, ale później trzeba by zrobić to samo dla pozostałych par sąsiadów (tzn. dla liczby 12345 popatrzeć na 45, 23 i 1, a potem jeszcze na 34 i 12), więc warto tę obrabianą liczbę najpierw gdzieś przechować; można też inaczej, ale czy prościej? :>


    O liście 5:

  • "Szybkie pierwiastkowanie" ma treść taką, jak to, co już kiedyś [na]pisaliśmy - chodzi o znalezienie podłogi pierwiastka z danej liczby; problem polega na tym, że dana (pierwiastkowana) liczba może tu być ogromna, nie uda się więc bez nowego pomysłu - wyszukiwania binarnego (na początku wiemy, że wynik jest liczbą od 0 do danej, więc możemy sprawdzić, czy środek tego przedziału to za dużo, czy może za mało; gdy będziemy już to wiedzieć, to przedział poszukiwań odpowiednio się zmienia i zabawę (strzał w środek, zmianę przedziału itd.) można kontynuować, aż...)

  • "Cyfrę setek" zrobiliśmy na zajęciach, ale warto zastanowić się, czy na pewno wszystko się rozumie (i umie napisać to całkiem samemu!)

  • "Liczba cyfr" to ćwiczenie na operację dzielenia maszyny RAM (czyli dzielenia całkowitego) i rozumienie zapisu pozycyjnego (co dzieje się z zapisem binarnym liczby po wykonaniu na niej operacji "div 2", już mówiliśmy; tu warto robić analogicznie, czyli jak w zad. "Cyfra setek")

  • "Suma dzielników" to zupełna nowość, ale chyba w sam raz dla ćwiczących na bieżąco - trzeba tylko pomyśleć, jak sprawdzić, czy jedna liczba dzieli się przez drugą (a jest to prostsze niż obliczenie reszty, bo przecież tutaj reszty ma nie być), później już znane operacje - skakanie, sumowanie, ...

  • "System binarny" wymaga algorytmu, który omówiliśmy 9 i powtórzyliśmy 16 X, oraz umiejętności zapisania otrzymywanych wyników i odczytania ich w odwr. kolejności (co było w zad...)

  • "Najczęściej występująca..." - omawialiśmy (zadanie na adresowanie, poza tym (nietrudna już chyba dla nas?) obsługa ciągów i pamięci :)).