Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2012, 23:42   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
выполняют многократно одну и ту же группу команд - где ветвление?
Давай на примере абстрактного эквивалента цикла посмотрим на мир:
Код:
Начало цикла
 Оператор
 Оператор
Если счетчик не равен 0 то перейти на начало иначе продолжить программу
Вот ветвление, али не согласен?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.02.2012, 23:45   #12
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Цитата:
Все операторы циклов в зависимости от условия выполняют многократно одну и ту же группу команд - где ветвление?
Неправда, они либо выполняют вход в цикл(одна ветка) либо пропускают цикл.

a=1;
while(a)
{
b();
a=0;
}
c();
Levsha100 вне форума Ответить с цитированием
Старый 14.02.2012, 23:45   #13
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию

Цитата:
Является ли оператор цикла оператором ветвления
В таком примере, как привел Человек_Борща на мой взгляд, нет.

И вообще, мне кажется, цикл для ветвления подразумевает выполение каких-то действий до наступления определенного события. И ветвление будет продолжаться до тех пор, пока не наступит событие, ограничивающее это ветвление. Любой из do... while сюда бы подошел бы больше.

Поэтому и кажется мне, что смотря какой оператор цикла будет рассматриваться, можно будет сказать - будет ли это оператор ветвления или нет.
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
Blondy вне форума Ответить с цитированием
Старый 14.02.2012, 23:56   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Вот ветвление, али не согласен?
Если рассматривать отдельно IF в конце цикла то согласен, но если к циклу подходить как к вещи в себе, без разбиения на заголовок и условие выхода - то не согласен
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.02.2012, 23:59   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но если к циклу подходить как к вещи в себе
Ну да. Не поспоришь. Вот тут то и начинается грань буквоедства - ты прав, я прав все правы
Задачка, короче, недоказуемая - все решения верны.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.02.2012, 00:06   #16
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Всем спасибо за дискуссию, если что покажу преподу
Levsha100 вне форума Ответить с цитированием
Старый 15.02.2012, 07:27   #17
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
но если к циклу подходить как к вещи в себе, без разбиения на заголовок и условие выхода - то не согласен
Но если глянуть как реализовано на ассемблере - то ветвление. И даже если как вещь в себе все равно ветвление . ИМХО конечно. Потому что ветвление означает ветвь вычислений по которому идет алгоритм.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 15.02.2012, 07:49   #18
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Но если глянуть как реализовано на ассемблере - то ветвление. И даже если как вещь в себе все равно ветвление . ИМХО конечно. Потому что ветвление означает ветвь вычислений по которому идет алгоритм.
Весьма спорное утверждение.
Код:
i = 0;
M1:i++;i--;
goto M1;
Цикл есть, где ветвление?
Безусловный переход, не имеет условия, но цикл-то организован, хоть и бесконечный.
На мой взгляд ветвление, это когда вычисления идут по разным веткам, но не имеют возврата. В противном случае, это не ветвление, а условный переход с возвратом. Внутри цикла, безусловно, ветвление имеет право быть.

Или вот такая конструкция:
Код:
cikl()
{
int i = 0;
M1:
if(i == 100) return;
goto M1;
}
Здесь есть точка входа. Есть цикл. Есть точка выхода из функции. Где ветвление?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 15.02.2012 в 08:00.
Smitt&Wesson вне форума Ответить с цитированием
Старый 15.02.2012, 08:03   #19
Sna1L
Форумчанин
 
Аватар для Sna1L
 
Регистрация: 15.03.2011
Сообщений: 272
По умолчанию

Я почему-то вспомнил уроки информатики из начальных классов, когда мы блок-схемы рисовали.
Вспомните, как там циклы рисовались? Условием, ссылающимся на ранее выполненный шаг.

Вообще мне кажется что является(в большинстве случаев). Но разделять их всё же нужно. Не вижу смысла называть цикл ветвлением. Это всё равно что называть мел минералом, хоть это и не ошибочно(по-моему )

кстати Smitt&Wesson выше очень хороший пример привел. Цикл это слово с широким смыслом

Последний раз редактировалось Sna1L; 15.02.2012 в 08:07.
Sna1L вне форума Ответить с цитированием
Старый 15.02.2012, 08:11   #20
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Sna1L Посмотреть сообщение
Вообще мне кажется что является. Но разделять их всё же нужно. Не вижу смысла называть цикл ветвлением. Это всё равно что называть мел минералом, хоть это и не ошибочно(по-моему )
Только как частный случай. Например есть сложные циклы
Код:
int i =0;
M1:
..........
if(i>100) return;
M2:
..........
if(Условие) gotoM1;
else gotoM2;
Здесь, ветвлением является второй оператор if, а первый - проверкой параметра выхода из обеих циклов.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
составить программу на паскале используя оператор цикла в сочетании с оператором условного перехода(без массивов) Naruto_026 Паскаль, Turbo Pascal, PascalABC.NET 1 01.11.2011 19:19
Ошибка по Оператором ветвления if,else. Goody Общие вопросы C/C++ 1 07.10.2011 15:48
Вычислить используя, оператор цикла for и оператор безусловного пе Knubbe Помощь студентам 1 18.12.2009 10:24
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat McMilin Помощь студентам 7 11.11.2007 14:10