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
11
Pokaż ćwiczenia:
21
Ćwiczenie 1

Napisz program, który wygeneruje obraz smoka Heighwaya składający się z N punktów. Współrzędne punktu początkowego wynoszą (X, Y). Następnie program powinien obliczyć stosunek szerokości tej konstrukcji w układzie współrzędnych do jej wysokości. Wyniki zaokrąglij do jednego miejsca po przecinku.

Przetestuj działanie swojego programu dla N = 100000, X = 0.0, Y = 0.0.

Specyfikacja:

  • Dane:

    • N – liczba punktów do wygenerowania; liczba naturalna

    • X – współrzędna x punktu startowego; liczba rzeczywista

    • Y – współrzędna y punktu startowego; liczba rzeczywista

  • Wynik:

    • Program na standardowym wyjściu wypisuje stosunek szerokości smoka Heighwaya do jego wysokości, zaokrąglony do jednego miejsca po przecinku.

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

Twoje zadanie: Program oblicza stosunek szerokości smoka Heighwaya do jego wysokości w układzie współrzędnych.

Linia 1. public class Main otwórz nawias klamrowy. Linia 2. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy. Linia 3. int n znak równości 100000 średnik. Linia 4. double x znak równości 0 kropka 0 przecinek y znak równości 0 kropka 0 średnik. Linia 5. prawy ukośnik prawy ukośnik W tym miejscu dodaj implementację swojego rozwiązania. Linia 6. zamknij nawias klamrowy. Linia 7. zamknij nawias klamrowy. Linia 8. at at at. Linia 9. language znak równości java11. Linia 10. at at at. Linia 11. Program oblicza stosunek szerokości smoka otwórz nawias ostrokątny span lang znak równości apostrof en apostrof zamknij nawias ostrokątny Heighwaya otwórz nawias ostrokątny prawy ukośnik span zamknij nawias ostrokątny do jego wysokości w układzie współrzędnych kropka. Linia 12. at at at. Linia 13. at at at. Linia 14. at at at. Linia 15. kratka wykrzyknik prawy ukośnik usr prawy ukośnik bin prawy ukośnik python3 kropka 7. Linia 16. import sys. Linia 18. podkreślnik podkreślnik TF znak równości open otwórz nawias okrągły 3 przecinek apostrof w apostrof zamknij nawias okrągły. Linia 21. def podkreślnik pt otwórz nawias okrągły t zamknij nawias okrągły dwukropek. Linia 22. print otwórz nawias okrągły str otwórz nawias okrągły t zamknij nawias okrągły przecinek file znak równości podkreślnik podkreślnik TF zamknij nawias okrągły. Linia 25. expected podkreślnik output znak równości cudzysłów cudzysłów cudzysłów. Linia 26. 1 kropka 5. Linia 27. cudzysłów cudzysłów cudzysłów. Linia 28. input znak równości sys kropka stdin kropka read otwórz nawias okrągły zamknij nawias okrągły kropka strip otwórz nawias okrągły zamknij nawias okrągły. Linia 29. if input znak równości znak równości expected podkreślnik output kropka strip otwórz nawias okrągły zamknij nawias okrągły dwukropek. Linia 30. podkreślnik pt otwórz nawias okrągły 0 zamknij nawias okrągły.
1
Ciekawostka

Wyznaczony w ćwiczeniu 1. stosunek jest stały i wynosi 1,5. Jego wartość została obliczona matematycznie. Na poniższym obrazku możesz zaobserwować rozmiary jego poszczególnych części.

RDrnLIfrXiqBW
Źródło: Alexis Monnerot-Dumaine, licencja: CC BY-SA 3.0.
31
Ćwiczenie 2

W programie umieszczono tablicę przeksztalcenia zawierającą N losowo wybranych numerów kolejnych przekształceń służących generacji paproci Barnsleya. Przekształcenia, z których należy skorzystać to:

f 1 ( x ) = 0 , 85 x + 0 , 04 y f 1 ( y ) = 0 , 04 x + 0 , 85 y + 1 , 6
f 2 ( x ) = 0 , 15 x + 0 , 28 y f 2 ( y ) = 0 , 26 x + 0 , 24 y + 0 , 44
f 3 ( x ) = 0 , 20 x 0 , 26 y f 3 ( y ) = 0 , 23 x + 0 , 22 y + 1 , 6
f 4 ( x ) = 0 f 4 ( y ) = 0 , 16 y

Napisz program, który przeprowadzi generację N punktów paproci Barnsleya według kolejnych numerów przekształceń zawartych w tablicy przeksztalcenia. Współrzędne punktu startowego to (X, Y). Współrzędne każdego z wygenerowanych punktów wypisz w osobnej linii z dokładnością do dwóch miejsc po przecinku.

Przetestuj działanie swojego programu dla N = 10, X = 0.0, Y = 0.0, przeksztalcenia = {2, 3, 1, 1, 1, 1, 2, 4, 1, 1}.

Specyfikacja:

  • Dane:

    • N – liczba punktów do wygenerowania; liczba naturalna

    • X – współrzędna x punktu startowego; liczba rzeczywista

    • Y – współrzędna y punktu startowego; liczba rzeczywista

    • przeksztalcenia – tablica zawierająca N liczb naturalnych z przedziału <1, 4>, oznaczająca numery kolejnych przekształceń

  • Wynik:

    • Program na standardowym wyjściu wypisuje N linii, w każdej linii współrzędne x oraz y kolejnych punktów, oddzielone spacjami; współrzędne zaokgrąlone są do dwóch miejsc po przecinku.

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

Program generuje punkty paproci Barnsleya według kolejnych numerów przekształceń.

Linia 1. public class Main otwórz nawias klamrowy. Linia 2. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy. Linia 3. int otwórz nawias kwadratowy zamknij nawias kwadratowy przeksztalcenia znak równości otwórz nawias klamrowy 2 przecinek 3 przecinek 1 przecinek 1 przecinek 1 przecinek 1 przecinek 2 przecinek 4 przecinek 1 przecinek 1 zamknij nawias klamrowy średnik. Linia 4. double x znak równości 0 kropka 0 przecinek y znak równości 0 kropka 0 średnik. Linia 5. int N znak równości 10 średnik. Linia 6. prawy ukośnik prawy ukośnik W tym miejscu dodaj implementację swojego rozwiązania. Linia 7. zamknij nawias klamrowy. Linia 8. zamknij nawias klamrowy. Linia 9. at at at. Linia 10. language znak równości java11. Linia 11. at at at. Linia 12. Program generuje punkty paproci otwórz nawias ostrokątny span lang znak równości apostrof en apostrof zamknij nawias ostrokątny Barnsleya otwórz nawias ostrokątny prawy ukośnik span zamknij nawias ostrokątny według kolejnych numerów przekształceń kropka. Linia 13. at at at. Linia 14. at at at. Linia 15. at at at. Linia 16. kratka wykrzyknik prawy ukośnik usr prawy ukośnik bin prawy ukośnik python3 kropka 7. Linia 17. import sys. Linia 19. podkreślnik podkreślnik TF znak równości open otwórz nawias okrągły 3 przecinek apostrof w apostrof zamknij nawias okrągły. Linia 22. def podkreślnik pt otwórz nawias okrągły t zamknij nawias okrągły dwukropek. Linia 23. print otwórz nawias okrągły str otwórz nawias okrągły t zamknij nawias okrągły przecinek file znak równości podkreślnik podkreślnik TF zamknij nawias okrągły. Linia 26. expected podkreślnik output znak równości cudzysłów cudzysłów cudzysłów. Linia 27. 0 kropka 0 0 kropka 44. Linia 28. minus 0 kropka 12 1 kropka 69. Linia 29. minus 0 kropka 03 3 kropka 04. Linia 30. 0 kropka 09 4 kropka 19. Linia 31. 0 kropka 25 5 kropka 15. Linia 32. 0 kropka 41 5 kropka 97. Linia 33. 1 kropka 61 1 kropka 98. Linia 34. 0 kropka 0 0 kropka 31. Linia 35. 0 kropka 01 1 kropka 86. Linia 36. 0 kropka 08 3 kropka 18. Linia 37. cudzysłów cudzysłów cudzysłów. Linia 38. input znak równości sys kropka stdin kropka read otwórz nawias okrągły zamknij nawias okrągły kropka strip otwórz nawias okrągły zamknij nawias okrągły. Linia 39. if input znak równości znak równości expected podkreślnik output kropka strip otwórz nawias okrągły zamknij nawias okrągły dwukropek. Linia 40. podkreślnik pt otwórz nawias okrągły 0 zamknij nawias okrągły.