Умный способ заставить Fortran выполнять цикл по отдельным диапазонам одной и той же переменной

Представьте, что у меня есть цикл выполнения над переменной I. Обычно эта переменная имеет диапазон от 1 до 20, но я хочу создать цикл выполнения в диапазоне от 1 до 5 и 8–12. Я не могу создать простой цикл do, потому что диапазоны не являются последовательными. Я не хочу вводить логические утверждения, потому что не хочу ничего замедлять. Каким был бы умный или творческий способ выполнить этот цикл и можно ли это сделать без логического оператора?


person Nicholas Bauman    schedule 25.02.2020    source источник
comment
Кроме двух петель do?   -  person John Alexiou    schedule 26.02.2020
comment
Вы можете по существу следовать подходу, описанному в ответе на этот другой вопрос: создать массив с нужными вам индексами, а затем выбрать эти в петле. Лучше, чем cycle?   -  person francescalus    schedule 26.02.2020
comment
Мы надеемся, что между двумя связанными вопросами вы найдете достаточно для решения своей проблемы. Ответы на один вопрос касаются пропуска итераций с использованием логики, включая изменение счетчика циклов; другой имеет массив для индексации.   -  person francescalus    schedule 26.02.2020
comment
Или с i=1,5 используйте j=i+7   -  person John Alexiou    schedule 26.02.2020