Informatyka dla klas III - Testy maturalne

 

Poziom podstawowy

 

Zadanie 1. Szyfrowanie (8 pkt)

[Rozwiązanie]

Poniższy algorytm szyfruje słowo s  przy pomocy pewnego szyfru przestawieniowego.

Zaszyfrowane słowo zostaje zapisane w zmiennej w.

Algorytm

1. i ← 1, w  ← '', k  ← 2

2. dopóki i <= k  wykonuj
     j  ← i
    dopóki j  <= długość(s) wykonuj:
        w  ← w s[j]
        j  ← j + k
    i  ← i + 1

Objaśnienia:

'' oznacza słowo puste, s[j] oznacza j-ty znak w słowie s  (numeracja rozpoczyna się od 1)

• oznacza sklejenie dwóch słów (ewentualnie sklejenie słowa i znaku)

← oznacza instrukcję przypisania.

  1. Zapisz wynik działania powyższego algorytmu dla słów ARKA i MOTOR.
  2. Kluczem szyfrującym nazywamy pewną wartość, która jest wymagana przy szyfrowaniu i deszyfrowaniu, a jej zmiana może dać inny wynik szyfrowania tego samego słowa. Która ze zmiennych i, j, k służy do przechowywania klucza w podanym algorytmie?
  3. Zapisz algorytm (w postaci listy kroków, schematu blokowego lub w wybranym języku programowania), realizujący następującą metodę szyfrowania: słowo dzielimy na grupy po dwa znaki i w każdej parze zamieniamy znaki miejscami. Jeśli słowo ma nieparzystą długość, ostatni znak pozostaje niezmieniony. Wynik zaszyfrowania danego słowa s  zapisz w zmiennej w

          Przykłady:

                    MOTOR → MO TO R → OM OT R → OMOTR
                    MATURA →MA TU RA → AM UT AR → AMUTAR

 


 

Zadanie 2. Rozkład liczby (7 pkt)

[Rozwiązanie]

Rozkładem na czynniki pierwsze liczby całkowitej większej od 1 nazywamy przedstawienie tej liczby w postaci iloczynu czynników pierwszych (liczb pierwszych). Jeżeli dana liczba jest liczbą pierwszą, to w jej rozkładzie występuje tylko ona sama.

Przykłady:

24 = 2 × 2 × 2 × 3

20 = 2 × 2 × 5

19 = 19

  1. Podaj rozkład na czynniki pierwsze następujących liczb całkowitych:
Liczba Rozkład na czynniki pierwsze
63  
184  
277  

 

  1. Ułóż algorytm (w postaci listy kroków, schematu blokowego lub w wybranym języku programowania), który dla liczby całkowitej n  (n  > 1) podaje wszystkie jej czynniki pierwsze występujące w rozkładzie.

Specyfikacja

    Dane: liczba całkowita n  (n  > 1)

    Wynik: wszystkie czynniki pierwsze liczby n

Przykłady:

    Dla n  = 24 poprawnym wynikiem jest 2, 2, 2, 3.

    Dla n  =19 poprawnym wynikiem jest 19.

 


 

 

Zadanie 3. Test (5 pkt)

[Rozwiązanie]

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

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

  1. Wiadomo, że kodem ASCII małej litery „a” jest 97. Kodem małej litery „d” jest liczba

        □  (01100100)2
        □  (01011010)2
        □  (01101110)2
     
  2. Zbiór programów, które zarządzają pracą komputera, to

        □  oprogramowanie edukacyjne.
        □  system operacyjny.
        □  pakiet programów biurowych.
     
  3. Popularnym językiem programowania jest

        □  Kawa.
        □  Java.
        □  Agawa.
     
  4. Który parametr nie dotyczy charakterystyki dysku twardego?

        □  Pojemność liczona np. w GB.
        □  Czas zapisu i odczytu 1 kB danych liczony w cyklach rozkazowych procesora.
        □  Liczba obrotów talerzy dysku na minutę (obr/min).
     
  5. Dany jest następujący algorytm:

        1. n  ← 6, i  ← 1, s  ← 0
        2. dopóki i  <= n  wykonuj
                 s  ← s  + i
                 i  ← i  + 1
        3. s  ← s  + 1

    Uwaga: ← oznacza instrukcję przypisania.

    Po wykonaniu tego algorytmu wartości zmiennych s, i  są odpowiednio równe

        □  21, 6.
        □  22, 7.
        □  21, 7.

 

 

Zadanie 4. Palindromy (10 pkt)

[Rozwiązanie]

Palindromem nazywamy słowo, które czytane od lewej i od prawej strony jest takie samo.

Na przykład palindromami są słowa:
 

JABFDFBAJ

HAJAHAJAH

ABBA
 

Słowo JANA nie jest palindromem.
 

W pliku dane.txt umieszczono w kolejnych wierszach 1000 słów o długościach od 2 do 25 znaków, składających się z wielkich liter A, B, C, D, E, F, G, H, I, J. Napisz program, który przegląda słowa zapisane w pliku dane.txt i wypisuje te z nich, które są palindromami, po jednym w wierszu. Kolejność wypisywania palindromów powinna być taka sama jak w pliku z danymi.

 


 

 

Zadanie 5. Upusty (10 pkt)

[Rozwiązanie] - uwaga, strona może się długo ładować.

Producenci A i B sprzedają pewien towar po 12,00 zł za sztukę. Producent A daje odbiorcom 15% upustu przy zakupie do 500 sztuk oraz 25% upustu przy zakupie powyżej 500 sztuk.

Natomiast producent B dla odbiorców przygotował 10% upustu przy zakupie do 300 sztuk, 10% upustu przy zakupie do 300 sztuk oraz 25% upustu od każdej sztuki powyżej 300 – do 600 sztuk, natomiast przy zakupie powyżej 600 sztuk oferuje upust 35% od każdej zakupionej sztuki.

Dokładne reguły wyznaczania kwoty do zapłacenia, w zależności od liczby sztuk towaru, są następujące:
 

x  – liczba sztuk, k  – koszt zakupu.
 

Producent A:

x  ≤ 500 k  = x  * (1− 0,15) * 12

x  > 500 k  = x  * (1− 0,25) * 12
 

Producent B:

x  ≤ 300 k  = x  * (1− 0,1) * 12

300 < x  ≤ 600 k  = 300 * (1− 0,1) * 12 + (x  − 300) * (1− 0,25) * 12

x  > 600 k  = x  * (1− 0,35) * 12
 

Towar pakowany jest po 10 sztuk, dlatego wartości x w powyższym opisie i w odpowiedziach na poniższe pytania mogą być tylko wielokrotnościami liczby 10. W obliczeniach przyjmij, że x jest liczbą z przedziału [10, 1000].

Wykorzystując dostępne narzędzia informatyczne, wykonaj potrzebne obliczenia i odpowiedz na poniższe pytania. Odpowiedzi umieść w pliku tekstowym zadanie5.txt, każdą odpowiedź poprzedź literą oznaczającą stosowny podpunkt.

  1. W jakich przedziałach wartości koszt zakupu x  sztuk towaru jest niższy u producenta A?
  2. Przy jakiej liczbie sztuk towaru nie ma znaczenia, u którego producenta hurtownia zrobi zakupy?
  3. Jaka jest największa liczba sztuk, dla której koszt zakupu u producenta A jest mniejszy niż koszt zakupu 500 sztuk u producenta B?
  4. Jaka jest największa liczba sztuk, dla której koszt zakupu u producenta B jest mniejszy niż koszt zakupu 600 sztuk u producenta A?

 


 

Zadanie 6. Noworodki (10 pkt)

[Rozwiązanie] - uwaga, strona może się długo ładować.

Pliki noworodki.txt oraz mamy.txt zawierają dane o dzieciach i ich matkach.

W pliku noworodki.txt każdy wiersz zawiera następujące informacje o jednym dziecku, rozdzielone znakami odstępu: identyfikator, płeć (c – córka, s – syn), imię, data urodzenia, waga [g], wzrost [cm] oraz identyfikator matki.

Przykład:

 

1 c Agnieszka 20-lis-1999 2450 48 33

 

W pliku mamy.txt każdy wiersz zawiera informacje o jednej kobiecie, rozdzielone znakami odstępu: identyfikator matki, imię, wiek.

Przykład:

 

1 Agata 25

 

Identyfikator matki z pliku noworodki.txt odpowiada identyfikatorowi w pliku mamy.txt.

