Zadanie 1: Prostokątna liczba binarna - Matura z Informatyki 2024

Rozważmy tablicę o w wierszach i k kolumnach oraz dodatnią liczbę całkowitą n, której zapis w postaci binarnej ma co najwyżej w · k cyfr. Tę liczbę zapisujemy w systemie binarnym i wpisujemy otrzymane cyfry w kolejnych komórkach tablicy, począwszy od lewego górnego rogu.
Cyfry zapisu binarnego najpierw wprowadzamy do pierwszego wiersza, następnie – do drugiego, potem – do trzeciego wiersza itd. Jeśli w pewnej komórce zakończymy wprowadzanie ostatniej cyfry zapisu binarnego, to od następnej komórki zaczynamy wprowadzać ponownie cyfry zapisu binarnego tej samej liczby, zaczynając od pierwszej cyfry. Szukamy cyfry znajdującej się w prawym dolnym rogu tablicy.
Przykład 1.
Weźmy w = 5, k = 3, n = 19. Przedstawiamy liczbę n = 19 w zapisie binarnym: 10011. Wprowadzamy cyfry zapisu binarnego liczby n do tablicy 5 × 3. Zaczynamy od lewego górnego rogu i wpisujemy kolejne cyfry, aż osiągniemy koniec tablicy.
1 0 0 1 1 0 0 1 1 1 0 0 1 1 1
Cyfrą w prawym dolnym rogu jest 1.
Zadanie 1.1: Wprowadzenie cyfr zapisu binarnego liczby n = 179

Wprowadź cyfry zapisu binarnego liczby n = 179 do tablicy o wymiarach w = 4 i k = 5 według powyższej metody.
Zadanie 1.2: Algorytm cyfry w prawym dolnym rogu tablicy

Dana jest dodatnia liczba całkowita n. Cyfry zapisu binarnego liczby n wprowadzono w sposób przedstawiony na początku zadania do tablicy o wymiarach w × k.
W pseudokodzie lub języku programowania zapisz algorytm, który wyznaczy cyfrę zapisu binarnego liczby n znajdującą się w prawym dolnym rogu tabeli o wymiarach w × k.
Uwaga: W zapisie algorytmu możesz wykorzystać tylko operacje arytmetyczne (dodawanie, odejmowanie, mnożenie, dzielenie, dzielenie całkowite, reszta z dzielenia), porównywanie liczb, odwoływanie się do pojedynczego elementu tablicy za pomocą jego indeksu, instrukcje sterujące, przypisania do zmiennych lub samodzielnie napisane funkcje, wykorzystujące powyższe operacje. Zabronione jest używanie funkcji wbudowanych oraz operatorów innych niż wymienione.
Specyfikacja Dane: w – dodatnia liczba całkowita, liczba wierszy tablicy k – dodatnia liczba całkowita, liczba kolumn tablicy n – dodatnia liczba całkowita Wynik: x – cyfra w zapisie binarnym liczby n, która stoi w dolnym prawym rogu tablicy Algorytm:
Zadanie 2: Funkcja rekurencyjna - Matura z Informatyki 2024

Dana jest funkcja F(x), której argumentem jest nieujemna liczba całkowita x
Uwaga: div oznacza dzielenie całkowite
Zadanie 2.1: Tabela wyników F(x) i liczby wywołań

Uzupełnij poniższą tabelę. Dla podanych wartości x wpisz wyniki działania funkcji F oraz podaj łączną liczbę wywołań funkcji F po wywołaniu F(x), łącznie z tym wywołaniem.
x | wynik | liczba wywołań 3 | | 4 | | 16 | | 35 | |
Zadanie 2.2: Najmniejsza i największa wartość x dla F(x) = 18

Podaj najmniejszą i największą wartość parametru x, dla którego wartość funkcji jest równa 18.
Zadanie 3: Słowa - Matura z Informatyki 2024

W pliku slowa.txt danych jest 1000 słów (napisów) złożonych z małych liter alfabetu angielskiego. Słowa mają długość mieszczącą się w przedziale od 1 do 200 znaków.
Napisz program(-my), dający(-e) odpowiedzi do poniższych zadań. Uzyskane odpowiedzi zapisz w pliku wyniki3.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Do Twojej dyspozycji jest plik slowa_przyklad.txt, który zawiera 10 słów w podanym formacie. Odpowiedzi dla tego pliku są podane w treści zadań. Pamiętaj, że Twój program musi ostatecznie działać dla pliku slowa.txt, zawierającego 1000 słów.
Zadanie 3.1: Trójliterowy fragment "k?t" w pliku slowa.txt

Podaj, w ilu spośród podanych słów znajduje się trójliterowy fragment "k?t", gdzie ? oznacza dowolną pojedynczą literę (taki fragment występuje na przykład w słowach "alamakota", albo "brokat", ale nie – w słowie "krata".)
Dla pliku slowa_przyklad.txt odpowiedzią jest 2
Zadanie 3.2: Słowa palindromiczne po kodowaniu ROT13

Alfabet angielski zawiera 26 liter. Kodowanie ROT13 zamienia każdą literę na literę, która jest na pozycji o 13 miejsc dalej w alfabecie (a→n, b→o itd.), przy czym po przekroczeniu „z” liczymy z powrotem od „a” (czyli m→z, ale n→a, o→b, i tak dalej).
Słowo aren ma ciekawą własność – po zakodowaniu za pomocą ROT13 staje się słowem nera, czyli tym samym słowem czytanym od tyłu. Podaj, ile w pliku slowa.txt jest słów, które mają tę własność. Wypisz ich liczbę oraz najdłuższe z nich.
Dla pliku slowa_przyklad.txt odpowiedzią jest 2, aren (w pliku slowa_przyklad.txt są 2 słowa o tej własności: aren i bo)
Zadanie 3.3: Słowa z literą na co najmniej połowie pozycji

Znajdź i wypisz z pliku slowa.txt wszystkie takie słowa, w których ta sama litera występuje na co najmniej połowie pozycji (przykładowo: w słowie "owocowo" litera „o” ma 4 wystąpienia na ogólną liczbę 7 liter w słowie i spełnia podany warunek, za to w słowie "ambaras" litera „a” ma tylko 3 wystąpienia na 7 liter, więc nie spełnia podanego warunku).
W pliku slowa_przyklad.txt są 4 takie słowa: terefere, ananas, bo, alabama
Do oceny oddajesz:
- plik wyniki3.txt – zawierający odpowiedzi do zadań 3.1.–3.3. (odpowiedź do każdego zadania powinna być poprzedzona jego numerem)
- plik(-i) zawierający(-e) kod(-y) źródłowy(-e) Twojego(-ich) programu(-ów) o nazwie(-ach) (uwaga: brak tego(-ych) pliku(-ów) jest równoznaczny z brakiem rozwiązania zadania): zadanie 3.1., zadanie 3.2., zadanie 3.3.
Zadanie 4: Komputery i pakiety - Matura z Informatyki 2024

W pewnej sieci jest n > 1 komputerów. Komputery przesyłają między sobą pakiety informacji. Rozsyłanie odbywa się w rundach. W rundzie zerowej każdy komputer ma swój jeden pakiet oznaczony numerem tego komputera. Każdy komputer ma z góry zadany numer odbiorcy, czyli komputera, do którego w kolejnych rundach wysyła pakiety. Na początku każdej rundy każdy komputer wysyła wszystkie pakiety, które miał w rundzie poprzedniej. Pakiety przychodzące do komputera w trakcie rundy są przechowywane w tym komputerze do początku następnej rundy.
Przykład 1.
Poniżej zapisano numery odbiorców dla n = 6 komputerów o numerach odpowiadających numerom wierszy (od 1 do 6):
4 3 5 3 1 2
Odbiorcą dla komputera pierwszego jest komputer 4, odbiorcą dla komputera drugiego jest komputer 3 itd. Zatem w pierwszej rundzie komputer pierwszy przesyła swój pakiet (nr 1) do komputera czwartego, komputer drugi wysyła swój pakiet (nr 2) do komputera trzeciego itd.
W drugiej rundzie pakiet numer 1, który był w komputerze nr 4, zostanie przez niego wysłany do komputera nr 3 (który jest odbiorcą dla komputera nr 4) itd. W poniższej tabeli dla każdego numeru pakietu przedstawiono miejsce, w którym ten pakiet znajdzie się na koniec kolejnych rund (do rundy 6) dla danych z przykładu 1.
Nr pakietu | 1. runda | 2. runda | 3. runda | 4. runda | 5. runda | 6. runda 1 | 4 | 3 | 5 | 1 | 4 | 3 2 | 3 | 5 | 1 | 5 | 3 | 5 3 | 5 | 1 | 4 | 3 | 5 | 1 4 | 3 | 5 | 1 | 4 | 3 | 5 5 | 1 | 4 | 3 | 5 | 1 | 4 6 | 2 | 3 | 5 | 4 | 3 | 5
Zadanie 4.1: Tabela rund 2, 3 i 4 dla n = 6

Uzupełnij tabelę – dla poniższych danych (n = 6) wpisz numery komputerów, w których znajdą się pakiety o numerach od 1 do 6, po każdej z rund: 2, 3 i 4:
3 1 6 5 4 5
Nr pakietu | 1. runda | 2. runda | 3. runda | 4. runda 1 | 3 | | | 2 | 1 | | | 3 | 6 | | | 4 | 5 | | | 5 | 4 | | | 6 | 5 | | |
Informacja do zadań 4.2.–4.4. W kolejnych wierszach pliku odbiorcy.txt zapisano numery odbiorców dla n = 1024 komputerów. W wierszu pierwszym pliku zapisano numer odbiorcy pakietów od komputera pierwszego, w wierszu drugim – numer odbiorcy pakietów od komputera drugiego itd.
Napisz program(-my), dający(-e) odpowiedzi do poniższych zadań. Uzyskane odpowiedzi zapisz w pliku wyniki4.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Do Twojej dyspozycji jest plik odbiorcy_przyklad.txt składający się z 16 wierszy, z których każdy zawiera jedną liczbę. Wiersz o numerze i = 1, 2, …, 16 zawiera odbiorcę pakietów dla komputera o numerze i. Odpowiedzi dla tego pliku są podane w treści zadań.
Zadanie 4.2: Komputery nie będące odbiorcami pakietów

Dla danych zapisanych w pliku odbiorcy.txt podaj liczbę komputerów, które nie są odbiorcami żadnych pakietów.
W przykładzie 1. jest jeden taki komputer – komputer 6 nie jest odbiorcą żadnego pakietu.
Dla pliku odbiorcy_przyklad.txt odpowiedzią jest 3 (komputery 1, 6 i 10 nie są odbiorcami pakietów).
Zadanie 4.3: Powrót pakietu do komputera startowego

W kolejnych rundach może się zdarzyć, że pakiet wróci do komputera, z którego został początkowo wysłany (komputera o numerze takim, jaki ma ten pakiet).
W przykładzie 1. w rundzie czwartej pakiety o numerach 1, 3, 4 i 5 wrócą do komputerów, w których znajdowały się przed rozpoczęciem rozsyłania.
Wyznacz najmniejszy numer rundy, w której którykolwiek pakiet powróci do komputera, z którego startował (o tym samym numerze co numer tego pakietu). Podaj najmniejszy numer takiego pakietu dla wyznaczonego numeru rundy.
Dla przykładu 1. odpowiedzią jest: 4 1 (runda 4, numer pakietu 1).
Dla danych z pliku odbiorcy_przyklad.txt odpowiedzią jest: 3 7 (runda 3, numer pakietu 7).
Zadanie 4.4: Największa liczba pakietów w jednym komputerze

Podaj największe liczby pakietów, które trafiają do jednego komputera – odpowiednio – po każdej z rund: 1, 2, 4 i 8. Jako odpowiedź podaj liczby tych pakietów zapisane w jednym wierszu, rozdzielone znakiem odstępu.
Dla pliku odbiorcy_przyklad.txt prawidłowa odpowiedź to 2 2 3 4.
Do oceny oddajesz:
- plik wyniki4.txt – zawierający odpowiedzi do zadań 4.2.–4.4.
- plik(-i) zawierający(-e) kod(-y) źródłowy(-e) Twojego(-ich) programu(-ów) o nazwie(-ach): zadanie 4.2., zadanie 4.3., zadanie 4.4.
Zadanie 5: Prawo autorskie - Matura z Informatyki 2024

Oceń prawdziwość podanych zdań. Zaznacz P, jeśli zdanie jest prawdziwe, albo F – jeśli jest fałszywe.
- Ochrona praw autorskich przysługuje twórcy niezależnie od spełnienia jakichkolwiek formalności. (P / F)
- Programy komputerowe nie są dziełami chronionymi prawami autorskimi. (P / F)
Zadanie 6: Systemy liczbowe - Matura z Informatyki 2024

Wykonaj działania na liczbach zapisanych w systemach pozycyjnych o podstawach 5 i 6. Wynik dodawania liczb w systemie o podstawie 5 zapisz w tym systemie, wynik odejmowania liczb zapisanych w systemie o podstawie 6 zapisz w systemie o podstawie 6.
2035 + 44015 = __________________ 45416 – 24556 = __________________
Zadanie 7: Uzdrowisko - Matura z Informatyki 2024

Pewne uzdrowisko słynie z leczniczego źródła wody. W pliku uzdrowisko.txt zapisano przyjazdy i wyjazdy kuracjuszy do tego uzdrowiska w okresie od stycznia do grudnia 2023 roku (wszystkie dane są fikcyjne i wygenerowane na potrzeby zadania).
W każdym wierszu pliku uzdrowisko.txt zapisano następujące dane:
- datę z zakresu od 1 stycznia 2023 do 31 grudnia 2023 w formacie rrrr-mm-dd (data)
- liczbę kuracjuszy, którzy przyjechali w podanym dniu do uzdrowiska (przyjechali)
- liczbę kuracjuszy, którzy w podanym dniu opuścili uzdrowisko (wyjechali)
Dane w wierszach są rozdzielone znakiem tabulacji.
Fragment pliku uzdrowisko.txt: data | przyjechali | wyjechali 2023-01-01 | 528 | 484 2023-01-02 | 641 | 625 2023-01-03 | 352 | 603 2023-01-04 | 342 | 412
Z wykorzystaniem powyższych danych oraz dostępnych narzędzi informatycznych wykonaj poniższe zadania. Odpowiedzi zapisz w pliku tekstowym wyniki7.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Zadanie 7.1: Zestawienie kuracjuszy i wykres kolumnowy

Utwórz zestawienie łącznej liczby kuracjuszy, którzy przyjechali do uzdrowiska w każdym miesiącu 2023 roku. Dla otrzymanego zestawienia sporządź wykres kolumnowy ilustrujący wyniki. Pamiętaj o prawidłowym i czytelnym opisie wykresu (wstaw tytuł i opisy osi).
Zadanie 7.2: Dni przekroczenia 11 000 kuracjuszy

Zakładamy, że w dniu 31.12.2022 w uzdrowisku przebywało 10 000 kuracjuszy. Podaj, w jakim dniu po raz pierwszy liczba kuracjuszy (po przyjeździe nowych i wyjeździe wszystkich opuszczających uzdrowisko w danym dniu) przekroczyła 11 000, oraz podaj datę, kiedy liczba kuracjuszy (po przyjeździe nowych i wyjeździe wszystkich opuszczających uzdrowisko w danym dniu) była największa.
Zadanie 7.3: Woda ze źródła i butelkowanie

Źródło ma wydajność 3900 litra/dobę. Każdy z kuracjuszy pije dziennie 0,4 litra wody ze źródła. Jeżeli wydajność źródła jest większa niż łączne potrzeby kuracjuszy danego dnia, to pozostałą ilość wody uzdrowisko butelkuje w szklanych butelkach o pojemności 5 litrów (butelki zawsze wypełnia się do pełna, a pozostała woda jest zużywana do innych celów). W przypadku, gdy wydajność dobowa źródła jest zbyt mała, aby zaspokoić potrzeby wszystkich kuracjuszy obecnych w uzdrowisku, pracownicy uzdrowiska brakującą wodę podają z butelek. Przy tym każda otwarta butelka zawsze jest zużywana do końca i w pierwszej kolejności na potrzeby kuracjuszy, tj. jeśli zostanie jakaś część wody w ostatniej użytej butelce, to zostanie wykorzystana do innych celów (nie liczymy jej w następnym dniu).
Uwaga: zakładamy, że:
- w dniu 31.12.2022 w uzdrowisku przebywało 10 000 kuracjuszy
- w dniu 31.12.2022 wieczorem w magazynie uzdrowiska znajdowało się 120 sztuk 5-litrowych butelek wody
- kuracjusze otrzymują wodę w dniu przyjazdu, a w dniu odjazdu tej wody nie otrzymują
- a) Podaj datę, kiedy po raz pierwszy zabrakło zarówno wody ze źródła, jak i wody butelkowanej, aby zaspokoić potrzeby wszystkich kuracjuszy przebywających w danym dniu w uzdrowisku.
- b) Podaj łączną liczbę dni, w których zabrakło wody dla wszystkich kuracjuszy.
- c) Podaj najmniejszą liczbę butelek wody, jaka powinna znajdować się w dniu 31.12.2022 w magazynie uzdrowiska, aby wody nie zabrakło przez cały rok.
Zadanie 8: Szczepienia - Matura z Informatyki 2024

