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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2012, 22:43   #1
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию Является ли оператор цикла оператором ветвления?

Цитата:
Оператор ветвления (условная инструкция, условный оператор) — оператор, конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд (наборов команд) в зависимости от значения некоторого выражения.
Согласно этого определения - да.
Интересно узнать мнение сообщества.

Последний раз редактировалось Levsha100; 14.02.2012 в 22:45.
Levsha100 вне форума Ответить с цитированием
Старый 14.02.2012, 23:01   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Механически - да.
Формально... Тут уже широкое поле для буквоедства. Все зависит от соглашений конкретного ЯВУ, как там чего автор определил так и будет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.02.2012, 23:06   #3
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Является ли утюг молотком? Вряд ли.

То есть молоток - это то, что люди называют молотком, а не то, что подходит под определение в толковом словаре.

Последний раз редактировалось ds.Dante; 14.02.2012 в 23:12.
ds.Dante вне форума Ответить с цитированием
Старый 14.02.2012, 23:06   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Несомненно.. Если я правильно понял..
Код:
for i:=0 to 100  do
begin
  //i - условный оператор 
  if i = 1 then
...
    else
      if i= 2 then
...
       else
         if i = 3 then 
...     
            else
             ...
             if i = N then
....
               else
                 if i = n+1 then        
end;
... Есть ни что иное, как ветвление. Но в одном цикле это не является ветвлением т.к. дерево постоить из одной ветки сложно т.к. ветка будет всего одна. И получится очень длинная загогулина.

Код:
for i:=0 to 100  do
begin
  for k:=100 downto 0 do
  begin
    for j:=-50 to 50 do
    begin
        for g:=50 downto -50 do
        begin
        //i,k,j,g - условные операторы
        {
        Теперь можно начать ветвление зависящее от значения 4 условий
        }
        end;
    end;
  end;       
end;

Последний раз редактировалось Человек_Борща; 14.02.2012 в 23:11.
Человек_Борща вне форума Ответить с цитированием
Старый 14.02.2012, 23:10   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Является ли утюг молотком?
Не не так
Является ли молотком сваезабиватель - это точнее будет звучать.
В Ассемблере за циклы отвечает команда loop, но она то по условию срабатывает.
И даже rep-команды тоже прекращают обработку по некоему условию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.02.2012, 23:13   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

а вообще геометрическая прогрессия элементов и каждого элемента элементов будет тоже не плохим ветвлением.
Человек_Борща вне форума Ответить с цитированием
Старый 14.02.2012, 23:14   #7
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не не так
Является ли молотком сваезабиватель - это точнее будет звучать.
В Ассемблере за циклы отвечает команда loop, но она то по условию срабатывает.
И даже rep-команды тоже прекращают обработку по некоему условию.
Тогда нужно обозначить контекст. Потому что покажи какому-нибудь Диме Билану отбойный молоток - он вообще не поймёт, что это за хня такая. То есть в контексте гламурных мычаний она вообще не имеет названия.
ds.Dante вне форума Ответить с цитированием
Старый 14.02.2012, 23:17   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Тогда нужно обозначить контекст.
Ну да. Это я и имел ввиду, говоря о соглашениях ЯВУ, в рамках которого рассматривается оператор цикла.
Если Вирт сказал что For это цикл (в рамках его языков), значит это однозначно не условный оператор не потому что его природа такая а потому что Вирт сказал
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.02.2012, 23:18   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

И формально и практически считаю что нет. В операторе ветвления в зависимости от условия в общем случае выпоняется две разных группы команд. Все операторы циклов в зависимости от условия выполняют многократно одну и ту же группу команд - где ветвление?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.02.2012, 23:37   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

В одном цикле ветвления не будет т.к. есего 2 точки "Да" и "Иначе".
Если операторов больше(имеются вложенные циклы), то возможности будут больше.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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