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

Округлить
Форма блока репортёра.png
Округлить ().png
Код блока: Округлить ()
Создано в: Скретч 1.4
Ш О


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

округлить()

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

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

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

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

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

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

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

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

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

меньшее от (число + 0.5)

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

число - (1 - остаток от деления (число) на (1))

число - (1 + остаток от деления (число) на (1))

или:

если (n > 0)
 то задать переменную (округление) в ((n + 0.5) - (остаток от деления (n - 0.5) на (1)))
 иначе задать переменную (округление) в ((n - 0.5) - ((n  0.5) - (остаток от деления (n - 0.5) на (1)) + 1)

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

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

Предложения скретчерам

Некоторые скретчеры хотят, чтобы блок округлить () округлял до определённого разряда. Это выглядело бы так: (округлить () до () ::operators), но такого нет, поэтому это можно заменить на это: округлить (( ()*([10^ v] от ()::operators )) / ([10^ v] от () ::operators)

Блоки
Движение
Внешность
Звук

Перо

Переменные
Списки
События
Управление

Сенсоры
Операторы
(Округлить ())
ш о