Язык программирования С++

Вопросы не попавшие в другие категории.

Re: Язык программирования С++

Сообщение coder_perm » 24 окт 2010, 10:31

Pirate писал(а):В общем вопрос остается актуален. Если кто-то может человеческим языком разжевать для чего в программах нужны циклы, для чего их используют, просьба написать.

Для работы с массивами, например. Не вручную же каждый элемент массива перебирать... :no:
Аватара пользователя
coder_perm
 
Сообщения: 185
Зарегистрирован: 11 авг 2009, 22:39
Откуда: Пермь
Skype: kudrin_anton
прог. языки: assembler

Re: Язык программирования С++

Сообщение Angel71 » 24 окт 2010, 10:35

:ROFL: ото ни в одной книге масивы циклами не перебирали
:crazy: http://ru.wikipedia.org/wiki/Цикл_(программирование)
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Язык программирования С++

Сообщение Pirate » 24 окт 2010, 10:54

Angel71 писал(а):http://ru.wikipedia.org/wiki/Цикл_(программирование)

перед тем как писать сюда просьбу я и гугл наизнанку вывернул и в вике это прочитал.



Пожалуй попробую спросить по другому.

Может ли кто-то написать для чего используется в программировании цикл.
В ответе хотелось бы увидеть человеческое объяснение, например :
берет прописанную в условии переменную int primer со значением 5 и делает с ней ....


Мне нужно понять для чего можно применить цикл в программе...
По книгам я понял что циклы (возьмем в пример for) могут брать какую либо переменную заранее проверить подходит ли для вычисления ее тела значение переменной, чтобы выполнить тело, или перепрыгнуть сразу дальше через тело цикла, если не подошло.
В самом цикле как я понял на примерах в этих переменных либо прибавляется либо отнимается по какому либо числу (1 там 2), дойдя до какого либо числа происходит выход из цикла, и продолжается выполнение программы дальше. Но для чего на практике нужны эти циклы, для чего нужно к переменной со значением 5 прибавлять по единице, доводя ее до скажем значения 50, если это можно было сделать просто заменив ее значение в ходе программы в нужном нам месте программы и все..? И вот тут или я че-то не догнал или все таки не догнал для чего циклы. :(
Аватара пользователя
Pirate
 
Сообщения: 289
Зарегистрирован: 18 авг 2010, 23:35
Откуда: Одесса

Re: Язык программирования С++

Сообщение Angel71 » 24 окт 2010, 11:21

а ничего, что в вики рассмотрение начинается с
Код: Выделить всё
while(<условие>)
{
   <тело цикла>
}

и
Код: Выделить всё
do
{
    <тело цикла>
}
while(<условие>)

8) и де тут переменная?
:) пример, для особо непонятливых:
Код: Выделить всё
do
{
   удар головой ап стену;
}
while(нет шишки на лбу)


а теперь играемся с числами Фибоначчи и вникаем, накой нужны циклы со счётчиками.
f[1] = 1
f[2] = 1
f[n+2] = f[n+1] + f[n]
дабы не генерить в миллионный раз этот простенький код, привожу код из "Руководство полного идиота по программированию (на языке Си)" http://www.helloworld.ru/texts/comp/lang/c/c6/index2.htm
Код: Выделить всё
#include       /* магическая строка */
#define N 20            /* сколько первых чисел посчитать */

void main(){
        int fibs[N], index;

        fibs[0] = 1;    /* индексы отсчитываются с нуля!!! */
        fibs[1] = 1;

        /* Тут показано, что индекс элемента массива может вычисляться */

        for(index=2; index < N; index++)
                fibs[index] = fibs[index-1] + fibs[index-2];

        /* Распечатка в обратном порядке */
        for(index = N-1; index >= 0; index--)
                printf("%d-ое число Фибоначчи есть %d\n",
                        index+1,                   fibs[index]);
}
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Язык программирования С++

Сообщение Pirate » 24 окт 2010, 17:29

т.е. простыми словами цикл это оператор, в условии которого можно ввести рамки для вычисления которые происходят в его теле, и пока вычисления не попытаются выйти за рамки условий цикла, они будут по кругу вычисляться и вычисляться?
Аватара пользователя
Pirate
 
Сообщения: 289
Зарегистрирован: 18 авг 2010, 23:35
Откуда: Одесса

Re: Язык программирования С++

Сообщение Angel71 » 24 окт 2010, 17:34

т.е. простыми словами это ни разу не оператор.
:o проще уже некуда
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций. Также циклом может называться любая многократно исполняемая последовательность инструкций, организованная любым способом (например, с помощью условного перехода).
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Язык программирования С++

Сообщение Pirate » 24 окт 2010, 17:41

ок напишу по другому.

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

?
Аватара пользователя
Pirate
 
Сообщения: 289
Зарегистрирован: 18 авг 2010, 23:35
Откуда: Одесса

Re: Язык программирования С++

Сообщение Angel71 » 24 окт 2010, 17:46

Код: Выделить всё
yahoo:
goto yahoo;
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Язык программирования С++

Сообщение Pirate » 24 окт 2010, 18:11

ну вот и отлично
Аватара пользователя
Pirate
 
Сообщения: 289
Зарегистрирован: 18 авг 2010, 23:35
Откуда: Одесса

Re: Язык программирования С++

Сообщение yozik0ff » 25 окт 2010, 10:41

Чтобы понять рекурсию нужно сначала понять рекурсию...
Про циклы вы это серьезно?
Аватара пользователя
yozik0ff
 
Сообщения: 440
Зарегистрирован: 28 авг 2005, 08:30
Откуда: деревня - Тюмения
прог. языки: с++

Re: Язык программирования С++

Сообщение Pirate » 25 окт 2010, 19:27

yozik0ff писал(а):Чтобы понять рекурсию нужно сначала понять рекурсию...
Про циклы вы это серьезно?

ага
Аватара пользователя
Pirate
 
Сообщения: 289
Зарегистрирован: 18 авг 2010, 23:35
Откуда: Одесса

Пред.

Вернуться в Обо всём

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6