Historyczny arkusz maturalny z informatyki rozszerzonej, maj 2011. Rozwiąż zamknięte części zadań online i sprawdź odpowiedzi, pobierz PDF z pełną treścią, dane do zadań oraz klucz CKE.
Historyczny arkusz maturalny z informatyki na poziomie rozszerzonym z sesji maj 2011 (stara formuła, egzamin według wcześniejszej podstawy programowej). Egzamin składał się z dwóch części: Część I (90 minut, 20 punktów, zadania 1–3 – analiza algorytmów i test wiadomości) oraz Część II (150 minut, 30 punktów, zadania 4–6 – praca przy komputerze z arkuszem kalkulacyjnym, bazą danych i własnym programem). 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ść, P/F, A/B/C/D) wpisz lub zaznacz swój wynik i kliknij Sprawdź. W zadaniach otwartych (napisz algorytm lub program, narysuj drzewo, sporządź wykres) kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE. Pełną treść zadań znajdziesz też w arkuszach PDF.
Opisana poniżej funkcja rekurencyjna wyznacza, dla liczby naturalnej n > 0, długość napisu uzyskanego przez sklejenie binarnych reprezentacji liczb naturalnych od 1 do n − 1.
Funkcja sklej(n)
krok 1. jeśli n = 1, to podaj 0 jako wynik i zakończ działanie krok 2. jeśli n parzysta, to wynikiem jest n − 1 + 2 · sklej(n / 2) krok 3. jeśli n nieparzysta, to wynikiem jest n − 1 + sklej((n − 1) / 2) + sklej((n + 1) / 2)
Wykonaj polecenia a)–c):
Wykonanie funkcji sklej można przedstawić w postaci drzewa wywołań rekurencyjnych ilustrującego wszystkie wywołania funkcji po jej uruchomieniu dla zadanego argumentu. Poniższy rysunek przedstawia takie drzewo dla wywołania sklej(5).
Narysuj analogiczne drzewo dla wywołania sklej(7).
Kliknij Pokaż odpowiedź, aby zobaczyć rozwiązanie z klucza CKE.
Uzupełnij poniższą tabelę, podając wartości funkcji sklej dla wskazanych argumentów.
| n | sklej(n) |
|---|---|
| 1 | 0 |
| 2 | 1 |
| 3 | |
| 4 | |
| 5 | |
| 6 |
Chcemy wypełnić tablicę s[1..n] w taki sposób, że s[i] = sklej(i) dla każdego 1 ≤ i ≤ n.
Podaj algorytm wypełniający tablicę s odpowiednimi wartościami bez wywoływania funkcji sklej, tzn. bez użycia rekurencji. Zauważ, że jeśli poprawnie wyliczone są już wartości s[1], ..., s[i − 1], to można z nich skorzystać przy wyznaczaniu s[i].
Zapisz swój algorytm w postaci listy kroków, schematu blokowego lub w wybranym języku programowania, który wybrałeś/aś na egzamin.
n > 0
Wynik: tablica s[1..n] o wartościach s[i] = sklej(i), dla 1 ≤ i ≤ nKliknij 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.
#include <iostream>
using namespace std;
int main()
{
int n;
int * s;
cin >> n;
s = new int[n+1];
s[1] = 0;
for(int i=2;i<=n;++i)
{
if(i%2 == 0)
s[i] = i-1+2*s[i/2];
else
s[i] = i-1+s[(i-1)/2]+s[(i+1)/2];
}
}Dana jest następująca specyfikacja oraz algorytm obliczania potęgi o wykładniku naturalnym:
a oraz liczba naturalna n, n ≠ 0
Wynik: liczba rzeczywista p = aⁿ = a · a · a · ... · a (n razy)Algorytm:
krok 1. p := 1, b := a krok 2. dopóki n > 0 wykonuj: a) jeśli n mod 2 ≠ 0, to p := p * b b) b := b * b c) n := n div 2
Uwaga: n div 2 oznacza wynik dzielenia całkowitego n przez 2, a n mod 2 oznacza resztę z dzielenia całkowitego n przez 2.
Przeanalizuj podany algorytm i uzupełnij tabelę wartościami zmiennych p, b oraz n po kolejnych wykonaniach kroku 2 dla dowolnej początkowej wartości a oraz dla początkowej wartości zmiennej n równej 12.
W kolumnie n poniżej wpisz kolejne wartości i kliknij Sprawdź, a pełną uzupełnioną tabelę zobaczysz po kliknięciu Pokaż odpowiedź.
| p | b | n |
|---|---|---|
| 1 | a | 12 |
| 1 | a² | |
| p | b | n |
|---|---|---|
| 1 | a | 12 |
| 1 | a² | 6 |
| 1 | a⁴ | 3 |
| a⁴ | a⁸ | 1 |
| a¹² | a¹⁶ | 0 |
Uzupełnij poniższą tabelę, wpisując liczby wszystkich mnożeń, wykonywanych przez powyższy algorytm dla podanych wartości n, tzn. liczby wykonanych instrukcji p := p * b i b := b * b.
| n | liczba mnożeń |
|---|---|
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 |
Podkreśl funkcję, której wartość jest równa liczbie mnożeń wykonywanych przez powyższy algorytm dla wartości n będącej potęgą dwójki:
Podpunkty a) – h) zawierają po cztery odpowiedzi, z których każda jest albo prawdziwa, albo fałszywa. Zdecyduj, które z podanych odpowiedzi są prawdziwe (P), a które fałszywe (F). Zaznacz znakiem X odpowiednią rubrykę w tabeli.
a) Liczba 21202₃ jest równa
| P/F | |
|---|---|
| D1₁₆ | |
| 321₈ | |
| 10110001₂ | |
| 211₁₀ |
b) Rozważ algorytm, który dla zadanego naturalnego n > 0 oblicza następującą sumę:
suma = 1¹ + 2² + 3³ + 4⁴ + ... + nⁿ
Algorytm:
krok 1. suma := 1, i := 2 krok 2. dopóki i <= n, wykonuj a. j := i, p := 1 b. dopóki j >= 1, wykonuj: (i) p := p * i (ii) j := j − 1 c. suma := suma + p, i := i + 1
Oceń prawdziwość stwierdzeń:
| P/F | |
|---|---|
Liczba instrukcji wykonana przez ten algorytm nie zależy od wielkości n. | |
Liczba instrukcji wykonana przez ten algorytm jest funkcją kwadratową ze względu na n. | |
| Instrukcja w kroku 2. jest instrukcją iteracji. | |
Wartość zmiennej j w kroku 2.b. zmienia się kolejno od 1 do i, przy n > 1. |
c) Algorytmy kryptograficzne dotyczą
| P/F | |
|---|---|
| kompresji danych. | |
| szyfrowania danych. | |
| zapewnienia bezpieczeństwa przesyłanych informacji. | |
| przekształcania obrazów. |
d) Strategia przeszukiwania liniowego
| P/F | |
|---|---|
| może być wykorzystana do znalezienia najmniejszego elementu w ciągu liczb. | |
| może być wykorzystana do sprawdzenia, czy dany znak występuje w tekście. | |
| jest wykorzystywana do obliczania wartości silni. | |
| jest najbardziej efektywną metodą znajdowania elementu w uporządkowanym ciągu. |
e) Aby program napisany w języku programowania wysokiego poziomu mógł być wykonany przez komputer,
| P/F | |
|---|---|
| musi być przetłumaczony na język wewnętrzny komputera. | |
| musi być wydrukowany. | |
| niezbędny jest dostęp do kompilatora lub interpretera tego języka. | |
wystarczy zmienić rozszerzenie głównego pliku tego programu na exe. |
f) Grafika wektorowa jest wykorzystywana do reprezentowania
| P/F | |
|---|---|
| schematów i kompozycji figur geometrycznych. | |
| czcionek. | |
| zdjęć wysokiej jakości. | |
| obrazów pochodzących bezpośrednio ze skanera. |
g) Pamięć operacyjna komputera
| P/F | |
|---|---|
| jest wykorzystywana wyłącznie przez aplikacje służące do administrowania systemem operacyjnym. | |
| służy głównie jako nośnik do archiwizacji dokumentów. | |
| jest wykorzystywana do przechowywania programu komputerowego podczas jego uruchamiania i wykonywania. | |
| jest niezbędna do poprawnej pracy komputera. |
h) Protokół sieciowy
| P/F | |
|---|---|
| SSL umożliwia bezpieczne przesyłanie danych w sieci. | |
| IP używany jest tylko w sieci lokalnej. | |
| POP3 to protokół odbioru poczty elektronicznej. | |
| HTTP dotyczy przesyłania dokumentów zapisanych w języku HTML. |
Firma „Zielone Miasto" podpisała umowę na utrzymanie trawników dużej aglomeracji od dnia 1 kwietnia do 30 października 2011 roku. Zadaniem firmy jest:
1 kwietnia 2011 roku rano zgromadzone było 10 000 m³ skoszonej trawy. Firma dysponuje 30 samochodami do wywozu skoszonej trawy z miasta. Objętość zgromadzonej trawy zmienia się codziennie w następujący sposób:
Korzystając z dostępnych narzędzi informatycznych, wykonaj poniższe polecenia. Odpowiedzi umieść w pliku zadanie4.txt, poprzedzając je literami oznaczającymi odpowiednie podpunkty.
a) Podaj, o ile m³ zmniejszy się objętość zgromadzonej trawy w nocy z 9 na 10 kwietnia 2011 roku.
Poniżej wpisz odpowiedź i kliknij Sprawdź.
Odpowiedź:
b) Wskaż, poprzez wstawienie znaku X w odpowiednich wierszach, które z poniższych zdań staną się prawdziwe, po uzupełnieniu ich odpowiednimi liczbami. Zdania prawdziwe uzupełnij.
Dla każdego zdania zaznacz, czy może stać się prawdziwe (Prawda), a w polach uzupełnij brakujące liczby/daty, następnie kliknij Sprawdź.
| Zdanie | Prawda |
|---|---|
| 1. Po …… dniach po raz pierwszy objętość zgromadzonej trawy rano była większa niż rano dnia poprzedniego. Jest to dzień (wpisz datę): …… . | |
| 2. Po dniach objętość zgromadzonej trawy rano wyniesie po raz pierwszy tyle samo, co dnia poprzedniego o tej samej porze. Jest to dzień (wpisz datę): . | |
| 3. Najmniejsza liczba samochodów potrzebna firmie, żeby 12 kwietnia 2011 roku po raz pierwszy została wywieziona cała zgromadzona rano trawa, wynosi . |
c) Wyznacz objętości zgromadzonej trawy po 100 dniach pracy firmy (rano, w 101 dniu, przed wywożeniem trawy) przy założeniu, że 1 kwietnia 2011 rano zgromadzone było odpowiednio 10 000 m³, 7 000 m³, 4 000 m³ skoszonej trawy. Sporządź wykres kolumnowy porównujący te wartości. Zadbaj o czytelność wykresu (pamiętaj o tytule i opisie danych).
Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE.
Objętości zgromadzonej trawy po 100 dniach pracy firmy: 5109, 4968, 4824.
Przykładowy wykres:
Pewien klub kynologiczny przechowuje w plikach tekstowych informacje o swoich członkach i ich psach. Informacje przechowywane w wierszach w każdym z plików są rozdzielone średnikami.
W pliku osoby.txt każdy wiersz zawiera informacje o członkach klubu: id_osoby, imię, nazwisko, nr telefonu.
Przykład:
o001;Adam;Roztoka;501358358 o002;Adam;Komarnicki;337234875
Plik psy.txt zawiera informacje dotyczące psów i ich właścicieli: id_psa, rasa, wiek, płeć, liczba zdobytych medali, id_osoby.
Przykład:
1;wyżeł węgierski krótkowłosy;4;samica;1;o059 2;owczarek niemiecki;2;samica;2;o064 3;chihuahua;3;samiec;4;o097
Wykorzystując dane zawarte w tych plikach oraz dostępne narzędzia informatyczne, wykonaj poniższe polecenia. Odpowiedzi zapisz w pliku zadanie5.txt, poprzedzając je literami oznaczającymi odpowiednie podpunkty.
a) Podaj liczbę samców oraz liczbę samic wśród psów.
Poniżej wpisz odpowiedzi i kliknij Sprawdź.
Liczba samców:
Liczba samic:
b) Utwórz zestawienie podające nazwiska i imiona osób, które mają więcej niż 8 psów. Zestawienie powinno być uporządkowane alfabetycznie według nazwisk.
Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE.
| nazwisko | imie |
|---|---|
| Antczak | Edyta |
| Bielawska | Dagmara |
| Bugajno | Kamila |
| Gabowski | Pawel |
| Jaworski | Eugeniusz |
| Kaliszewski | Kacper |
| Kowal | Marcin |
| Kowalski | Ryszard |
| Kwiatkowski | Marcin |
| Szargawinska | Danuta |
| Szczupak | Anna |
| Tobera | Krystyna |
| Wroclawski | Rafal |
| Wysocka | Maria |
c) Podaj imię i nazwisko osoby, której psy zdobyły łącznie najwięcej medali, oraz podaj liczbę tych medali.
Poniżej wpisz odpowiedzi i kliknij Sprawdź.
Imię i nazwisko:
Liczba medali:
d) Podaj liczbę osób posiadających owczarki. Zwróć uwagę na to, że nazwa rasy może składać się z kilku wyrazów oraz że jedna osoba może posiadać kilka owczarków tej samej rasy lub różnych ras.
Poniżej wpisz odpowiedź i kliknij Sprawdź.
Odpowiedź:
W pliku liczby.txt, w oddzielnych wierszach, znajduje się 1000 liczb zapisanych w systemie dwójkowym o długościach zapisów od 2 do 16 cyfr (0 lub 1).
Napisz program, którego wykonanie da odpowiedzi do poniższych podpunktów. Odpowiedzi zapisz w pliku zadanie6.txt, a każdą odpowiedź poprzedź literą oznaczającą ten podpunkt.
a) Ile jest liczb parzystych w całym pliku?
Poniżej wpisz odpowiedź i kliknij Sprawdź.
Odpowiedź:
b) Jaka jest największa liczba w tym pliku? Podaj jej wartość w dwóch systemach: dwójkowym i dziesiętnym.
Poniżej wpisz odpowiedzi i kliknij Sprawdź.
W systemie dwójkowym:
W systemie dziesiętnym:
c) Ile liczb w całym pliku ma dokładnie 9 cyfr? Podaj sumę tych liczb w systemie dwójkowym.
Poniżej wpisz odpowiedzi i kliknij Sprawdź.
Liczba liczb o długości 9 cyfr:
Suma tych liczb w systemie dwójkowym: