Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вариант 13 лабораторная 1.doc
Скачиваний:
1
Добавлен:
13.08.2019
Размер:
522.24 Кб
Скачать

Задача №1

1. Формулировка задачи

Технологическая линия производительностью 3 изд./с непрерывно работает в течении смены. Длительность смены 8 часов. Количество брака находится в диапазоне от 0 до 7%. При работе без брака прибыль составляет 38% от стоимости. При выпуске брака до 3% прибыль снижается на 0.2% с каждой бракованной единицы. Если кол-во бракованных изделий больше 3% прибыль уменьшается на 0.5% с каждой бракованной единицы. Рассчитать кол-во выпущенных изделий в смену, прибыль и потери за счет брака в каждом случае если цена одного изделия известна.

2. Формирование математической модели

2.1 Исходные данные (основные)

V = 3 изд./с – скорость производства;

t = 8 ч – длительность смены;

B = 0…7% – изменяемый процент брака;

P = 38% – процент прибыли без брака;

= 0.2% – процентное снижение прибыли при браке до 3%;

= 0.5% – процентное снижение прибыли при браке свыше 3%;

C = ˽ ˽ ˽ . ˽ ˽ руб/шт − фиксированная цена изделия.

Исходные данные (вспомогательные)

k = 3600 – коэффициент перевода секунды в часы;

2.2 Расчетные зависимости

– кол–во выпущенных изделий за смену;

; ; – прибыль без брака;

= ; – потери за счет брака;

; ; – прибыль с учетом брака.

3. Выбор метода решения

Для решения данной задачи будем использовать основной и дополнительный алгоритм функции.

4. Создание алгоритма

1) Основной

2

3

4

2) Дополнительные

А )

3

Б )

4

В)

3

5. Таблица обозначений

Обозначение в алгоритме

1

V

t

B

P

С

k

m

i

n

l

j

e

h

Обозначение в программе

2

v

t

B

P

P1

P2

C

k

m

i

n

l

j

e

h

6. Текст программы

1)Вариант 1:

// Задача по расчету линии технологического производства//

#include "stdafx.h"

#include <iostream>

#include <conio.h>

using namespace std;

int z;

const double k=3600.0;

void vvod_dannih (double &P, double &P1,double &P2,double &v,double &t,double &B,double &C);

double raschet (double &P, double &P1,double &P2,double &v,double &t,double &B,double &C);

void vivod_dannih (double &P,double &B,double &t);

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

{

double i,j,h,l,m,n,e;

setlocale(LC_ALL,"");

vvod_dannih(i,j,h,l,m,n,e);

raschet(i,j,h,l,m,n,e);

vivod_dannih(i,n,m);

return 0;

}

void vvod_dannih (double &P, double &P1,double &P2,double &v,double &t,double &B,double &C)

{

cout<<"Уважаемый пользователь, введите пожалуйста значения необходимые для решения данной задачи\n";

cout<<"Введите время работы одной смены: ";

cin>>t;

cout<<"\n";

cout<<"Введите скорость производства технологической линии: ";

cin>>v;

cout<<"\n";

cout<<"Введите процент брака на производстве: ";

cin>>B;

cout<<"\n";

if (B!=0&&B<3)

{

cout<<"Введите процент снижения прибыли при браке до 3 процентов: ";

cin>>P1;

cout<<"\n";

}

else

{

cout<<"Введите процент снижения прибыли при браке свыше 3 процентов: ";

cin>>P2;

cout<<"\n";

}

cout<<"Введите процент прибыли от общей суммы продаж выпущенного товара: ";

cin>>P;

cout<<"\n";

cout<<"Введите цену за единицу выпущенной продукции: ";

cin>>C;

cout<<"\n\n";

}

double raschet (double &P, double &P1,double &P2,double &v,double &t,double &B,double &C)

{

P=P/100;

P1=P1/100;

P2=P2/100;

t=v*t*k;

v=t*C*P;

if(B==0)

{

P=0;

}

else

{

if (B<3&&B!=0)

{

P=v*P1*C;

}

else

{

P=v*P2*C;

}

}

B=v-P;

return 0;

}

void vivod_dannih (double &P,double &B,double &t)

{

cout<<"Выполнение задачи было успешно завершено\n";

cout<<"Полученные значения: \n";

cout<<"1)Количество выпущенных изделий за смену: "<<t<<"\n";

cout<<"2)Потери за счет брака: "<<P<<"\n";

cout<<"3)Прибыль производства с учетом брака: "<<B<<"\n";

getch();

}