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

ИТиУвТС / ОАиП 3 семестр 11 вариант

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

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

}

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