Форум программистов, компьютерный форум CyberForum.ru

Какие утверждения являются верными? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
andrey3
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 59
24.10.2011, 09:59     Какие утверждения являются верными? #1
1) Операторы циклов for, while и do while не являются взаимозаменяемыми
2) Проверка условия выполняется на каждой итерации цикла
3) В случаях, когда число итераций заранее не известно, удобнее использовать оператор while
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MafiaWest
99 / 98 / 4
Регистрация: 24.04.2010
Сообщений: 284
Записей в блоге: 1
24.10.2011, 10:50     Какие утверждения являются верными? #2
1) Впринципе любой из операторов цикла можна заменить другими, но удобно ли ето будет зависит от задачи
2) да, проверка условий виполняется на каждой итерации
3)удобно, но можна использивать и нескончаймий оператор цикла for
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,670
24.10.2011, 11:50     Какие утверждения являются верными? #3
ВОПРОС:
Цитата Сообщение от andrey3 Посмотреть сообщение
1) Операторы циклов for, while и do while не являются взаимозаменяемыми?
ОТВЕТ:
В операторе цикла выход при выполнении условия выхода может производиться
1. в начале цикла,
2. в середине цикла,
3. в конце цикла.

В указанных операторах цикла выход производится:
1. while - в начале,
2. do while – в конце,
3. for – по желанию программиста.

Вывод:
Оператор for с выходом:
1. в начале цикла взаимозаменяем с оператором while,
2. в конце цикла – с оператором do while,
3. в середине цикла – ни с одним из них.
Операторы while и do while не взаимозаменяемы.

А вообще-то вопрос не совсем корректен, так как, если допустить извращения, то все взаимозаменяемо со всем.
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
24.10.2011, 11:53     Какие утверждения являются верными? #4
Цитата Сообщение от Mr.X Посмотреть сообщение
Оператор for с выходом:
1. в начале цикла взаимозаменяем с оператором while,
2. в конце цикла – с оператором do while,
3. в середине цикла – ни с одним из них.
Непонятно как-то. Что значит с выходом в начале/конце/середине? Цикл for всегда можно заменить на while и обратно.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
24.10.2011, 12:00     Какие утверждения являются верными? #5
Цитата Сообщение от Mr.X Посмотреть сообщение
Операторы while и do while не взаимозаменяемы.
Это в теории. А на практике while (true) выполнится хотя бы раз, получается такое же постусловие.
Так что любым можно заменить любой
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,670
24.10.2011, 12:12     Какие утверждения являются верными? #6
Цитата Сообщение от fasked Посмотреть сообщение
Непонятно как-то. Что значит с выходом в начале/конце/середине? Цикл for всегда можно заменить на while и обратно.
Я имел в виду:
1. выход в начале цикла:
C++
1
2
3
4
for(;условие продолжения;)
{
    //операторы
}
2. выход в середине цикла:
C++
1
2
3
4
5
6
for(;;)
{
    //операторы
    if(условие выхода) break;
    //операторы
}
3. выход в конце цикла:
C++
1
2
3
4
5
for(;;)
{
    //операторы
    if(условие выхода) break;
}
Добавлено через 2 минуты
Цитата Сообщение от mimicria Посмотреть сообщение
Это в теории. А на практике while (true) выполнится хотя бы раз, получается такое же постусловие.
Именно это я и подразумевал под извращениями.
Yandex
Объявления
24.10.2011, 12:12     Какие утверждения являются верными?
Ответ Создать тему
Опции темы

Текущее время: 05:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru