Вот еще крепкие ребята
Вчера мне глаз резанула твоя фраза "если условие не выполнено изначально", мол do-while проверяет-то после 1 выполнения... Но я сейчас сам выше привел пример с условием, которое неудобно _изначально_ для циклов и понял, что ты это имел в виду, так ведь?
С плюсами согласен.
Но вот пример с фор считаю для картинки абсолютно неудачным по сравнению с оригиналом.
В твоем случае одинаковый. А вот так попробуй:

var i = 5; do{console.log('step ' + i); i++;}while(i < 5)
var i = 5; while(i < 5){console.log('step ' + i); i++;}

На картинке именно такие входные данные, а не заведомо "правильные" для циклов. И зачем мы спорим? Do-While используется, если нужно обязательно 1 раз выполнить итерацию, а дальше смотреть нужно ли повторить, а в While нужно сначала проверять и итерации может вообще не быть -- это в методичке любой написано.
Пример больше похож на преждевременный выход из цикла по событию (муха), а не условию цикла - жрать пока не кончится суп.
Даже в конструкции видно, что while проверяет до выполнения, а do-while после выполнения, а не "если условие не выполнено изначально". И пример с FORом абсолютно не логичнее, т.к. при одинаковых значениях переменной у твоих форов будет одинаковый результат, а кайот улетит, только когда переменные станут разными. А с while/do-while при одинаковых значениях переменной -- результат разный. ЗЫ: и почему ++i? увеличить до выполнения итерации?
Таак воот чьи кошаки ко мне приходят!
утверждение в вопросе - ложное.

- "обычная" картошка не содержит гены, а гмо картошка содержит, да?
- да
(неправильно, т.к. обычная содержит гены)

- "обычная" картошка не содержит гены, а гмо картошка содержит, да?
- нет
(неправильно, т.к. и та и эта содержит гены)

- "обычная" картошка не содержит гены, а гмо картошка содержит, да?
- затрудняюсь
...