Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Analitich_modelirovanie_v_logistike_Andronov_S...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.85 Mб
Скачать

2.Фрагменты кода программы – определения лучшего поставщика.

Реализация в на языке СИ.

Ниже приведен фрагмент кода программной реализации.

Фрагмент кода программы для данной задачи:

1.Расчет средневзвешенного темпа роста цен (показатель цены).

char df[8][80]={"Поставщик","ТцА,%","ТцВ,%","SA,руб.","SB,руб.","dA","dB","Тц"};

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

{

pDC->TextOut(50+i*125,po+10,df[i]);

}

float e1,e2; pDC->TextOut(70,po+50,"№1"); pDC->TextOut(70,po+90,"№2"); float r1,r2;

itoa(a[0][0]=price[0][1]*100/price[0][0],tim,10); pDC->TextOut(190,po+50,tim);

itoa(a[0][1]=price[0][3]*100/price[0][2],tim,10); pDC->TextOut(315,po+50,tim);

itoa(price[0][1]*ob[0][1],tim,10); pDC->TextOut(440,po+50,tim);

itoa(price[0][3]*ob[0][3],tim,10); pDC->TextOut(565,po+50,tim);

gcvt(r1=(float)price[0][1]*ob[0][1]/(price[0][1]*ob[0][1]+price[0][3]*ob[0][3]),2,tim);

pDC->TextOut(690,po+50,tim); gcvt(r2=(float)price[0][3]*ob[0][3]/(price[0][1]*ob[0][1]+price[0][3]*ob[0

][3]),2,tim);

143

pDC->TextOut(815,po+50,tim); gcvt(e1=r1*a[0][0]+r2*a[0][1],4,tim);

pDC->TextOut(940,po+50,tim);

itoa(a[0][0]=price[1][1]*100/price[1][0],tim,10); pDC->TextOut(190,po+90,tim);

itoa(a[0][1]=price[1][3]*100/price[1][2],tim,10); pDC->TextOut(315,po+90,tim);

itoa(price[1][1]*ob[1][1],tim,10); pDC->TextOut(440,po+90,tim);

itoa(price[1][3]*ob[1][3],tim,10); pDC->TextOut(565,po+90,tim);

gcvt(r1=(float)price[1][1]*ob[1][1]/(price[1][1]*ob[1][1]+price[1][3]*ob[1][3]),2,tim);

pDC->TextOut(690,po+90,tim); gcvt(r2=(float)price[1][3]*ob[1][3]/(price[1][1]*ob[1][1]+price[1][3]*ob[1

][3]),2,tim); pDC->TextOut(815,po+90,tim);

gcvt(e2=r1*a[0][0]+r2*a[0][1],5,tim); pDC->TextOut(940,po+90,tim);

2. Расчет темпа роста поставки товаров ненадлежащего качества (показатель качества).

gcvt(cena[0],2,tim); pDC->TextOut(260,po+130,tim);

gcvt(cena[1],2,tim); pDC->TextOut(260,po+170,tim);

gcvt(cena[2],2,tim);

pDC->TextOut(260,po+210,tim); gcvt(know[0][0]=e1,4,tim);

pDC->TextOut(430,po+130,tim);

gcvt(know[0][1]=(float)nongood[2]*10000/(ob[0][1]+ob[0][3])/((float)nongood[0]*100

/(ob[0][0]+ob[0][2])),5,tim); pDC->TextOut(430,po+170,tim);

3. Расчет темпа роста среднего опоздания (показатель надежности поставки, Тн.п.).

gcvt(know[0][2]=(float)pozdno[0][3]*100/pozdno[0][2]/((float)pozdno[0][1]/poz

dno[0][0]),5,tim); pDC->TextOut(430,po+210,tim);

144

gcvt(know[1][0]=e2,4,tim); pDC->TextOut(600,po+130,tim);

gcvt(know[1][1]=(float)nongood[3]*10000/(ob[1][1]+ob[1][3])/((float)nongood[1]*100

/(ob[1][0]+ob[1][2])),5,tim); pDC->TextOut(600,po+170,tim);

gcvt(know[1][2]=(float)pozdno[1][3]*100/pozdno[1][2]/((float)pozdno[1][1]/pozdno[1]

[0]),5,tim);

pDC->TextOut(600,po+210,tim);

4. Расчет рейтинга поставщиков.

gcvt(reiting[0]=know[0][0]*cena[0],4,tim); pDC->TextOut(770,po+130,tim);

gcvt(know[0][1]*cena[1],5,tim);

reiting[0]+=know[0][1]*cena[1]; pDC->TextOut(770,po+170,tim);

gcvt(know[0][2]*cena[2],5,tim);

reiting[0]+=know[0][2]*cena[2]; pDC->TextOut(770,po+210,tim);

gcvt(reiting[0],5,tim); pDC->TextOut(770,po+250,tim);

gcvt(reiting[1]=know[1][0]*cena[0],4,tim); pDC->TextOut(940,po+130,tim);

gcvt(know[1][1]*cena[1],5,tim);

reiting[1]+=know[1][1]*cena[1]; pDC->TextOut(940,po+170,tim);

gcvt(know[1][2]*cena[2],5,tim);

reiting[1]+=know[1][2]*cena[2]; pDC->TextOut(940,po+210,tim);

gcvt(reiting[1],5,tim); pDC->TextOut(940,po+250,tim);

145

ПРИЛОЖЕНИЕ 3

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