Wróć do: Arkusze maturalne
2006MAJ

Matura z informatyki 2006 – maj, poziom rozszerzony

stara formułaarkusz CKE · poziom rozszerzony

Historyczny arkusz maturalny z informatyki rozszerzonej 2006. Pobierz PDF z zadaniami oraz klucz odpowiedzi CKE.

01

Opis

Historyczny arkusz maturalny z informatyki na poziomie rozszerzonym z sesji maj 2006 (stara formuła – dla zdających według podstawy programowej sprzed 2015 roku). Egzamin składał się z dwóch części: Arkusz I (90 minut, 40 punktów, zadania 1–4) oraz Arkusz II (150 minut, 60 punktów, zadania 5–7). Poniżej znajdziesz interaktywne wersje zamkniętych części zadań – uzupełnij puste pola i kliknij Sprawdź, aby od razu sprawdzić poprawność (odpowiedzi pochodzą z klucza CKE).

W zadaniach z konkretną odpowiedzią (liczba, wartość) wpisz swój wynik i kliknij Sprawdź. W zadaniach otwartych (napisz program, algorytm, zaprojektuj bazę danych) kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE. Pełną treść zadań znajdziesz też w arkuszach PDF.

02

Zadanie 1. Suma silni

Część I (Arkusz I). Pojęcie silni dla liczb naturalnych większych od zera definiuje się następująco:

n! = {1 – dla n = 1(n-1)! * n – dla n > 1

Rozpatrzmy funkcję ss(n) zdefiniowaną następująco:

ss(n) = 1! + 2! + 3! + 4! + ... + n! (*)

gdzie n jest liczbą naturalną większą od zera.

Zadanie 1.1

a) Podaj, ile mnożeń trzeba wykonać, aby obliczyć wartość funkcji ss(n), korzystając wprost z podanych wzorów, tzn. obliczając każdą silnię we wzorze (*) oddzielnie. Uzupełnij poniższą tabelę.

Wartość funkcjiLiczba mnożeń
ss(3)
ss(4)
ss(n)

Zadanie 1.2

b) Zauważmy, że we wzorze na ss(n), czynnik 2 występuje w n–1 silniach, czynnik 3 w n–2 silniach, ..., czynnik n w 1 silni. Korzystając z tej obserwacji przekształć wzór funkcji ss(n) tak, aby można było policzyć wartość ss(n), wykonując dokładnie n–2 mnożenia dla każdego n ≥ 2. Uzupełnij poniższą tabelę (w ostatnim wierszu wypełnij tylko pusty prostokąt).

Wartość funkcjiPrzekształcony wzórLiczba mnożeń
ss(1)10
ss(2)1+20
ss(3)1+2*(1+3)1
ss(4)1+2(1+3(1+4))2
ss(5)
ss(n)1+2(1+3(1+...(n-2)*()...))n-2

Zapisz w wybranej przez siebie notacji (lista kroków, schemat blokowy lub język programowania) algorytm obliczania wartości funkcji ss(n) zgodnie ze wzorem zapisanym przez Ciebie w tabeli. Podaj specyfikację dla tego algorytmu.

Kliknij Pokaż odpowiedź, aby zobaczyć rozwiązanie z klucza CKE.

Uwaga: to zadanie otwarte – odpowiedź z klucza CKE jest jedynie przykładowa; istnieją również inne poprawne rozwiązania.

03

Zadanie 2. Liczby pierwsze

Poniżej przedstawiono algorytm wyznaczający wszystkie liczby pierwsze z przedziału [2, N], wykorzystujący metodę Sita Eratostenesa. Po zakończeniu wykonywania tego algorytmu, dla każdego i = 2, 3, ... , N, zachodzi T[i]=0, jeśli i jest liczbą pierwszą, natomiast T[i]=1, gdy i jest liczbą złożoną.

Specyfikacja
Dane: Liczba naturalna N ≥ 2. Wynik: Tablica T[2...N], w której T[i] = 0, jeśli i jest liczbą pierwszą, natomiast T[i]=1, gdy i jest liczbą złożoną.
Krok 1.    Dla i = 2, 3, ... , N wykonuj T[i] := 0
Krok 2.    i := 2
Krok 3.    Jeżeli T[i] = 0 to przejdź do kroku 4, w przeciwnym razie przejdź do kroku 6
Krok 4.    j := 2 * i
Krok 5.    Dopóki j  N wykonuj
                   T[j] := 1
                   j := j + i
Krok 6.    i := i + 1
Krok 7.    Jeżeli i < N, to przejdź do kroku 3, w przeciwnym razie zakończ wykonywanie algorytmu

