Kurs maturalny z języka angielskiego!
kurs-maturalny-jezyk-angielski

PROGRAMOWANIE I ALGORYTMY

Zajęcia maturalne z informatyki
Olimpiada Informatyczna Juniorów
    Prowadzący: Marcin Kasprowicz
  • właściciel serwisu algorytm.edu.pl
  • wrzesień 2024 — start zajęć
  • czytaj więcej

Jak dobrze zdać maturę z informatyki


Matura z informatyki — jak dobrze zdać

Na wstępie pragnę zaznaczyć, że od wielu lat jestem aktywnym egzaminatorem z informatyki oraz nauczycielem tego przedmiotu. Przygotowałem wielu wychowanków, którzy zdali maturę z informatyki na poziomie powyżej 80%. Artykuł ten dedykuję nauczycielom przygotowujących swoich podopiecznych do matury oraz dla uczniów podejmujących się tego wyzwania. Przedstawię punkt widzenia od strony egzaminatora, napiszę, na co zwrócić uwagę na egzaminie maturalnym oraz jak się do niego dobrze przygotować.

Na co zwrócić uwagę, pisząc maturę z informatyki

Matura z informatyki przeprowadzana jest w dwóch częściach. Część pierwsza trwa 60 minut i jest to część pisemna, na której można uzyskać maksymalnie 15 punktów. Wszystkie zadania rozwiązywane są na arkuszu egzaminacyjnym. Na część drugą przeznaczono 150 minut i do zdobycia jest 35 punktów.

Jakie przybory i materiały pomocnicze może mieć zdający?

Zdający musi mieć długopis z czarnym tuszem oraz może mieć kalkulator prosty.

Czego można się spodziewać w części pisemnej?

W tej część są trzy zadania, każde z podpunktami. W większości przypadków, w pierwszych dwóch zadaniach zagadnienia dotyczyły algorytmiki lub systemów pozycyjnych, natomiast trzecie, to test złożony z czterech zadań typu prawda — fałsz. Pierwsze dwa zadania polegają na zapoznaniu się z problemem, który opisany jest pseudokodem lub za pomocą listy kroków. Początkowe podpunkty są bardzo proste do rozwiązania i sprawdzają, czy zdający zrozumiał opisany problem, natomiast kolejne, to przedstawienie rozwiązania problemu za pomocą listy kroków, pseudokodu lub w jednym z trzech języków programowania: C++, Python lub Java. Dawniej dostępny był język Pascal oraz problem można było przedstawić za pomocą schematu blokowego.

Ważne! Jeżeli zdecydowałeś się na język programowania, to pamiętaj, że nie wolno korzystać z żadnych gotowych rozwiązań np.:

  1. Jeśli w zadaniu musisz uporządkować dane (posortować je), to nie wolno skorzystać z gotowego rozwiązania w postaci funkcji sort czy qsort, tylko musisz zaimplementować swoją funkcję sortującą.
  2. Jeśli w zadaniu musisz zamieniać wartości zmiennych, to nie wolno ci skorzystać z funkcji swap, tylko musisz napisać instrukcje, które wykonają to zadanie np.
    int pom = b;
    b = a;
    a = pom;
  3. itd.

Jeśli zadanie będzie polegało na zastosowaniu algorytmu maturalnego, to postaraj się na przedstawienie jego optymalnej wersji. Na przykład:

  • Jeśli w zadaniu należy wyszukać element w uporządkowanym ciągu, to zastosuj optymalne podejście w postaci algorytmu wyszukiwania binarnego.
  • Jeśli będziesz musiał zastosować algorytm Euklidesa, to zastosuj jego optymalną wersję.
  • itd.

W ostatnich latach powyższa zasada nie dotyczyła algorytmów sortujących. Gdy należało posortować zbiór danych, wystarczyło zastosować jakikolwiek algorytm sortujący.

Oczywiście, jeśli nie pamiętasz wersji optymalnej, to użyj jakiejkolwiek, stracisz prawdopodobnie tylko jeden punkt.

Prezentując rozwiązanie problemu, pilnuj następujących kwestii:

  1. Opisując rozwiązanie, pisz wyraźnie, zadbaj, żeby nic nie umknęło egzaminatorowi,
  2. elementy, które nie chcesz, aby były sprawdzane, wyraźnie przekreśl,
  3. jeśli zabraknie ci miejsca na obliczenia, to podaj wyraźną informację, w którym miejscu w brudnopisie umieściłeś rozwiązanie,
  4. zwracaj uwagę na zerowanie zmiennych, jeśli jest taka potrzeba — jeśli tego nie zrobisz, stracisz punkt,
  5. pilnuj, aby odwiedzić wszystkie elementy tablicy oraz żeby nie wyjść poza nią, w przeciwnym razie stracisz punkt,
  6. konstruuj pętlę tak, aby nie zapętliła się, za poprawną konstrukcję pętli otrzymasz punkt.

Jakich algorytmów można się spodziewać w części pierwszej?

Jak już pewnie zauważyłeś, algorytmów maturalnych jest całe mnóstwo, ale tych, które z dużym prawdopodobieństwem możesz spotkać na egzaminie, jest już niewiele. Do klasyków należą:

Przygotowując się do matury, zacznij od zapoznania się z algorytmami wypisanymi powyżej.

Kolejną ważną sprawą, jest umiejętność określania złożoności algorytmicznej problemu, na którą kładzie się duży nacisk w tej części egzaminu.

Jakie zagadnienia mogą pojawić się w zadaniu trzecim — pytania typu prawda — fałsz?

  1. Od kilku lat nieustanie pojawiają się zagadnienia związane z językiem SQL. Najczęściej przedstawiony jest kod tego języka oraz tabela, na której wykonane jest zapytanie, a zdający musi określić, jaki będzie jego wynik. Ucząc się języka SQL, zwróć uwagę na:
    • wybieranie danych za pomocą instrukcji SELECT oraz klauzury WHERE,
    • porządkowanie danych za pomocą instrukcji ORDER BY,
    • grupowanie danych za pomocą instrukcji ORDER BY wraz z instrukcją ograniczającą wynik HAVING,
    • używanie funkcji agregujących COUNT, SUM, AVG,
    • wykonywanie podzapytań.
  2. Sieci komputerowe — adresacja IP, urządzenia sieciowe, protokoły sieciowe, topologie sieci, sieci lokalne.
  3. Prawo autorskie, rodzaje licencji.
  4. Systemy pozycyjne.
  5. Złożoność algorytmiczna.
  6. Algorytmy i zagadnienia związane z nimi.
  7. Grafika, dźwięk oraz filmy (formaty, rozszerzenia, różnice, charakterystyka).
  8. Systemy operacyjne.
  9. Sprzęt komputerowy.

Część praktyczna

W części praktycznej napotkamy także na trzy zadania z podpunktami. Sprawdzając tę część, zdarzało się nie raz, że wszystkie prace maturalne otrzymały zerową liczbę punktów, ponieważ uczniowie nie dołączyli do wyników zapisanych w pliku tekstowym, realizacji komputerowych — programu, aplikacji bazodanowej lub rozwiązania w arkuszu kalkulacyjnym.

Pamiętaj! Do oceny przesyłasz plik tekstowy z wynikami (nazwę tego pliku nadajesz zgodną z wytycznymi w arkuszu egzaminacyjnym) oraz realizację komputerową. Nazwę pliku z realizacją rozwiązania wpisujesz w odpowiednim miejscu w arkuszu egzaminacyjnym. Zadbaj o to, aby przekazane pliki były uporządkowane na przykład, stwórz trzy foldery "zadanie 4", "zadanie 5" oraz "zadanie 6", następnie umieść rozwiązanie do każdego podpunktu do zadania we wskazanym folderze tak, aby egzaminator nie miał problemu z jego znalezieniem.

Zadanie, w którym należy napisać program

W jednym z trzech zadań, wytłuszczonym drukiem napisana będzie informacja: "Napisz program..". Tu nie masz wyjścia, musisz wykonać realizację tego zadania, pisząc aplikację w języku zadeklarowanym na deklaracji maturalnej. Dane wejściowe dostaniesz w pliku tekstowym, który należy wczytać do programu, stosując obsługę plików tekstowych lub uruchomić program i wkleić dane z pliku do konsoli (klikamy prawym przyciskiem na nagłówek uruchomionej konsoli, następnie edycja i wklej). W części praktycznej, pisząc program w C++, możesz korzystać z jego dobrodziejstw w postaci gotowych funkcji czy szablonów. Egzaminator, sprawdzając twoje rozwiązanie, będzie zwracał uwagę na wyniki zapisane w pliku tekstowym, będzie testował, czy twój program rzeczywiście zwraca takie wyniki, rzadziej będzie analizował złożoność obliczeniową twojego programu. Pamiętaj, że każdy podpunkt musi posiadać realizację komputerową. Możesz to zrobić w jednym programie lub rozbić każdy podpunkt na oddzielny program.

Zadanie z baz danych

Tego typu zadanie poznasz po kilku plikach z danymi. Dedykowanym narzędziem jest system obsługi relacyjnych baz danych tak jak np. MS Access (niestety komercyjny). Tym narzędziem najszybciej rozwiążesz zadanie, sprawnie zaimportujesz dane do tabel, połączysz je w relacje, następnie będziesz rozwiązywał kolejne podpunkty zadania, tworząc kwerendy za pomocą wygodnego kreatora lub w języku SQL. Nic nie stoi na przeszkodzie, aby zadanie to częściowo wykonać w arkuszu kalkulacyjnym lub napisać program. Podczas sprawdzania prac, zdarzały się takie, w których wszystkie zadania uczeń próbował rozwiązać, pisząc program. Niestety to podejście do egzaminu nie pozwoli zdobyć kompletu punktów, przede wszystkim dlatego, że 150 minut to zdecydowanie za mało czasu, aby każde zadanie rozwiązać, pisząc program.

Zadanie z arkusza kalkulacyjnego

To zadanie poznasz, że w jednym z końcowych podpunktów będzie polecenie wygenerowania wykresu. Świetnym (niestety komercyjnym) narzędziem jest MS Excel. Uważam, że najtrudniejszym zadaniem na maturze z informatki, jest to, w którym należy przeprowadzić symulację jakiegoś zdarzenia przy użyciu arkusza kalkulacyjnego, a od kilku lat takie zadanie pojawia się w arkuszu egzaminacyjnym.

Uwaga! W roku 2021 MEN wprowadziło aneks dotyczący zagadnień na maturze z informatyki.

Mam nadzieję, że chociaż w niewielkim stopniu przybliżyłem wam drodzy czytelnicy, czego możecie się spodziewać na maturze z informatyki.

— Marcin Kasprowicz