W programie Scratch utwórz dwie listy o nazwach ,, imiona " i ,, Najdłuższe". Na pierwszej z nich umieść 10 imion swoich kolegów i koleżanek. Zbuduj skrypt, dzięki, któremu program odszuka najdłuższe słowo na pierwszej liście i umieści je na drugiej liście.



Odpowiedź :

Nie zrażaj się długością odpowiedzi, chciałem wszystko jak najdokładniej wytłumaczyć :)

Tworzysz dwie listy imiona i najdłuższe.

Następnie dodajesz początek Twojego skryptu czyli np. blok Kiedy klikniętą zieloną flagę. Dalej z zakładki kontrola wyciągasz bloczek powtórz _ razy w miejsce _ wpisz 10 (tak jak jest domyślnie). Dzięki tej pętli po kolei odczytasz kolejne imiona z listy imiona. W środku pętli umieszczasz blok jeżeli _ to, który znajdziesz w kontrola. Potrzebujemy tego bloku aby sprawdzić długość kolejnych imion. Z zakładki wyrażenie wyjmujesz _ > _ i wkładasz do jeżeli. Dzięki temu sprawdzimy długość wyrazu obecnie najdłuższego i imiona. Domyślnie lista najdłuższe nie składa się z niczego, ale gdy pobierzesz jakiś punkt z niej otrzymasz taki tekst "" - czyli nic. Wiedząc że nic to zero znaków możemy to ciekawie wykorzystać. Do pierwszego pola bloczku _>_ wstawiasz długość _ (zakładka wyrażenia). Teraz nasuwa się pytanie długość czego? Oczywiście imienia które sprawdzamy. Nie wiemy jakie to imię, a więc musimy utworzyć zmienną. W zakładce zmienne tworzysz nową zmienną np. a. Tuż po naciśnięciu zielonej flagi zmienna musi przyjąć wartość 1 gdyż taki numer ma pierwszy element naszej listy. Już wiemy co wstawić do bloczka długość _? Bloczek pozycja (tutaj nasza zmienna "a") na liście [imiona]. Z drugim pustym polem w bloczku _>_ będzie łatwiej. Wstawiamy tam długość (pozycja {tutaj wstawiamy 1 gdyż wiemy że najdłuższe słowo przechowujemy w pozycji pierwszej} na liście [wyniki]). Już prawie rozwiązanie tylko dwa bloczki! W klamrę instrukcji jeżeli wkładamy dwie instrukcje wyczyść listę [wyniki] i wstaw (pozycja (tutaj nasza zmienna "a") na liście [imiona]) na (1) pozycji z [wyniki]. Uruchom i... coś poszło nie tak... Na liście wyświetla nam się tylko pierwsza pozycja listy imiona. No tak! Przecież nasza zmienna a jest ciągle równa 1! Trzeba to zmienić dodając blok zmień [a] o (1) po instrukcji jeżeli.

Już gotowe!

Mam nadzieję że pomogłem