Материал из Скретч Вики

< Блок операторов

Блок
Изображение блока(округлить ())
КатегорияОператоры
Версия СкретчСкретч 1.4
Код scratchblocks(округлить ())
Тип блокарепортёр

Блок Округлить () – блок оператор и блок репортёр. Этот блок округляет заданное значение до ближайшего целого. Подчиняется правилам округления; при округлении числа с десятичной частью больше 5, включительно, блок отдаст число, больше заданного. При округлении числа с десятичной частью меньше 5.

округлить()

Пример использования

В проектах, где используются десятичные значения, эти числа могут быть округлены.

Варианты использования блока Округление ():

если <(округлить(a/b))=(a/b)>, то
сказать [a делится на b]
иначе
сказать [a не делится на b]
  • Калькулятор может использовать округление
  • Проверка примерного равенства чисел
  • Проверка деления чисел друг на друга, хотя для этой цели более предназначен блок Остаток от деления () на ().
  • Округление чисел для блока Повторить () раз (блок), потому что этот блок использует только целые числа
  • Определение позиции курсора, например, для игры Сапёр
  • Привязка к сетке


если <(округлить ((a)/(b)))=((a)/(b))>, то
сказать[a делится на b]

иначе
сказать[a не делится на b]

Получение идентичного эффекта

Основная статья: Список идентичных блоков


Можно использовать в () больше () (блок) и () меньше () (блок) для примерного округления:

([целое меньшее v] от ((число) + (0.5)))

Также () больше () и () меньше () могут быль заменены блоком Остаток от деления () на ():

 ((число) - ((1) - ((число) mod (1))))
 
 ((число) - ((1) + ((число) mod (1))))

или:

если <(b) > (0)>, то
задать [округление v] значение ((n + 0.5) - ((n - 0.5) mod (1)))
иначе
задать [округление v] значение ((n - 0.5) - ((n  0.5) - (((n - 0.5) mod (1)) + (1)))

Также можно использовать операторы Буква () в () (блок) и Объединить () и () (блок) :

задать [репортёр v] значение ()
 задать [значение v] значение (1)
 повторять пока не < <(буква (значение) в (число)) = (0)> или <(значение) = (длина (число))> >
  задать [репортёр v] значение (объединить (репортёр) (буква (значение) в (число)))
  изменить [значение v] на (1)
 если <<(буква (значение) в (число)) = (.)> и <(буква ((значение) + (1)) в (число)) > (4)>>, то
изменить [репортёр v] на (1)

Предложения от Скретчеров

Некоторые скретчеры хотят, чтобы этот блок мог округлять до определённого разряда. Это выглядело бы так:

(округлить () до ()::operators)

Такого, к сожалению, до сих пор нет, поэтому это можно заменить на это:

округлить (( ()*([10^ v] от ()::operators )) / ([10^ v] от ()::operators) 


Блоки
Движение
Внешний вид
Звук
Переменные
События
Управление

Сенсоры
Операторы
Перо
ш о
Cookie-файлы помогают нам предоставлять наши услуги. Используя наши сервисы, вы соглашаетесь с использованием cookie-файлов.