![]() |
Autor artykułu: mgr Jerzy Wałaszek, wersja1.0 |
©2010 mgr
Jerzy Wałaszek
|
Z podanych rozwiązań należy korzystać dopiero po samodzielnym rozwiązaniu danego zadania w celu sprawdzenia poprawności wyniku. Rozwiązania nie są optymalne (nie zostały sprawdzone z kluczem odpowiedzi, ponieważ na dzień dzisiejszy klucz ten nie został jeszcze opublikowany w Internecie).
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.
Zapisz wynik działania powyższego algorytmu dla słów ARKA i MOTOR.
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?
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
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
Podaj rozkład na czynniki pierwsze następujących liczb całkowitych:
| Liczba | Rozkład na czynniki pierwsze |
| 63 | |
| 184 | |
| 277 |
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.
Dla następujących zdań zaznacz znakiem X właściwe odpowiedzi.
Uwaga: W każdym podpunkcie poprawna jest tylko jedna odpowiedź.
Wiadomo, że kodem ASCII małej litery „a” jest 97. Kodem małej
litery „d” jest liczba
□ (01100100)2
□
(01011010)2
□ (01101110)2
Zbiór programów, które zarządzają pracą komputera, to
□ oprogramowanie edukacyjne.
□ system operacyjny.
□ pakiet programów biurowych.
Popularnym językiem programowania jest
□ Kawa.
□ Java.
□ Agawa.
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).
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.
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.
[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.
W jakich przedziałach wartości koszt zakupu x sztuk towaru jest niższy u producenta A?
Przy jakiej liczbie sztuk towaru nie ma znaczenia, u którego producenta hurtownia zrobi zakupy?
Jaka jest największa liczba sztuk, dla której koszt zakupu u producenta A jest mniejszy niż koszt zakupu 500 sztuk u producenta B?
Jaka jest największa liczba sztuk, dla której koszt zakupu u producenta B jest mniejszy niż koszt zakupu 600 sztuk u producenta A?
[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.
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.
W którym dniu urodziło się najwięcej dzieci? Podaj datę i
liczbę dzieci.
Uwaga: Jest tylko jeden taki dzień.
Podaj imiona kobiet w wieku poniżej 25 lat, które urodziły dzieci o wadze powyżej 4000 g.
Podaj imiona i daty urodzenia dziewczynek, które odziedziczyły imię po matce.
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.
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ć _.

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_
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).
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_
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
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
← …………………
Uzupełnij opis algorytmu, wstawiając w miejsce kropek stosowne wyrażenie, tak aby obliczał on zawsze poprawnie liczbę zer z tablicy a.
Ile instrukcji przypisania s ← (l + p) div 2 jest wykonywanych w każdym przebiegu algorytmu? Odpowiedź uzasadnij.
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.
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. |
Algorytm:

znajduje
| P | F | |
| NWW (a,b). | ||
| NWD (a,b). | ||
| liczbę pierwszą większą od a i mniejszą od b. |
Liczba 100016 to
| P | F | |
| 345225 | ||
| 409610 | ||
| 100008 |
Program zapobiegający włamaniom do systemu i kontrolujący pakiety sieciowe to
| P | F | |
| firewall. | ||
| keylogger. | ||
| filtr antyspamowy. |
Format plików graficznych dla grafiki rastrowej to
| P | F | |
| BMP. | ||
| JPG. | ||
| GIF. |
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:
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.
Wyszukaj w pliku anagram.txt wszystkie wiersze tekstu, w których wszystkie słowa są anagramami pierwszego słowa w danym wierszu.
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:
cyfry od 1 do 6 to data urodzenia (w kolejności: rok, miesiąc, dzień),
cyfry od 7 do 9 to liczba porządkowa,
cyfra 10-ta to płeć (cyfra parzysta dla kobiet, nieparzysta dla mężczyzn),
cyfra 11-ta to cyfra kontrolna.
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:
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
Wyniki sumujemy: 7 + 15 + 7 + 18 + 1 + 27 + 42 + 72 + 6 + 6 = 201
Wyznaczamy resztę z dzielenia sumy przez 10: 201:10 = 20 reszta = 1
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.
Ile osób urodziło się w grudniu?
Podaj, ile kobiet pracuje w biurze obliczeniowym.
Podaj rok, w którym urodziło się najwięcej osób pracujących w biurze.
Wyszukaj nieprawidłowe numery PESEL, w których nie zgadza się
cyfra kontrolna.
Posortuj te numery PESEL rosnąco.
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.
Szkoła dysponuje danymi zawartymi w trzech plikach: uczniowie.txt, oceny.txt, przedmioty.txt.
Plik uczniowie.txt zawiera następujące dane o uczniach: idUcznia, nazwisko, imie, ulica, dom, idKlasy.
Plik oceny.txt zawiera dane o ocenach: idUcznia, ocena, data, idPrzedmiotu.
Plik przedmioty.txt zawiera dane o przedmiotach: idPrzedmiotu, nazwaPrzedmiotu, nazwisko_naucz, imie_naucz.
Korzystając z danych zawartych w plikach uczniowie.txt, oceny.txt, przedmioty.txt oraz z dostępnych narzędzi informatycznych wykonaj poniższe polecenia.
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).
Wypisz wszystkie oceny ucznia Jana Augustyniaka z języka polskiego.
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.
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.
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).
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 |
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