[Архив!] Чистая математика, физика, химия и т.п.: задачки для тренировки мозгов, никак не связанные с торговлей - страница 233
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вообще, не в обиду разработчикам MQL будет сказано, но количество математических функций https://docs.mql4.com/ru/math
на мой взгляд, позорно мало, как впрочем и в VB. А определения некоторых из них, типа MathFloor, являются мутными.
-
Возьмём функцию MathMax, там только 2 аргумента. А если мне нужно 10 или 20, тогда во что это превращается?
Вот как это выглядит на VB с моим модулем:
-
х=max(х1...х20) 'находит максимальное значение 20 переменных;
х=max(х1, у, z, p) 'находит максимальное значение 4 переменных;
А вобще, какой то грек сказал что Pi=66/21
Грек, наверно, говорил 22/7 (это то же самое, что 66/21).
Точнее будет 355/113 (точность - 3*10^(-7) ).
Следующая наилучшая дробь - уже 103993/ 33102 (точность порядка 6*10^(-10) ).
2 Richie: Ну вот, и Вам ведь пришлось VB доделывать. Ну что ж Вы тогда на Метаквоты наезжаете?
Приколитесь
Приколитесь
Mischek, мы тут бывшие аспиранты, задачи для 8-го класса решаем, а не для 11-го :)
Бедные детишки :(
Ну вот, подозревал ведь, что это задачка...
ОК, смотрим.
Разбираемся с первым циклом,
Цикл выполняется до тех пор, пока выражение b - c оценивается как true. Что такое true в Си? Кажись, любой не нуль. Значит, цикл увеличения b от нуля и заполнения массива f[] выполняется до тех пор, пока b не сравняется с с, т.е. до 2800. Массив f[] заполняется одинаковыми числами 10000/5 = 2000.
Пока не сильно ошибся?
Всё равно число Пи вычисляется только одним способом, а всё остальное - это машка в другой юбке, либо часть машки :)
Ну вот, подозревал ведь, что это задачка...
ОК, смотрим.
Разбираемся с первым циклом,
Цикл выполняется до тех пор, пока b - c = true. Что такое true в Си? Кажись, любой не нуль. Значит, цикл увеличения b от нуля и заполнения массива f[] выполняется до тех пор, пока b не сравняется с с, т.е. до 2800. Массив f[] заполняется одинаковыми числами 10000/5 = 2000.
Пока не сильно ошибся?
Ну давай крякнем.
Пока правильно. Смотрим дальше.
А вот дальше непонятка. В первой шапке (внешнем цикле) условие d=0 как-то напрягает. Это ж всегда true?
Дальше вложенный цикл. Переписываем: