/
EvilBeaver
/
OneScript
Обзор
Документация
Войти
/
EvilBeaver
/
OneScript
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
tests/eratosthenes.os
55 строк
2 KB
EvilBeaver
Тесты для подключения модулей в native
05 май 2023, 15:59
05 май 2023, 15:59
e00ba78
Код
Авторство
О чём код?
Перем юТест; Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт юТест = ЮнитТестирование; ВсеТесты = Новый Массив; ВсеТесты.Добавить("ТестДолжен_ВыполнитьРешетоЭратосфена"); Возврат ВсеТесты; КонецФункции Процедура ТестДолжен_ВыполнитьРешетоЭратосфена() Экспорт Фрагмент = Новый СкомпилированныйФрагмент(); Н = 50000; Алгоритм = " |Массив = Новый Массив(); |Массив.Добавить(Ложь); |Массив.Добавить(Ложь); | |Для индекс = 2 По Н Цикл | Массив.Добавить(Истина); |КонецЦикла; | |времяНачала = ТекущаяУниверсальнаяДатаВМиллисекундах(); |Для индекс = 2 По Н Цикл | Если Массив[индекс] Тогда | квадрат = индекс * индекс; | Если квадрат <= Н Тогда | м = квадрат; | Пока м <= Н Цикл | Массив[м] = Ложь; | м = м + индекс; | КонецЦикла; | КонецЕсли; | КонецЕсли; |КонецЦикла; | |времяОкончания = ТекущаяУниверсальнаяДатаВМиллисекундах(); |Возврат (времяОкончания - времяНачала)/1000"; Фрагмент.ФрагментКода = Алгоритм; Фрагмент.Параметры.Вставить("Н", Тип("Число")); Действие = Фрагмент.Скомпилировать(); Время = Действие.Выполнить(Н); Сообщить(Время); КонецПроцедуры