Zadanie 3

Ważne!

To zadanie jest kontynuacją wiązki zadań z sekcji „Przeczytaj”. Znajduje się tam wyjaśnienie działania szyfru Cezara.

W pliku dane_4.txt zapisano 3 000 par słów, po jednej parze w wierszu, oddzielonych pojedynczym znakiem odstępu. Drugie słowo w każdej parze jest szyfrogramem pierwszego zaszyfrowanego szyfrem Cezara z nieznanym kluczem.

Niektóre szyfrogramy są błędne, co oznacza, że niektóre litery w słowie zakodowano z różnymi przesunięciami. Słowo ma zawsze tę samą długość, co odpowiadający mu szyfrogram.

Napisz program, który wyszuka i wypisze te słowa z pliku, które zostały błędnie zaszyfrowane. Wynik zapisz w pliku wyniki_4.txt – każde słowo w osobnym wierszu w porządku odpowiadającym kolejności tych słów z pliku z danymi.

Przykład 1

Fragment pliku:

SMIGIELSKI GYUSUQREWU 
PRUSKI SUXVNL 
STUDZINSKI TUVEAJOTLJ 
JANEK DUIYE 
DRAB LZIJ

Przykładowy wydruk programu dla fragmentu pliku:

SMIGIELSKI 
JANEK

Do oceny oddajesz:

  • plik wyniki_4.txt zawierający odpowiedź (błędnie zaszyfrowane słowa, zapisane w osobnych liniach)

  • plik(i) z komputerową realizacją zadania (kodem programu)

RskWijbwFM5hi

Przycisk do pobrania pliku TXT zawierającego przykładowe dane.

Plik dane_4.txt
Plik TXT o rozmiarze 52.58 KB w języku polskim

Rozwiąż zadanie dla danych wejściowych zapisanych w pliku dane_4.txt. Wykorzystaj w tym celu jeden z języków programowania: C++, Java lub Python. Zadbaj o prawidłowe wczytanie danych z pliku tekstowego do programu. Odpowiedź do zadania znajdziesz w osobnym pliku, umieszczonym po omówieniu pseudokodu.

Zadanie zostało opracowane przez Centralną Komisję Egzaminacyjną i pojawiło się na egzaminie maturalnym z informatyki w 2016 roku (poziom rozszerzony). Cały arkusz można znaleźć na stronie internetowej CKE.

Poniższe ćwiczenia będą testowane dla następujących par słów:

Linia 1. SMIGIELSKI GYUSUQREWU. Linia 2. PRUSKI SUXVNL. Linia 3. STUDZINSKI TUVEAJOTLJ. Linia 4. JANEK DUIYE. Linia 5. DRAB LZIJ.
11
Pokaż ćwiczenia:
21
Ćwiczenie 1

Język C++

RVY4NJaJWu9ZO1
Wymyśl pytanie na kartkówkę związane z tematem materiału.
21
Ćwiczenie 2

Język Java

RtTEVE6ft6UdW
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
21
Ćwiczenie 3

Język Python

RLgaP1WRMTUdO
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.

Schemat oceniania

  • 5 pkt – za poprawny plik wynikowy,

  • 3 pkt – w przypadku programu przepisującego tylko poprawnie kodowane nazwiska,

  • 2 pkt – w przypadku programu znajdującego błędnie zaszyfrowane nazwiska (bez uwzględnienia „zawijania”),

  • 0 pkt – za odpowiedź błędną albo za brak odpowiedzi.

Odpowiedź dla danych zapisanych w pliku dane_4.txt:

R1dkgLu1AtYiG

Przycisk do pobrania pliku TXT z wynikiem zadania.

Plik TXT o rozmiarze 10.92 KB w języku polskim