bsuir.info
БГУИР: Дистанционное и заочное обучение
(файловый архив)
Вход (быстрый)
Регистрация
Категории каталога
Другое [40]
Форма входа
Логин:
Пароль:
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Файловый архив
Файлы » СТ / ИКТ (СИК) » Другое

контрольная 1 по ОАИП вариант 7 специальность СТ 2012
Подробности о скачивании 09.11.2012, 22:03
Задание №1

Написать программу вычисления значения выражения при заданных исходных данных. Сравнить полученное значение с указанным правильным результатом.

s=5arctg(x)-1/4 arccos⁡(x)(x+3|x-y|+x^2)/(|x-y|z+x^2 )

при х = 0,1722; у = 6,33; z = 3,25•10-4. Ответ s = -205,306.

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
setlocale(LC_ALL,"Russian");
double x,y,z,s;
cout<<"Введите x: ";
cin>>x;
cout<<endl<<"Введите y: ";
cin>>y;
cout<<endl<<"Введите z: ";
cin>>z;
cout<<endl<<"x="<<x<<","<<endl<<"y="<<y<<","<<endl<<"z="<<z<<";"<<endl<<endl;
s=5*atan(x)-1./4*acos(x)*(x+3*fabs(x-y)+pow(x,2))/(fabs(x-y)*z+pow(x,2));
cout<<"Результат:"<<endl<<endl<<"s="<<s<<endl<<endl;
return 0;
}

Задание №2

Составить программу вычисления выражения согласно указанному варианту. Предусмотреть вывод информации о выбранной ветви вычислений.

s= {█(e^(-x), 1<xb<10 @√(3&|x+4y| ), 12<xb<40 @y•x^2 иначе )┤

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
setlocale(LC_ALL,"Russian");
double x,y,s;
cout<<"Введите x: x = ";
cin>>x;
cout<<"Введите y: y = ";
cin>>y;
if((x>1)&&(x<10))
s=exp(-x);
else if((x>12)&&(x<40))
s=pow(fabs(x+4*y),1./3);
else
s=y*pow(x,2);
cout<<endl<<"Результат:"<<endl<<"s = "<<s<<endl;
return 0;
}

Задание №3

Вывести на экран таблицу значений функции y(x) для x, изменяющегося от a = 0,1 до b = 1,2 с шагом h = 0,1.

y= ∑_(n=0)^(20 )▒x^2n/cos⁡(nx)

#include<iostream>
#include<math.h>
#include<iomanip>
using namespace std;
int main()
{
setlocale(LC_ALL,"Russian");
int n,i;
double x,y,a=0.1,b=1.2,h=0.1;
cout<<"введите n ";
cin>>n;
x=a;
do
{
y=1;
for(i=1;i<=n;i++)
y+=pow(x,2*i)/cos(i*x);
cout<<"x = "<<x<<setw(10)<<"y = "<<y<<endl;
x+=h;
}
while(x<b+h);
cout<<endl;
return 0;
}

Задание №4

Ввести одномерный статический массив из к чисел. Сдвинуть элементы массива циклически на n позиций вправо. Вывести на экран исходные данные и полученный результат.

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
setlocale(LC_ALL,"Russian");
int i,j,n,k;
double a[10],m;
cout<<"введите размер массива: ";
cin>>k;
cout<<endl<<"введите, на сколько позиций сдвинуть массив вправо: ";
cin>>n;
cout<<endl;
for(i=1;i<=k;i++)
{
cout<<"введите a["<<i<<"] = ";
cin>>a[i];
}
cout<<endl<<"массив:"<<endl;
for(i=1;i<=k;i++)
cout<<a[i]<<" ";
cout<<endl;
for(j=1;j<=n;j++)
{
m=a[k];
for(i=1;i<=k;i++)
{
a[k+1-i]=a[k-i];
}
a[1]=m;
}
cout<<endl<<"результат:"<<endl;
for(i=1;i<=k;i++)
cout<<a[i]<<" ";
cout<<endl<<endl;
return 0;
}

Задание №5

Ввести матрицу N×M. Память для массива выделить динамически. Найти максимальный среди элементов, лежащих ниже побочной диагонали. Вывести на экран исходные данные и полученный результат.

#include<iostream>
#include<iomanip>
#include<math.h>
using namespace std;
int main()
{
setlocale(LC_ALL,"Russian");
int i,j,n,m;
double **a,p,max;
cout<<"введите размер массива n, m"<<endl;
cout<<"n = ";
cin>>n;
cout<<"m = ";
cin>>m;
if(n!=m)
{cout<<"не удовлетворяет условию, т.к. n<>m"<<endl<<endl;return 0;}
else
a=new double*[n];
for(i=1;i<=n;i++)
a[i]=new double[m];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cout<<"введите a["<<i<<"]["<<j<<"]: ";
cin>>a[i][j];
}
cout<<"матрица:"<<endl<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
cout<<setw(9)<<a[i][j]<<" ";
cout<<endl;}
max=a[n][2];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{if((i>n-j+1)&&(a[i][j]>max))
max=a[i][j];}
cout<<endl<<"максимальный элемент, лежащий ниже побочной диагонали, равен "<<max<<endl<<endl;
return 0;
}
Категория: Другое | Добавил: profiq
Просмотров: 1604 | Загрузок: 15
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]