Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
visual с++.doc
Скачиваний:
28
Добавлен:
18.08.2019
Размер:
10.99 Mб
Скачать

1. Индивидуальное задание №1:

1.1. Постановка задачи:

Составить UML-диаграмму деятельности и программу с использованием конструкций цикла для решения задачи.

Задача: в 1985 г. урожай ячменя составил 20 ц с га. В среднем каждые 2 года за счет применения передовых агротехнических приемов, урожай увеличился на 5%. Определить, через сколько лет урожай достигнет 25 ц с га.

1.2. UML-диаграмма:

1.3. Листинг программы:

// Лабораторная работа №3

// Индивидуальное задание №1

#include "stdafx.h"

#include <iostream>

#include "conio.h"

#include "math.h"

#include "windows.h"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale( LC_ALL, "Russian" );

const double productivity = 20, prirost = productivity/100*2.5;

int count = 0;

cout<< "Лабораторная работа № 3\n";

cout<< "\nГорошко А.А., БАС-051\n";

cout<< "\nВариант № 6\n";

cout<< "\n\nИндивидуальное задание № 1:\n";

cout<< "\nрешить задачу с использованием конструкций цикла.\n";

cout<< "\n\nЗадача:\n";

cout<< "\nв 1985 г. урожай ячменя составил 20 ц с га. В среднем каждые 2 года за\n";

cout<< "\nсчет применения передовых агротехнических приемов урожай увеличился на 5%.\n";

cout<< "\nОпределить, через сколько лет урожай достигнет 25 ц с га.\n";

cout<< "\n\nРабота программы:\n";

while((prirost*count + 20) < 25)

{

count++;

}

cout<< "\n\nУрожай достигнет 25 ц с га через: " <<count;

// выбор формы согласования (год, года или лет)

while(count - 10 > 0)

{

count = count - 10;

}

switch (count)

{

case 1:

cout<< " год";

break;

case 2:

case 3:

case 4:

cout<<" года";

break;

default:

cout<<" лет";

break;

}

getch();

return 0;

}

1.4. Результаты работы программы:

2. Индивидуальное задание №2:

2.1. Постановка задачи:

Составить UML-диаграмму деятельности и программу для нахождения значения конечной суммы: Вводится целое число .

2.2. UML-диаграмма:

2.3. Листинг программы:

// Лабораторная работа №3

// Индивидуальное задание №2

#include "stdafx.h"

#include <iostream>

#include "conio.h"

#include "math.h"

#include "windows.h"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale( LC_ALL, "Russian" );

double a, S=0;

const double x=1;

int i, N;

cout<<"Лабораторная работа №3\n";

cout<<"\nГорошко А.А., БАС-051\n";

cout<<"\nВариант №6\n";

cout<<"\n\nИндивидуальное задание №2:\n";

cout<<"\nнайти значение конечной суммы S при x=1.\n";

cout<<"\n\nРабота программы:\n";

cout<<"\nВведите значение N>0\n"<<"\nN=";

cin>> N;

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

{

a=(exp(x/i)+exp(-x/i))/(i+2)*(i+2)*(i+2)*(i+2);

S+=a;

}

cout<<"\nКонечная сумма:\n"<<"\nS=";

cout<< S;

getch();

return 0;

}

2.4. Результаты работы программы:

3. Табуляция функции:

3.1. Постановка задачи:

Составить UML-диаграмму деятельности и написать программу, позволяющую протабулировать функцию в диапазоне от до в равноудаленных точках.

3.2. UML-диаграмма:

3.3. Листинг программы:

// Лабораторная работа №3

// Табуляция функции

// Лабораторная работа №3

// Табуляция функции

#include "stdafx.h"

#include <iostream>

#include "conio.h"

#include "math.h"

#include "windows.h"

using namespace std;

const double x_min=-15;

const double x_max=20;

const int N=1000;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale( LC_ALL, "Russian" );

double y, dx=(x_max-x_min / N);

cout<<"Лабораторная работа №3\n";

cout<<"\nГорошко А.А., БАС-051\n";

cout<<"\nВариант №6\n";

cout<<"\n\nЗадание:\n";

cout<<"\nпротабулировать функцию y в диапазоне от x_min=-15 до x_max=20\n";

cout<<"\nв N=1000 равноудаленных точках.\n";

cout<<"\n\nРабота программы:\n";

for (double x=x_min; x<=x_max; x+=dx)

{

if (x>3.5) y=(log(x)*cos(2*x));

else

if (x=3.5) y=(pow(x*x*x-1,1/3));

else y=(1+sin(x)*sin(x)-2*cos(2*x)*cos(2*x));

cout<< "x=";

cout<< x;

cout<< "\ny=";

cout<< y;

}

getch();

return 0;

}

3.4. Результаты работы программы:

4. Индивидуальное задание №3:

4.1. Постановка задачи:

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

4.2. UML-диаграмма:

4.3. Листинг программы:

// Лабораторная работа №3

// Индивидуальное задание №3

#include "stdafx.h"

#include <iostream>

#include "conio.h"

#include "math.h"

#include "windows.h"

#include <tchar.h>

using namespace std;

double fact(double number)

{

int k, i;

i = 1; k = 1;

if (number == 0 || number == 1)

return 1;

else

while (i <= number)

{

k *= i;

i++;

}

return k;

}

int _tmain(int argc, _TCHAR* argv[])

{

setlocale( LC_ALL, "Russian" );

double x, S, eps = 1e-10, a, n, pi;

char buff[256];

pi = 3,14159265358;

cout <<"Лабораторная работа № 3\n";

cout <<"\nГорошко А.А., БАС-051\n";

cout <<"\nВариант № 6\n";

cout <<"\n\nИндивидуальное задание № 3:\n";

cout <<"\nвычислить значение специальной функции второго интеграла Френеля\n";

cout <<"\nпо ее разложению в ряд с точностью eps=10^-10.\n";

cout <<"\n\nРабота программы:\n";

cout <<"\nВведите значение x\n"<< "\nx = ";

cin >> x;

a = 0;

S = x;

for(n = 1; fabs(a) < eps; n++)

{

a = pow(-1,n)*pow((pi/2),2*n+1)*pow(x,(4*n+3)) / (fact(2*n+1),(4*n+3));

S += a ;

}

cout << "\nS(" << x <<") = " << S << endl;

getch();

return 0;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]