Informatyka - OkrÄgowa Komisja Egzaminacyjna
Informatyka - OkrÄgowa Komisja Egzaminacyjna
Informatyka - OkrÄgowa Komisja Egzaminacyjna
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Okręgowa <strong>Komisja</strong> <strong>Egzaminacyjna</strong> we Wrocławiu<br />
I N F O R M A T Y K A<br />
E G Z A M I N M A T U R A L N Y 2 0 0 9<br />
n a D o l n y m Ś l ą s k u i O p o l s z c z y ź n i e<br />
SPRAWOZDANIE OKRĘGOWE<br />
Wrocław 2009
Opracowanie:<br />
Dorota Jurdzińska<br />
© Copyright by Okręgowa <strong>Komisja</strong> <strong>Egzaminacyjna</strong> we Wrocławiu 2009<br />
2
Spis treści<br />
1. Opis arkuszy i wybrane dane statystyczne ......................................................... 4<br />
2. Znajomość algorytmów a umiejętność rozwiązywania zadań algorytmicznych. ....... 7<br />
2.1. Poziom podstawowy ................................................................................. 8<br />
2.2. Poziom rozszerzony .................................................................................. 9<br />
3. Znajomość narzędzi informatycznych a rozwiązywanie zadań praktycznych ..........11<br />
3.1. Poziom podstawowy ................................................................................12<br />
3.2. Poziom rozszerzony .................................................................................15<br />
3
1. Opis arkuszy i wybrane dane statystyczne<br />
Do egzaminu maturalnego z informatyki, który się odbył się 21 maja 2009 r., przystąpiło<br />
po raz pierwszy 146 absolwentów szkół ponadgimnazjalnych w tym tylko 29 osób<br />
wybrało ten przedmiot jako obowiązkowy (tabela 1).<br />
Tabela 1. Liczby uczniów na egzaminie maturalnym z informatyki – zestaw standardowy 1<br />
Wyszczególnienie<br />
poziom<br />
podstawowy<br />
obowiązkowo<br />
poziom<br />
rozszerzony<br />
OKE Wrocław<br />
Liczba zdających<br />
RAZEM<br />
dodatkowo<br />
poziom<br />
rozszerzony<br />
RAZEM<br />
LO 7 3 10 68 78<br />
LP 3 1 4 2 6<br />
LU 1 1 2 2<br />
T 10 1 11 47 58<br />
TU 2 2 2<br />
RAZEM 23 6 29 117 146<br />
dolnośląskie<br />
LO 5 3 8 34 42<br />
LP 3 1 4 1 5<br />
LU 1 1 2 2<br />
T 7 1 8 42 50<br />
TU 1 1 1<br />
RAZEM 17 6 23 77 100<br />
opolskie<br />
LO 2 2 34 36<br />
LP 1 1<br />
LU<br />
T 3 3 5 8<br />
TU 1 1 1<br />
RAZEM 6 6 40 46<br />
1 Wszystkie statystyki w opracowaniu podano według stanu na dzień 30 06 2009 r.<br />
4
Tabela 2. Wskaźniki dotyczące zdawalności egzaminu maturalnego z informatyki<br />
Uzyskali co najmniej 30% pkt na egzaminie obowiązkowym<br />
zdający poziom podstawowy poziom rozszerzony razem<br />
liczba % liczba % liczba %<br />
OKE Wrocław<br />
LO 6 85,7 3 100,0 9 90,0<br />
LP 1 33,3 1 25,0<br />
LU 1 100,0 1 50,0<br />
T 10 100,0 1 100,0 11 100,0<br />
TU 1 50,0 1 50,0<br />
RAZEM 18 78,3 5 83,3 23 79,3<br />
dolnośląskie<br />
LO 4 80,0 3 100,0 7 87,5<br />
LP 1 33,3 1 25,0<br />
LU 1 100,0 1 50,0<br />
T 7 100,0 1 100,0 8 100,0<br />
TU<br />
RAZEM 12 70,6 5 83,3 17 73,9<br />
opolskie<br />
LO 2 100,0 2 100,0<br />
LP<br />
LU<br />
T 3 100,0 3 100,0<br />
TU 1 100,0 1 100,0<br />
RAZEM 6 100,0 6 100,0<br />
5
100<br />
90<br />
80<br />
70<br />
60<br />
50<br />
40<br />
87,5<br />
100,0<br />
Zdawalność egzaminu z informatyki w 2009 r.<br />
- zdający po raz pierwszy (stan 30 06 2009 r.)<br />
dolnośląskie<br />
opolskie<br />
100,0 100,0 100,0 100,0<br />
50,0<br />
73,9<br />
30<br />
25,0<br />
20<br />
10<br />
0<br />
0,0 0,0<br />
0,0<br />
LO LP LU T TU RAZEM<br />
Typ szkoły<br />
Diagram 1. Zdawalność egzaminu maturalnego z informatyki<br />
Średni wynik procentowy z informatyki zdawanej jako przedmiot obowiązkowy wyniósł<br />
47,0% dla poziomu podstawowego i był niŜszy od ubiegłorocznego o 3,4 punktów<br />
procentowych, a dla poziomu rozszerzonego 62,8% i był zbliŜony do ubiegłorocznego<br />
(tabela 3).<br />
Tabela 3. Średni wynik procentowy zdających egzamin maturalny z informatyki<br />
zdający<br />
PP<br />
obowiązkowy<br />
Średni wynik procentowy<br />
PR<br />
OKE Wrocław<br />
dodatkowy<br />
PR<br />
PR razem<br />
LO 37,7 89,7 35,4 41,3<br />
LP 24,0 3,0 10,0 7,7<br />
LU 6,0 32,0 32,0<br />
T 42,2 45,0 21,3 21,5<br />
TU 21,0<br />
RAZEM 35,0 58,2 29,3 32,7<br />
dolnośląskie<br />
LO 34,4 89,7 35,2 44,9<br />
LP 24,0 3,0 5,0 4,0<br />
LU 6,0 32,0 32,0<br />
T 42,6 45,0 20,5 20,7<br />
TU 6,0<br />
RAZEM 32,6 58,2 26,8 31,2<br />
6
opolskie<br />
LO 46,0 35,5 37,4<br />
LP 15,0 15,0<br />
LU<br />
T 41,3 28,2 28,2<br />
TU 36,0<br />
RAZEM 42,0 34,1 35,7<br />
Opis arkuszy egzaminacyjnych<br />
Centralna <strong>Komisja</strong> <strong>Egzaminacyjna</strong> przygotowała en dwa zestawy egzaminacyjne. Jeden<br />
dla poziomu podstawowego, drugi dla poziomu rozszerzonego. KaŜdy zestaw składał<br />
się z dwóch arkuszy (część teoretyczna i praktyczna), z których kaŜdy zawierał 3 zadania<br />
o zróŜnicowanej punktacji i wymagające samodzielnego sformułowania odpowiedzi. Za<br />
poprawne rozwiązanie wszystkich zadań z obu części zdający mógł uzyskać 50 punktów<br />
na poziomie podstawowym i 75 punktów na poziomie rozszerzonym.<br />
Zadania sprawdzały umiejętności opisane we wszystkich trzech obszarach standardów<br />
wymagań egzaminacyjnych.<br />
2. Znajomość algorytmów a umiejętność rozwiązywania zadań algorytmicznych.<br />
W sesji majowej 2009 roku egzamin maturalny z informatyki po raz pierwszy moŜna<br />
było zdawać jako przedmiot obowiązkowy – na poziomie podstawowym lub rozszerzonym.<br />
Do tej pory istniała moŜliwość wyboru informatyki jedynie jako przedmiotu dodatkowego<br />
– na poziomie rozszerzonym. Aby zdać egzamin z informatyki jako przedmiot<br />
obowiązkowy naleŜało otrzymać co najmniej 30% punktów moŜliwych do uzyskania na<br />
wybranym przez siebie poziomie.<br />
Egzamin maturalny z informatyki składa się z dwóch części. Część pierwsza polega<br />
na rozwiązywaniu zadań bez korzystania z komputera. W części drugiej zdający rozwiązuje<br />
zadania przy uŜyciu komputera i wybranych przez siebie narzędzi (język programowania,<br />
programy uŜytkowe). Jest to egzamin pisemny, sprawdzający wiadomości i umiejętności<br />
określone w Standardach Wymagań Egzaminacyjnych.<br />
Zarówno na poziomie podstawowym, jak i rozszerzonym w skład arkusza w części I<br />
wchodzą zadania róŜnego typu:<br />
• konstrukcja algorytmów: naleŜy przeanalizować dany problem, podać jego<br />
specyfikację i/lub zaproponować algorytm rozwiązujący zadanie;<br />
• analiza działania algorytmów: naleŜy prześledzić działanie podanego algorytmu<br />
dla przykładowych danych (i podać wyniki działania dla tych danych); ogólniej,<br />
naleŜy ustalić jak działa algorytm, jakie jest powiązanie między danymi wejściowymi<br />
a wynikiem;<br />
• analiza wydajności algorytmów: dla własnego lub podanego w zadaniu algorytmu<br />
naleŜy ustalić liczbę wykonywanych operacji (w zaleŜności od rozmiaru danych),<br />
ewentualnie równieŜ rozmiar zajmowanej pamięci;<br />
• projektowanie i analiza struktur danych dla podanego problemu: naleŜy zaproponować<br />
struktury danych dla realizacji zadania; w szczególności zadania mogą do-<br />
7
tyczyć projektowania struktury relacyjnej bazy danych (tabel), ustalania związków<br />
między tabelami;<br />
• znajomość i rozumienie podstawowych pojęć i zagadnień informatycznych: zadania<br />
zamknięte wielokrotnego wyboru, typu prawda/fałsz i zadania na dobieranie;<br />
czasami naleŜy uzasadnić podane wybory.<br />
Opisane zadania obejmują przede wszystkim standardy I i II, czyli wiadomości i rozumienie<br />
oraz korzystanie z informacji. W ich treści wskazane są konkretne techniki, metody<br />
i pojęcia, które naleŜy zastosować bądź wykazać się ich znajomością. Zdający<br />
powinien między innymi znać i rozumieć podstawowe pojęcia i metody związane<br />
z informatyką, a przede wszystkim techniki algorytmiczne i algorytmy. Ponadto zdający<br />
powinien rozumieć pojęcie algorytmu, znać róŜne sposoby jego zapisu, sprawdzać zgodność<br />
algorytmu ze specyfikacją.<br />
W obszarze dotyczącym korzystania z informacji zdający powinien zastosować posiadaną<br />
wiedzę do rozwiązywania zadań zarówno teoretycznych, jak i praktycznych.<br />
W zakresie algorytmiki zdający powinien umieć stosować podstawowe algorytmy<br />
i struktury danych w rozwiązywaniu problemów informatycznych oraz wykonywać kolejne<br />
etapy prowadzące do otrzymania rozwiązania zadania, od sformułowania specyfikacji<br />
problemu do zapisu właściwej części algorytmu w jednej z wybranych notacji.<br />
Aby zdać maturę z informatyki naleŜy uzyskać 30% punktów, czyli na poziomie podstawowym<br />
15 punktów, zaś na poziomie rozszerzonym 23 punkty.<br />
Zadania zawarte w arkuszu w maju 2009 r. wymagały od zdających głównie logicznego<br />
myślenia, kojarzenia informacji i zastosowania podstawowej wiedzy z matematyki.<br />
Zilustrujemy tę tezę analizując zadania algorytmiczne z pierwszego arkusza poziomu<br />
podstawowego i rozszerzonego pod kątem znajomości algorytmów i technik podanych<br />
w standardach wymagań egzaminacyjnych.<br />
2.1. Poziom podstawowy<br />
Zadanie pierwsze opierało się na analizie działania algorytmu – sprawdzającego, czy<br />
podany niepusty ciąg liczb dodatnich jest rosnący. Trzeba było prześledzić jego działanie<br />
na konkretnych danych i zmodyfikować algorytm tak, aby znajdował najlepszy wynik zawodnika<br />
w podanym niepustym ciągu liczb dodatnich.<br />
W podpunkcie a) naleŜało uzupełnić specyfikację, a konkretnie podać kiedy algorytm<br />
poda odpowiedź TAK, a kiedy NIE. Część zdających miała z tym problem, moŜna było<br />
odnieść wraŜenie, Ŝe pierwszy raz na maturze spotkali się z pojęciem specyfikacji.<br />
Największy problem sprawił maturzystą podpunkt b), w którym naleŜało podać ile razy<br />
dla konkretnych danych zostanie wykonany w algorytmie krok 3. Część zdających<br />
omijała ten podpunkt albo podawało liczbę, z której wynikało, Ŝe wykonywali pętlę z kroku<br />
4 niezaleŜnie od tego, czy warunek "następna jest większa od aktualna" w instrukcji<br />
warunkowej był prawdziwy czy fałszywy.<br />
W punkcie c) naleŜało zauwaŜyć, Ŝe jeśli usuniemy zakończenie algorytmu<br />
w przypadku nie spełnienia warunku w kroku 4, a krok 4.2 będzie wykonywany aŜ do<br />
zakończenia algorytmu, czyli stanie się krokiem 5, to wartość zmiennej aktualna będzie<br />
wskazywała największą wartość znalezioną w niepustym skończonym ciągu liczb dodatnich<br />
i tą zmienną naleŜało wypisać na zakończenie działania algorytmu w kroku 2 (zamiast<br />
TAK).<br />
8
Zadanie nie wymagało znajomości konkretnych algorytmów ze standardów wymagań<br />
egzaminacyjnych, a jedynie logicznego myślenia i umiejętności modyfikacji i analizowania<br />
pętli. NaleŜy zauwaŜyć, Ŝe dwa pierwsze punkty miały naprowadzić maturzystę na odpowiedź<br />
do punktu c). Zdający mógł otrzymać za to zadanie 6 punktów.<br />
Zadanie drugie dotyczyło systemu dwójkowego. Algorytm pozycyjnej reprezentacji<br />
liczb występuje w standardach wymagań egzaminacyjnych z informatyki na poziomie<br />
podstawowym. Zagadnienie to występuje po raz pierwszy na lekcjach informatyki juŜ na<br />
poziomie gimnazjum.<br />
W punkcie a) zdający mieli za zadanie uzupełnić tabelkę z cennikiem, czyli dwie liczby<br />
dziesiętne zamienić na system dwójkowy i dwie liczby zapisane w systemie dwójkowym<br />
zamienić na system dziesiętny. Większość zdających poprawnie zamieniało ceny na<br />
system dziesiętny, gorzej poradzili sobie z zamianą w drugą stronę.<br />
Podpunkt b) polegał na napisaniu algorytmu zamiany liczb z systemu dwójkowego na<br />
system dziesiętny z uwzględnieniem, Ŝe ceny są podawane z dokładnością do dwóch<br />
miejsc po przecinku. W przypadku tego zadania zdający miał juŜ podaną pełną specyfikację.<br />
Jednak niewielu uczniów podjęło próbę rozwiązania tego zadania. Maturzyści, którzy<br />
podjęli się napisania algorytmu, najlepiej radzili sobie z zamianą na system dziesiętny<br />
części całkowitej liczby. Dziwić moŜe słabe radzenie sobie z częścią dziesiętną, gdyŜ dotyczyła<br />
ona tylko dwóch miejsc po przecinku i jej wszystkie wartości moŜna było poznać<br />
juŜ w punkcie a): 00 to 0,00; 01 to 0,25; 10 to 0,50; a 11 to 0,75. Nasuwa się wniosek,<br />
iŜ maturzyści potrafią w praktyce zastosować algorytm zamiany liczby zapisanej<br />
w systemie dwójkowym, zaś nie radzą sobie z zapisem formalnym tego algorytmu. Za<br />
całe zadanie moŜna było uzyskać 6 punktów.<br />
2.2. Poziom rozszerzony<br />
Zadanie drugie było zadaniem typowo algorytmicznym. Polegało głównie na zapisaniu<br />
algorytmu obliczającego punkty kratowe w kole (w tym na jego brzegu)<br />
o zadawanym całkowitym promieniu R. Trzeba podkreślić, Ŝe do rozwiązania tego zadania<br />
nie potrzeba znajomości Ŝadnych szczególnych technik czy algorytmów. NaleŜało jedynie<br />
znaleźć metodę na sprawdzenie, które punkty kratowe leŜą wewnątrz koła.<br />
W tym zadaniu wystarczyło zorganizować dwie pętle zagnieŜdŜone (lub jedną pętlę)<br />
i wykorzystać w pętli wewnętrznej nierówność opisującą koło. W ten sposób moŜna było<br />
sprawdzić, czy punkt o współrzędnych (x,y) leŜy w kole lub na jego brzegu. Ten sposób<br />
rozwiązania wybrała część zdających (obliczając punkty kratowe w całym kole lub w jednej<br />
ćwiartce). Równanie okręgu oraz nierówność opisująca koło znajdują się<br />
w standardach wymagań egzaminacyjnych na poziomie rozszerzonym z matematyki. Maturzysta<br />
powinien umieć przedstawić okrąg za pomocą równania z dwiema niewiadomymi<br />
oraz przedstawić koło za pomocą nierówności z dwiema niewiadomymi.<br />
Istotne jest, Ŝe schemat punktowania tego zadania nie wykluczał alternatywnego<br />
rozwiązania. Część zdających próbowała wpisywać coraz większe kwadraty w koło i na tej<br />
podstawie obliczać punkty kratowe. Bardzo wielu maturzystów nie korzystało z równania<br />
okręgu wprost, ale stosowało twierdzenie Pitagorasa do sprawdzenia, czy dany punkt<br />
kratowy leŜy wewnątrz koła.<br />
To zadanie nie wymagało znajomości konkretnego algorytmu czy techniki ze standardów<br />
wymagań egzaminacyjnych, a jedynie umiejętności logicznego myślenia, kon-<br />
9
struowania zagnieŜdŜonych pętli i zastosowania prostych wzorów z matematyki podczas<br />
tworzenia algorytmu. Mimo to okazało się zadaniem bardzo trudnym dla maturzystów<br />
(łatwość zadania 2B – 0,18). Za napisanie algorytmu uczeń mógł uzyskać aŜ 10 punktów<br />
(dodatkowo 4 punkty otrzymywał za uzupełnienie liczby punktów kratowych w tabeli dla<br />
zadanego, małego promienia R, co było bardzo proste).<br />
Zadanie trzecie dotyczyło obliczania największego wspólnego dzielnika dwóch liczb.<br />
Uczniowie otrzymali rekurencyjny zapis algorytmu Euklidesa oraz podano przykład, jak<br />
naleŜy z niego korzystać.<br />
W podpunkcie a) naleŜało podać liczbę wywołań podanej funkcji rekurencyjnej dla<br />
dwóch przypadków. Większość uczniów poprawnie obliczała NWD(72,56), natomiast problem<br />
sprawiało obliczanie NWD(56,72). Spora grupa zdających podawała, Ŝe występuje<br />
tylko jedno wywołanie funkcji. Maturzyści nie umieli się w tym wypadku posłuŜyć algorytmem<br />
rekurencyjnym, tylko jednokrotnie wywoływali funkcję. Nasuwa się wniosek, Ŝe<br />
rekurencja nie w kaŜdej szkole jest tematem poruszanym na lekcjach informatyki. Za ten<br />
podpunkt moŜna było uzyskać 2 punkty.<br />
Podpunkt b) zadania polegał na napisaniu nierekurencyjnego algorytmu obliczania<br />
NWD dwóch liczb wraz ze specyfikacją. W tym przypadku największe problemy sprawiało<br />
napisanie specyfikacji do zadania. NaleŜy podkreślić, Ŝe specyfikacja jest istotną częścią<br />
rozwiązania problemu algorytmicznego, gdyŜ dopiero ze specyfikacji moŜna jednoznacznie<br />
oceniać poprawność rozwiązania. Maturzyści, którzy podejmowali próbę rozwiązania<br />
tego zadania, poprawnie pisali zadany algorytm, zarówno w języku programowania,<br />
pseudokodzie, jak i w schemacie blokowym. Dominowały dwa rozwiązania: pierwsza,<br />
mniejsza grupa uczniów, zamieniła algorytm rekurencyjny na analogiczny algorytm iteracyjny.<br />
Druga, większa grupa zdających, pisała algorytm naiwny: dzieliła obie liczby przez<br />
1, 2, 3,..., min (a,b) i w ten sposób znajdowała NWD (a,b). Za ten podpunkt zdający<br />
mógł uzyskać 8 punktów (w tym 2 punkty za specyfikację).<br />
ZauwaŜmy, Ŝe w tym zadaniu nie trzeba było wykazać się znajomością algorytmu<br />
Euklidesa, a jedynie umiejętnością analizy tego algorytmu oraz zamiany podanego algorytmu<br />
rekurencyjnego na iteracyjny lub napisania dowolnego algorytmu wyznaczającego<br />
największy wspólny dzielnik dwóch liczb. Algorytm Euklidesa występuje w standardach<br />
wymagań egzaminacyjnych z informatyki na poziomie podstawowym, podobnie jak zagadnienia<br />
związane z iteracją i rekurencją. Na matematyce uczniowie poznają ten algorytm<br />
juŜ w szkole podstawowej. Zadanie nie okazało się łatwe dla maturzystów. Z analizą<br />
algorytmu rekurencyjnego poradziła sobie część zdających (łatwość zadania 3A – 0,54),<br />
gorzej było z zapisaniem algorytmu NWD w postaci nierekurencyjnej (łatwość zadania 3B<br />
– 0,44).<br />
Podsumowując moŜna stwierdzić, Ŝe zadania na tegorocznej maturze z informatyki<br />
zarówno na poziomie podstawowym jak i rozszerzonym nie były trudne. Maturzyści znający<br />
tylko podstawowe techniki algorytmiczne, mogli zdobyć na poziomie podstawowym<br />
około 14-16 punktów zaś na poziomie rozszerzonym około 18-20 punktów za pierwszą<br />
część egzaminu. Nawet jeŜeli nie radzili sobie z zadaniami 2b (na obu poziomach), ale<br />
udzielili poprawnych odpowiedzi w podpunkcie a) tych zadań, uzyskali 50% punktów<br />
z testu oraz poprawnie rozwiązali pozostałe zadania, w najgorszym wypadku powinni<br />
uzyskać 10-12 punktów na poziomie podstawowym i około 13-17 punktów na poziomie<br />
10
ozszerzonym. W związku z tym nasuwa się szereg uwag i wskazówek dla nauczycieli<br />
informatyki.<br />
Z wyników egzaminu nasuwa się wniosek, Ŝe bezwzględnie trzeba podawać specyfikację<br />
przed zapisywaniem zasadniczej części algorytmu. Nauczyciele powinni przywiązywać<br />
większą wagę do określania danych wejściowych i wyniku oraz powinni zwracać<br />
uwagę na to, Ŝe pomocnicze zmienne, uŜywane w rozwiązaniu zadania, nie powinny się<br />
znaleźć w specyfikacji.<br />
W dalszym ciągu duŜo kłopotów sprawia uczniom konstruowanie algorytmu do postawionego<br />
zadania (problemu). Istotna jest takŜe umiejętność analizy zapisanych algorytmów<br />
– nauczyciele przeznaczają na to zagadnienie zbyt mało czasu.<br />
Ostatnim, ale nie mniej waŜnym wnioskiem dla nauczycieli jest to, aby pamiętali na<br />
lekcjach o pojęciu rekurencji. NaleŜy więcej czasu poświęcać algorytmom rekurencyjnym,<br />
analizie rozwiązań rekurencyjnych, przekształcaniu iteracji na rekurencję i odwrotnie.<br />
Zdający natomiast powinni starannie przeanalizować wymagania i standardy egzaminacyjne<br />
przed wybraniem danego poziomu egzaminu.<br />
3. Znajomość narzędzi informatycznych a rozwiązywanie zadań praktycznych<br />
Zadania z arkusza II są rozwiązywane w drugiej części egzaminu, przy uŜyciu komputera.<br />
Podobnie jak w arkuszu I, kaŜde zadanie składa się z kilku podpunktów, które<br />
dotyczą tematu przewodniego zadania. Autorzy układając zadania do tego arkusza muszą<br />
uwzględnić listę środowisk, języków programowania i programów uŜytkowych, z której<br />
mogą wybierać zdający egzamin maturalny z informatyki. Oznacza to w szczególności, Ŝe<br />
zadania te moŜna rozwiązać w naturalny sposób korzystając z tych narzędzi, które są<br />
dostępne podczas egzaminu maturalnego. Do typowych zadań występujących w tym arkuszu<br />
zaliczyć moŜna:<br />
• konstruowanie rozwiązań algorytmicznych i ich implementacja: dla problemu<br />
o podanej specyfikacji naleŜy skonstruować rozwiązanie komputerowe, które pozwoli<br />
wyznaczyć wynik dla danych wejściowych zgodnych ze specyfikacją; następnie,<br />
własne rozwiązanie naleŜy zastosować do konkretnych danych wejściowych<br />
i podać uzyskane wyniki; w niektórych zadaniach ocenia się nie tylko poprawność<br />
wyników, ale takŜe wydajność rozwiązań komputerowych (np. złoŜoność czasową<br />
algorytmu); zazwyczaj, najbardziej naturalnym rozwiązaniem komputerowym dla<br />
zadań tego typu jest program komputerowy; naleŜy jednak podkreślić, Ŝe wybór<br />
metody rozwiązania naleŜy zazwyczaj w takich zadaniach do maturzysty i moŜliwe<br />
jest, Ŝe tam gdzie najbardziej naturalne wydaje się napisanie programu, równie<br />
skuteczne będzie zastosowanie narzędzi dostępnych w programach uŜytkowych<br />
(np. w arkuszu kalkulacyjnym);<br />
• symulacje komputerowe: dla opisanego w zadaniu zjawiska, procesu itp., naleŜy<br />
stworzyć realizację komputerową symulującą kolejne etapy działania, przebiegu<br />
zjawiska; korzystając z tej symulacji, trzeba wyznaczyć wynik działania dla zadanych<br />
warunków początkowych;<br />
• przetwarzanie danych: zadania polegają na wydobyciu konkretnych informacji<br />
bądź odpowiednim uporządkowaniu danych dołączonych do treści zadania (zazwyczaj<br />
na dołączonej płycie CD); rozmiar danych i ich specyfika sprawia, Ŝe zazwyczaj<br />
najlepszą ich reprezentacją są powiązane ze sobą tabele.<br />
11
Wszystkie dane dołączone na płycie CD do zadań są plikami w formacie tekstowym,<br />
zaś same dane opisane są w treści zadania. Format tekstowy danych pozwala zdającemu<br />
przetwarzać je zarówno w dowolnym narzędziu jak i przy pomocy własnego programu<br />
napisanego w wybranym przez siebie języku programowania.<br />
Standardy wymagań egzaminacyjnych jasno określają, czego naleŜy wymagać od<br />
zdającego egzamin maturalny z informatyki. Przede wszystkim maturzysta przystępujący<br />
do egzaminu maturalnego z informatyki powinien umieć dobrać właściwy program (uŜytkowy<br />
lub napisany własnoręcznie) do rozwiązania zadania oraz świadomie wybierać właściwy<br />
sposób rozwiązania zadania. Niestety, wiele zagadnień nadal nie jest poruszanych<br />
na lekcjach informatyki i znaczna część zdających nie jest kompleksowo przygotowana do<br />
matury z informatyki, tzn. nie mają oni wiedzy i umiejętności, jakie są wymagane<br />
w standardach egzaminacyjnych. Niejednokrotnie czas na lekcjach nie jest wykorzystywany<br />
optymalnie i z tego powodu pomija się niektóre istotne zagadnienia. Tezę tą ilustrują<br />
wyniki matury, pokazujące które zagadnienia są zaniedbywane w szkołach. Ale mimo<br />
takich braków w wiedzy, istnieje moŜliwość uzyskania pozytywnego wyniku z egzaminu<br />
maturalnego. PokaŜemy, Ŝe wystarczy dobra znajomość jednego z programów uŜytkowych,<br />
aby uzyskać tylko z części praktycznej minimum 30% punktów potrzebnych do<br />
zdania matury z informatyki, zarówno na poziomie podstawowym jak i rozszerzonym.<br />
Przeanalizujmy zadania z drugiej części egzaminu na poziomie rozszerzonym.<br />
3.1. Poziom podstawowy<br />
Pierwsze zadanie arkusza II na poziomie podstawowym jest typowym zadaniem do<br />
rozwiązania w arkuszu kalkulacyjnym. W pliku tekstowym dane są średnie miesięczne<br />
temperatury w Warszawie w latach 1779-2006. W pierwszych trzech podpunktach nale-<br />
Ŝało wydobyć informacje o najwyŜszych i najniŜszych średnich rocznych i miesięcznych<br />
temperaturach. Trzeba teŜ było sporządzić wykres punktowy ilustrujący najwyŜsze i najniŜsze<br />
średnie temperatury w miesiącach od stycznia do grudnia. Do realizacji tych<br />
poleceń wystarcza podstawowa znajomość funkcji arkusza kalkulacyjnego. W szczególności,<br />
rozwiązanie punktów (a) i (b) moŜemy uzyskać wyliczając średnie roczne temperatury<br />
(funkcja ŚREDNIA) ze średnich temperatur miesięcznych, a potem korzystając<br />
z funkcji MIN i MAX na obszarze odpowiadającym średnim temperaturom rocznym. Maturzyści<br />
poradzili sobie z tymi podpunktami całkiem dobrze.<br />
Trudniejszym i mniej standardowym zadaniem był ostatni podpunkt d), w którym<br />
trzeba było znaleźć najdłuŜszy podciąg malejący w ciągu utworzonym ze średnich miesięcznych<br />
temperatur sierpnia. Podpunkt ten sprawił maturzystom największe trudności,<br />
rozwiązały go nieliczne osoby. Jedno z moŜliwych rozwiązań moŜe polegać na utworzeniu<br />
dodatkowej kolumny. W kolumnie tej, korzystając z funkcji JEśELI, umieszczamy:<br />
• w pierwszym wierszu liczbę 1;<br />
• w kaŜdym następnym wierszu: wartość o jeden większą od wartości w poprzednim<br />
wierszu (jeśli bieŜąca wartość temperatury w sierpniu jest mniejsza od poprzedniej)<br />
lub wartość 1, w przeciwnym przypadku.<br />
Największa wartość w tak zdefiniowanej kolumnie odpowiadać będzie wielkości najdłuŜszego<br />
podciągu malejącego. Fragment przykładowego rozwiązania prezentujemy na<br />
poniŜszym rysunku.<br />
12
Rys. 1. Zadanie 4, szukanie najdłuŜszego malejącego podciągu<br />
Zadanie 5 ma charakter programistyczny. WyróŜnia się ono tym, iŜ w treści wymaga<br />
się wprost, aby rozwiązanie było uzyskane przy pomocy samodzielnie napisanego programu<br />
komputerowego. Sam problem jest bardzo prosty, do rozwiązania wystarczy<br />
umiejętność sprawdzania pierwszości liczby (ćwiczona juŜ w szkole podstawowej!) oraz<br />
sprawdzania czy podana liczba jest kwadratem innej liczby naturalnej. Jedynej trudności<br />
upatrywać tu moŜna w „tłumaczeniu” znanych uczniom prostych algorytmów na poprawnie<br />
działający program w konkretnym języku programowania. Okazało się, Ŝe dla maturzystów<br />
wybierających poziom podstawowy była to trudność nie do pokonania! Nikt nie<br />
rozwiązał tego zadania! Jak wynika z treści zadania, ocenie podlega nie tylko odpowiedź<br />
programu dla dostarczonych danych, ale równieŜ jego poprawność dla dowolnych danych<br />
spełniających podaną specyfikację (chodzi tutaj m.in. o wyeliminowanie rozwiązań,<br />
w których program wybiera kwadraty liczb naturalnych, natomiast pierwszość sprawdzana<br />
jest ręcznie).<br />
Ostatnie zadanie drugiego arkusza ma charakter bazodanowy. Dane do zadania<br />
umieszczone są w dwóch plikach opisujących mieszkania i ich właścicieli. Pliki te odpowiadają<br />
dwóm tabelom relacyjnej bazy danych, powiązanym poprzez identyfikator<br />
mieszkania. Z tego powodu naturalnym jest tutaj zastosowanie aplikacji bazodanowej,<br />
realizującej automatycznie takie powiązania. Niemniej, wprawni uŜytkownicy arkuszy<br />
kalkulacyjnych poradzą sobie z takim zadaniem równie dobrze, korzystając z róŜnych<br />
funkcji wyszukiwania (np. funkcja WYSZUKAJ.PIONOWO). Co więcej, dane do tego<br />
konkretnego zadania są skonstruowane w ten sposób, Ŝe kolejne wiersze pliku adres.txt<br />
(od pierwszego do trzechsetnego) odpowiadają kolejnym wierszom pliku osoby.txt. A<br />
więc połączenie plików moŜna uzyskać w arkuszu kalkulacyjnym przez proste kopiowanie<br />
i wklejanie.<br />
13
Warto zwrócić uwagę, Ŝe podpunkty (a) i (d) nie wymagają w ogóle korzystania<br />
z powiązania obu tabel: w podpunkcie (a) naleŜy ustalić osoby występujące w pliku osoby.txt<br />
więcej niŜ raz, a podpunkt (d) wymagał zliczenia kobiet, co w tym przypadku<br />
oznaczało liczbę osób o imieniu kończącym się literą a. Jednak właśnie te punkty ((a)<br />
i (d)) okazały się najtrudniejsze; poprawnie rozwiązało je mniej niŜ 20% maturzystów.<br />
MoŜe to wynikać z faktu, Ŝe ustalenie liczby osób o róŜnych imionach i nazwiskach (podpunkt<br />
(a)) wymaga uŜycia raczej niestandardowych, choć prostych operacji. Rozwiązanie<br />
tego podpunktu w arkuszu kalkulacyjnym moŜe polegać na przykład na:<br />
posortowaniu osób wg nazwiska i imienia;<br />
zliczaniu liczby wierszy, w których imię i nazwisko są takie same jak w wierszu następnym<br />
i inne niŜ w wierszu poprzednim.<br />
Rys. 2. prezentuje fragment takiego rozwiązania.<br />
Rys. 2. Zadanie 6, zliczanie osób, które mają więcej niŜ 1 mieszkanie<br />
Podpunkt (d) wymagał uŜycia funkcji tekstowych, co być moŜe było dodatkowym<br />
utrudnieniem (w Excelu wystarczy uŜyć funkcji PRAWY, która umoŜliwia wydobycie ustalonej<br />
liczby skrajnie prawych znaków z tekstu). Drobnym utrudnieniem był teŜ fakt, Ŝe ta<br />
sama osoba moŜe występować w zestawieniu więcej niŜ jeden raz.<br />
O ile dane z plików osoby.txt i adres.txt zostały połączone, podpunkty (b) i (c) stają<br />
się dość łatwe. W punkcie (b) liczymy powierzchnię przypadającą na osobę w oparciu<br />
o pola metraŜ mieszkania i liczba osób zamieszkujących to mieszkanie, a do rozwiązania<br />
zadania uŜywamy funkcji filtrowania dostępnych zarówno w aplikacjach bazodanowych<br />
jak i w arkuszu kalkulacyjnym. W punkcie (c) równieŜ wystarczy proste filtrowanie. Wyniki<br />
maturzystów w punktach (b) i (c) są duŜo lepsze niŜ w punktach (a) i (d).<br />
Podsumowując moŜemy zauwaŜyć, Ŝe dwa spośród trzech zadań w arkuszu II poziomu<br />
podstawowego w naturalny sposób moŜna rozwiązać za pomocą arkusza kalkulacyj-<br />
14
nego. UmoŜliwia to uzyskanie 22 punktów spośród 30 punktów do zdobycia w tej części<br />
egzaminu.<br />
3.2. Poziom rozszerzony<br />
Pierwsze zadanie z arkusza polegało na utworzeniu rysunku smoka Heighwaya oraz<br />
obliczeniu środka cięŜkości smoka i jego rozmiarów. Aby utworzyć rysunek, naleŜało wygenerować<br />
kilka tysięcy punktów według podanego algorytmu. Było to zadanie typowo<br />
symulacyjne. Spotykane były dwa rozwiązania. Część maturzystów rozwiązywała zadanie<br />
w arkuszu kalkulacyjnym, inni za pomocą języka programowania. W drugiej metodzie<br />
generowano właściwe punkty oraz obliczano rozmiary smoka i jego środek, ale zdarzały<br />
się prace bez wygenerowanych rysunków. Z drugiej strony spora grupa maturzystów<br />
wczytywała wygenerowane przez własny program punkty do arkusza kalkulacyjnego<br />
i w nim wykonywała rysunek smoka. Zadanie okazywało się zupełnie proste dla osób<br />
rozwiązujących je od początku do końca w arkuszu kalkulacyjnym. PoniŜej, na Rys 3 –<br />
Rys 6 przedstawiamy fragment rozwiązania. Przy uŜyciu funkcji LOS() wygenerowano<br />
liczbę losową z przedziału [0,1). Na podstawie wylosowanej liczby, przy uŜyciu wbudowanej<br />
funkcji JEśELI dokonano wyboru układu równań (przyjmując, Ŝe układy miały numery,<br />
np. 0 i 1). Po ustaleniu układu równań wyznaczano kolejne wartości x i y. Po wygenerowaniu<br />
5000 punktów wystarczyło wykonać wykres smoka. Wyznaczenie środka cięŜkości<br />
smoka wymagało zastosowania funkcji ŚREDNIA, natomiast obliczenie rozmiarów<br />
smoka – wykorzystanie funkcji MIN oraz MAX. Za całe zadanie moŜna było otrzymać<br />
maksymalnie 14 punktów. Najczęstsze błędy to: brak obrazu smoka, niepoprawny wybór<br />
wariantu układu w kolejnych iteracjach lub niepoprawne obliczanie współrzędnych x<br />
i y według wybranego układu równań.<br />
Rys. 3. Zadanie 4, losowanie układu równań<br />
15
Rys. 4. Zadanie 4, wybór układu równań<br />
Rys. 5. Obliczanie nowej współrzędnej x<br />
16
Rys. 6. Obliczanie nowej współrzędnej y<br />
Drugie zadanie „Para słów” było zadaniem typowo programistycznym. Było ono<br />
w większości pomijane przez maturzystów. Nieliczna grupa osób poradziła sobie<br />
z zaprogramowaniem własności palindromu. Na uwagę zasługuje fakt, Ŝe znaleźli się maturzyści,<br />
którzy własność palindromu sprawdzali w arkuszu kalkulacyjnym, co było zadaniem<br />
bardzo czasochłonnym, ale do wykonania. Za tę część zadania uczeń mógł otrzymać<br />
4 punkty. Bardzo wielu zdających wykonało podpunkt b) tego zadania, w którym<br />
naleŜało sprawdzić zawieranie się słowa B w słowie A. Za rozwiązanie tego podpunktu<br />
maturzysta otrzymywał 2 punkty. NaleŜy podkreślić, Ŝe do rozwiązania tego podpunktu<br />
wystarczyło skorzystać z opcji wyszukiwania w dowolnym edytorze tekstu lub w arkuszu<br />
kalkulacyjnym. Za całe zadanie uczeń mógł otrzymać maksymalnie 17 punktów, ale korzystając<br />
tylko z arkusza kalkulacyjnego zdający mógł dość łatwo rozwiązać podpunkty a)<br />
i b), co pozwalało otrzymać 6 punktów.<br />
Ostatnie zadanie w arkuszu było zadaniem bazodanowym. Korzystając z trzech plików<br />
z danymi naleŜało utworzyć 4 zestawienia. Trzeba zwrócić uwagę na to, Ŝe egzaminatorzy<br />
nie oceniają sposobu rozwiązania zadania (zadanie nie zawierało wskazania<br />
w jakim narzędziu powinno być rozwiązane). Istotne było, aby umieścić właściwe zestawienie<br />
dla kaŜdego podpunktu oraz aby dołączyć komputerową realizację tego rozwiązania.<br />
ZauwaŜmy raz jeszcze, Ŝe bardzo często maturalne zadania bazodanowe moŜna<br />
w łatwy sposób rozwiązać za pomocą arkusza kalkulacyjnego, bez korzystania z bardzo<br />
zaawansowanych opcji (typu tabele przestawne).<br />
W podpunkcie a) naleŜało utworzyć zestawienie zawierające nazwiska i imiona lekarzy<br />
oraz liczbę wizyt przeprowadzonych przez kaŜdego lekarza. Zestawienie miało być<br />
posortowane wg liczby wizyt. śeby rozwiązać to zadanie przy pomocy arkusza kalkulacyjnego,<br />
trzeba wykorzystać 2 pliki: wizyty.txt oraz lekarze.txt. Najpierw trzeba wczytać<br />
te pliki do arkusza kalkulacyjnego. Potem wystarczy zliczyć, ile razy pojawia się odpowiedni<br />
identyfikator lekarza z pliku lekarze.txt w pliku wizyty.txt, wykorzystując funkcję<br />
LICZ.JEśELI, wpisując w kryteria adres komórki z identyfikatorem lekarza. Po zastosowa-<br />
17
niu sortowania i wybraniu odpowiednich kolumn otrzymujemy Ŝądane w zadaniu zestawienie.<br />
Oczywiście tę część zadania moŜna rozwiązać takŜe w inny sposób. Za ten podpunkt<br />
zdający mógł otrzymać 4 punkty. Na rys. 7 przedstawiamy przykład fragmentu<br />
rozwiązania.<br />
Rys. 7. Zadanie 6a, wykorzystanie funkcji LICZ.JEśELI<br />
W podpunkcie b) trzeba podać zestawienie pacjentów urodzonych przed 1 lipca 1973<br />
oraz liczbę wizyt lekarzy. Aby rozwiązać ten podpunkt w arkuszu kalkulacyjnym, wykorzystujemy<br />
opcję AUTOFILTRU oraz, podobnie jak w podpunkcie a), wykorzystujemy<br />
funkcję LICZ.JEśELI, z tym Ŝe tym razem parametrem w kryteriach będzie adres komórki<br />
z identyfikatorem pacjenta. Po posortowaniu otrzymanego zestawienia uzyskujemy rozwiązanie<br />
warte 3 punkty. Fragment rozwiązania przedstawiony jest na rys. 8 oraz rys. 9.<br />
Podpunkt c) był zadaniem bardzo prostym, poniewaŜ wymagał wykorzystania informacji<br />
tylko z jednego pliku lekarze.txt. Z tego powodu za zadanie moŜna było otrzymać<br />
jedynie 2 punkty. W rozwiązaniu naleŜało podać zestawienie lekarzy, których numer NIP<br />
rozpoczyna się od cyfry 8. Na początku sortujemy lekarzy według specjalności. Potem<br />
przydaje się funkcja AUTOFILTR (autofiltr niestandardowy) do wybrania lekarzy<br />
z odpowiednim numerem NIP. Na Rys. 10 przedstawiamy fragment rozwiązania.<br />
18
Rys. 8: Zadanie 6b, wyszukiwanie osób urodzonych przed 1 lipca 1973<br />
Rys. 9. Zadanie 6b, wykorzystanie funkcji LICZ.JEśELI<br />
19
Rys. 10. Zadanie 6c, wykorzystanie autofiltru niestandardowego<br />
Podpunkt d), w którym naleŜało podać zestawienie zawierające informacje, u ilu lekarzy<br />
leczył się kaŜdy pacjent, równieŜ moŜna było rozwiązać za pomocą arkusza kalkulacyjnego.<br />
Najprościej ponownie wykorzystać funkcję LICZ.JEśELI do sprawdzenia, ile<br />
razy dany identyfikator pacjenta znalazł się w pliku wizyty.txt. Tutaj moŜe jednak spotkać<br />
nas drobna pułapka. Takie rozwiązanie będzie prawidłowe tylko przy załoŜeniu, Ŝe<br />
pacjent odwiedzał danego lekarza tylko jeden raz, dlatego naleŜy ten podpunkt rozwiązać<br />
inaczej; na przykład stosując wspomniane wcześniej autofiltr i odpowiednie sortowanie.<br />
Szczegóły pozostawiamy czytelnikom.<br />
Jak wykazaliśmy, zadanie 6 bez problemu moŜna było rozwiązać z wykorzystaniem<br />
arkusza kalkulacyjnego, niekoniecznie w narzędziu bazodanowym. Jedynie podpunkt d)<br />
tego zadania mógł się okazać pracochłonny. Korzystając jedynie z arkusza kalkulacyjnego,<br />
zdający mógł uzyskać minimum 9 punktów na 14 moŜliwych do zdobycia.<br />
Po przeanalizowaniu zadań z części praktycznej nasuwa się kilka wniosków. Przypomnijmy,<br />
Ŝe do zdania matury z informatyki wystarczy uzyskać 30% punktów, co na poziomie<br />
podstawowym oznaczało zdobycie 15 punktów, zaś na poziomie rozszerzonym 23<br />
punktów. Wykorzystując jedynie arkusz kalkulacyjny oraz umiejętność logicznego myślenia<br />
moŜna było zdobyć z części drugiej poziomu rozszerzonego nawet 29 punktów. W<br />
najgorszym przypadku, nawet jeŜeli maturzysta nie radził sobie z zadaniem 5, zdobywając<br />
14 punktów za zadanie 4, oraz 9 punktów za zadanie 6 (podpunkty a-c) maturzysta<br />
uzyskałby 23 punkty, co wystarczało do zdania matury z informatyki.<br />
Według standardów egzaminacyjnych zdający powinien stosować posiadaną wiedzę<br />
do rozwiązywania zadań praktycznych i posługiwać się typowymi programami uŜytkowy-<br />
20
mi. Jednym z podstawowych programów uŜytkowych jest arkusz kalkulacyjny. W jego<br />
zakresie juŜ na poziomie podstawowym zdający powinien stosować odpowiednie formatowanie<br />
danych i tabeli, obrazować graficznie informacje przechowywane w arkuszu oraz<br />
wykonywać obliczenia przy pomocy wbudowanych funkcji lub zaprojektowanych przez<br />
siebie formuł. Omawiając rozwiązania wszystkich zadań w arkuszu kalkulacyjnym chcieliśmy<br />
wskazać, Ŝe warto w naleŜyty sposób przygotowywać uczniów do korzystania<br />
z arkusza kalkulacyjnego, poświęcać mu więcej czasu na lekcjach, zaczynając od prostych<br />
funkcji (MIN, MAX, ŚREDNIA) i przechodząc do bardziej zaawansowanych (np.<br />
LICZ.JEśELI, WYSZUKAJ.PIONOWO). NaleŜy pamiętać o róŜnych zastosowaniach arkusza<br />
kalkulacyjnego, jest to bowiem narzędzie nie tylko do wykonywania obliczeń, ale takŜe<br />
do wykonywania złoŜonych wykresów, przeprowadzania symulacji oraz wyszukiwania<br />
informacji. Przy większym wysiłku i determinacji wbudowane funkcje arkusza pozwalają<br />
nawet na realizację prostych zadań algorytmicznych.<br />
21