Программирование, Контрольная 17 вариант
.docЗадание 1
Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.
При x = 3.98110-2, y = –1.625 103, z = 0.512 a = 1.26185. |
#include <iostream.h>
#include <conio.h>
#include <math.h>
int main()
{
double x, y, z, a, b ,c, d,k,j,r,l;
cout << "\n\t x,y,z = " << endl;
cin >> x >> y >> z; r=1/4;
b =fabs(y); l=pow(b,r);
j=exp((x-1)/sin(z)); k=1/3;
c =pow(j,k);
d=sqrt(x+l);
a =pow(2,-x)*d*c;
cout << "\n x = " << x << "\n y = " << y << "\n z = " << z
<< "\n Rezult = " << a << endl;
cout << "Press any key ... " << endl;
getch();
return 0;
}
Задание 2
Составить программу для вычисления значения rez в зависимости от поставленного условия.
Для получения результатов подобрать исходные данные так, чтобы выполнялись все возможные ветви алгоритма. Перед выводом полученного результата должно выводиться сообщение о ветви, при прохождении которой он получен.
rez = .
#include <iostream.h>
#include <conio.h>
#include <math.h>
int main()
{
double s, n,u;
cout << "Input s, n" << endl;
cin >> s >> n ;
if ( fabs(n/2)<s && s<=fabs(n))
{
u = sqrt (fabs(s*exp(2)-n*exp(-2)));
cout << " |n|/2<s<=|n|" << endl;
}
else
{
u = sqrt(fabs(s-n))*pow(sin(s+n),3);
cout << "s>|n|" << endl;
}
cout << "\n\t Rezult U = " << u;
cout <<"\n Press any key ... " << endl;
getch();
return 0;
}
Задание 3
Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Так как значение S(x) является рядом разложения функции Y(x), при правильном решении значения S и Y для заданного аргумента x (для тестовых значений исходных данных) должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.
Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметра n выбрать в зависимости от задания.
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
double a, b, x, h,r,y,s;
int n,k;
cout << "Input a,b,h,n" << endl;
cin >> a >> b >> h >> n;
for(x = a; x<=b; x+=h) {
s = 1;
for(k = 1; k<=n; k++) {
s=pow(x,2*k)/2*k;
} y=(exp(x)+exp(-x))/2 ; r=fabs(y-s);
cout << "\n x= " << x << " sum= " << s<<" y= "<<y <<" y(x)-s(x) "<<r;
}
cout << "\nPress any key ... " << endl;
getch();
}
Задание 4
В одномерном целочисленном массиве (размер массива (не больше 20) и значения его элементов вводить с клавиатуры) вычислить сумму модулей элементов массива, расположенных после минимального по модулю элемента.
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
int a[20], n, i, s = 0, ind=0,min;
cout << "\t Input N (<=20) ";
cin >> n;
cout <<"\n\t Massiv A" << endl;
for(i = 0; i < n; i++) {
cout << "\t a[ " << i+1 << " ] = ";
cin >> a[i];
}
min=fabs(a[0]);
for(i=1; i<n;i++)
if(min>fabs(a[i]) )
ind=i ;
for (i=ind+1; i<n; i++)
s=s+a[i];
cout << "\t Summa = " << s << endl;
cout << "\n Press any key ... " << endl;
getch();
}
Задание 5
В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти указанное значение. Массив в памяти разместить динамически (с использованием операций new и delete), ввод исходных данных и вывод полученных результатов выполнить в основной функции, а решение задачи оформить в виде отдельной функции пользователя. Не использовать глобальных переменных. Найти число элементов массива > T и их произведение
#include <iostream.h>
#include <conio.h>
int Fun_proizv(int **a, int y, int z);
void main()
{
int **a, i, j, n, m, sum;
cout << "\t Input N, M : ";
cin >> n >> m;
a = new int*[n];
for(i=0; i<n;i++)
a[i] = new int[m];
cout <<"\n Input A" << endl;
for(i=0; i<n; i++)
for(j=0; j<m; j++){
cout << "\t a[" << i+1 << "][" << j+1 << "] = ";
cin >> a[i][j];
}
sum = Fun_proizv(a,n,m);
cout << "\t Proizvedenie = " << sum << endl;
delete []a;
cout << "\n\t Delete !" << endl;
cout << " Press any key ... " << endl;
getch();
}
int Fun_proizv(int **a,int y,int z)
{
int i, j,t,k=0, s = 1; cin>>t;
for(i=0; i<y;i++)
for(j=0; j<z;j++)
if(a[i][j] >t){
s=s*a[i][j]; k=k+1;
} cout<<"\kolichestvo="<<k;
return s;
}
Значение Т вводится с клавиатуры.