switch или if - страница 2

 
Maksim Neimerik:

Привет! Допустим есть переменная Х которая может быть либо 0 либо 1, какой оператор разумнее использовать switch или if?

Также хотелось бы рассмотреть вариант переменной с более широкой амплитудой значений...

Если вариантов ветвлений кода много, то разумней (в плане компактности кода) будет использовать switch.

 
если будет 2 case то нет разницы, что использовать if или switch, вот тестировал, скрипт для теста там же https://www.mql5.com/ru/forum/1111/page2560#comment_13224048
 
Блеск и нищета ООП
Блеск и нищета ООП
  • 2014.07.06
  • www.mql5.com
Общее обсуждение: Блеск и нищета ООП
 
Alexander Ivanov:
   

я всегда решаю вопросы по бейсику.

IF  THEN  ELSE  GOTO.

Когда я учил язык, страница с описанием GOTO была кем-то вырвана ;) Эх, так я и не узнал великий смысл этого оператора.

 
Aleksei Stepanenko:

Когда я учил язык, страница с описанием GOTO была кем-то вырвана ;) Эх, так я и не узнал великий смысл этого оператора.

Вырвана адептами других языков? ) Все так хотели его себе или наоборот хотели чтоб его даже в бэйсике не осталось)))
 
только for только хордкор
 
Во-во, читал про это, но убей не пойму как в машинном коде прямой прыжок реализовывается. Вот есть у нас входящая переменная в ячейке памяти, откуда инструкция знает куда прыгнуть сразу..
З.ы. Тест с Мильоном кейсов делать день))
 
Aleksey Mavrin:
Во-во, читал про это, но убей не пойму как в машинном коде прямой прыжок реализовывается. Вот есть у нас входящая переменная в ячейке памяти, откуда инструкция знает куда прыгнуть сразу..
З.ы. Тест с Мильоном кейсов делать день))

http://www.i-assembler.ru/GL2/Index6.htm

Особенно большие возможности предоставляет методика косвенного перехода с использованием базово-индексной адресации через пары регистров, например, [BX][SI] или [BX][DI]. Этот способ удобен в тех случаях, когда имеется ряд альтернативных точек перехода, выбор которых зависит от некоторых условий. В этом случае в сегменте данных создается не одно поле с адресом, а таблица адресов переходов. В базовый регистр ВХ загружается адрес этой таблицы, а в один из индексных регистров - определенный тем или иным способом индекс в этой таблице. Переход осуществляется в точку, соответствующую заданному индексу. Структура программы, использующий такую методику, выглядит следующим образом:

Переходы
  • www.i-assembler.ru
Как уже отмечалось в гл. 1, присущий процессору алгоритм выполнения программы заставляет его выполнять команды программы друг за другом, в том порядке, как они были описаны в исходном тексте программы и содержатся в выполнимом модуле. Однако часто программисту требуется нарушить этот порядок, заставив процессор обойти некоторый участок...
 
Спасибо. Теперь всё ясно.
 

С наступающим НГ!

Отдаю голос за автоматное программирование!

Очень уважаю switch case конструкции и парадигму состояние-переход.

Практически все функции робота так и реализую, и наберусь терпения "прошью" полностью работу алгоритма сквозными состояниями.

Нужно только набраться терпения)

Разбить/определить/привязать разряды.

Причина обращения: