Добавил:
polinakrasnoselskaya@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольная работа Вариант 15 (Николаенко).docx
Скачиваний:
5
Добавлен:
31.05.2020
Размер:
1.81 Mб
Скачать

Министерство образования Республики Беларусь

Учреждение образования

«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»

Институт информационных технологий

Специальность Программное обеспечение информационных технологий

КОНТРОЛЬНАЯ РАБОТА

По курсу Основы алгоритмизации и программирования

Вариант № 15

Студент-заочник 1 курса

Группы № 781074

ФИО Красносельская Полина Юрьевна

Адрес Могилевская обл., г. Бобруйск, ул. Урицкого, 71/30

Тел. +375259550391

Минск, 2017

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

.

При x = 2.444, y = 0.86910-2, z = –0.13103h = –0.49871.

#include "stdafx.h"

#include <iostream>

#include <cmath>

using namespace std;

Int _tmain(int argc, _tchar* argv[])

{

double h, x, y, z;

cout<<"x=";

cin>>x;

cout<<"y=";

cin>>y;

cout<<"z=";

cin>>z;

h=((pow(x,y+1)+exp(y-1))/(1+x*abs(y-tan(z))))*(1+abs(y-x))+pow(abs(y-x),2)/2-pow(abs(y-x),3)/3;

cout<<"h="<<h<<endl;

system("pause");

}

Задание 2. Составить программу для вычисления значения rez в зависимости от поставленного условия.

Для получения результатов подобрать исходные данные так, чтобы выполнялись все возможные ветви алгоритма. Перед выводом полученного результата должно выводиться сообщение о ветви, при прохождении которой он получен. Обратите внимание, что возможен случай, при котором исходные данные не будут подходить ни для одного из предложенных условий.

rez =

#include "stdafx.h"

#include <iostream>

#include <cmath>

using namespace std;

Int _tmain(int argc, _tchar* argv[])

{

setlocale(LC_ALL,"RUS");

double rez, a, b;

cout<<"a=";

cin>>a;

cout<<"b=";

cin>>b;

if (a*b>0.5)

{

rez=exp(-(abs(a)+abs(b))/2)*(1/tan(a));

cout<<"Первая ветвь"<<endl;

cout<<"rez="<<rez<<endl;

}

else if (a*b>0.4 && a*b<=0.5)

{

rez=abs(a+pow(b,2))*(1/tan(b));

cout<<"Вторая ветвь"<<endl;

cout<<"rez="<<rez<<endl;

}

else

cout<<"Исходные данные не подходят для выполнения предложенных условий"<<endl;

system("pause");

}

Задание 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 "stdafx.h"

#include <iostream>

#include <cmath>

using namespace std;

Int _tmain(int argc, _tchar* argv[])

{

setlocale(LC_ALL,"RUS");

double y, s, raz, x, a, b, h, n, k;

cout<<"a=";

cin>>a;

cout<<"b=";

cin>>b;

cout<<"h=";

cin>>h;

cout<<"n=";

cin>>n;

for (x=a; x<=b; x=x+h)

{

y=0;

s=0;

y=-log(sqrt(1+pow(x,2)))+x*atan(x);

for (k=1; k<=n; k++)

s=s+pow(-1,k+1)*pow(x,2*k)/(2*k*(2*k-1));

raz=abs(y-s);

cout<<fixed;

cout.precision(5);

cout<<"y="<<y<<"\t s="<<s<<"\t |y-s|="<<raz<<endl;;

}

system("pause");

}

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

Сумму положительных элементов массива, расположенных до максимального элемента.

#include "stdafx.h"

#include <iostream>

#include <cmath>

using namespace std;

Int _tmain(int argc, _tchar* argv[])

{

setlocale(LC_ALL,"RUS");

int a[20], i, n, s=0, max=0, i_max;

cout<<"Введите размер массива ";

cin>>n;

for (i=1; i<=n; i++)

{

cout<<"a["<<i<<"]=";

cin>>a[i];

}

for (i=1; i<=n; i++)

if (a[i]>max)

{

max=a[i];

i_max=i;

}

for (i=1; i<i_max; i++)

if (a[i]>0)

s=s+a[i];

cout<<"Сумма положительных элементов массива, расположенных до максимального элемента, равна"<<s<<endl;

system("pause");

}

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

Массив в памяти разместить динамически (с использованием операций new и delete), ввод исходных данных и вывод полученных результатов выполнить в основной функции, а решение задачи оформить в виде отдельной функции пользователя. Не использовать глобальных переменных.

Найти максимальный элемент среди лежащих ниже главной диагонали.

#include "stdafx.h"

#include <iostream>

#include <cmath>

using namespace std;

int max_ngd (int n, int m, int **a)

{

int i, j, max=0;

for (i=0; i<n; i++)

{

for (j=0; j<m; j++)

if (i>j && a[i][j]>max)

max=a[i][j];

}

return max;

}