() Mod () (block)
The () Mod () block («mod» is short for «modulo») is an Operators block and a reporter block. It reports the remainder when the first input is divided by the second. For example, when 10 is put in the first input and 3 in the second, the block will report 1; 10 divided by 3 gives a remainder of 1.
() Mod () supposes the quotient (result of division) is always rounded down, even if it is negative. For example, -10 mod 3 = 2, not -1, because the quotient -10/3 is rounded down to -4, giving a positive remainder. [note 1]
Contents
Example Uses
If a project is doing divisibility tests, the () Mod () block can be of use.
Some common uses for the () Mod () block:
- Checking if two numbers divide without a remainder
if <((a) mod (b)) = [0]>then say [a is divisible by b] else say [a is not divisible by b] end
- Checking if a number is a whole number
if <((a) mod (1)) = [0]>then say [a is a whole number] else say [a is not a whole number] end
- Checking if numbers are odd or even
if <((a) mod (2)) = [0]>then say [a is an even number] else if <((a) mod (1)) = [0]>then say [a is an odd number] else say [a is not an integer] end end
- Repeatedly iterating through a list:
when gf clicked set [x v] to [0] forever change [x v] by (1) say (item (x) of [list v]) set [x v] to ((x) mod (length of [list v])) end
- Reusing background-sprites when scrolling
when gf clicked forever set x to (((x position) + (240)) mod (480)) end
Workaround
Main article: List of Block Workarounds
Because the remainder of a division is the dividend multiplied by the fractional part of the quotient, the block can be replicated with the following code (a and b represent the inputs):
((a) - ((b) * ([floor v] of ((a) / (b)))))
If the result wanted is the remainder supposing the quotient is rounded towards 0, a Scratcher can either take the result of () Mod () block and subtract the dividend once, as so:
if <((a) / (b)) < [0]>then set [r v] to (((a) mod (b)) - (b)) else set [r v] to ((a) mod (b)) end
or round the quotient towards 0 and compute the remainder from there:
set [q v] to ((a) / (b)) if [0]> then set [q v] to ([floor v] of (q)) else set [q v] to ([ceiling v] of (q)) end set [r v] to ((a) - ((b) * (q)))
See Also
Notes
- ↑ This is different from the remainder operator in most programming languages, which round negative quotients up, towards 0, but consistent with the «//» and «\\» messages in Smalltalk.
Модификация Скретч
Модификация Скретч (мод) – это изменённая версия программы Скретч. Цель создания модификации – добавление новых функций в оригинальную программу или блоков. Проект, созданный в модификации не поддерживается оригинальной программой, онлайн плеерами и не может быть опубликован на сайте Скретч. Модификациям также не разрешается использовать слово »Scratch», за исключением фразы «Based on Scratch by the Lifelong Kindergarten group at MIT» или, укороченного, «Based on Scratch by MIT». Также должен быть открытый исходный код.
Список модификаций Скретч написан в статье Список модификаций Скретч.
Чтобы узнать, как установить модификацию Скретч, смотри статью «Как установить модификацию Скретч».
Форум модификаций Скретч
Некоторые Скретчеры хотят создать специфический форум по модификациям Скретч, потому что форум Advanced Topics переполнен сообщениями о модификациях [1] .
Смотри также
- Альтернативы Скретч
- Список модификаций Скретч
Примечания
Cookie-файлы помогают нам предоставлять наши услуги. Используя наши сервисы, вы соглашаетесь с использованием cookie-файлов.
Вики работает в тёмной теме, и она включена! Есть советы? Отправьте их сюда: Тема форума о Скретч Вики
- Эта страница в последний раз была отредактирована 11 июля 2018 в 09:30.
- К этой странице обращались 405 раз.
- Политика конфиденциальности
- О Скретч Вики
- Отказ от ответственности
What would you want from a mod for Scratch?
In Dnd dogs aren’t that great — and that makes sense because it keeps the focus on the players, and the amazing fantasy creatures you’re battling.
In real life, Dogs are pretty scary in a fight. They run really fast and chomp your limbs and drag you to the ground if you don’t have good protection, or they jump up and bite into your neck and try and drag you down.
I’d love to write a simple mod that makes Scratch better in a fight. How would change his current abilities?
Paddle2See
Dmith wrote:
EdAthlet wrote:
Каким образом можно присвоить переменной модуль её значения?
set [var v] to ([abs v] of (var))
set [var v] to ((var) mod (0))
Авг. 3, 2014 13:12:12
Grustno
Спасибо за помощь))
Авг. 5, 2014 08:30:09
scratch_book
Уважаемый Paddle2See!
Не учите детей плохому.
На ноль делить нельзя!
По-русски модуль — это абсолютное значение. abs(v)
функция mod — это остаток от деления первого числа на второе, а у Вас второе число НОЛЬ.
например 10 mod 3 будет равно 1
Авг. 5, 2014 12:42:07
EdAthlet
я тоже в этом сомневался, так как в четвертом классе дают такую установку. Но было зыбкое подозрение, что в бинарном мире возможно и такое.
Авг. 6, 2014 16:40:45
Grustno
АХАХАХ)) Я этого ПаддлеСИИ разыграл)) Я вот помню, что где-то валялся оператор с этим модулем))
Авг. 7, 2014 07:11:57
Dmith
scratch_book wrote:
Уважаемый Paddle2See!
Не учите детей плохому.
На ноль делить нельзя!
По-русски модуль — это абсолютное значение. abs(v)
функция mod — это остаток от деления первого числа на второе, а у Вас второе число НОЛЬ.
например 10 mod 3 будет равно 1
вы из ума выжили? на ноль делить можно:
Авг. 7, 2014 07:36:56
Nickspb
Хочу крутую подпись.
Авг. 7, 2014 08:19:35
DenisO
Nickspb wrote:
Хочу крутую подпись.
Если хочешь крутую подпись,не рекламируй пожалуйста мир свина а то он всем надоел,вообще проект тупой,а ты его рекламируешь по всему форуму,по всем темам,но он не кому не нравиться
Авг. 7, 2014 12:15:37
Dmith
Nickspb wrote:
Хочу крутую подпись.
Если хочешь крутую подпись,не рекламируй пожалуйста мир свина а то он всем надоел,вообще проект тупой,а ты его рекламируешь по всему форуму,по всем темам,но он не кому не нравиться я его вообще какбэ даже не видел
Авг. 7, 2014 12:53:27
Mr-Angry-Fruit13
Nickspb wrote:
Хочу крутую подпись.
Если хочешь крутую подпись,не рекламируй пожалуйста мир свина а то он всем надоел,вообще проект тупой,а ты его рекламируешь по всему форуму,по всем темам,но он не кому не нравиться я его вообще какбэ даже не видел
Так ты не заходишь в последнее время.
Авг. 7, 2014 13:12:13
Nickspb
Авг. 7, 2014 16:21:36
Dmith
Nickspb wrote:
Хочу крутую подпись.
Если хочешь крутую подпись,не рекламируй пожалуйста мир свина а то он всем надоел,вообще проект тупой,а ты его рекламируешь по всему форуму,по всем темам,но он не кому не нравиться я его вообще какбэ даже не видел
Так ты не заходишь в последнее время. нет я не пользуюсь puffin
Авг. 7, 2014 16:26:36
Nickspb
- Что такое пуффин?
Авг. 7, 2014 18:20:44
Grustno
XD Классный вопрос)) Знаю что это толстый кошак) Известный герой игр))
Авг. 8, 2014 19:31:48
Grustno
Есть мнение, что деление связано с вычитанием))
Авг. 9, 2014 02:50:44
Dmith
Grustno wrote:
Есть мнение, что деление связано с вычитанием))