Скачать MetaTrader 5

Задача.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нужен программист? Cервис Фриланс найдет его!
Valdemar
63
Valdemar 2011.06.27 05:30 
Всем доброго времени!

Прошу вас,гении человеческого разума, подскажите мне человеку,вчера начавшему изучать учебник MQL4 и о программировании неимеющего ранее понятия,удивляющемуся каждому символу, столкнувшемуся с первыми неясностями,почему задача приведённая там в учебнике имеет такие числовые данные и в итоге правильный алгоритм решения,ведь в моём понимании 1% от 1000 это 10.В чём я здесь не прав и на что следует обратить внимание!? И что посоветуете на будущее мне в этом непростом деле!?

Получаеться за 30 дней*10= 300,а до 50000 ещё очень далековато будет.

Вот эта задача и код:

На первой ферме имеется 1000 овец. Ежедневно количество овец на первой ферме увеличивается на 1%. Если в конце месяца на первой ферме количество овец превышает 50 000, то 10% овец переводят на вторую ферму. Через какое время количество овец на второй ферме достигнет численности 35 000? (Считать, что в месяце 30 рабочих дней.)

int start() // Специальная ф-ия start()
{
//--------------------------------------------------------------------
int
day, // Текущий день месяца
Mons; // Искомое количест. месяцев
double
One_Farm =1000.0, // Количество на 1 ферме
Perc_day =1, // Ежедневный подъём, %
One_Farm_max=50000.0, // Пороговое значение
Perc_exit =10, // Ежемесячный вывод, %
Purpose =35000.0, // Необх. колич. на 2 ферме
Two_Farm; // Количество на 2 ферме
//--------------------------------------------------------------------
while(Two_Farm < Purpose) // Внешний цикл по истории
{ // Начало тела внешн. цикла
//--------------------------------------------------------------
for(day=1; day<=30; day++) // Цикл по дням месяца
One_Farm=One_Farm*(1+Perc_day/100);//Накопление на 1й ферме
//--------------------------------------------------------------
Mons++; // Считаем месяцы
if (One_Farm < One_Farm_max) // Если меньше допустимого,.
continue; // .. то овец не переводим
Two_Farm=Two_Farm+One_Farm*Perc_exit/100;//Количес. на 2 ферме
One_Farm=One_Farm*(1-Perc_exit/100);// Остаток на 1 ферме
} // Конец тела внешнего цикла
//--------------------------------------------------------------------
Alert("Цель будет достигнута через ",Mons," мес.");//Вывод на экран
return; // Выход из функции start()
}
//--------------------------------------------------------------------


Благодарен всем,кто откликнулся,заметил,понял,подсказал! Пусть удача всегда улыбается Вам!:)
Avals
3182
Avals 2011.06.27 06:07  
тут задача на сложные проценты. В первый день 1% от 1000 - 10 овец. Теперь их стало всего 1010. На следующий день 1% это 10,1 овцы))) и т.д. Т.о. через 30 дней будет 1000*(1,01)^30=1347 овец. А более 5000 овец накопится за 6 мес. Можно точно подсчитать через логарифм. Целиком задачу решить удобнее через подневную имитацию как в алгоритме
Олег avtomat
4894
Олег avtomat 2011.06.27 08:29  


.

Для полноты картины надо бы ещё учесть продолжающийся с той же скоростью рост овец, с момента появления их на второй ферме.

AlexeyFX
417
AlexeyFX 2011.06.27 10:22  

А как выглядит 0.1 овца?

Виталий
340
Виталий 2011.06.27 10:26  
AlexeyFX:

А как выглядит 0.1 овца?

Очень неприятно.
михаил потапыч
19488
михаил потапыч 2011.06.27 10:47  
vitali_yv:
Очень неприятно.


Да нормально выглядит

PapaYozh
3768
PapaYozh 2011.06.27 12:04  
Mischek:


Да нормально выглядит


Больше похоже на 0.01
Олег avtomat
4894
Олег avtomat 2011.06.27 12:46  

в продолжение....

учтём, что овцы, будучи отправлены на вторую ферму, продолжают размножаться

;))))

Valdemar
63
Valdemar 2011.06.27 13:02  
avtomat:

в продолжение....

учтём, что овцы, будучи отправлены на вторую ферму, продолжают размножаться

;))))



Мне стало ещё интереснее узнать откудого же такие знания,уважаемый Аvtomat. Где и как создать такие диаграммы!?=) Применяя формулы. (вообщем я полный ноль в этом,как видно)=))))
Valdemar
63
Valdemar 2011.06.27 13:09  
Avals:
тут задача на сложные проценты. В первый день 1% от 1000 - 10 овец. Теперь их стало всего 1010. На следующий день 1% это 10,1 овцы))) и т.д. Т.о. через 30 дней будет 1000*(1,01)^30=1347 овец. А более 5000 овец накопится за 6 мес. Можно точно подсчитать через логарифм. Целиком задачу решить удобнее через подневную имитацию как в алгоритме


Avals вы рассчитали эту формулу 1000*(1,01)^30=1347,где и как!? Как допустим мне, выложить такой алгоритм в редактор MQL4 и увидеть наглядно цыфры за все месяца до 50000!?
Олег avtomat
4894
Олег avtomat 2011.06.27 13:10  
практиковался когда-то на ферме ;)))
123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий