Przeczytaj
Zadanie 1. Wiązka zadań WEGA
W ramach projektu WEGA naukowcom udało się odczytać sygnały radiowe pochodzące z przestrzeni kosmicznej. Po wstępnej obróbce zapisali je do pliku sygnaly.txt
.
W pliku sygnaly.txt
znajduje się wierszy. Każdy wiersz zawiera jedno niepuste słowo złożone z wielkich liter alfabetu angielskiego. Długość jednego słowa nie przekracza znaków.
Uwaga: Plik przyklad.txt
zawiera dane przykładowe spełniające warunki zadania. Odpowiedzi dla danych z pliku przyklad.txt
są podane pod pytaniami.
Zadanie 1.1
Naukowcy zauważyli, że po złączeniu dziesiątych liter co czterdziestego słowa (zaczynając od słowa czterdziestego) otrzymamy pewne przesłanie.
Napisz program, który dla danych z pliku sygnaly.txt
zapisze to przesłanie do pliku przeslanie.txt
.
Uwaga: Każde co czterdzieste słowo zawiera co najmniej znaków.
Dla danych z pliku sygnaly.txt
wynikiem jest:
NIECHCIMATURAPROSTABEDZIE
Do oceny oddajesz:
plik
przeslanie.txt
zawierający odpowiedź do zadania;plik(i) zawierający(e) kod źródłowy twojego programu.
Zadanie zostało opracowane przez CKE i pojawiło się na egzaminie maturalnym z informatyki w maju roku (poziom rozszerzony, egzamin w tzw. starej formule). Cały arkusz można znaleźć na stronie internetowej Centralnej Komisji Egzaminacyjnej.
Przedstaw rozwiązanie zadania w postaci programu w języku C++, Java lub Python.
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.
Zapisywanie pseudokodu rozpoczniemy od wczytania danych z podanego pliku:
Następnie zadeklarujemy łańcuch znaków o nazwie przesłanie
. Początkowo będzie on pusty:
Zapisujemy pętlę dla
, w której zmienna iteracyjnaiteracyjna przechodzi po co czterdziestym słowie z tablicy. Ponieważ indeksowanie tablicy rozpoczyna się od wartości , czterdzieste słowo ma indeks równy :
Wewnątrz pętli zapiszemy instrukcję modyfikującą pusty początkowo łańcuch znaków przesłanie
. Będziemy do niego dołączać dziesiątą literę z co czterdziestego słowa. Skorzystamy przy tym z operatora dodawania jako operatora konkatenacji – ten sam operator wykorzystywany jest między innymi w językach C++, Java lub Python do łączenia ciągów znaków z innymi ciągami lub znakami.
W rezultacie zgromadziliśmy wszystkie znaki składające się na łańcuch przesłanie
. Pozostaje zapisać jego wartość do pliku wynikowego i zamknąć pliki.
Schemat oceniania:
pkt – za prawidłową odpowiedź,
pkt – za podanie wynikowego słowa z jednym błędem,
pkt – za błędną odpowiedź albo za brak odpowiedzi.
Odpowiedzi do zadania:
Plik przeslanie.txt
:
Słownik
zmienna tworzona i wykorzystywana do sterowania wykonaniem instrukcji iteracyjnej; zazwyczaj to zmienna typu porządkowego, np. liczba naturalna, całkowita lub wartość logiczna, aczkolwiek w niektórych językach, np. C++ i Java, typ zmiennej sterującej nie jest ograniczony
powtarzanie tej samej operacji z góry określoną liczbę razy lub do momentu spełnienia określonego warunku