Uwaga: „:=" oznacza instrukcję przypisania.

Zadanie 2.1

a) Dane są: liczba naturalna M ≥ 1 i tablica A[1...M] zawierająca M liczb naturalnych z przedziału [2, N]. Korzystając z powyższego algorytmu, zaprojektuj algorytm, wyznaczający te liczby z przedziału [2, N], które nie są podzielne przez żadną z liczb A[1],..., A[M]. Zapisz go w wybranej przez siebie notacji (lista kroków, schemat blokowy lub język programowania) wraz ze specyfikacją.

Kliknij Pokaż odpowiedź, aby zobaczyć rozwiązanie z klucza CKE.

Uwaga: to zadanie otwarte – odpowiedź z klucza CKE jest jedynie przykładowa; istnieją również inne poprawne rozwiązania.

Zadanie 2.2

b) Do algorytmu opisanego na początku zadania wprowadzamy modyfikacje, po których ma on następującą postać:

Krok 1.    Dla i = 2, 3, ... , N wykonuj T[i] := 0
Krok 2.    i := 2
Krok 3.    Jeżeli T[i] = 0 to przejdź do kroku 4, w przeciwnym razie przejdź do kroku 6
Krok 4.    j := 2 * i
Krok 5.    Dopóki j  N wykonuj
                   T[j] := T[j] + 1
                   j := j + i
Krok 6.    i := i + 1
Krok 7.    Jeżeli i < N, to przejdź do kroku 3, w przeciwnym razie zakończ wykonywanie algorytmu

Podaj, jakie będą wartości T[13], T[24], T[33] po uruchomieniu tak zmodyfikowanego algorytmu dla N=100.

T[13] =

T[24] =

T[33] =

Podaj, dla jakiej wartości T[i], dla i z przedziału [2, N], i jest liczbą pierwszą.

i jest liczbą pierwszą, jeśli T[i] =

Napisz, jaką własność liczb i = 2,..,N określają wartości T[i] po wykonaniu tak zmodyfikowanego algorytmu.

Kliknij Pokaż odpowiedź, aby zobaczyć rozwiązanie z klucza CKE.

Zadanie 2.3

c) Sito Eratostenesa służy do wyznaczania wszystkich liczb pierwszych z zadanego przedziału [2, N]. Podaj w wybranej przez siebie notacji (lista kroków, schemat blokowy lub język programowania) inny algorytm, który sprawdza, czy podana liczba naturalna L>1 jest liczbą pierwszą. Zauważ, że chcemy sprawdzać pierwszość tylko liczby L, natomiast nie jest konieczne sprawdzanie pierwszości liczb mniejszych od L. Przy ocenie Twojego algorytmu będzie brana pod uwagę jego złożoność czasowa.

Specyfikacja
Dane: Liczba naturalna L > 1. Wynik: Komunikat „Tak", jeśli L jest liczbą pierwszą, komunikat „Nie" w przeciwnym razie.

Kliknij Pokaż odpowiedź, aby zobaczyć rozwiązanie z klucza CKE.

Uwaga: to zadanie otwarte – odpowiedź z klucza CKE jest jedynie przykładowa; istnieją również inne poprawne rozwiązania.

04

Zadanie 3. Baza danych

Dyrektor szkoły dysponuje plikami Uczniowie, Klasy i Przedmioty.

Oto opisy wierszy w poszczególnych plikach:

Uczniowie – imię i nazwisko ucznia, numer jego legitymacji szkolnej oraz identyfikator klasy maturalnej, do której uczęszcza uczeń, np.: Jan Kowalski 7205 C

Klasy – identyfikator klasy maturalnej i profil tej klasy, np.: C informatyczna

Przedmioty – identyfikator przedmiotu, nazwa przedmiotu, np.: jp język polski

Naszym celem jest zaprojektowanie bazy danych pozwalającej uzyskiwać informacje o tym, które przedmioty zostały wybrane na maturę przez poszczególnych uczniów. W szczególności dyrektor chciałby uzyskiwać następujące informacje:

  • wykaz uczniów, którzy zdają dany przedmiot (np. język angielski) na maturze,
  • wykaz uczniów z klas informatycznych, którzy nie zdają matematyki na maturze.

Lista przedmiotów maturalnych (plik Przedmioty) może się zmieniać, dlatego nie należy przyjmować, że jest ona z góry ustalona. Zmiana listy przedmiotów maturalnych nie powinna wymagać zmiany struktury tabel bazy danych.

Zadanie 3.1

a) W tabelach relacyjnej bazy danych istotne jest stosowanie kluczy. Podaj dwa przykłady zastosowania kluczy, zilustruj je na przykładzie poniższych tabel. Dla każdej z tych (przykładowych) tabel, wskaż kolumnę lub grupę kolumn, która jest jej kluczem podstawowym.

Uczniowie(Imię, Nazwisko, NumerLegitymacji, IdKlasy)

Klasy(IdKlasy, Profil)

Przedmioty(IdPrzedmiotu, Nazwa)

Kliknij Pokaż odpowiedź, aby zobaczyć rozwiązanie z klucza CKE.

Uwaga: to zadanie otwarte – odpowiedź z klucza CKE jest jedynie przykładowa; istnieją również inne poprawne rozwiązania.

Zadanie 3.2

b) Zaprojektuj strukturę relacyjnej bazy danych, z której można uzyskać informacje potrzebne dyrektorowi. Przyjmij, że na maturze uczniowie mogą zdawać dowolną liczbę przedmiotów.

i. Ustal, jakie tabele będą wchodziły w skład bazy danych (wykorzystaj definicje tabel z punktu a), jeśli to konieczne dodaj nowe tabele). Określ nazwy kolumn i typy danych dla kolumn tworzących poszczególne tabele w Twojej bazie danych. Przyjmij, że numer legitymacji jest liczbą naturalną z zakresu od 1 do 999999.

ii. Zaprojektuj związki między tabelami Twojej bazy danych, właściwe dla struktury przechowywanej w bazie informacji. Określ rodzaj tych związków (jeden do jeden, jeden do wielu lub wiele do wielu).

Kliknij Pokaż odpowiedź, aby zobaczyć rozwiązanie z klucza CKE.

Uwaga: to zadanie otwarte – odpowiedź z klucza CKE jest jedynie przykładowa; istnieją również inne poprawne rozwiązania.

Zadanie 3.3

c) Załóżmy, że pewna baza danych zawiera jedynie tabelę Zgłoszenia o kolumnach (Imię, Nazwisko, NumerLegitymacji, NazwaPrzedmiotu). Jeden wiersz takiej tabeli opisuje informację, iż uczeń o podanym imieniu, nazwisku i numerze legitymacji wybrał określony przedmiot do zdawania na maturze. Na przykładzie tej tabeli opisz zjawiska redundancji i anomalii modyfikacji (rozważ sytuację, gdy modyfikujemy numer legitymacji w jednym rekordzie). Uwzględnij fakt, że każdy uczeń może zdawać dowolną liczbę przedmiotów.

Kliknij Pokaż odpowiedź, aby zobaczyć rozwiązanie z klucza CKE.

05

Zadanie 4. Test

Dla następujących zdań zaznacz znakiem X właściwe odpowiedzi.

(Uwaga: W każdym podpunkcie poprawna jest tylko jedna odpowiedź.)

Zadanie 4.1

a) Adresy IP składają się z czterech liczb z zakresu od 0 do 255, które zapisuje się oddzielone kropkami, np. 130.11.121.94. Każda z tych liczb reprezentowana jest w komputerze na ośmiu bitach. Wśród adresów IP wyróżniamy m.in. adresy klasy B, w których pierwsza z liczb zapisana binarnie na ośmiu bitach, ma na dwóch pierwszych pozycjach (licząc od lewej strony) wartości odpowiednio 1 i 0. Który z poniższych adresów jest adresem IP typu B?

Zadanie 4.2

b) Liczba 2101 oznacza

Zadanie 4.3

c) Najmniejszą jednostką informacji jest

Zadanie 4.4

d) System operacyjny to

Zadanie 4.5

e) Do metod ochrony poufności danych należy

Zadanie 4.6

f) Portal internetowy to

Zadanie 4.7

g) Które z poniższych czynności są przykładami kodowania informacji?

Zadanie 4.8

h) Grafika rastrowa to sposób tworzenia i przechowywania w komputerze obrazów, które są reprezentowane w postaci

06

Zadanie 5. Figura

Część II (Arkusz II). Niech C będzie liczbą naturalną większą od 0.

Przez F(C) oznaczamy figurę narysowaną w kartezjańskim układzie współrzędnych, która jest ograniczona przez:

  • oś OY z lewej strony,
  • prostą o równaniu x = C z prawej strony,
  • krzywą o równaniu f(x) = –x²/50 od dołu,
  • krzywą o równaniu g(x)= 1+x²/100-x/200 od góry.

Poniżej przedstawiony jest przybliżony rysunek figury F(10).

Odpowiedzi do poniższych podpunktów umieść w pliku tekstowym figura.txt. Odpowiedź do każdego podpunktu poprzedź literą oznaczającą ten podpunkt.

Zadanie 5.1

a) Wyznacz przybliżone pole figury F(10) z dokładnością do 0,01. W pliku tekstowym figura.txt opisz zastosowaną przez Ciebie metodę i zapisz wyznaczone pole.

Poniżej wpisz wyznaczone pole figury F(10) (z dokładnością do 0,01) i kliknij Sprawdź.

Pole figury F(10):

Kliknij Pokaż odpowiedź, aby zobaczyć opis metody z klucza CKE.

Zadanie 5.2

b) Wyznacz taką najmniejszą liczbę naturalną C, żeby we wnętrzu figury F(C) (brzeg zaliczamy do wnętrza figury) można było umieścić prostokąt o wymiarach 100 x 26 w taki sposób, aby współrzędne wierzchołków były liczbami całkowitymi, a boki prostokąta były równoległe do osi OX i OY, przy czym dłuższe boki powinny być równoległe do osi OX. W pliku figura.txt opisz położenie prostokąta dla wyznaczonej przez Ciebie wartości C, tzn. zapisz współrzędne jego wierzchołków.

Poniżej wpisz wyznaczoną najmniejszą wartość C i kliknij Sprawdź.

Najmniejsza wartość C:

Kliknij Pokaż odpowiedź, aby zobaczyć współrzędne prostokąta z klucza CKE.

07

Zadanie 6. Słowa

W pliku dane.txt w oddzielnych wierszach znajdują się słowa o długościach od 2 do 20 znaków, składające się z wielkich liter A, B, C, D, E, F. Odpowiedzi do poniższych podpunktów umieść w pliku tekstowym wyniki.txt. Odpowiedź do każdego podpunktu poprzedź literą oznaczającą ten podpunkt.

Zadanie 6.1

a) W pliku wyniki.txt podaj w osobnych wierszach:

  • ile jest słów w pliku dane.txt występujących więcej niż jeden raz,
  • słowo o największej liczbie wystąpień,
  • liczbę jego wystąpień.

Poniżej podaj odpowiedź dla pełnego pliku dane.txt i kliknij Sprawdź.

Liczba słów występujących więcej niż jeden raz:

Słowo o największej liczbie wystąpień:

Liczba jego wystąpień:

Zadanie 6.2

b) Załóżmy, że słowa z pliku dane.txt traktujemy jako liczby zapisane w systemie szesnastkowym – każda liczba w osobnym wierszu. W pliku wyniki.txt podaj, ile jest liczb parzystych w pliku dane.txt.

Poniżej podaj odpowiedź dla pełnego pliku dane.txt i kliknij Sprawdź.

Liczba liczb parzystych:

Zadanie 6.3

c) Palindromem nazywamy słowo, które czytane od lewej i od prawej daje to samo słowo. Na przykład słowa ABCDCBA i AEEFFEEA są palindromami. Napisz program, który policzy, ile jest palindromów w pliku dane.txt. Ocenie będzie podlegać poprawność Twojego programu i metoda sprawdzania, czy dane słowo jest palindromem. Liczbę palindromów zapisz w pliku wyniki.txt.

Poniżej podaj liczbę palindromów dla pełnego pliku dane.txt i kliknij Sprawdź.

Liczba palindromów:

Kliknij Pokaż odpowiedź, aby zobaczyć przykładowy program z klucza CKE.

Uwaga: to zadanie otwarte – odpowiedź z klucza CKE jest jedynie przykładowa; istnieją również inne poprawne rozwiązania.

08

Zadanie 7. Finanse

Na podstawie (fikcyjnych) kursów euro z 2005 roku oraz informacji o oprocentowaniu lokat terminowych dokonaj analizy dotyczącej zmian kursów euro oraz lokowania oszczędności. Odpowiedzi do poniższych podpunktów umieść w pliku tekstowym odpfinanse.txt. Odpowiedź do każdego podpunktu poprzedź literą oznaczającą ten podpunkt.

Zadanie 7.1

a) Klienci MatBanku umieścili na początku roku swoje oszczędności na rocznych lokatach terminowych. W pliku lokaty.txt znajduje się lista kwot złożonych przez poszczególnych klientów, po jednej w wierszu. Oprocentowanie lokat w skali roku uzależnione jest od ich wysokości, zgodnie z poniższą tabelką:

Wysokość lokatyOprocentowanie
poniżej 10 000,00 zł6,0%
od 10 000,00 zł do 19 999,99 zł7,0%
od 20 000,00 zł do 29 999,99 zł8,0%
od 30 000,00 zł do 39 999,99 zł9,0%
od 40 000,00 zł do 49 999,99 zł10,0%
50 000,00 zł i więcej11,0%

Przykład: Jeśli wysokość lokaty wynosi 5 000,10 zł, to oprocentowanie wyniesie 6,0% i na koniec roku jej wartość wyniesie 5 300,11 zł. Dla lokaty o wysokości 45 000,00 zł oprocentowanie wynosi 10,0% i na koniec roku jej wartość wyniesie 49 500,00 zł.

Podaj sumaryczne wartości wszystkich lokat z pliku lokaty.txt na początku i na końcu roku oraz wartość największej lokaty na końcu roku.

Poniżej podaj odpowiedź dla pełnego pliku lokaty.txt i kliknij Sprawdź.

Sumaryczna wartość lokat na początku roku [zł]:

Sumaryczna wartość lokat na końcu roku [zł]:

Wartość największej lokaty na końcu roku [zł]:

Zadanie 7.2

b) 1 stycznia 2005 roku dysponujemy oszczędnościami w wysokości 20 000,00 zł. Każdego dnia możemy wymienić całe oszczędności ze złotych na euro bądź z euro na złote. Wymiana następuje zawsze wg kursu średniego z danego dnia. Po każdej wymianie kwota oszczędności jest zaokrąglana do dwóch miejsc po przecinku. Kursy średnie euro w kolejnych 365 dniach roku podane są w pliku kursy.txt, po jednym w wierszu.

Przykład: Załóżmy, że 1 marca dysponujemy kwotą 5 000,00 zł i wymienimy ją na euro, kiedy to kurs euro wynosi 4,3518 zł. Wówczas będziemy dysponować kwotą 5 000,00/4,3518 = 1 148,95 euro. Jeśli przechowamy euro do dnia 6 marca, gdy kurs euro wynosi 4,4518 zł i wtedy dokonamy wymiany na złote, to w efekcie uzyskamy 1 148,95*4,4518 = 5 114,90 zł.

Korzystając z informacji o kursach euro z pliku kursy.txt wyznacz wartość oszczędności na koniec roku dla każdego z poniższych sposobów lokowania pieniędzy.

I. 1 stycznia wymieniamy całe oszczędności na euro. Pierwszego dnia każdego z następnych miesięcy zmieniamy walutę, w której oszczędzamy – 1 lutego wymieniamy całą kwotę na złote, 1 marca na euro, itd.

II. 1 stycznia wymieniamy całe oszczędności na euro. Każdego kolejnego dnia postępujemy w następujący sposób: jeśli oszczędności mamy aktualnie ulokowane w euro, to zmieniamy walutę na złote tylko wtedy, gdy kurs euro w danym dniu uległ obniżeniu w stosunku do dnia poprzedniego. Jeśli oszczędności mamy aktualnie ulokowane w złotych, to bezwarunkowo wymieniamy je na euro.

Przykład: Załóżmy, że kurs euro 1 marca wynosił 4,3518 zł.

  • Jeśli 1 marca oszczędności były ulokowane w euro i kurs euro 2 marca jest niższy niż 4,3518 zł, to 2 marca dokonujemy wymiany na złote. W przeciwnym razie 2 marca oszczędności pozostają ulokowane w euro.
  • Jeśli 1 marca oszczędności były ulokowane w złotych, to 2 marca bezwarunkowo dokonujemy wymiany ich na euro.

W pliku odpfinanse.txt umieść w kolejnych wierszach kwoty oszczędności uzyskane na koniec roku dla obu sposobów oszczędzania. Zadbaj o czytelność wyników (poprzedzając każdy z wierszy oznaczeniem sposobu oszczędzania). Pamiętaj również, że jeśli na koniec roku oszczędności będą ulokowane w euro, to musisz podać ich wartość w złotych według kursu z 31 grudnia.

Poniżej podaj odpowiedź dla pełnego pliku kursy.txt i kliknij Sprawdź.

Sposób I – wartość oszczędności na końcu roku [zł]:

Sposób II – wartość oszczędności na końcu roku [zł]:

Zadanie 7.3

c) Średnie kursy euro w kolejnych dniach roku podane są w pliku kursy.txt, po jednym w wierszu. Policz, w ilu dniach począwszy od 2 stycznia kurs euro wzrósł w porównaniu z kursem z dnia poprzedniego.

Poniżej podaj odpowiedź dla pełnego pliku kursy.txt i kliknij Sprawdź.

Liczba dni, w których kurs euro wzrósł: