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 3

Słowa Fibonacciego to słowa S n zdefiniowane przez następującą zależność.

S n = { 0 dla n = 0 01 dla n = 1 S n 1 S n 2 dla n > 1

Kilka pierwszych słów Fibonacciego wypisano poniżej:

S 0 = 0
S 1 = 01
S 2 = 010
S 3 = 01001
S 4 = 01001010
S 5 = 0100101001001

Fraktal Fibonacciego to kształt powstający przez odpowiednią graficzną interpretację słów Fibonacciego, według następujących zasad:

Dla każdego symbolu na pozycji k (numerujemy od zera):

  1. Rysuj odcinek w obecnym kierunku.

  2. Jeżeli znak na pozycji k to 0:

    • skręć w lewo, jeśli k jest parzyste,

    • skręć w prawo, jeśli k jest nieparzyste.

Rysowanie zaczynamy z dolnego lewego rogu, początkowy kierunek ustawiamy na prawo.

Fraktale Fibonacciego dla kilku pierwszych stopni pokazano poniżej:

RF2unw5CuFNP0
Fraktal Fibonacciego dla słowa "0"
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
RFUmHomu8InIT
Fraktal Fibonacciego dla słowa "01"
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
R5vsEeD6omEro
Fraktal Fibonacciego dla słowa "010"
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
R1Eo0NgqqKMfn
Fraktal Fibonacciego dla słowa "01001"
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Rfr2M3aHOnkHa
Fraktal Fibonacciego dla słowa "01001010"
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Napisz program, który dla każdej liczby  z tablicy dane wypisze słowo Fibonacciego stopnia k. Następnie dla najdłuższego z wypisanych słów utworzy fraktal Fibonacciego.

Przetestuj działanie programu dla tablicy dane o następującej zawartości:

Linia 1. 4. Linia 2. 3. Linia 3. 12. Linia 4. 8.

Specyfikacja problemu:

Dane:

  • n – liczba naturalna; liczba słów do wygenerowania

  • dane[0..n - 1] – tablica zawierająca n liczb, dla których należy wypisać słowo Fibonacciego stopnia k

Wynik:

Słowa Fibonacciego oddzielone znakiem nowej linii oraz kształt (utworzony np. graficznie w tabeli lub w konsoli) fraktala Fibonacciego dla najdłuższego wypisanego słowa Fibonacciego.

Linia 1. 01001010. Linia 2. 01001. Linia 3. 01001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001010. Linia 4. 0100101001001010010100100101001001010010100100101001010.

Przykłady poprawnie utworzonych fraktali dla powyższego zadania:

RDKGVUY5xtFdt
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
R1Mk2ZvjdzpAJ
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Linia 1. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 2. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 3. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 4. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 5. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 6. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 7. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 8. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 9. kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 10. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 11. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 12. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 13. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 14. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 15. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 16. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 17. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 18. kratka kratka kratka kratka kratka kratka kratka kratka. Linia 19. kratka kratka kratka kratka kratka kratka kratka kratka. Linia 20. kratka kratka kratka kratka. Linia 21. kratka kratka. Linia 22. kratka kratka kratka kratka. Linia 23. kratka kratka kratka kratka kratka kratka kratka kratka. Linia 24. kratka kratka kratka kratka kratka kratka kratka kratka. Linia 25. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 26. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 27. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 28. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka. Linia 29. kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka kratka.
Ważne!

Chcąc wygenerować fraktal w tabeli lub tekstowo, możesz założyć, że jego rozmiar nie będzie większy niż 100 × 100.

Ważne!

W poniższych programach sprawdzających nie ma możliwości weryfikacji poprawności utworzonej grafiki. Fraktal należy zatem zrealizować w postaci tekstowej w taki sposób, jak powyżej.

11
Pokaż ćwiczenia:
1

JĘZYK C++

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

Pobierz poniższy plik. W pierwszej linijce zawiera on liczbę testów n. Każda kolejna linijka zawiera stopień słowa Fibonacciego, które należy wypisać. Napisz program w środowisku programistycznym na swoim komputerze, w którym załadujesz dane z pobranego pliku, wypiszesz odpowiednie słowa Fibonacciego oraz utworzysz fraktal Fibonacciego dla najdłuższego wypisanego słowa Fibonacciego.

R1B1oZjJRsOSJ

Plik tekstowy zawierający wartości liczbowe.

Plik TXT o rozmiarze 48.00 B w języku polskim
1

JĘZYK JAVA

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

Pobierz poniższy plik. W pierwszej linijce zawiera on liczbę testów n. Każda kolejna linijka zawiera stopień słowa Fibonacciego, które należy wypisać. Napisz program w środowisku programistycznym na swoim komputerze, w którym załadujesz dane z pobranego pliku, wypiszesz odpowiednie słowa Fibonacciego oraz utworzysz fraktal Fibonacciego dla najdłuższego wypisanego słowa Fibonacciego.

RJk1Wx6U8uEvQ

Plik tekstowy zawierający wartości liczbowe.

Plik TXT o rozmiarze 48.00 B w języku polskim
1

JĘZYK PYTHON

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

Pobierz poniższy plik. W pierwszej linijce zawiera on liczbę testów n. Każda kolejna linijka zawiera stopień słowa Fibonacciego, które należy wypisać. Napisz program w środowisku programistycznym na swoim komputerze, w którym załadujesz dane z pobranego pliku, wypiszesz odpowiednie słowa Fibonacciego oraz utworzysz fraktal Fibonacciego dla najdłuższego wypisanego słowa Fibonacciego.

R1CoQFj9WESm1

Plik tekstowy zawierający wartości liczbowe.

Plik TXT o rozmiarze 48.00 B w języku polskim