Программирование арифметических циклов
Для арифметического цикла заранее известно сколько раз выполняется тело цикла.
Задача №2.Дана последовательность целых чисел из n элементов. Найти среднее арифметическое этой последовательности.
#include <iostream.h>
#include <math.h>
void main()
{
int a,n,i;
double s=0; //инициализируем переменную начальным значением
cout<<"\nEnter n";
cin>>n; // вводим количество элементов в последовательности
for(i=1;i<=n;i++)// цикл выполняется n раз
{
cout<<"\nEnter a";
cin>>a; // вводим переменную
s+=a;//добавляем значение переменной к сумме
}
s=s/n;//находим среднее арифметическое
cout<<"\nсреднее арифметическое равно="<<s<<"\n";
}
Задача №3.Найти значение S=1+2+3+4+. . . +N
#include <iostream.h>
#include <math.h>
void main()
{
//описываем переменные и инициализируем s начальным значением
int n,i,s=0;
cout<<"\nEnter n";
cin>>n; // вводим количество элементов в последовательности
for(i=1; i<=n; i++)++)// цикл выполняется n раз
s+=i; //добавляем значение переменной к сумме
cout<<"\nS="<<s<<"\n";
}
Программирование итерационных циклов
Для итерационного цикла должно быть известно условие выполнения цикла. При использовании цикла с предусловием (while) тело цикла может не выполняться ни разу, если сразу же не выполняется условие цикла. При использовании цикла с постусловием тело цикла будет выполнено хотя бы один раз. И в том, и в другом случае используется условие выполнения цикла.
|
|
Задача №5.Дана последовательность целых чисел, за которой следует 0. Найти минимальный элемент этой последовательности.
Для решения этой задачи используем цикл с предусловием, т. к. ноль не входит в последовательность и его не надо обрабатывать при поиске минимального значения.
#include <iostream.h>
#include <math.h>
void main()
{
int a,min;
cout<<"\nEnter a";
cin>>a; //вводим первое число
min=a;//присваиваем переменной min начальное значение
while(a!=0)//цикл с предусловием
{
cout<<"\nEnter a";
cin>>a;//вводим следующее число
/*сравниваем с нулем, т. к. 0 не входит в последовательность
и не может быть минимальным и с минимальным значением*/
if (a!=0&&a<min)
min=a; //запоминаем в min новое значение
}
cout<<"\nmin="<<min<<"\n";//вывод результата
}
Тесты:
a | 2 | 55 | -3 | -10 | 0 |
min | -10 |
a | 12 | 55 | 4 | 27 | 0 |
min | 4 |
a | -6 | -43 | -15 | -10 | 0 |
min | -10 |
Для решения этой же задачи можно написать программу с использованием цикла с постусловием.
#include <iostream.h>
#include <math.h>
void main()
{
int a,min;
cout<<"\nEnter a";
cin>>a; //вводим первое число
|
|
min=a;//присваиваем переменной min начальное значение
do //цикл с постусловием
{
cout<<"\nEnter a";
cin>>a;//вводим следующее число
if (a==0)break;// выход из цикла, если ввели 0
if (a<min)//сравниваем а с текущим min
min=a; //запоминаем в min новое значение
}
//бесконечный цикл, т. к. выход осуществляется с помощью break
while(1);
cout<<"\nmin="<<min<<"\n";//вывод результата
}
Эту же задачу можно решить с помощью цикла for:
#include <iostream.h>
#include <math.h>
void main()
{
int a,min;
cout<<"\nEnter a";
cin>>a; //вводим первое число
min=a;//присваиваем переменной min начальное значение
for(;a!=0;)//цикл используется как цикл с предусловием
{
cout<<"\nEnter a";
cin>>a;//вводим следующее число
/*сравниваем с нулем, т. к. 0 не входит в последовательность
и не может быть минимальным и с минимальным значением*/
if (a!=0&&a<min)
min=a; //запоминаем в min новое значение
}
cout<<"\nmin="<<min<<"\n";//вывод результата
}
Задача №6. Найти сумму чисел Фибоначчи, меньших заданного числа Q. Числа Фибоначчи – это последовательность чисел: 1, 1, 2, 3, 5, 8, 13, …., т. е. каждое следующее число – это сумма двух предыдущих.
#include<iostream.h>
void main()
{
int a=1,//первое число
b=1,//второе число
|
|
s=2,//сумма чисел Фибоначчи
Q,
c;//следующее число
cout<<"\nEnter Q";
cin>>Q;//вводим число Q
if(Q<=0)cout<<"Error in Q";
else
//если Q=1, то сумма тоже будет 1 (первое число)
if(Q==1)s=1;
else
{
c=a+b;//вычисляем следующее число
while(c<Q)
{
s+=c;//вычисляем сумму
a=b;//меняем первое число на второе
b=c;//меняем второе число на текущее
c=a+b;//вычисляем текущее число Фибоначчи
}
}
cout<<"\nS="<<s<<"\n";//выводим результат
}
Тесты:
Q | S |
-1 | Error in Q |
0 | Error in Q |
1 | 1 |
2 | 2 |
10 | 20 |
Дата добавления: 2018-04-04; просмотров: 501; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!