Wykorzystując dane zawarte w plikach mamy.txt i noworodki.txt oraz dostępne narzędzia informatyczne, wykonaj poniższe polecenia.

  1. Podaj imię i wzrost najwyższego chłopca oraz imię i wzrost najwyższej dziewczynki.
    Uwaga: Jest tylko jeden taki chłopiec i tylko jedna taka dziewczynka.
  2. W którym dniu urodziło się najwięcej dzieci? Podaj datę i liczbę dzieci.
    Uwaga: Jest tylko jeden taki dzień.
  3. Podaj imiona kobiet w wieku poniżej 25 lat, które urodziły dzieci o wadze powyżej 4000 g.
  4. Podaj imiona i daty urodzenia dziewczynek, które odziedziczyły imię po matce.
  5. W pliku noworodki.txt zapisane są informacje o narodzinach bliźniąt. Bliźnięta można rozpoznać po tej samej dacie urodzenia i tym samym identyfikatorze matki. Pamiętaj, że przykładowo Jacek i Agatka oraz Agatka i Jacek to ta sama para. Możesz założyć, że w danych nie ma żadnych trojaczków, czworaczków, itd. Podaj daty, w których urodziły się bliźnięta.

 

Poziom rozszerzony

 

Zadanie 1. Szyfr przestawieniowy (7 pkt)

Szyfrowanie przestawieniowe jest klasyczną metodą szyfrowania polegającą na zmianie kolejności liter w szyfrowanym tekście. Często używa się reguł zamiany opartych na różnych figurach geometrycznych – w tym zadaniu użyjemy kwadratu. Szyfrowanie będzie polegało na wprowadzeniu tekstu do kwadratowej tablicy szyfrującej o wymiarach n  × n  po kolei wierszami, a następnie odczytaniu tekstu z tablicy kolumnami od lewej do prawej. Wymiar n tablicy jest najmniejszą liczbą, przy której tekst zmieści się w całości w kwadracie n  × n  .

W przypadku, gdy tekst jest krótszy i nie wypełnia wszystkich pól tablicy, puste pola uzupełnia się znakami odstępu. W tym zadaniu znaki odstępu będziemy oznaczać _.

 

obrazek

 

Przykład:

Załóżmy, że tekst ALGORYTM_PRZESTAWIENIOWY ma być zaszyfrowany w tablicy kwadratowej. Liczba znaków w tekście do zaszyfrowania jest równa 24, czyli tablica szyfrująca ma wymiary 5 × 5 . Ostatni element tablicy będzie uzupełniony znakiem odstępu.

Tekst zapisujemy do tablicy wierszami.

 

A L G O R
Y T M _ P
R Z E S T
A W I E N
I O W Y _

 

Następnie odczytujemy zaszyfrowany tekst kolumnami:

 

AYRAILTZWOGMEIWO_SEYRPTN_

  1. Podaj wzór na liczbę wierszy i kolumn tablicy kwadratowej używanej do szyfrowania tekstu o długości d  znaków lub opisz algorytm wyznaczania tej liczby (w postaci listy kroków, schematu blokowego lub w wybranym języku programowania).
  2. Do zaszyfrowania pewnego cytatu z Sokratesa użyto metody opisanej w podpunkcie a). Rozszyfruj ten cytat. Poniższy szyfr składa się z 64 znaków.

        BTLLTU_ĘL_EOYPM_ĄPJZLCYNDREOKYLI_ZMFO_ĄGJY_Ó_N_DEWFWGISYSII_ŁEI_
     
  3. Zapisz algorytm (w postaci listy kroków, schematu blokowego lub w wybranym języku programowania), który szyfruje zadany tekst sposobem opisanym w tym zadaniu i jest zgodny z poniższą specyfikacją.

Specyfikacja

Dane:

    d  – dodatnia liczba całkowita, długość tekstu do zaszyfrowania
    tekst[1…d] – tablica zawierająca tekst do zaszyfrowania, gdzie tekst[i], to i-ty znak w tekście do zaszyfrowania

Wynik:

    s  – dodatnia liczba całkowita, długość tekstu po zaszyfrowaniu
    szyfr[1…s] – tablica zawierająca tekst po zaszyfrowaniu, gdzie szyfr[i], to i-ty znak w tekście po zaszyfrowaniu

 


 

Zadanie 2. Tablica zero-jedynkowa (8 pkt)

W tablicy a[1…1023] zapisano ciąg zer i jedynek w taki sposób, że wszystkie zera poprzedzają jedynki.

Uwaga: W tablicy mogą być same zera lub same jedynki.

Oto niepełny algorytm obliczania liczby zer w tablicy a:

← – oznacza instrukcję przypisania

div – oznacza dzielenie całkowite

    liczba_zer  ← 0
    l  ← 1, p  ← 1023
    dopóki l  ≤ p  wykonuj
        s  ← (l  + p) div 2
        jeśli a[s] =1 to
            p s  −1
        w przeciwnym przypadku
            liczba_zer  ← liczba_zer  + …………………
            l  ← …………………

  1. Uzupełnij opis algorytmu, wstawiając w miejsce kropek stosowne wyrażenie, tak aby obliczał on zawsze poprawnie liczbę zer z tablicy a.
  2. Ile instrukcji przypisania s ← (l  + p) div 2 jest wykonywanych w każdym przebiegu algorytmu? Odpowiedź uzasadnij.

 

Zadanie 3. Test (5 pkt)

Podpunkty a) – e) zawierają po trzy stwierdzenia, z których każde jest albo prawdziwe, albo fałszywe. Zdecyduj, które z podanych stwierdzeń są prawdziwe (P), a które fałszywe (F). Zaznacz znakiem X odpowiednią rubrykę w tabeli.

 

  1. Pojedyncza operacja wykonywana na stosie to
    P      F   
pobranie pierwszego od dołu elementu.    
usunięcie pierwszego od dołu elementu.    
pobranie pierwszego od góry elementu.    

 

  1. Algorytm:

obrazek

 

znajduje

    P      F   
NWW (a,b).    
NWD (a,b).    
liczbę pierwszą większą od a  i mniejszą od b.    

 

  1. Liczba 100016 to
    P      F   
345225    
409610    
100008    

 

  1. Program zapobiegający włamaniom do systemu i kontrolujący pakiety sieciowe to
    P      F   
firewall.    
keylogger.    
filtr antyspamowy.    

 

  1. Format plików graficznych dla grafiki rastrowej to
    P      F   
BMP.    
JPG.    
GIF.    

 


 

Zadanie 4. Anagram (10 pkt)

Anagram to słowo powstałe z innego słowa przez przestawienie liter. Przez słowo rozumiemy w tym zadaniu dowolny ciąg liter alfabetu łacińskiego.

Przykłady anagramów:

 

dla słowa: barok – korba, robak, arobk, rokab, orkab …

dla słowa: ranty – tyran, narty, ntyra, natyr, ytnar …

 

W pliku tekstowym anagram.txt znajduje się 200 wierszy zawierających po 5 słów w każdym wierszu. Słowa oddzielone są znakiem odstępu. Długość każdego ze słów wynosi od 1 do 20 znaków.

Przykład:


abcd cdba dbac cbad dcba

barbakan xle ala foto otof

smok ayszkm lampa ayszkm bakara

skok arabanta oko agnieba dyskietka

……
 

Napisz program w wybranym przez siebie języku programowania, za pomocą którego wykonasz poniższe polecenia:

  1. Wyszukaj w pliku anagram.txt te wiersze, w których wszystkie słowa znajdujące się w danym wierszu mają taką samą liczbę znaków.
  2. Wyszukaj w pliku anagram.txt wszystkie wiersze tekstu, w których wszystkie słowa są anagramami pierwszego słowa w danym wierszu.

 

Zadanie 5. Numer PESEL (10 pkt)

Numer PESEL to 11-cyfrowy kod, jednoznacznie identyfikujący określoną osobę fizyczną. Dla wszystkich urodzonych przed 1.1.2000 r. skonstruowany został w następujący sposób:

Przykład:

 

Numer PESEL 75121968629 oznacza kobietę (bo przedostatnia cyfra w numerze jest parzysta), urodzoną 19 grudnia 1975 roku, której nadano liczbę porządkową 686.

 

Cyfra kontrolna jest obliczana wg następującego algorytmu:

  1. Każdą cyfrę numeru PESEL (oprócz ostatniej, która jest cyfrą kontrolną) mnożymy przez odpowiadającą jej wagę. Tablica wag ma postać: 1, 3, 7, 9, 1, 3, 7, 9, 1, 3.
    W podanym powyżej numerze PESEL cyfrą kontrolną jest 9.
    PESEL: 7 5 1 2 1 9 6 8 6 2 9 (ostatnią cyfrę pomijamy, bo to cyfra kontrolna)
    WAGI: 1 3 7 9 1 3 7 9 1 3
    WYNIKI: 7x1=7; 5x3=15; 1x7=7; 2x9=18 ;1x1=1; 9x3=27; 6x7=42; 8x9=72; 6x1=6; 2x3=6
  2. Wyniki sumujemy: 7 + 15 + 7 + 18 + 1 + 27 + 42 + 72 + 6 + 6 = 201
  3. Wyznaczamy resztę z dzielenia sumy przez 10: 201:10 = 20 reszta = 1
  4. Jeżeli reszta = 0, to cyfra kontrolna wynosi 0.
    Jeżeli reszta ≠ 0, to cyfra kontrolna będzie uzupełnieniem reszty do 10, czyli w podanym przykładzie jest to cyfra 9.

Plik pesel.txt zawiera numery PESEL 150 osób zatrudnionych w biurze obliczeniowym „Statystyk”. Korzystając z informacji zawartych w pliku pesel.txt oraz dostępnych narzędzi informatycznych, wykonaj poniższe polecenia. Odpowiedzi do poszczególnych podpunktów umieść w pliku odp_5.txt, poprzedzając je literą oznaczającą ten podpunkt.

Uwaga: Możesz przyjąć, że nawet gdy cyfra kontrolna numeru PESEL jest niepoprawna, to dane osobowe w nim zapisane, są prawidłowe.

  1. Ile osób urodziło się w grudniu?
  2. Podaj, ile kobiet pracuje w biurze obliczeniowym.
  3. Podaj rok, w którym urodziło się najwięcej osób pracujących w biurze.
  4. Wyszukaj nieprawidłowe numery PESEL, w których nie zgadza się cyfra kontrolna.
    Posortuj te numery PESEL rosnąco.
  5. Sporządź zestawienie liczby osób urodzonych w kolejnych dziesięcioleciach, tzn. w latach pięćdziesiątych, sześćdziesiątych, siedemdziesiątych, osiemdziesiątych i dziewięćdziesiątych.
    Utwórz wykres ilustrujący procentowy rozkład liczby osób w poszczególnych przedziałach.
    Uwaga: Do urodzonych w latach pięćdziesiątych należy zaliczyć osoby urodzone od roku 1950 do roku 1959 włącznie.

 

Zadanie 6. Szkoła (10 pkt)

Szkoła dysponuje danymi zawartymi w trzech plikach: uczniowie.txt, oceny.txt, przedmioty.txt.

Korzystając z danych zawartych w plikach uczniowie.txt, oceny.txt, przedmioty.txt oraz z dostępnych narzędzi informatycznych wykonaj poniższe polecenia.

  1. Poza rejonem szkoły leżą ulice Worcella oraz Sportowa. Podaj, ilu uczniów mieszka poza rejonem szkoły (czyli na jednej z tych dwóch ulic).
  2. Wypisz wszystkie oceny ucznia Jana Augustyniaka z języka polskiego.
  3. Oblicz, ile dziewcząt i ilu chłopców jest w poszczególnych klasach. Wynik przedstaw w postaci zestawienia: idKlasy, liczba dziewcząt, liczba chłopców. Załóż, że imiona dziewcząt (i tylko dziewcząt) kończą się na literę a.
  4. Utwórz zestawienie dla klasy 2a zawierające nazwy przedmiotów i średnie ocen klasy z tych przedmiotów (średnie podaj z zaokrągleniem do dwóch miejsc po przecinku). Zestawienie posortuj nierosnąco według średnich ocen.
  5. Utwórz zestawienie uporządkowane alfabetycznie według nazwisk zawierające wykaz osób z klasy 2c, które w kwietniu 2009 roku otrzymały oceny niedostateczne (imię, nazwisko, przedmiot).
  6. Podaj nazwisko, imię, klasę oraz średnią ocen osoby, która osiągnęła najwyższą średnią ocen w całej szkole (jest tylko jedna taka osoba).

 

 


   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2024 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe