Zadanie 2.

Zadanie utworzone na podstawie zadania 32 ze zbioru zadań do informatyki autorstwa CKE.

W zakładzie obliczeniowym doszło do rewolucji, gdy okazało się, że zmiana kodowania z poprzedniego zadania spowodowała jedynie zwiększenie rozmiaru plików, zamiast ich kompresji. Dlatego też postanowiono ponownie zmienić sposób zapisu informacji. Teraz dwukrotnie powtarzające się ciągi cyfr będą zastępowane pojedynczym wystąpieniem. Przykładowo, liczba: 11111111 mogłaby zostać skompresowana do formy (1111), lub (11)(11) lub dowolnej innej, z której po dekompresji otrzymalibyśmy wejściową liczbę.

Przykładowo, dla liczb:

Linia 1. 55 przecinek 555 przecinek 443 przecinek 213 przecinek 12110397 przecinek 111122223333 przecinek 111122223333111122223333.

powinniśmy uzyskać ciągi:

Linia 1. otwórz nawias okrągły 5 zamknij nawias okrągły przecinek otwórz nawias okrągły 5 zamknij nawias okrągły 5 przecinek otwórz nawias okrągły 4 zamknij nawias okrągły 3 przecinek 213 przecinek 12 otwórz nawias okrągły 1 zamknij nawias okrągły 0397 przecinek otwórz nawias okrągły 11 zamknij nawias okrągły otwórz nawias okrągły 22 zamknij nawias okrągły otwórz nawias okrągły 33 zamknij nawias okrągły przecinek otwórz nawias okrągły 111122223333 zamknij nawias okrągły.

Podpunkt 1

Napisz program, w wybranym języku programowania, pseudokodzie lub w postaci listy kroków,  który, mając na wejściu skompresowany napis zapisany w tablicy, wypisze na wyjściu kolejne cyfry.

Specyfikacja:

Dane:

  • n – dodatnia liczba całkowita

  • liczby[1..n] – tablica skompresowanych liczb, metodą opisaną wcześniej

Wynik:

Zdekompresowana wartość liczbowa.

Polecenie 1

Zapoznaj się z prezentacją przedstawiającą rozwiązanie zapisane za pomocą pseudokodu. Następnie zaimplementuj algorytm w wybranym języku programowania.

RUURgt03M2ync1
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.