Программирование - это просто
Advertisement
Главная arrow Биржевые роботы arrow Программируем в среде Metatrader (платный раздел) arrow Учимся программировать в среде Metatrader (mql). Урок 25. Операторы упр. циклом и множеств. выбора.
29.11.2022 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Учимся программировать в среде Metatrader (mql). Урок 25. Операторы упр. циклом и множеств. выбора. Печать E-mail
Автор megabax   
07.10.2012 г.
unit AIObj

Учимся программировать в среде Metatrader (mql). Урок 25. Операторы управления циклом и множественного выбора.

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


 

Рассмотрим операторы управления циклами break и continue....

 

....

 

....Пусть перед нами стоит следующая задача: "Дана нить длиной 1,5 метра. Требуется сложить нить в форме прямоугольника, имеющего максимально возможную площадь. Путём последовательного перебора вариантов найти площадь этого прямоугольника и длины сторон с точностью до 1 см."

Из цельного отрезка нити можно сложить бесконечное количество прямоугольников различных размеров. Учитывая, что по условиям задачи точность вычислений составляет 1 мм, мы можем рассмотреть всего 749 вариантов. Первый, самый "тонкий", прямоугольник будет иметь размеры 1 х 749 мм, второй - 2 х 749 мм и так далее, а размеры последнего будут составлять 749 х 1 мм. Нам необходимо перебрать все эти прямоугольники и выбрать из них один, имеющий максимальную площадь.

Легко заметить, что в рассматриваемом наборе прямоугольников встречаются повторяющиеся размеры. Например, первый и последний прямоугольники имеют одинаковый размер: 1 х 749 (то же, что 749 х 1). Аналогично этому, размер второго прямоугольника совпадает с размером предпоследнего и т.д. Нам необходимо составить алгоритм перебора всех оригинальных вариантов, но перебирать повторяющиеся нет необходимости.
 

Решением данной задачи будет вот такой скрипт....

 

...

 

... И вот результат работы данного скрипта:

Учимся программировать в среде Metatrader (mql). Урок 25. Операторы управления циклом и множественного выбора.

 

Теперь перейдем к continue. Так же рассмотрим его применение на примере решения задачи: "На первой ферме имеется 500 свиней. Ежедневно количество свиней  на первой ферме увеличивается на 2%. Если в конце месяца на первой ферме количество свиней превышает 40 000, то 7% свиней переводят на вторую ферму. Через какое время количество свиней на второй ферме достигнет численности 25 000? (Считать, что в месяце 30 рабочих дней.)".

Алгоритм решения задачи очевиден: необходимо организовать цикл, в котором рассчитывалась бы сумма общего количества свиней на первой ферме. По условию задачи перевод части свиней на вторую ферму происходит в конце месяца, значит необходимо создать ещё один (внутренний) цикл, в котором вычислялось бы накопление в текущем месяце. По окончании месяца необходимо выяснить: превышен ли пороговый уровень в 40 000? И если это так, то нужно рассчитать количество свиней, переводимых на вторую ферму в конце месяца, и общее количество свиней на второй ферме.

Решением данной задачи будет вот такой скрипт...

 

...

 

... И вот результат ее работы:

Учимся программировать в среде Metatrader (mql). Урок 25. Операторы управления циклом и множественного выбора.

 

И у нас остался еще оператор ветвления...

 

...

 

... И вот результат работы данной программы:

 

Учимся программировать в среде Metatrader (mql). Урок 25. Операторы управления циклом и множественного выбора.

 

...

 


Скриншоты, опубликованные в данной статье, являются цитатами и иллюстрациями  программного продукта "Metatrader 4", авторское право на который принадлежит "MetaQuotes Software Corp". 


Последнее обновление ( 07.10.2012 г. )
 
« След.   Пред. »
 
© 2022 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги