Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторные_ЯП.doc
Скачиваний:
278
Добавлен:
10.06.2015
Размер:
11.47 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;

}