Ic (mat.-inf.!) 2009/10
lista zadań (ostatnie zadanka dopisano 21 V nad ranem)
Deadline umieszczania informacji o zadaniach na nast. poniedziałek/wtorek - czwartek, 10 p.m.
Oficjalne wyniki zawodów w programowaniu zespołowym - gratuluję!!!
Tutaj poprawiony (choć inaczej, niż chciałem na lekcji) RLDecoding - chyba już gra? (Ale wciąż można próbować go ulepszyć /
poprawić! :))
Zad. dom. (uwaga - w każdej chwili mogę sprawdzić wszystkie wcześniej niesprawdzone!):
- na 21 VI chyba nic jednak nie zadam... :(, ALE (!) należy obmyślić,
co chcecie robić - jestem gotów na jakieś wyjście oraz zabawy
informatyczno-komputerowe (z Carem i nie tylko! :))
- na 14/15 VI obowiązuje wszystko, co zadałem podczas moich nieobecności, oraz (obie grupy) proszę o zainstalowanie sobie programu CaR i wypróbowanie jego możliwości - kreślenia okręgów (na trzy sposoby - patrz
ikonki), prostej równoległej, prostopadłej (patrz pytania w lewym dolnym rogu), środka odcinka, edycji (cofanie operacji, usuwanie i ukrywanie
obiektu) i in.; następnie należy skonstruować (i zapisać jako pliki Cara!) romb, sześciokąt foremny i okrąg wpisany w trójkąt (tzn. narysować w Carze
trójkąt i wykreślić okrąg weń wpisany) - uważajcie na podświetlające się obiekty i zwracajcie uwagę na to, co się skąd bierze; po przyciśnięciu
prawego klawisza myszy można ruszać obiektami i dobrze zrobiona konstrukcja nie powinna się wtedy psuć! Na koniec proszę przemyśleć następujące
konstrukcje (cyrklem i linijką, czyli w Carze kreśląc proste i okręgi): 1. dane są dwa kolejne (!) wierzchołki ośmiokąta foremnego - wyznacz
pozostałe, 2. dane są prostopadłe proste k i l oraz punkt P nieleżący na żadnej z nich - znajdź na k punkt równo odległy
od l i P.
- na 7/8 VI:
- gr. pon. - proszę zainstalować sobie w domu program Maxima, uruchomić go, wybierając "wxMaxima", sprawdzić, co da
"sqrt(2)+sqrt(2)" (po wprowadzeniu wejścia trzeba wcisnąć "Shift+Enter"!), i zrozumieć wynik; następnie wpisać "sqrt(2)+sqrt(8)" w wolframalpha.com i
również zaobserwować, co się wypisze; CIĄG DALSZY tutaj!
- gr. wt. - tutaj
- na wt. 1 VI (Dnia Dziecka nie obchodzimy, bo jesteście już [prawie] dorosłymi dojrzałymi Informatykami!) - wykonaj śmiałe kliknięcie
("dared click") tutaj
- na 28 V (zast. za Panią Profesor):
- gr. pon. - zad. 5 z http://www.math.uni.wroc.pl/~msliw/inf/matinf09r2.pdf - tutaj gotowa już zasadnicza
(algorytmiczna) część programu - należy to zrozumieć i dokończyć
- gr. wt. - zainstalować program Maxima, uruchomić go, wybierając "wxMaxima", rozwiązać układ równań z lekcji, sprawdzić, co da
"sqrt(2)+sqrt(2)" (po wprowadzeniu wejścia trzeba wcisnąć "Shift+Enter"!), i zrozumieć wynik; następnie wpisać "sqrt(2)+sqrt(8)" w wolframalpha.com i
również zaobserwować, co się wypisze
- Na 24/25 V (niezależnie od moich wcześniejszych nieobecności!) należy zrobić Z6C.a (dopisałem tam pomocną chyba uwagę) oraz:
- gr. pon. - opanować działanie tego programu, zrobić Z6E i D oraz przemyśleć C.b,
- gr. wt. - Z6C.b (tutaj mojego autorstwa jądro tego programu, które powinniście rozumieć), oraz zad. 5 z
http://www.math.uni.wroc.pl/~msliw/inf/matinf09r2.pdf - tutaj szkic programu - spróbuj go zrozumieć i uzupełnić; na
sprawdzianie będę zakładał, że z listy macie przerobione Z6C-6E.
- Na 17/18 V obie grupy powinny dokończyć RLE, sprawdzić
jego działalność (współczynnik kompresji) na losowo przez siebie wygenerowanych (dużych!) plikach wejściowych (oczywiście kompresja będzie sensowna,
jeśli zestaw dopuszczalnych znaków nie będzie zbyt duży - jak to załatwić?) oraz spróbować napisać "Run-Length Decoding" (tj. przy danym pliku
zakodowanym tak, jak robiliśmy to na lekcji, uzyskać z niego programem plik oryginalny; można oczywiście przyjąć, że plik zakodowany jest poprawny,
czyli np. kończy się literą); ew. należy zrozumieć taki program mojego autorstwa (chyba już gra? - poprawiłem (choć inaczej, niż
chciałem na lekcji), ale wciąż można próbować go ulepszyć / poprawić?).
Grupa wtorkowa ma ponadto zrobić Z6D i opanować działanie tego programu.
- Na czw. 13 V proszę napisać w C++ algorytm sprawdzający, czy dany łańcuch (nie liczba!) jest palindromem. (W razie potrzeby należy
dowiedzieć się, co to jest palindrom!)
- Na 10 V gr. pon. powinna zrobić Z6B, opanować pliki tekstowe (zapis i odczyt), przemyśleć, jak zaimplementować RLE, no i porządnie nauczyć się
na sprawdzian (część komputerowa oraz wielokąty gwiaździste i grafy (to, o czym mówiłem 27 i 29 IV))!
- na 7 V (zast. za panią prof. Laszkiewicz):
- gr. pon. - Z66, ze dwa niebanalne rysunki z Z67 oraz Z6A i 6B
- gr. wt. - Z6A, przygotować się na sprawdzian oraz rysunki 3D, o których mówiłem na lekcji (globus?)
- Na 26/27 IV obie grupy obowiązuje zadanie z zastępstwa - sprawdź, co wychodzi dla n∈[2,14] i różnych
d - zanotuj wyniki!! spróbuj postawić (i udowodnić?) hipotezę (zależności otrzymanego kształtu od relacji n i d). Ponadto:
- gr. pon. - przygotować się do napisania na oceny ≥4 kartkówkę z Loga (wszystko, co można zrobić na kartce (bez żadnych pomocy!), czyli
rozumienie w Logo podstawowych komend, losowania, pętli, procedur i rekurencji, geometria na płaszczyźnie (w tym arcusy!), na torusie i w przestrzeni
(obroty wokół trzech osi));
- gr. wt. - obowiązuje wszystko, co dotychczas, oraz Z65-66; należy też napisać procedurkę do płatka Kocha i do jego odpowiednika, kiedy żółw
wchodzi do wewnątrz, oraz spróbować porysować coś z Z67. Poza tym należy umieć (nie trzeba wszystkiego rysować) Z57, ew. być gotowym do zadania
konkretnych (!) pytań o jakieś podpkty.
- Na 19 IV - dokończyć Z57.i, napisać procedurkę do płatka Kocha i do jego odpowiednika, kiedy żółw wchodzi do wewnątrz, oraz Z65.
Liczę, że przynajmniej grupa wtorkowa zostanie zamiast lekcji na otwarte drzwi (i porobimy coś z Logo!). Possible outfit
- Na 12/13 IV obie grupy obowiązują Z55, 56', 58-5A, 63-64, no i będę sprawdzał strony. Poza tym życzę wesołych Świąt, a grupa
wt. powinna opanować dotychczas zadane zad. z wielokątami foremnymi i zbadać, co się dzieje (dla różnych
n), jeśli w procedurze je rysującej zwiększyć dwukrotnie kąt każdego obrotu żółwia (a trzykrotnie? cztero-? ...).
- Na 29/30 III obie grupy powinny mieć gotowe do okazania swoje konta WWW spełniające wszelki moje wymogi! (tj. plik PHP (z jakimś
algorytmikiem) i druga strona z jakimiś linkami pomiędzy nimi oraz do pliku innego formatu; użyte style powinny być zdefiniowane wewnętrznie oraz w
pliku CSS (i w jednym miejscu zmodyfikowane inline), a oprócz Tabelki Życia na stronie winno być gdzieś parę elementów formularza). PONADTO Z4E-Z54
z listy oraz:
pon. - zrealizować spacer losowy po sieciach: kwadratowej, trójkątnej i sześciokątnej (uwaga!) oraz w jednym wymiarze; jednowymiarowy należy również
spróbować otrzymać bez użycia instrukcji obrotu
wt. - dokończ procedurkę nkat2 (żeby każdy z rysowanych nią kolejno n-kątów był wpisany w ten sam okrąg (który notabene też można dzięki
niej uzyskać)
- na 15/16 III każdy powinien umieć posługiwać się środowiskiem Logo, a ponadto:
gr. pon. - nauczyć się, jak wyglądają w PHP zmienne, instrukcja warunkowa i pętla for oraz umieścić na którejś swojej stronie parę elementów
formularza
gr. wt. - zamodelować spacer po sieci sześciokątnej i jednowymiarowy bez użycia obrotów oraz pomyśleć (a potem i sprawdzić), co spowodują nast.
komendy: "repeat 123 [ fd 10 rt 90 * random 6 ]", "repeat 123 [ fd 1 rt 180 * random 3 ]", "repeat 123 [ fd 1 rt 180 * ( ( random 3 ) - 1 ) ]"
- 8 III to ostatnia możliwość napisania sprawdzianu bez dostania "ndst" - od końcówki Excela (= tabel przestawnych i plików
PGM) do końca baz danych; warto sprawdzić, czy umie się rozwiązać w bazach Z45-47. Wkleiłem zadania ze sprawdzianu w grupie
wtorkowej. Do Z47: co robi taka kwerenda: "SELECT pacjenci.pole1, pacjenci.pole2, COUNT( * ) FROM pacjenci, ( SELECT DISTINCT pole1, pole2 FROM wizyty
) pom WHERE pacjenci.pole1 = pom.pole2 GROUP BY pacjenci.pole1, pacjenci.pole2;" (po ew. odpowiednim dostosowaniu nazw pól - wg Twoich tabel)? Działa
w Accessie, w Base'ie najpierw dobrze zrobić tabelę pomocniczą (po prostu "SELECT DISTINCT pole1, pole2 FROM wizyty;") i użyć jej w kolejnej
kwerendzie. :]
Zad. na 8/9 III (niezależnie od sprawdzianu!):
gr. pon. (Dzień Kobiet Dniem Kobiet, ale ZADANIE ZADANIEM!) - stworzyć konto WWW i umieć umieścić na nim plik z Tabelką Swojego Życia, używany w nim
plik ze stylami oraz ten, nadając mu nazwę index.php. Potrafisz wywołać je w przeglądarce? Potraf! Postaraj się, by PHP
działał! (Sprawdź różne parametry Twojego konta np., ew. skontaktuj się z administratorem serwera! :))
gr. wt. - rozumieć ten skrypt, nauczyć się, jak wyglądają w PHP zmienne, instrukcja warunkowa i pętla for oraz użyć na którejś
swojej stronie stylów z utworzonego przez siebie pliku CSS
- na 22/23 II:
gr. pon. - pomyśleć nad Z47, a nawet je zrobić w Base'ie, a ponadto zapoznać się z tym plikiem - obejrzeć go tekstowo i w
przeglądarce, ustalić, co w nim za co odpowiada (np. manipulując parametrami, ale są też Koledzy, Internet, książki, ...) i stworzyć Tabelkę Swojego
Życia - z kilkoma (legalnie użytymi!) zdjęciami, n kolumnami, gdzie n ≥ 3, i sformatowaną zgodnie z własnymi przekonaniami
artystycznymi (chociaż nie trzeba używać nic ponadto, czego się właśnie nauczyłaś/-eś)
gr. wt. - stworzyć konto WWW i umieć umieścić na nim plik z Tabelką Swojego Życia ORAZ ten plik, nadając mu nazwę index.php.
Potrafisz wywołać go w przeglądarce? Potraf! Działa?? Postaraj się, by działał! (Sprawdź różne parametry Twojego konta np., ew. skontaktuj się z
administratorem serwera! :))
- na 15/16 II:
gr. pon. - nauczyć się normalizacji, NP. z http://support.microsoft.com/kb/283878/pl albo z http://www.wsipnet.pl/ekursy/kursy/sql/sql2.php
("Słownik" po lewej) oraz zastanowić się nad rozwiązaniem Z47 w Base'ie / Accessie - w tym celu założyć odp. bazę z odp. relacjami między tabelami
(może być potrzebne określenie ich kluczy!) i... wygenerować w SQL albo QBE odp. kwerendy! :]
gr. wt. - być na bieżąco z Excelem i bazami danych oraz zapoznać się z tym plikiem - obejrzeć go tekstowo i w przeglądarce,
ustalić, co w nim za co odpowiada (np. manipulując parametrami, ale są też Koledzy, Internet, książki, ...) i stworzyć Tabelkę Swojego Życia -
z kilkoma (legalnie użytymi!) zdjęciami, n kolumnami, gdzie n ≥ 3, i sformatowaną zgodnie z własnymi przekonaniami artystycznymi
(chociaż nie trzeba używać nic ponadto, czego się właśnie nauczyłaś/-eś)
- na 25/26 I:
gr. pon. - nadrobić zaległości, zapanować nad Base'em, EW. Accessem, nauczyć się tworzyć formularze, raporty i proste kwerendy (zadając pytania w SQL
- w rodzaju "znajdź wśród lekarzy I pacjentów wszystkich Jarosławów", "znajdź wszystkich okulistów mających ponad 30 lat" oraz zrozumieć (najlepiej
również od razu przetestować!) materiał z pierwszych 8 stron http://www.wsipnet.pl/ekursy/kursy/sql/sql2.php
gr. wt. - ze zrozumieniem przeczytać dostępną resztę witryny http://www.wsipnet.pl/ekursy/kursy/sql/sql2.php i zastanowić się, jak rozwiązać w
Accessie Z47, ORAZ dowiedzieć się, na czym polega normalizacja baz danych (do 3NF), NP. z http://support.microsoft.com/kb/283878/pl
- na 18/19 I:
gr. pon. - 0. wczytać do pliku Base'a (ew. Accessa) dane z plików z Z47 (uwaga na Pesel! - co może być z nim nie tak?) - utworzyć z nich tabele,
nauczyć się dodawać, zmieniać i usuwać rekordy, zmieniać własności pól, utworzyć od zera własną bazę itp. - ogólnie "rozejrzeć się" w programie i
jego możliwościach, na razie głównie edycyjnych; 1. zrozumieć materiał z http://www.wsipnet.pl/ekursy/kursy/sql/sql.php (wersji demo)
gr. wt. - zrozumieć materiał z http://www.wsipnet.pl/ekursy/kursy/sql/sql.php (wersji demo) oraz pierwszych 8 stron z
http://www.wsipnet.pl/ekursy/kursy/sql/sql2.php ORAZ znaleźć przykład (im bardziej z życia, tym lepiej!) relacji krotek (x,y,z),
w której jednemu x mogą odpowiadać różne z, jednemu y mogą odpowiadać różne z i dopiero para (x,y) wyznacza
z, z którym jest w relacji, ale za to te same z mogą zdarzyć się dla różnych par (x,y)
- na 11/12 I (poprawiłem pliki PGM z Z48 - powinny dać się już odczytywać, ew. można je sobie zmniejszyć w programie graficznym, żeby weszły do
Excela):
gr. pon. - 0. jakąś nie najprostszą operację z Z48 mieć zrobioną do okazania w każdej chwili; 1. udowodnić (w zeszycie!) własność
arytmetyki modularnej, z której korzystaliśmy; 2. przeczytać o fraktalach i trójkącie Sierpińskiego; 3. zrobić trójkąt Pascala z najw. możliwą liczbą
kolorów; 4. przejrzeć i wypróbować wszystkie (standardowe) formaty komórek; 5. wczytać do pliku Accessa (ew. Base'a) dane z pliku pacjenci.txt z Z47
(uwaga na Pesel! - co może być z nim nie tak?)
gr. wt. - 1. zrozumieć typy relacji: "jeden do jednego", "jeden do wielu", "wiele do wielu", ustalić ich sens i wymyślić przykłady; 2. ze
zrozumieniem przeczytać http://zti.polsl.pl/bd/instr/sql.pdf do tematu "sortowanie" włącznie; 3. Z49
- na 4/5 I obie grupy Z48 (świeżo dopisane), Gr. "Wtorek" powinna ponadto zapoznać się z Accessem (uruchomić, rozejrzeć się w menu, wpisać do Swojej
Pierwszej Bazy dane z Z47 (jeśli nie uda się wszystkich, to proszę ręcznie wpisać ze 4 pierwsze wiersze z każdego pliku), no i zwalczyć jednak w
Excelu Z47 w całości, bo nawet podpkt d nie wymaga wcale żadnej wiedzy większej niż Z45-46!
- na 21 XII (na 22 NIC NIE ZADAJĘ! :)) - nauczyć się jednak tabel przestawnych, bo np. na witrynie, którą znalazł Krzysiek
P., są opisane tak, że chyba każdy powinien zrozumieć, no i... przygotować się na sprawdzian, może lepiej
niż grupa wt. :) (ich zadania można zobaczyć tutaj)
- na 14/15 XII - przesłać mi link, z którego [na]uczyło się tabel przestawnych,
opanować Solver, w razie potrzeby dokończyć zadanie z mini-/maksymalizacją ORAZ
gr. pon. - Z3F i 47, oraz opanować formatowanie warunkowe (spróbuj zrobić np. tak, żeby w każdym wierszu zaczerwieniała się największa wartość z
kolumn A-AX)
gr. wt. - Z47 i zrozumieć materiał z http://helionica.pl/index.php/Relacyjna_baza_danych oraz ze wszystkich
stron zalinkowanych w artykule ORAZ nauczyć się wszystkiego, co
robiliśmy w Excelu, żeby dostać, no... minimum czwórkę! :] (Powodzenia!)
- na 7/8 XII (nie wchodzą w grę żadne mikołajki ani inne tego typu pomysły!) - obie grupy Z40 ORAZ:
gr. pon. - zrobić histogram rzutów kostką i stwierdzić, że to, co napisaliśmy na tablicy, nie daje sprawiedliwego losowania liczb 0, 1, 2 (a
dlaczego?!)
gr. wt. - Z3F ORAZ ustalić drogę MacGyverowi
- na 30 XI / 1 XII: to, co obowiązywało na 23/24 XI, ORAZ Z45-46
- na 23/24 XI: zadanie z roztworami Jasia dokończyć, Z3B, 3C oraz sprawdzić, ile wychodzi w zadaniu z orłami i reszkami - w Excelu, a najlepiej i
spróbować to wyliczyć matematycznie
Ponadto powinniście już umieć zrobić Z41-44 - podobne będą na sprawdzianie excelowym, więc można sobie już ćwiczyć!
- na 9/10 XI: Z37-39
- na 6 XI (zastępstwa za panią prof. Laszkiewicz): zad. 6 i 7.a-f oraz g, jeśli potrafisz
- na 2/3 XI (dla obu grup!): [ze zrozumieniem] zapoznać się z excelowymi funkcjami "liczba.całk" (z jednym argumentem i dwoma) oraz "mod" i
ZROBIĆ (= NAPISAĆ PORZĄDNIE W ZESZYCIE) TE ZADANIA, KTÓRYCH NIE UMIAŁO SIĘ NA PONIEDZIAŁKOWYM SPRAWDZIANIE!
- na 26/27 X: tutaj
- na 19/20 X: Z2A, 2B, 2D, 2F, 30, 31 (gr. 1 powinna niestety dowiedzieć się, co oznaczają niepoznane dotąd pojęcia
(np. w Internecie))
- na 12-16 X: Z1E.d,i,j oraz dowiedzieć się (i zrozumieć!), na czym polega zamieszanie z przedrostkami SI w informatyce i co to są przedrostki
binarne; ponadto jeśli nie zgłosicie jakichś wątpliwości, przyjmę, że wszyscy potrafią już rozwiązać Z29
- na 5/6 X: nadrobić wcześniejsze zad. domowe, przerobić zadania ze sprawdzianu, uzasadnić
poprawność algorytmu z lekcji oraz Z: 1F, 21, 26
- na 28/29 IX: Z15, 16, 1E.a-b, 25; ponadto należy umieć Z13 (proszę przerobić co najmniej kilka przykładów w obu pętlach i przemyśleć
odpowiedzi na pytania) i potrafić zamieniać zapisy ułamków jak w Z23 - warto chyba przećwiczyć stamtąd przykłady,
które dotychczas opuściliśmy
- na 21/22 IX: Z6, 17, 18, 23.1 (bez ułamków), 23.3, 24
- na 14/15 IX: ZA-ZG
- na 7/8 IX: Z0-Z5
Co już powinniśmy wiedzieć / umieć / znać / potrafić (i będzie obowiązywało na sprawdzianie II!):
- nazwy dużych liczb, własności potęg,
- zapis liczby naturalnej i ułamków w dow. systemie pozycyjnym, algorytm dla liczb całk., rozpoznawanie cech ułamka pozycyjnego w danym
systemie,
- konwersja między systemami o podstawach będących potęgą tej samej liczby,
- schemat Hornera dla liczb całk. i ułomków,
- sufit i podłoga, dzielenie całkowite,
- logarytm o podstawie naturalnej, długość zapisu pozycyjnego liczby naturalnej,
- zapis liczby naturalnej w komputerze, bit, bajt, słowo, tetrada, przesunięcia bitowe,
- kodowanie U2, reprezentacja stało- i zmiennopozycyjna,
- kodowanie znaków, ASCII, komputerowy zapis danych nieliczbowych, formaty plików, zapis binarny i tekstowy,
- przedrostki SI i binarne.