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

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

ОАИП 7 вар
Подробности о скачивании 05.05.2013, 23:59
Задание 1
Составить блок-схему алгоритма и программу вычисления значения выражения при заданных исходных данных. Сравнить полученное значение с указанным правильным результатом.

При х=0,1722; у=6,33; z=-3,25⦁10-4. Ответ s=-205,306.
Блок- схема алгоритма


Код программы
#include <iostream.h>
#include <math.h>

int main()
{
double x, y, z, s;
cout << "Vvedite x: ";
cin >> x;
cout << "Vvedite y: ";
cin >> y;
cout << "Vvedite z: ";
cin >> z;

s = x + 3 * abs(x -y) + pow(x,2);
s=s /(abs(x -y) * z + pow(x,2));
s = 5 * atan(x) - 0.25 * acos(x) * s;

cout <<"Result s= " << s<<endl;

return 0;
}
Результаты выполнения программы


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


Блок- схема алгоритма

Код программы

#include <iostream.h>
#include <math.h>
int main()
{
double x,y,b,s ;
cout<< "vvedite x: ";
cin>> x;
cout << "vvedite y: ";
cin>> y;
cout << "vvedite b: ";
cin>> b;

if(x*b > 1 && x*b < 10)
{
s = exp( -1 * x);
cout << "\nVetv 1\n";
}
else
{
if(x*b > 12 && x*b < 40)
{
s = pow(abs(x + 4*y),1.0 / 3.0);
cout<<"\nVetv 2\n";
}
else
{
s = x * pow(y,2);
cout<<"\nVetv 3\n";
}
}
cout <<"\nResult="<<s<<endl;

return 0;
}

Результаты выполнения программы


Задание 3
Составить блок- схему алгоритма и программу вывода на экран таблицы значений функции у(х) для х, изменяющегося от a=0,1до b=1,2 с шагом h=0,1. Вычисление у(х) оформить в виде функции. Предусмотреть передачу параметров в функцию разными способами.


Блок-схема aлгоритма


Код программы
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
}
double Sum(double x, int n)
{
double sum = 0;
for(int i=0;i<=n;i++)
{
sum += pow(x, 2 * i) / cos(i * x);
}
return sum;
}
double* Sum(double* x, int* n)
{
double* sum = new double;
*sum = 0;
for(int i=0;i<=*n;i++)
{
*sum += pow(*x, 2 * i) / cos(i * *x);
}
return sum;
}
void Sum(double& x, int& n, double& sum)
{
sum = 0;
for(int i=0;i<=n;i++)
{
sum += pow(x, 2 * i) / cos(i * x);
}
}
int main()
{
double x0,xk,h = 0;
int n = 0;
cout<<"Vvedite nach x: ";
cin>>x0;
cout<<"Vvedite konech x: ";
cin>>xk;
cout<<"Vvedite shag h: ";
cin>>h;
cout<<"Vvedite n: ";
cin>>n;
cout<<"Resultat:\n ";
cout<<" Peremenye Ykazately Adres\n ";
double x = x0;
do
{
cout<<"Pri x: ";
cout<<x;
cout<<" Summa: ";
cout<<Sum(x,n)<<" ";
cout << *(Sum(&x,&n))<<" ";
double sum = 0;
Sum(x,n,sum);
cout<<sum<<"\n";
x += h;
} while(x <= xk);
return 0;
}



Задание 4
Ввести одномерный статический массив из k чисел. Вывести на экран исходные данные и полученный результат. Предусмотреть использование функции пользователя.
Найти среднее арифметическое положительных кратным трем элементов массива, расположенных до минимального элемента.

Код программы
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
int Minimum(int* mas, int length)
{
int _minIndex = 0;
int _minValue;
if(length == 0)
return -1;
_minValue = *mas;
for(int i = 0; i< length; i++)
int = 0;
if( *mas < _minValue )
{
_minValue = *mas;
_minIndex = i;
}
mas ++;
}
return _minIndex;
}
double Result(int* mas,int minIndex)
{
double sum = 0;
double count = 0;
for(int i = 0; i<= minIndex; i++ )
{
if(*mas % 3 == 0 && *mas > 0)
{
sum += *mas;
count ++;
}
mas ++;
}
if(count == 0)
{
return 0;
}
return sum / count;
}
int main()
{
int mas[10] ;
cout<<"Vvedite massiv: \n"<<endl;
for (int i=0; i<10; i++)
{
cout<<"Vvedite mas["<<i<<"]="
cin>>mas[i];
}
cout<<"Massiv: \n";
for (int i=0; i<10;i++)
{
cout<<mas[i]<<" ";
}
cout<<endl;
int ind = Minimum(mas,10);
double res = Result(mas,ind);
cout<<"\nSrednee arufmeticheskoe polozitelnyh kratnyh 3-em elementov,\nstoyachih pered minimalnym: ";
cout<<average<< endl;
return 0;
}

Результаты выполнения программы


Задание 5
Ввести матрицу NxM. Память для массива выделить динамически. Подсчитать сумму чётных элементов и произведение нечётных элементов матрицы, вывести на экран исходные данные и полученный результат. Предусмотреть в программе использование функции пользователя.
Найти максимальный среди элементов, лежащих ниже побочной диагонали.
Код программы
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
int main ()
{
int **mas,n;
cout<<"Vvedite razmer kvadratnoy matrizy: ";
cin>> n;
mas = new int*[n];
for(int i =0;i<n;i++)
{
mas[i]= new int [n];
}
cout<<"Vvedite matrizy po elementam:\n";
for (int i=0;i<n; i++)
{
for (int j=0; j<n; j++)
{
cout<<"Element ";
cout<<"["<<i<<"]["<<j<<"]: ";
cin>> mas[i][j];
}
}
cout<<"\nMatriza:\n";
for (int i=0; i<n; i++)
{
for (int j=0; j<n;j++)
{
cout <<mas[i][j]<< " ";
}
cout<<"\n\n";
}
int min = Search (mas,n);
cout<<"\nMinimalnyi element, lezachiy pod pobochnoy diagonaliy: ";
cout << min;
return 0;
}
int Search(int** mas, int size )
{
int* _minElement = NULL;
for(i =size-1;i+j>>size;i--);
{
for(j =size-1;i+j>>size;j--);
{
if(_minElement == NULL && i + j >= size)
{
_minElement = mas[i];
}
else
{
if(i + j >= size && *mas[i] < *_minElement && _minElement != NULL)
_minElement = mas[i];
}
mas[i] ++;
}
}
return *_minElement;
}

Результаты выполнения программы
Категория: Другое | Добавил: mandarin123
Просмотров: 1076 | Загрузок: 11
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]