Discuss Scratch
- SDomer
- Scratcher
8 posts
Zaokrąglanie
Potrzebuję pomocy z blokiem -
Z góry dzięki za pomoc ;-)
(zaokrąglij ())Otóż chcę, żeby mógł zawsze zaokrąglać do wyższej liczby np. do 5 gdy podam odpowiedź 2.
Z góry dzięki za pomoc ;-)
- MentolMen
- Scratcher
1000+ posts
Zaokrąglanie
Nie da się tego zrobić. Musisz zrobić skrypt na zaokrąglanie Najsensowniej będzie zrobić taki skrypt i umieścić go w bloku definiowanym.
Jeżeli ma to być dla liczb bez przecinka to mogę Ci pomóc i go zrobić.
Jeżeli ma to być dla liczb bez przecinka to mogę Ci pomóc i go zrobić.
- MentolMen
- Scratcher
1000+ posts
Zaokrąglanie
Kilka pytań co do tego:
Co w wypadku gdy ostatnia liczba to 0 ?
Jeżeli liczba do zaokrąglenia to 6 to wtedy też w górę, czy do 5 ?
Co w wypadku gdy ostatnia liczba to 0 ?
Jeżeli liczba do zaokrąglenia to 6 to wtedy też w górę, czy do 5 ?
- SDomer
- Scratcher
8 posts
Zaokrąglanie
1. To wtedy powinno wyjść 0
2. Tak, zawsze w górę.
2. Tak, zawsze w górę.
Last edited by SDomer (May 3, 2018 12:59:09)
- SDomer
- Scratcher
8 posts
Zaokrąglanie
Otóż potrzebuję dokładnie, żeby
(((odpowiedź)) / (5))zaokrąglała się do wyższej liczby np 6/5=2
- MentolMen
- Scratcher
1000+ posts
Zaokrąglanie
To będzie ciężkie
Bo scratch nie ma opcji edytowania jakiejś liczby
wykonalne ale skrypt będzie długi i ze dwie/trzy zmienne + listę zajmie
Długo mi to zajmie. myślę, że 30 minut max. ale może się napotkam an jakieś problemy
Bo scratch nie ma opcji edytowania jakiejś liczby
wykonalne ale skrypt będzie długi i ze dwie/trzy zmienne + listę zajmie
Długo mi to zajmie. myślę, że 30 minut max. ale może się napotkam an jakieś problemy
- MentolMen
- Scratcher
1000+ posts
Zaokrąglanie
Do jakiej liczby po przecinku ma to zaokrąglać?
Może napisz do czego to jest potrzebne Ci.
To bardzo skomplikowane akurat.
Może napisz do czego to jest potrzebne Ci.
To bardzo skomplikowane akurat.
- SDomer
- Scratcher
8 posts
Zaokrąglanie
Mam zadanie z informatyki w którym, cytując “Jedno opakowanie tynku starcza na pokrycie 5m2 powierzchni ściany. Stwórz program, który w zależności od podanej przez użytkownika powierzchni ściany, wskaże ile opakowań tynku będzie potrzebne do jej pokrycia.”
A, i nie potrzebuje ułamków :-)
A, i nie potrzebuje ułamków :-)
- MentolMen
- Scratcher
1000+ posts
Zaokrąglanie
Są projekty projekty które to robią.
https://scratch.mit.edu/projects/180282092
https://scratch.mit.edu/projects/191415180
Możesz użyć tych projektów.
https://scratch.mit.edu/projects/180282092
https://scratch.mit.edu/projects/191415180
Możesz użyć tych projektów.
Last edited by MentolMen (May 3, 2018 13:24:37)
- SDomer
- Scratcher
8 posts
Zaokrąglanie
Dzięki ,ale mam problem z “zajrzeniem do środka”. nie mogę zobaczyć jak jest to zbudowane :-(
- MentolMen
- Scratcher
1000+ posts
Zaokrąglanie
https://scratch.mit.edu/projects/180282092
Wszystkie skrypty:
Trochę kiepsko, że nie możesz zobaczyć jak to zrobić. W takim razie musiałbyś przepisywać cały skrypt
Drugi projekt łatwiejszy ale działający dobrze
Wszystkie skrypty:
definiuj Remove commasTen ostatni skrypt to raczej “dla piękności” ale pokazuje jak użyć bloku
ustaw [hh v] na [0]
ustaw [temp v] na []
usuń (wszystko v) z [acceptedchars v]
usuń (wszystko v) z [twmp v]
dodaj [0] do [acceptedchars v]
dodaj [1] do [acceptedchars v]
dodaj [2] do [acceptedchars v]
dodaj [3] do [acceptedchars v]
dodaj [4] do [acceptedchars v]
dodaj [5] do [acceptedchars v]
dodaj [6] do [acceptedchars v]
dodaj [7] do [acceptedchars v]
dodaj [8] do [acceptedchars v]
dodaj [9] do [acceptedchars v]
dodaj [.] do [acceptedchars v]
powtórz (długość (num)) razy
zmień [hh v] o (1)
jeżeli <[acceptedchars v] zawiera (litera (hh) z (num)) ?> to
dodaj (litera (hh) z (num)) do [twmp v]
ustaw [temp v] na (połącz (temp) i (litera (hh) z (num)))
end
end
ustaw [num v] na (temp)
definiuj Round (num) to the nearest (placeval)
ustaw [RoundedNum v] na ((placeval) * (zaokrąglij ((num) / (placeval))))
kiedy kliknięto zieloną flagę
czekaj aż <nie <wciśnięty klawisz myszy?>>
powiedz [Hello!]
czekaj aż <wciśnięty klawisz myszy?>
zapytaj [Which number would you like to round?] i czekaj
ustaw [num v] na (odpowiedź)
zapytaj [What place value would you like to round it to? (Ex: For the tenths place you would put 0.1, for the tens place you would put 10.)] i czekaj
Remove commas :: custom
Round (num) to the nearest (odpowiedź) :: custom
powiedz (połącz (połącz [Your original number was ] i (num)) i (połącz (połącz [, rounded to the nearest ] i (połącz (odpowiedź) i [, so your rounded number is ])) i (połącz (RoundedNum) i [!])))
czekaj aż <wciśnięty klawisz myszy?>
powiedz [Did I get it right?]
czekaj aż <nie <wciśnięty klawisz myszy?>>
czekaj aż <wciśnięty klawisz myszy?>
powiedz [Click the green flag to try again!]
czekaj aż <nie <wciśnięty klawisz myszy?>>
czekaj aż <wciśnięty klawisz myszy?>
powiedz []
zawsze
obróć w prawo o ((50) / (odległość do [wskaźnik myszy v])) stopni
zmień efekt [kolor v] o ((15) / (odległość do [wskaźnik myszy v]))
sklonuj [siebie v]
zmień kolor pisaka o (0.5)
end
Trochę kiepsko, że nie możesz zobaczyć jak to zrobić. W takim razie musiałbyś przepisywać cały skrypt
Drugi projekt łatwiejszy ale działający dobrze
kiedy kliknięto zieloną flagęOsobiście polecam ten skrypt bardziej, bo jest krótszy, a działa.
ustaw [Output v] na [0]
Round (26) to the nearest (7) :: custom
definiuj Round (Input) to the nearest (Input2)
jeżeli <<[0.5] < (((Input) / (Input2)) - ([podłoga v] z ((Input) / (Input2))))> lub <[0.5] = (((Input) / (Input2)) - ([podłoga v] z ((Input) / (Input2))))>> to
ustaw [Output v] na (([sufit v] z ((Input) / (Input2))) * (Input2))
w przeciwnym razie
ustaw [Output v] na (([podłoga v] z ((Input) / (Input2))) * (Input2))
end
- MentolMen
- Scratcher
1000+ posts
Zaokrąglanie
Ale odpowiedź na zadanie, które musisz zrobić jest łatwa.
kiedy kliknięto zieloną flagęNa przyszłość po prostu napisz jakie masz zadanie
zapytaj [Podaj powierzchnię] i czekaj
powiedz (połącz [Potrzebujesz ] i (połącz ([sufit v] z ((odpowiedź) / (5))) i [ puszek farby])) przez (2) s
- AANNTTOONNII
- Scratcher
1000+ posts
Zaokrąglanie
Zaokrąglanie w górę jest bardzo proste:
to sufit, czyli -
to sufit, czyli -
([sufit v] z (cośtam))A co do zadania to zrobisz je tak:
kiedy kliknięto zieloną flagę
zapytaj [Ile m2 powierzchni chcesz pokryć?] i czekaj
powiedz ([sufit v] z ((odpowiedź) / (5)))
Last edited by AANNTTOONNII (May 10, 2018 14:08:10)
- AANNTTOONNII
- Scratcher
1000+ posts
Zaokrąglanie
Samo zaokrąglanie do 5 też jest łatwe:
definiuj zaokrąglij do 5 (liczba)
powiedz ((zaokrąglij ((liczba) / (5))) * (5))
- AANNTTOONNII
- Scratcher
1000+ posts
Zaokrąglanie
https://scratch.mit.edu/projects/180282092
Wszystkie skrypty:definiuj Remove commasTen ostatni skrypt to raczej “dla piękności” ale pokazuje jak użyć bloku
ustaw [hh v] na [0]
ustaw [temp v] na []
usuń (wszystko v) z [acceptedchars v]
usuń (wszystko v) z [twmp v]
dodaj [0] do [acceptedchars v]
dodaj [1] do [acceptedchars v]
dodaj [2] do [acceptedchars v]
dodaj [3] do [acceptedchars v]
dodaj [4] do [acceptedchars v]
dodaj [5] do [acceptedchars v]
dodaj [6] do [acceptedchars v]
dodaj [7] do [acceptedchars v]
dodaj [8] do [acceptedchars v]
dodaj [9] do [acceptedchars v]
dodaj [.] do [acceptedchars v]
powtórz (długość (num)) razy
zmień [hh v] o (1)
jeżeli <[acceptedchars v] zawiera (litera (hh) z (num)) ?> to
dodaj (litera (hh) z (num)) do [twmp v]
ustaw [temp v] na (połącz (temp) i (litera (hh) z (num)))
end
end
ustaw [num v] na (temp)
definiuj Round (num) to the nearest (placeval)
ustaw [RoundedNum v] na ((placeval) * (zaokrąglij ((num) / (placeval))))
kiedy kliknięto zieloną flagę
czekaj aż <nie <wciśnięty klawisz myszy?>>
powiedz [Hello!]
czekaj aż <wciśnięty klawisz myszy?>
zapytaj [Which number would you like to round?] i czekaj
ustaw [num v] na (odpowiedź)
zapytaj [What place value would you like to round it to? (Ex: For the tenths place you would put 0.1, for the tens place you would put 10.)] i czekaj
Remove commas :: custom
Round (num) to the nearest (odpowiedź) :: custom
powiedz (połącz (połącz [Your original number was ] i (num)) i (połącz (połącz [, rounded to the nearest ] i (połącz (odpowiedź) i [, so your rounded number is ])) i (połącz (RoundedNum) i [!])))
czekaj aż <wciśnięty klawisz myszy?>
powiedz [Did I get it right?]
czekaj aż <nie <wciśnięty klawisz myszy?>>
czekaj aż <wciśnięty klawisz myszy?>
powiedz [Click the green flag to try again!]
czekaj aż <nie <wciśnięty klawisz myszy?>>
czekaj aż <wciśnięty klawisz myszy?>
powiedz []
zawsze
obróć w prawo o ((50) / (odległość do [wskaźnik myszy v])) stopni
zmień efekt [kolor v] o ((15) / (odległość do [wskaźnik myszy v]))
sklonuj [siebie v]
zmień kolor pisaka o (0.5)
end
Trochę kiepsko, że nie możesz zobaczyć jak to zrobić. W takim razie musiałbyś przepisywać cały skrypt
Drugi projekt łatwiejszy ale działający dobrzekiedy kliknięto zieloną flagęOsobiście polecam ten skrypt bardziej, bo jest krótszy, a działa.
ustaw [Output v] na [0]
Round (26) to the nearest (7) :: custom
definiuj Round (Input) to the nearest (Input2)
jeżeli <<[0.5] < (((Input) / (Input2)) - ([podłoga v] z ((Input) / (Input2))))> lub <[0.5] = (((Input) / (Input2)) - ([podłoga v] z ((Input) / (Input2))))>> to
ustaw [Output v] na (([sufit v] z ((Input) / (Input2))) * (Input2))
w przeciwnym razie
ustaw [Output v] na (([podłoga v] z ((Input) / (Input2))) * (Input2))
end
Hmmm….
Wygląda na dużo bardziej skomplikowane niż
Samo zaokrąglanie do 5 też jest łatwe:definiuj zaokrąglij do 5 (liczba)
powiedz ((zaokrąglij ((liczba) / (5))) * (5))