Wróć do: Arkusze maturalne
2017MAJ

Matura z informatyki 2017 – maj, poziom rozszerzony

stara formułaarkusz CKE · poziom rozszerzony

Arkusz maturalny z informatyki rozszerzonej 2017 – stara formuła. Pobierz PDF z zadaniami oraz klucz odpowiedzi CKE.

01

Opis

Arkusz maturalny z informatyki na poziomie rozszerzonym z sesji maj 2017 (stara formuła, obowiązująca przed reformą 2015). Egzamin składał się z dwóch części: Część I (90 minut, 20 punktów, zadania 1–3) oraz Część II (150 minut, 30 punktów, zadania 4–6). 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ść, lista) wpisz swój wynik i kliknij Sprawdź. W zadaniach otwartych (napisz program, algorytm, utwórz zestawienie czy wykres) kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE. Pełną treść zadań znajdziesz też w arkuszach PDF.

02

Zadanie 1. Sortowanie

Rozważmy problem sortowania ciągu liczb całkowitych z przedziału [1..k] dla znanej całkowitej wartości k. Poniżej prezentujemy algorytm rozwiązujący ten problem, zgodny z następującą specyfikacją:

Specyfikacja
Dane: n, k – liczby całkowite dodatnie T[1..n] – ciąg liczb całkowitych z zakresu [1..k] Wynik: W[1..n] – uporządkowany niemalejąco ciąg liczb z tablicy T[1..n]
Algorytm Sortowanie
  dla i=1..k wykonuj
      Liczba_wystapien[i]  0
  dla i=1..n wykonuj
      Liczba_wystapien[T[i]]  Liczba_wystapien[T[i]] + 1
  p  1
  dla j=1..k wykonuj
      dla i=1..Liczba_wystapien[j] wykonuj
          W[p]  j
          p  p+1

Zadanie 1.1

Uzupełnij poniższą tabelę – podaj końcową zawartość tablicy Liczba_wystapien dla odpowiednich danych wejściowych.

nkT[1..n]Końcowa zawartość Liczba_wystapien[1..k]
105[1, 2, 3, 4, 5, 1, 2, 3, 4, 4][2, 2, 2, 3, 1]
510[1, 3, 3, 5, 10]
55[5, 5, 5, 5, 5]
104[1, 2, 3, 1, 2, 3, 1, 1, 2, 3]

Zadanie 1.2

Rangą elementu T[i] w ciągu T[1..n] nazywać będziemy liczbę elementów ciągu T[1..n], które są mniejsze od T[i].

Przykład:

Dla n=10, k=5 oraz T[1..10] = [1, 2, 3, 4, 5, 1, 4, 3, 2, 5] mamy:

  • ranga elementu T[8] (T[8] = 3) jest równa 4, gdyż w ciągu T[1..10] występują cztery elementy mniejsze od T[8]: dwa razy występuje liczba 1 i dwa razy występuje liczba 2;
  • ranga T[10] (T[10] = 5) jest równa 8, gdyż w ciągu T[1..10] występuje osiem liczb mniejszych od T[8];
  • ranga T[6] (T[6] = 1) jest równa 0.

Przyjmij, że tablica Liczba_wystapien ma zawartość uzyskaną po wykonaniu algorytmu Sortowanie. Na podstawie tego faktu uzupełnij poniższy algorytm w taki sposób, aby po jego wykonaniu wartość zmiennej r była równa randze elementu T[i], dla ustalonego i (1 ≤ i ≤ n):

r  0
dla j=1.. wykonuj
       r  r+Liczba_wystapien[j]

Zadanie 1.3

Rozważmy algorytm, w którym teraz elementy tablicy T mogą być dowolnymi dodatnimi liczbami całkowitymi.

Algorytm LicznikiMod
  dla i=1..k wykonuj
      Liczba_wystapien[i]  0
  dla i=1..n wykonuj
      m  1+(T[i] mod k)
      Liczba_wystapien[m]  Liczba_wystapien[m] + 1
  w  Liczba_wystapien[1]

Uzupełnij poniższą tabelę:

nkT[1..n]Końcowa zawartość Liczba_wystapien[1..k]
102[1, 2, 3, 4, 5, 1, 2, 3, 4, 4][5, 5]
103[1, 2, 3, 4, 5, 1, 2, 3, 4, 4]
104[1, 2, 3, 4, 5, 1, 2, 3, 4, 4]
105[1, 2, 3, 4, 5, 1, 2, 3, 4, 4]

Uzupełnij specyfikację algorytmu LicznikiMod:

Specyfikacja
Dane: n, k – liczby całkowite dodatnie T[1..n] – tablica liczb całkowitych dodatnich Wynik: w – ...........

Poniżej wpisz, czym jest wartość w, i kliknij Sprawdź.

w

03

Zadanie 2. Ciąg Pentanacciego

Rozważmy ciąg liczb p₀, p₁, p₂, … zdefiniowany w następujący sposób:

{p₀ = 0p₁ = 1p₂ = 1p₃ = 2p₄ = 4pₙ = pₙ₋₁ + pₙ₋₂ + pₙ₋₃ + pₙ₋₄ + pₙ₋₅ dla n ≥ 5

Zadanie 2.1

Uzupełnij poniższą tabelę.

npₙ
58
7
9

Zadanie 2.2

Poniżej prezentujemy algorytm, który powinien wyznaczać n-ty element podanego ciągu. Uzupełnij luki w algorytmie tak, aby jego działanie było zgodne z podaną specyfikacją.

Specyfikacja
Dane: n – nieujemna liczba całkowita Wynik: w – liczba całkowita równa pₙ

Algorytm:

tab[0]  0
tab[1]  1
tab[2]  1
tab[3]  2
tab[4]  4
i  5
dopóki i   wykonuj
       temp  tab[0]+tab[1]+tab[2]+tab[3]+tab[4]
       tab[ mod 5]  temp
       i  i+1
w  

Uwaga: a mod b oznacza resztę z dzielenia liczby a przez liczbę b.

Zadanie 2.3

Rozważmy poniższy ciąg rₙ:

{r₀ = 0r₁ = 1r₂ = 1r₃ = 0r₄ = 0rₙ = (rₙ₋₁ + rₙ₋₂ + rₙ₋₃ + rₙ₋₄ + rₙ₋₅) mod 2 dla n ≥ 5

Zauważmy, że liczba pₙ jest parzysta wtedy i tylko wtedy, gdy rₙ=0. Można też sprawdzić, że wartości rₙ powtarzają się cyklicznie – każda wartość jest taka sama jak wartość wcześniejsza o sześć wyrazów – a zatem wartość rₙ zależy wyłącznie od liczby n mod 6. Na podstawie tego faktu podaj algorytm o jak najmniejszej złożoności obliczeniowej, który działa zgodnie z poniższą specyfikacją.

Specyfikacja
Dane: n – nieujemna liczba całkowita Wynik: w – 0 (zero), gdy liczba pₙ jest parzysta, natomiast 1 (jeden), gdy liczba pₙ jest nieparzysta

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. Test

W każdym z poniższych zadań oceń, które z podanych zdań są prawdziwe. Zaznacz P, jeśli zdanie jest prawdziwe, lub F – jeśli jest fałszywe.

Zadanie 3.1

Dane są tablica A[1..6] o zawartości [6, 2, –1, 5, 1, 2] oraz następujący fragment algorytmu:

s  0
n  3
i  6
dopóki i > n – 1 wykonuj
       s  s + A[i]
       i  i – 1

Po wykonaniu tego algorytmu spełniony jest warunek

s jest parzyste.
s = 7.
s > 6.
s = 3.

Zadanie 3.2

Realizacji usług poczty elektronicznej służy protokół

SMTP.
IMAP.
EMAIL.
POP3.

Zadanie 3.3

Liczbą większą od 150₍₁₀₎ jest

10011001₍₂₎
1222₍₄₎
227₍₈₎
9B₍₁₆₎

Zadanie 3.4

Obrazy rastrowe

są reprezentowane jako tablice pikseli, co powoduje istotną utratę jakości przy powiększaniu obrazu.
tworzone są przy użyciu wyrażeń matematycznych opisujących występujące w obrazie odcinki, krzywe, elipsy itp.
mogą być wprowadzane do komputera przy użyciu urządzeń takich jak aparat cyfrowy lub skaner.
mogą powstać w efekcie cyfrowego zapisu obrazu widzialnego.

Zadanie 3.5

Algorytm zwany sitem Eratostenesa opierający się na „wykreślaniu" wielokrotności kolejnych (niewykreślonych wcześniej) liczb naturalnych służy wyznaczaniu

największego wspólnego dzielnika dwóch liczb.
najmniejszej wspólnej wielokrotności dwóch liczb.
liczb pierwszych z zadanego przedziału.
potęg dwójki z zadanego przedziału.

Zadanie 3.6

Przykładem programu, który służy do tłumaczenia instrukcji kodu źródłowego programu komputerowego na język maszynowy, jest

walidator.
kompilator.
edytor tekstu.
defragmentator.
05

Zadanie 4. Ciągi binarne

W pliku binarne.txt znajduje się 500 napisów złożonych wyłącznie z zer i jedynek. W każdym wierszu umieszczony jest jeden napis. Każdy napis ma długość podzielną przez 4. Napisz program (lub programy), który da odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku zadanie4.txt, każdą odpowiedź poprzedź numerem odpowiedniego zadania.

Zadanie 4.1

Napis nazywać będziemy dwucyklicznym, jeśli składa się on wyłącznie z dwóch powtórzeń tego samego napisu.

Przykład:

Napis 10001000 jest dwucykliczny (składa się z dwóch powtórzeń napisu 1000), natomiast napisy 00011000 i 10001001 nie są dwucykliczne.

Podaj liczbę napisów dwucyklicznych w pliku binarne.txt, najdłuższy napis dwucykliczny z tego pliku oraz jego długość.

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

Liczba napisów dwucyklicznych:

Najdłuższy napis dwucykliczny:

Długość najdłuższego napisu dwucyklicznego:

Zadanie 4.2

Napisy z pliku binarne.txt traktujemy jako binarne zapisy liczb dziesiętnych, w których każdy segment złożony z 4 znaków jest reprezentacją binarnego zapisu jednej cyfry (zapis taki nazywany jest kodem BCD).

Napis uznajemy za niepoprawny, gdy któryś z segmentów ma wartość większą niż 9 (czyli nie jest zapisem cyfry dziesiętnej).

Przykład:

Napis 10010111 jest poprawny i reprezentuje liczbę 97, natomiast napis 11010000 nie jest poprawny, gdyż jego pierwszy segment (1101) reprezentuje w zapisie binarnym większą od 9 liczbę 13. Podobnie nie jest poprawny napis 1110, ponieważ reprezentuje w zapisie binarnym liczbę 14.

Podaj liczbę niepoprawnych napisów z pliku binarne.txt oraz najmniejszą długość niepoprawnego napisu.

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

Liczba niepoprawnych napisów:

Najmniejsza długość niepoprawnego napisu:

Zadanie 4.3

Napisy z pliku binarne.txt traktujemy teraz jako liczby naturalne w zwykłym zapisie binarnym, pomijamy jednak liczby większe niż 65 535. Wyznacz największą spośród tych liczb, podaj jej wartość w zapisie binarnym oraz w zapisie dziesiętnym.

Przykład:

W pliku o zawartości:

1111000011110000
11110000111100001000
10100110

druga liczba jest pomijana (jako większa od 65 535), zatem największą liczbę wybieramy spośród 1111000011110000₍₂₎=61680₍₁₀₎ oraz 10100110₍₂₎=166₍₁₀₎. Odpowiedzią jest zatem para 1111000011110000, 61680.

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

Największa liczba w zapisie dziesiętnym:

Największa liczba w zapisie binarnym:

06

Zadanie 5. Ogrzewanie

Pan Binarny postanowił przeanalizować sezon grzewczy 2015/2016, który trwał od 15.09.2015 r. do 31.03.2016 r.

Pan Binarny ogrzewał swój dom gazem lub drewnem. Gaz był dostępny zawsze, gdy była potrzeba ogrzewania domu. Natomiast ogrzewanie kominkiem było możliwe tylko wtedy, gdy zgromadzona była wystarczająca ilość drewna. W dniu 15.09.2015 roku rano pan Binarny miał zgromadzone 550 kg drewna. Jeden wsad kominkowy (jedno ogrzewanie) to 26 kg drewna.

Ogrzewanie włączane jest w sezonie grzewczym dwa razy dziennie – rano i wieczorem, zgodnie z następującym harmonogramem:

  • w dni robocze (od poniedziałku do piątku) rano dom ogrzewany jest gazem;
  • w sobotę i niedzielę rano dom ogrzewany jest drewnem (o ile pozwalają na to jego zapasy – co najmniej 26 kg), w przeciwnym razie ogrzewany jest gazem;
  • każdego dnia wieczorem dom jest ogrzewany drewnem (o ile pozwalają na to jego zapasy – co najmniej 26 kg), w przeciwnym razie ogrzewany jest gazem.

W każdy piątek rano pan Binarny sprawdzał masę zgromadzonego drewna. Jeżeli masa drewna była mniejsza niż 100 kg, to dostarczano mu 300 kg drewna tego samego dnia, przed wieczornym ogrzewaniem.

Wykorzystaj dostępne narzędzia informatyczne i podaj odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku zadanie5.txt, a każdą odpowiedź poprzedź odpowiednim numerem zadania (poza wykresem w zadaniu 5.3).

Zadanie 5.1

Podaj datę oraz porę dnia (rano / wieczór), kiedy po raz pierwszy po ogrzewaniu stan zapasów drewna był niższy niż 100 kg.

Poniżej podaj odpowiedź i kliknij Sprawdź.

Data:

Pora dnia:

Zadanie 5.2

Podaj, ile razy w całym sezonie grzewczym (od 15.09.2015 r. do 31.03.2016 r. włącznie):

  • dostarczano drewno panu Binarnemu
  • pan Binarny ogrzewał dom wieczorem drewnem, a ile razy – gazem.

Poniżej podaj odpowiedź i kliknij Sprawdź.

Liczba dowożonego drewna:

Liczba wieczorów, gdy dom był ogrzewany drewnem:

Liczba wieczorów, gdy dom był ogrzewany gazem:

Zadanie 5.3

Przedstaw na wykresie liniowym wieczorną masę drewna (po wykonaniu wieczornego ogrzewania) we wszystkich dniach okresu grzewczego. Zadbaj o czytelność wykresu.

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

Zadanie 5.4

Pan Binarny chce zapewnić, aby zawsze wtedy, kiedy przewiduje to harmonogram, było możliwe ogrzewanie drewnem. W tym celu zamierza zmienić masę drewna dostarczanego w piątki. Podaj minimalną masę drewna, jaka powinna być dostarczana panu Binarnemu w piątki w sezonie 2015/2016 (o ile zgromadzona masa drewna była mniejsza niż 100 kg), aby w tym sezonie dom ogrzewany był drewnem zawsze, gdy przewiduje to harmonogram.

Uwaga: należy przyjąć, że firma dostawcza jednorazowo zawsze dostarcza co najmniej 300 kg drewna.

Poniżej podaj odpowiedź i kliknij Sprawdź.

Minimalna masa drewna:

07

Zadanie 6. Biuro podróży

W plikach osoby.txt, wycieczki.txt i rezerwacje.txt znajdują się informacje dotyczące klientów biura podróży i rezerwacji wycieczek zagranicznych w okresie od czerwca do września 2015 r. Pierwszy wiersz każdego z plików jest wierszem nagłówkowym, a dane w wierszach rozdzielone są znakami tabulacji.

W pliku osoby.txt znajduje się 550 wierszy z danymi o osobach, które dokonały w biurze podróży rezerwacji na wycieczkę (bądź kilka wycieczek): id_osoby, imie, nazwisko.

Przykład:

id_osoby    imie         nazwisko
1           Dominika     Bialkowska
2           Katarzyna    Wojcik
3           Joanna       Radwan

W pliku wycieczki.txt znajduje się 1121 wierszy z danymi o dostępnych wycieczkach zagranicznych: identyfikator wycieczki (id_wycieczki), nazwa kraju (kraj), miejscowość (miejsce), miejsce wylotu (wylot), data wyjazdu (data_od), data powrotu (data_do), cena za osobę dorosłą (cena).

Przykład:

id_wycieczki   kraj      miejsce   wylot    data_od       data_do       cena
1              Tunezja   Djerba    Krakow   2015-07-07    2015-07-21    1990
2              Grecja    Rodos     Poznan   2015-07-28    2015-08-11    3599

W pliku rezerwacje.txt znajduje się 900 wierszy z następującymi danymi: identyfikator rezerwacji (id_rezerwacji), identyfikator osoby (id_osoby), identyfikator wycieczki (id_wycieczki), liczba dorosłych (dorosli), liczba dzieci (dzieci).

Przykład:

id_rezerwacji   id_osoby   id_wycieczki   dorosli   dzieci
1               365        1071           2         1
2               502        246            3         0

Wykorzystaj dane zawarte w plikach oraz dostępne narzędzia informatyczne i podaj odpowiedzi do podanych zadań. Odpowiedzi zapisz do pliku zadanie6.txt, a każdą odpowiedź poprzedź odpowiednim numerem zadania.

Zadanie 6.1

Utwórz zestawienie, w którym podasz imiona i nazwiska osób, które dokonały rezerwacji na więcej niż 3 wycieczki. Zestawienie posortuj alfabetycznie (w porządku rosnącym) ze względu na nazwiska.

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

Zadanie 6.2

Na każde dziecko, które jedzie na wycieczkę, przypada zniżka w wysokości 50% ceny danej wycieczki. Koszt wycieczki rezerwowanej przez daną osobę to koszt za wszystkie miejsca zarezerwowane dla osób dorosłych oraz za wszystkie miejsca rezerwowane dla dzieci. Podaj imię i nazwisko osoby, która zapłaciła łącznie najwięcej za wszystkie wycieczki zarezerwowane przez siebie, oraz podaj zapłaconą kwotę.

Poniżej podaj odpowiedź i kliknij Sprawdź.

Imię i nazwisko osoby:

Zapłacona kwota:

Zadanie 6.3

Utwórz zestawienie, w którym dla każdego miesiąca podasz liczbę dokonanych rezerwacji na wycieczki rozpoczynające się w danym miesiącu (data_od).

Poniżej podaj odpowiedź i kliknij Sprawdź.

miesiącliczba rezerwacji
czerwiec
lipiec
sierpień
wrzesień

Zadanie 6.4

Utwórz zestawienie, w którym dla każdego lotniska (wylot) podasz liczby zaplanowanych wycieczek do poszczególnych krajów.

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