Jak przygotować się do matury z informatyki?

kategoria: Informacje o egzaminie

Już za kilka miesięcy odbędzie się egzamin maturalny z informatyki. Czy zacząłeś już naukę? Dobre wyniki z egzaminu można osiągnąć poprzez odpowiednie przygotowanie do egzaminu. Matura z informatyki nie jest ciężka do zdania w granicach 30%. Jeżeli jednak zależy Ci na dobrym wyniku, czeka Cię mnóstwo pracy, której nie warto odkładać!

Dlaczego warto zdawać maturę z informatyki?

Informatyka to najszybciej i najbardziej rozwijająca się dziedzina nauki a także gałąź przemysłu. W ciągu kilkunastu lat skok informatyzacji był ogromny. Z tego powodu uzyskanie dobrych wyników z egzaminu maturalnego wymaga dużego wkładu pracy i systematyczności. Dlaczego warto zdawać informatykę na maturze napisałem już w poprzednim artykule Informacje o egzaminie do którego zapraszam!

Informatyka w teorii czyli wkuwanie

Na egzaminie maturalnym z informatyki często pojawia się test jednokrotnego wyboru. Sprawdza on podstawową wiedzę ucznia z dziedzin: sieci komputerowych, grafiki, urządzeń komputerowych i systemów operacyjnych. Materiału do nauki jest dużo. Trzeba czytać i zapamiętywać. Przeciętny użytkownik komputera może nie wiedzieć ile bitów ma bajt, czym jest maska sieciowa albo z jakich elementów składa się płyta główna.

Dla ludzi, którzy solidnie przygotowali się do egzaminu ta część pozwala na uzyskanie pewnych punktów „za darmo”. Dla innych test może okazać się ruletką, w której możemy stracić kilka cennych punktów.

Jeżeli jesteś uczniem Technikum Informatycznego jesteś w lepszej sytuacji. Przedmioty szkolne przygotują Cię w dużym stopniu do testu jednokrotnego wyboru. Dodatkowo upieczesz dwie pieczenie na jednym ogniu, ponieważ taki sam test czeka na Ciebie podchodząc do egzaminu zawodowego.

Matematyka w informatyce

Matematyka i informatyka są ze sobą ściśle związane. Wielu osobom nie podoba się ten fakt, bo przecież „chcę pisać gry a nie uczyć się matematyki!”. Nie zagłębiając się w szczegóły czy matematyka informatykowi jest rzeczywiście potrzebna, możesz być pewien że przyda się na egzaminie maturalnym oraz na studiach informatycznych.

Egzamin maturalny naprawdę bardzo często zawiera w sobie zadania czysto matematyczne. Dotyczy do zarówno części pierwszej (teoretycznej) jak i drugiej (praktycznej). Przed egzaminem warto przypomnieć sobie podstawowe pojęcia matematyczne np. liczba pierwsza, liczby naturalne, liczby całkowite, liczby rzeczywiste, równanie okręgu, funkcje liniowe, funkcje kwadratowe, funkcje wymierne itd.. Przeglądając arkusze maturalne można śmiało stwierdzić, że te pojęcia występują zawsze w jakimś zadaniu. Może być Ci ciężko je rozwiązać bez odpowiedniej znajomości matematyki.

Równanie okręgu było przydatne na jednym z egzaminów i zadaniu dotyczącym punktów kratowych. Funkcja była przydatna choćby w zadaniu liczenia pola figury, ograniczonej dwoma funkcjami liniowymi.

Jaki język programowania wybrać na maturę?

Język programowania jest sprawą indywidualną. Najlepiej wybrać ten język, którego najdłużej się uczyłeś i którego syntaksa jest dla Ciebie znajoma. Pamiętaj że podczas egzaminu jesteś skazany tylko na siebie i nie będziesz mógł sprawdzić w internecie jak nazywa się funkcja potęgująca, albo z jakiej biblioteki wczytać funkcję do obsługi plików.

C++ na początku wydaje się stosunkowo trudny, wiele rzeczy trzeba pisać samemu. C++ nie posiada zbyt wielu zaimplementowanych funkcji. Dla początkujących hardcorowe może wydawać się choćby rzutowanie typów, którego nie ma w niektórych innych „łatwiejszych” językach wysokiego poziomu.

Jeżeli całe liceum/technikum pisałeś programy w Pascalu, nie ma żadnego powodu, dlaczego miał byś nie wybrać Pascala.

Niezależnie co wybierzesz, warto znać kilka podstawowych kodów, które zawsze występują na egzaminie maturalnym. Warto wiedzieć jak zapisywać/odczytywać pliki. Nie było matury, na której nie trzeba było odczytać danych z pliku. Więc dlaczego później marnować na to czas? Istnieje krótka lista podstawowych funkcji, które musisz umieć pisać bez zastanowienia.

  • odczyt/zapis danych z pliku (absolutna podstawa)
  • konwersja liczb dziesiętny/binarny
  • dzielenie danych, np. na spacje (w C++ nie ma gotowej funkcji)
  • sortowanie (przynajmniej bąbelkowe)
  • znane problemy algorytmiczne (NWW, NWD, palindromy, anagramy itp.)

Wracając na chwilę do dzielenia danych według określonego separatora, warto wspomnieć, że w 99% przypadków wystarczy Ci dzielenie na spacje (w C++ istnieje gotowa funkcja akurat dla znaku spacji). Nawet jeżeli dostaniesz w pliku tekstowym dane oddzielone pauzami lub średnikami to masz prawo zedytować dane przed wczytaniem do programu. Co zrobić w takiej sytuacji? Wystarczy odpalić notatnik i użyć funkcji „Zamień tekst”. Zamieniasz wszystkie średniki na spacje i z wczytywaniem nie ma problemu.

Bazy danych i arkusz kalkulacyjny

Dwa bardzo wysoko punktowane zadania na maturze z informatyk wymagają użycia arkusza kalkulacyjnego oraz bazy danych. Faworytem jest oczywiście Microsoft Access oraz Microsoft Excel. Dla posiadaczy innych systemów dostępny jest także pakiet OpenOffice.

Spotkałem się z opinią, że do baz danych warto znać język SQL i tworzyć zapytania manualnie, a nie korzystać z kreatora kwerend. Czy jest to prawdą – ciężko stwierdzić. Wiadome jest, że jeżeli musisz wyświetlić nazwiska osób z pensją powyżej X, to napisanie zapytania SELECT nie jest niczym trudnym. Natomiast jeżeli pojawiają się bardziej złożone problemy, które musisz wykonać jednym zapytaniem – wtedy może być ciężko. Ja osobiście rozwiązywałem wszystko tworząc kwerendy w Accessie. Access na początku wydaje się skomplikowany. Faktem jest, że nie jest zbyt intuicyjny. Trzeba ćwiczyć, ćwiczyć i ćwiczyć. Większość zadań z baz danych robi się „na jedno kopyto”. Trzeba nauczyć się kilku sztuczek i je zapamiętać.

Co do Excela sprawa jest prosta. Jeżeli umiesz programować i umiesz obsługiwać się komputerem, nie powinno być dla Ciebie trudnością posłużenie się arkuszem kalkulacyjnym. Masz gotowe formuły i pola z danymi. Postępując według instrukcji w zadaniu wyliczasz odpowiednie rzeczy. Jest to chyba najłatwiejsze zadanie na maturze.

Funkcje rekurencyjne

Funkcje rekurencyjne to niestety standard na maturze rozszerzonej. Sam osobiście poległem na tym zagadnieniu. Niby się je umie ale bez kompilatora, mając do dyspozycji tylko kartkę papieru, ciężko jest napisać coś od tak. Rekurencje warto ćwiczyć dużo wcześniej, rozwiązywać zadania z poprzednich matur. Warto się do niej przygotować, bo wystąpi na egzaminie rozszerzonym na 100%.

Pisanie algorytmów

Na każdej maturze istnieje zadanie, nakazujące zapisać algorytm na kartce papieru. Najlepszym możliwym rozwiązaniem jest lista kroków. Osobiście algorytmy pisałem w C++ co jest bardzo ryzykowne, wystarczy zapomnieć średnika, źle skonstruować pętlę lub warunek i cała praca na marne. Pisząc listę kroków jest o wiele łatwiej i szybciej, więc możesz zaoszczędzić czas.

Wyobraź sobie polecenie napisania algorytmu: “Program pobiera liczbę od użytkownika, zamienia na postać binarną i zapisuje do pliku”. Pisząc w C++ może być ciężko. Szanse na popełnienie błędu w kodzie nie mając do dyspozycji kompilatora są naprawdę bardzo duże! Natomiast pisząc listę kroków, wystarczy napisać 3 punkty:

  1. pobieram liczbę od użytkownika i zapisuję do zmiennej LICZBA
  2. zamieniam wartość zmiennej LICZBA na postać binarną
  3. zapisuję zmienną LICZBA do pliku „plik.txt”

Wielu egzaminatorów przymyka oko na brak średnika jeżeli zdecydujemy się napisać algorytm w języku programowania, jednak zależy to od jego dobrej woli.

Przykład zadania przytoczony wyżej może nie jest zbyt trafny, ponieważ w takim zadaniu zapewne chodziłoby o zdolność napisania algorytmu do konwersji systemów liczbowych. Z moich informacji, które dostałem od nauczyciela (egzaminatora) wynika, że operacje można zastąpić w liście kroków pojedynczym rozkazem jeżeli są trywialne. Nie trzeba rozpisywać się na temat operacji, o których wiedzy nie chcieli na nas sprawdzić. W przypadku przykładu wyżej, punkt pierwszy i trzeci zapewne byłby dobry, jednak drugi należało by zastąpić odpowiednim algorytmem w postaci listy kroków.

To i tak ciągle lepsze rozwiązanie niż pisanie algorytmu w postaci kodu C++.

Zakres materiału

Ucząc się do matury z informatyki musisz wiedzieć, jakie wymagania stawia przed Tobą MEN. W tym celu polecam Ci zapoznać się z wymaganiami edukacyjnymi i podstawą programową. Są one opisane w książce o nazwie “Tom 6 Edukacja matematyczna i techniczna”. Wszelkie wymagania dotyczące informatyki są z kolei opisane na stronach 103-115. Wyżej wymienioną książkę możesz za darmo pobrać na stronie http://www.bc.ore.edu.pl/dlibra/docmetadata?id=229.

Najważniejszą częścią wymagań powinna być dla Ciebie m.in. część dotycząca algorytmów. Oto ona (wersja z roku 2020/2021):

  • algorytmy na liczbach całkowitych, np.:
    • reprezentacja liczb w dowolnym systemie pozycyjnym, w tym w dwójkowym i szesnastkowym,
    • sprawdzanie, czy liczba jest liczbą pierwszą, doskonałą,
    • rozkładanie liczby na czynniki pierwsze,
    • iteracyjna i rekurencyjna realizacja algorytmu Euklidesa,
    • iteracyjne i rekurencyjne obliczanie wartości liczb Fibonacciego,
    • wydawanie reszty metodą zachłanną,
  • algorytmy wyszukiwania i porządkowania (sortowania), np.:
    • jednoczesne znajdowanie największego i najmniejszego elementu w zbiorze: algorytm naiwny i optymalny,
    • algorytmy sortowania ciągu liczb: bąbelkowy, przez wybór, przez wstawianie liniowe lub binarne, przez scalanie, szybki, kubełkowy,
  • algorytmy numeryczne, np.:
    • obliczanie pierwiastka kwadratowego,
    • obliczanie wartości wielomianu za pomocą schematu Hornera,
    • zastosowania schematu Hornera: reprezentacja liczb w różnych systemach liczbowych, szybkie podnoszenie do potęgi,
    • wyznaczanie miejsc zerowych funkcji metodą połowienia,
    • obliczanie pola obszarów zamkniętych,
  • algorytmy na tekstach, np.:
    • sprawdzanie, czy dany ciąg znaków tworzy palindrom, anagram,
    • porządkowanie alfabetyczne,
    • wyszukiwanie wzorca w tekście,
    • obliczanie wartości wyrażenia podanego w postaci odwrotnej notacji polskiej,
  • algorytmy kompresji i szyfrowania, np.:
    • kody znaków o zmiennej długości, np. alfabet Morse’a, kod Huffmana,
    • szyfr Cezara,
    • szyfr przestawieniowy,
    • szyfr z kluczem jawnym (RSA),
    • wykorzystanie algorytmów szyfrowania, np. w podpisie elektronicznym,
  • algorytmy badające własności geometryczne, np.:
    • sprawdzanie warunku trójkąta,
    • badanie położenia punktów względem prostej,
    • badanie przynależności punktu do odcinka,
    • przecinanie się odcinków,
    • przynależność punktu do obszaru,
    • konstrukcje rekurencyjne: drzewo binarne, dywan Sierpińskiego, płatek Kocha

Jeżeli jesteś załamany ilością materiału – rozumiem to. Nie jest to coś, czego można się nauczyć w miesiąc przed maturą. Niestety, dobrze zaplanować naukę już kilka lat przed maturą, wtedy będziesz miał pewność, że ze wszystkim zdążysz.

Jeżeli obudziłeś się z ręką w nocniku, postaraj się z powyższego zbioru wymagań wybrać rzeczy mniej i bardziej prawdopodobne a następnie uczyć się priorytetowo. Niestety, coś musisz odpuścić.

Rozwiązywanie matur z poprzednich lat

Moim zdaniem, matury z poprzednich lat to najlepsze źródło przykładowych zadań jakie możesz znaleźć. Kilka lat temu zmienił się kształt egzaminu maturalnego, zostały wprowadzone pewne zmiany, jednak zakres materiału jest dokładnie taki sam.

Sam przed egzaminem maturalnym spędziłem dziesiątki godzin na rozwiązywaniu egzaminów z poprzednich lat i przyniosło to wiele dobrego. Przykładowo, zapisywanie i odczytywanie do pliku pisałem z pamięci wcale się nad tym nie zastanawiając. To samo z eksportem i importem danych do plików w Accessie/Excelu.

Egzaminy z poprzednich lat znajdziesz na stronie CKE: https://cke.gov.pl/egzamin-maturalny/. Uwaga! Tak jak napisałem wyżej, ćwicz zarówno na arkuszach z “nowej matury” jak i “starej”. Typy zadań są takie same.

Przeglądając arkusze z poprzednich lat chciałbym zwrócić Twoją uwagę także na jeszcze jedną rzecz. Koniecznie czytaj klucze oceniania zadań, które dostępne są dla nauczycieli poprawiających egzaminy. Uczuli Cię to na jakie błędy musisz uważać podczas egzaminu, nawet jeżeli teraz nie masz świadomości, że są to błędy. Dowiesz się czego unikać, co jest punktowane, i na co możesz sobie pozwolić.

Podsumowanie

Przygotowanie do matury najlepiej zacząć dużo wcześniej, zależy to od predyspozycji i wiedzy ucznia. Najlepiej rozwiązywać zadania z poprzednich matur. Zadania bardzo często powtarzają się. Ważne aby rozwiązywać zadania ze stoperem w ręce, ponieważ czas na maturze jest ograniczony i przeważnie go brakuje.