Wróć do informacji o e-podręczniku Wydrukuj Pobierz materiał do PDF Pobierz materiał do EPUB Pobierz materiał do MOBI Zaloguj się, aby dodać do ulubionych Zaloguj się, aby skopiować i edytować materiał Zaloguj się, aby udostępnić materiał Zaloguj się, aby dodać całą stronę do teczki

Zadanie 1. Anagram

AnagramanagramAnagram 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: barokkorba, robak, arobk, rokab, orkab...

  • dla słowa: ranty – tyran, narty, utyra, 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.

R1enrIIqQMKrX

Przycisk do pobrania pliku TXT zawierający treść zadania.

Plik anagramy.txt.
Plik TXT o rozmiarze 6.37 KB w języku polskim

Przykład:

Linia 1. abcd cdba dbac cbad dcba. Linia 2. barbakan xle ala foto otof. Linia 3. smok ayszkm lampa ayszkm bakara. Linia 4. skok arabanta oko agnieba dyskietka.

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

Zadanie 1.1

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

a) 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. Zapisz te wiersze w pliku odp_4a.txt.

Do oceny oddajesz:

  • plik odp_4a.txt z odpowiedzią,

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

Rozwiązanie

Rozwiązanie zadania przedstawimy w postaci pseudokodu, ponieważ na egzaminie maturalnym można korzystać z wybranego języka programowania: C++, Java lub Python.

Rozwiązanie rozpoczniemy od wczytania danych z pliku do dwuwymiarowej tablicy anagramy przechowującej łańcuchy znaków składającej się z 200 wierszy oraz 5 kolumn.

Zaimplementujemy pętlę dla wykonującą się 200 razy (tyle, ile jest wierszy w pliku). W pętli zmiennej logicznej czyRownaDlugosc nadajemy wartość Prawda, zakładamy zatem, że wszystkie słowa w danym wierszu mają taką samą długość. W każdym wierszu mamy po pięć słów – w pętli wewnętrznej porównamy długość pierwszego słowa z długościami pozostałych. Możemy przypisać długość pierwszego słowa do zmiennej n. Dzięki temu funkcja długość nie będzie wywoływana niepotrzebnie kilka razy. Skorzystamy z tej funkcji, ponieważ jej implementacja jest dostępna w każdym z języków programowania używanych na egzaminie maturalnym.

Linia 1. anagramy otwórz nawias kwadratowy 0 kropka kropka 199 zamknij nawias kwadratowy ← wczytaj dane z pliku cudzysłów anagram kropka txt cudzysłów. Linia 3. dla i znak równości 0 przecinek 1 przecinek kropka kropka kropka przecinek 199 wykonuj dwukropek. Linia 4. czyRownaDlugosc ← PRAWDA. Linia 5. n ← dlugosc otwórz nawias okrągły anagramy otwórz nawias kwadratowy i zamknij nawias kwadratowy otwórz nawias kwadratowy 0 zamknij nawias kwadratowy zamknij nawias okrągły. Linia 6. dla j znak równości 1 przecinek 2 przecinek kropka kropka kropka przecinek 4 wykonuj dwukropek.

Jeżeli którekolwiek ze słów będzie miało inną długość niż pierwsze, ustawimy wartość zmiennej czyRownaDlugosc na FAŁSZ i przerwiemy pętlę:

Linia 1. anagramy otwórz nawias kwadratowy 0 kropka kropka 199 zamknij nawias kwadratowy ← wczytaj dane z pliku cudzysłów anagram kropka txt cudzysłów. Linia 3. dla i znak równości 0 przecinek 1 przecinek kropka kropka kropka przecinek 199 wykonuj dwukropek. Linia 4. czyRownaDlugosc ← PRAWDA. Linia 5. n ← dlugosc otwórz nawias okrągły anagramy otwórz nawias kwadratowy i zamknij nawias kwadratowy otwórz nawias kwadratowy 0 zamknij nawias kwadratowy zamknij nawias okrągły. Linia 6. dla j znak równości 1 przecinek 2 przecinek kropka kropka kropka przecinek 4 wykonuj dwukropek. Linia 7. jeżeli n wykrzyknik znak równości dlugosc otwórz nawias okrągły anagramy otwórz nawias kwadratowy i zamknij nawias kwadratowy otwórz nawias kwadratowy j zamknij nawias kwadratowy zamknij nawias okrągły dwukropek. Linia 8. czyRownaDlugosc ← FAŁSZ. Linia 9. przerwij pętlę.

Po zakończeniu wewnętrznej pętli sprawdzamy wartość zmiennej czyRownaDlugosc. Jeśli jest równa PRAWDA, to wszystkie słowa z danego wiersza mają tę samą długość i możemy go zapisać do pliku wynikowego. Po przetworzeniu wszystkich danych z pliku zamykamy pliki anagram.txtodp_4a.txt:

Linia 1. anagramy otwórz nawias kwadratowy 0 kropka kropka 199 zamknij nawias kwadratowy ← wczytaj dane z pliku cudzysłów anagram kropka txt cudzysłów. Linia 3. dla i znak równości 0 przecinek 1 przecinek kropka kropka kropka przecinek 199 wykonuj dwukropek. Linia 4. czyRownaDlugosc ← PRAWDA. Linia 5. n ← dlugosc otwórz nawias okrągły anagramy otwórz nawias kwadratowy i zamknij nawias kwadratowy otwórz nawias kwadratowy 0 zamknij nawias kwadratowy zamknij nawias okrągły. Linia 6. dla j znak równości 1 przecinek 2 przecinek kropka kropka kropka przecinek 4 wykonuj dwukropek. Linia 7. jeżeli n wykrzyknik znak równości dlugosc otwórz nawias okrągły anagramy otwórz nawias kwadratowy i zamknij nawias kwadratowy otwórz nawias kwadratowy j zamknij nawias kwadratowy zamknij nawias okrągły dwukropek. Linia 8. czyRownaDlugosc ← FAŁSZ. Linia 9. przerwij pętlę. Linia 10. jeżeli czyRownaDlugosc znak równości PRAWDA dwukropek. Linia 11. dopisz anagramy otwórz nawias kwadratowy i zamknij nawias kwadratowy do pliku cudzysłów odp podkreślnik 4a kropka txt cudzysłów. Linia 13. zamknij plik cudzysłów anagram kropka txt cudzysłów. Linia 14. zamknij plik cudzysłów odp podkreślnik 4a kropka txt cudzysłów.

Schemat oceniania

  • 4 pkt – za poprawną zawartość pliku odp_4a.txt uwzględniającą wszystkie wiersze,

  • 2 pkt – za zawartość pliku odp_4a.txt z jednym błędem (błędny jeden wiersz lub brak jednego wiersza),

  • 0 pkt – za zawartość pliku odp_4a.txt z dwoma błędami lub więcej albo za brak odpowiedzi.

Odpowiedź do zadania

RYdSg5sHqWpxC

Przycisk do pobrania pliku TXT z wynikiem zadania.

Plik odp_4a.txt
Plik TXT o rozmiarze 774.00 B w języku polskim

Słownik

anagram
anagram

słowo utworzone w wyniku przestawienia kolejności liter innego słowa, zawierające wszystkie jego litery