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

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

ОАиП 3 семестр 11 вариант
Подробности о скачивании 05.12.2011, 20:12
Задание № 1
Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.

При x = 6.251, y = 0.827, z = 25.001
 b = 0.7121.

Текст программы:
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int main()
{
double x, y, z;
double b;
double a1, a2, a3, a4;
//Ввод исходных значений
cout << "\n Enter x,y,z - " << endl;
cin >> x >> y >> z;
//Вычисление значения результата
a1 = pow(y, pow(fabs(x), 1/3.));
a2 = pow(cos(y), 3) * fabs(x - y);
a3 = 1 + pow(sin(z), 2) / sqrt(x + y);
a4 = exp(fabs(x-y)) + x/2;
b = a1 + a2 * a3 / a4;
//Вывод ответа на экран
cout << "\n x = " << x << "\n y = " << y << "\n z = " << z
<< "\nB = " << b << endl;
cout << "Press any key ... " << endl;
getch();
return 0;
}

Результат выполнения:

Задание № 2
Составить программу для вычисления значения rez в зависимости от поставленного условия. Для получения результатов подобрать исходные данные так, чтобы выполнялись все возможные ветви алгоритма. Перед выводом полученного результата должно выводиться сообщение о ветви, при прохождении которой он получен.
rez =
Текст программы:
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
void main()
{
double p, z, rez;
cout << " Input p, z" << endl;
cin >> p >> z;
if (p > z + 1)
{
rez = log(fabs(p-z)) + pow(cos(p), 2);
cout << " p > z + 1\n";
cout << " Rez = " << rez;
}
else
{
if (p <= z + 1 && p > 0)
{
rez = pow(z, 3) - log(fabs(p) + fabs(z));
cout << " 0 < p <= z + 1" << endl;
cout << " Rez = " << rez;
}
else
cout << " Function Rez is not identified.\n";
}
cout <<"\nPress any key ... \n";
getch();
}

Результаты выполнения:



Задание № 3
Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры.
,

Текст программы:
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
void main()
{
double a, b, h, s, y, x;
int n, k;
double z;
cout << "Input a, b, h, n:" << endl;
cin >> a >> b >> h >> n;
for(x = a; x < b+h; x += h)
{
s = 0;
y = 0;
z = 0;
for (k = 0; k <= n; k++)
{
z = (k*k + 1) * pow(x/2.0, k);
for (int i = 1; i < k; i++)
z /= i;
s += z;
}
y = (x*x/4 + x/2 + 1) * exp(x/2.0);
printf("\n x=%7.2lf s(x)=%10.5lf y(x)=%10.5lf |y(x)-s(x)|=%10.5lf",x,s,y,fabs(y - x));
}
cout << "\nPress any key ... " << endl;
getch();
}

Результат выполнения:


Задание № 4
В одномерном целочисленном массиве (размер массива (не больше 20) и значения его элементов вводить с клавиатуры) вычислить сумму элементов массива, расположенных после минимального элемента.

Текст программы:
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int main()
{
int a[20], n, i, imin, min, s = 0;
cout << " Input N ( N <= 20): \n";
cin >> n;
cout <<"\n Input massiv A:\n";
for(i = 0; i < n; i++)
{
cout << "a[ " << i+1 << " ] = ";
cin >> a[i];
}
imin = 0;
min = a[0];
for (i = 1; i < n; i++)
{
if (a[i] < min)
{
imin = i;
min = a[i];
}
}
for (i = imin + 1; i < n; i++)
s += a[i];
cout << "\n Min = " << min;
cout << "\n Min index = " << imin+1;
cout << "\n Summa = " << s;
cout << "\n Press any key ... " << endl;
getch();
return 0;
}

Результат выполнения:


Задание № 5
В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти число элементов массива < T (вводится с клавиатуры) и их сумму.

Текст программы:
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
// Описание прототипа функции
int Fun_Sum_Less_T(int **mas, int n, int m, int *kol, int t);
int main()
{
int **a, i, j, n, m, sum, kol, t;
cout << " 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:\n";
for(i = 0; i < n; i++)
for(j = 0; j < m; j++)
{
cout << " a[" << i+1 << "][" << j+1 << "] = ";
cin >> a[i][j];
}
//Ввод числа T
cout << "\n Input t: \n" ;
cin >> t;
//Вывод массива на экран
cout <<"\n Matrix A:" << endl;
for(i = 0; i < n; i++)
{
for(j = 0; j < m; j++)
cout << " " << a[i][j];
cout << endl;
}
// Обращение к функции поиска суммы
sum = Fun_Sum_Less_T(a, n, m, &kol, t);
cout << "Kol = " << kol << " Sum = " << sum << endl;
// Освобождение памяти
for (i = 0; i < n; i++)
delete [] a[i];
delete [] a;
cout << "\n Delete !" << endl;
cout << " Press any key ... " << endl;
getch();
}
/* Реализация описанной выше функции, в заголовке которой указаны формальные параметры, идентификаторы которых обрабатываются в её коде */
int Fun_Sum_Less_T(int **mas, int n, int m, int *kol, int t)
{
int s = 0;
int i, j;
*kol = 0;
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
{
if (mas[i][j] < t)
{
(*kol)++;
s += mas[i][j];
}
}
return s;
}

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