Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование, Контрольная 17 вариант

.doc
Скачиваний:
8
Добавлен:
01.04.2014
Размер:
86.02 Кб
Скачать

Задание 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;

}

 Значение Т вводится с клавиатуры.