Циклические вычислительные процессы
Условие задачи 1
Трижды определить значение выражения, используя три различных цикла .
Тестовый примеры к задаче 1
Входные данные:
k = 5
x = 1
Выходные данные:
S = 0.707+3.016+7.517+14.672+24.878
полученная сумма S = 24.878
Блок-схемы к задаче 1
3.4 Листинг программы на С++ к задаче 1
// (вариант с циклом for)
#include <iostream.h>
#include <math.h>
using namespace std;
int main()
{
int k,x;
cout<<"\nVvod k,x";
cin>>k>>x;
float s=0;
for (int n=1;n<=k;n++)
s=s+n*n/sqrt(n+x);
cout<<"\ns="<<s;
}
// (вариант с циклом do..while)
#include <iostream.h>
#include <math.h>
using namespace std;
int main()
{
int k,x;
cout<<"\nVvod k,x";
cin>>k>>x;
float s=0;
int n=1;
do
{
s=s+n*n/sqrt(n+x);
n++;
}
while(n<=k);
cout<<"\ns="<<s;
}
// (вариант с циклом while)
#include <iostream.h>
#include <math.h>
using namespace std;
int main()
{
int k,x;
cout<<"\nVvod k,x";
cin>>k>>x;
float s=0;
int n=1;
while(n<=k)
{
s=s+n*n/sqrt(n+x);
n++;
}
cout<<"\ns="<<s;
}
Условие задачи 2
Трижды протабулировать функцию, используя три различных цикла на интервале , , указав при этом значения функции с нечетной и четной целой частью.
Тестовый пример к задаче 2
Входные данные:a = 12
Выходные данные:
f(-2.00) = 100.00 - целая часть 100 четная
f(-1.70) = 106.09 - целая часть 106 четная
f(-1.40) = 112.36 - целая часть 112 четная
f(-1.10) = 118.81 - целая часть 118 четная
|
|
f(-0.80) = 125.44 - целая часть 125 нечетная
f(-0.50) = 132.25 - целая часть 132 четная
f(-0.20) = 139.24 - целая часть 139 нечетная
f(0.10) = 146.41 - целая часть 146 четная
f(0.40) = 153.76 - целая часть 153 нечетная
f(0.70) = 161.29 - целая часть 161 нечетная
f(1.00) = 169.00 - целая часть 169 нечетная
f(1.30) = 176.89 - целая часть 176 четная
f(1.60) = 184.96 - целая часть 184 четная
f(1.90) = 193.21 - целая часть 193 нечетная
f(2.20) = 201.64 - целая часть 201 нечетная
f(2.50) = 210.25 - целая часть 210 четная
f(2.80) = 219.04 - целая часть 219 нечетная
Блок-схемы к задаче 2
3.8 Листинг программы на C ++ к задаче 2
//(вариант с циклом do…while)
#include <iostream.h>
#include <math.h>
using namespace std;
int main()
{
int k,a;
float x,f;
cout<<"\nVvod k,a";
cin>>k>>a;
x=-2;
do
{
f=(x+a)*(x+a);
cout<<"\nf="<<f<<"\tx="<<x;
if ((int) f % 2 != 0)
cout<<"\nCelaya chast"<<(int)f<<" necetnaya";
else
cout<<"\nCelaya chast"<<(int)f<<" cetnaya";
x=x+0.3;
}
while (x<=3);
}
//(вариант с циклом while)
#include <iostream.h>
#include <math.h>
using namespace std;
int main()
{
int k,a;
float x,f;
cout<<"\nVvod k,a";
cin>>k>>a;
x=-2;
while (x<=3)
{
f=(x+a)*(x+a);
cout<<"\nf="<<f<<"\tx="<<x;
|
|
if ((int) f % 2 != 0)
cout<<"\nCelaya chast"<<(int)f<<" necetnaya";
else
cout<<"\nCelaya chast"<<(int)f<<" cetnaya";
x=x+0.3;
}
}
//(вариант с циклом for)
#include <iostream.h>
#include <math.h>
using namespace std;
int main()
{
int k,a;
float x,f;
cout<<"\nVvod k,a";
cin>>k>>a;
for (x=-2;x<=3;x=x+0.3)
{
f=(x+a)*(x+a);
cout<<"\nf="<<f<<"\tx="<<x;
if ((int) f % 2 != 0)
cout<<"\nCelaya chast"<<(int)f<<" necetnaya";
else
cout<<"\nCelaya chast"<<(int)f<<" cetnaya";
}
}
Контрольные вопросы по теме «Циклические вычислительные процессы»
1) Какие алгоритмы называются циклическими?
2) Блок- схема цикла и назначение ее отдельных частей.
3) Классификация циклов.
4) Назначение циклов и их отдельных компонентов.
5) Укажите, сколько операторов можно разместить в теле цикла?
6) Можно ли в теле цикла изменять значение параметра цикла?
7) Можно ли вне тела цикла использовать значение параметра цикла?
Дата добавления: 2019-11-16; просмотров: 636; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!