Читайте также:
|
|
Конструкцию for чаще применяют для организации детерминированных циклов. А конструкции do и while чаще применяют для итерационных циклов. Хотя такое функциональное разделение довольно условно.
Два примера использования конструкции цикла для построения индуктивной последовательности, то есть последовательности,где каждый следующий член получается путем вычисления определенной формулы над предыдущими челнами.
Примером индуктивной последовательности являются числа Фибоначчи, которые вычисляются по следующей формуле:
A1=A2=1, An=An-1+An-2, где n=3,4…
То есть последовательность чисел Фибоначчи: 1, 1, 2, 3, 5, 8, 13, 21, 34, ….
Пример детерминированного цикла
// Вычисление k-го числа Фибоначчи
# include <iostream.h>
# include <conio.h>
void main ()
{
int k,a1=1,a2=1,a3;
cout<<"Enter k>2 ";
cin>>k;
for (int i=1; i<=(k-2);i++)
{
a3=a1+a2;
a1=a2;
a2=a3;
}
cout<<"\n"<<a3;
getch();
}
Итерационный цикл
// Определить сумма скольки чисел Фибоначчи не превосходит m(m>1)
# include <iostream.h>
# include <conio.h>
void main ()
{
int k=1,a1=1,a2=1,a3,m;
int sum=a1+a3;
cout<<"Enter m ";
cin>>m;
while (sum<m)
{
k++;
a3=a1+a2;
sum+=a3;
a1=a2;
a2=a3;
}
cout<<"\nk="<<k;
getch();
}
Основная проблема при организации циклов – возможность зацикливания – бесконечное повторение тела цикла.
Зацикливание может возникнуть по двум основным причинам:
1. Неверно задано условие цикла
2. Неверно в теле цикла меняются параметры, участвующие в условии цикла.
Например,
Дата добавления: 2015-08-20; просмотров: 42 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Примеры смотри в пособии. | | | Задача на вложенные циклы. |