W pewnym centrum medycznym odbywają się szczepienia. Lekarz przepisuje pacjentowi odpowiednią szczepionkę, a każda szczepionka ma rekomendowaną liczbę dawek. Pacjent zostaje uznany za zaszczepionego, jeśli przyjmie wszystkie dawki rekomendowane dla danej szczepionki.
Dane dotyczące szczepień od 2 stycznia 2023 do 7 maja 2024 są zapisane w dwóch plikach: szczepionki.txt oraz wizyty.txt. Pierwszy wiersz w każdym pliku jest wierszem nagłówkowym i zawiera nazwy odpowiednich pól. Dane w wierszach rozdzielone są znakiem tabulacji.
Plik o nazwie szczepionki.txt zawiera informacje o szczepionkach. W każdym wierszu znajduje się:
- kod_szczepionki – tekst do 10 znaków, określający jednoznacznie szczepionkę
- liczba_dawek – liczba rekomendowanych dawek, liczba całkowita większa od 0 i mniejsza od 10
Przykład: kod_szczepionki | liczba_dawek sz1_3d | 3 sz2_1d | 1
Plik o nazwie wizyty.txt zawiera informacje o podanej pacjentowi dawce szczepionki. W każdym wierszu znajduje się:
- pesel – numer PESEL pacjenta przyjmującego daną dawkę szczepienia, składający się z 11 znaków
- kod_szczepionki – kod podanej szczepionki
- data_szczepienia – data szczepienia w formacie rrrr-mm-dd
- numer_dawki – liczba całkowita mniejsza od 10 określająca, która dawka szczepionki została podana
Przykład: pesel | kod_szczepionki | data_szczepienia | numer_dawki 79051863861 | sz16_1d | 2023-01-02 | 1 84100517145 | sz13_5d | 2023-01-02 | 1
Z wykorzystaniem danych zawartych w podanych plikach oraz dostępnych narzędzi informatycznych podaj odpowiedzi do zadań 8.1.–8.3. Odpowiedzi zapisz w pliku wyniki8.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Zadanie 8.1: Liczba dawek każdej szczepionki

Dla każdej szczepionki podaj, ile łącznie jej dawek zostało podanych pacjentom. Jako wynik podaj listę zawierającą kod szczepionki i liczbę dawek. Lista powinna być posortowana nierosnąco według liczby dawek.
Zadanie 8.2: Pacjenci szczepionki sz12_3d

Podaj, ilu różnych pacjentów przyjęło przynajmniej jedną dawkę szczepionki o kodzie sz12_3d. Podaj, ile wśród nich było kobiet (płeć określa przedostatnia cyfra numeru PESEL, cyfra parzysta oznacza płeć żeńską).
Zadanie 8.3: Miesiąc ukończenia szczepień

Podaj rok i miesiąc, w którym najwięcej osób ukończyło szczepienie (czyli: w tym miesiącu przyjęło ostatnią rekomendowaną dawkę danego szczepienia). Podaj także liczbę osób, które ukończyły szczepienie w tym terminie.
Zadanie 8.4: Pacjenci szczepieni w innym województwie (SQL)

Informacje o szczepieniach rozszerzono o dodatkowe dane:
- do tabeli WIZYTY dodano pole kod_punktu – określające punkt szczepień, w którym odbyło się szczepienie
- dodano tabele PACJENCI i PUNKT_SZCZEPIEN
- w tabeli PACJENCI podano numer PESEL pacjenta (pesel) i województwo (wojewodztwo_pacjenta), w którym pacjent mieszka
- w tabeli PUNKT_SZCZEPIEN podano kod punktu (kod_punktu) szczepienia i województwo (wojewodztwo_punktu), w którym znajduje się punkt szczepień
Zapisz w języku SQL zapytanie, w którym podasz numery PESEL pacjentów, którzy przyjęli co najmniej jedną dawkę szczepienia w województwie innym niż to, w którym mieszkają. Twoja odpowiedź będzie poprawna, także jeżeli PESEL pacjenta będzie wypisany więcej niż jeden raz.