结果在坐标上表示出来,横轴为时间

snowwin 2001-06-23 02:55:00
要求:


1、系统流图 (如图)
2.1、 画出因果关系图
2.2、 写出DYNAMO方程(初值自定)
2.3、 计算并分别以数表和图形的形式输出结果
2.4、 讨论生产率PR>销售率SR,PR=SR和PR<SR时系统的行为
2.5、 分析影响系统行为的主要因素.



生产率PR(单位/月) 销售率SR(单位/月) ________
__ 单位 __ /------------(函数STEP)外生销售率
∨ ∨↓ ˉˉˉˉ SR(单位/月)
[源]----------→|库存INV |-------------→[源]
∧ ↑ ∧
ˉ \ | /ˉ
↑ \ | /
劳动生 Φ--\ \ | ↓
产率PRM \ \--\--------→(WDS)满足销售率所须的劳动力(人)(辅助变量)
(单位/月) \ \ | \ _\__/ ↓ ↓ \ ↓
Φ----→ (WDIP)---- \----→(DWF)期望劳动力(人)(辅助变量)
库存调 ↑满足库存 \ \________
节时间 | 所须劳动 \ ↓
IAT(月) | 力(人) \ |ˉˉˉˉ __
Φ _____|______ ∨
 期望库存 |劳动力WF人 |←---------[源]
DINV ∧纯顾佣率
ˉ HFR(人/月)

Φ(劳动力调节时间WFAT 月)

Φ为常量



因果关系图:

+ + — +
劳动生产率 产量 库存 销售率 外生销售率

+ + +
满足库存 满足销售率
所需的劳动力 所需的劳动力

+ +
期望劳动力

+
纯雇佣率

+
劳动力




DYNAMO 方程:

C PRM=30 劳动生产率
C IAT= 3 库存调节时间
C WFAT=3 劳动力调节时间
C DINV=3000 期望库存
C A= 8000 销售率常数
C T= DT
N WF= 300 劳动力初值
N INV= 0 库存初值

R PR。JK=PRM * WF。J 产量
R SR。JK=STEP(T,A) 销售率
L INV。K=INV。J + DT *(PR。JK—SR。JK) 库存
A WDIP。K=(DINV—INV。K)/(IAT * PRM) 满足库存所需的劳动力
A WDS。K=SR。JK / PRM 满足销售率所需的劳动力
A DWF。K=WDS。K + WDIP。K 期望劳动力
R HFR。JK=(DWF。K—WF。J)/ WFAT 纯雇佣率
L WF。K=HFR。JK * DT + WF。J 劳动力
我写了一点:


#include <stdio.h>
#include <math.h>
#define N 90
main()
{float pr[100],sr[100],wdip[100],wds[100],dwf[100],hfr[100];
int inv[100],wf[100];
float a=8000.0,prm=30.0,iat=3.0,wfat=3.0,dinv=2000.0,dt=1;
int i;

wf[0]=300.0;
inv[0]=0;
pr[0]=prm*wf[0];
sr[0]=0;
inv[1]=dt*pr[0];
wdip[1]=((dinv-inv[1])/(iat*prm));
wds[1]=sr[0]/prm;
dwf[1]=wds[1]+wdip[1];
hfr[0]=(dwf[1]-wf[0])/wfat;
wf[1]=hfr[0]*dt+wf[0];


window(1,1,80,25);
textbackground(9);
textcolor(3);
clrscr();
printf("\n 库存---劳动力 模型二\n\n");
printf(" 信息 \n\n\n");
printf("初值如下:\n\n");

printf(" 库存INV:%d单位 \n\n",inv[0]);
printf(" 劳动力WF:%d人 劳动生产率PRM:%3.1f单位/人月 \n\n",wf[0],prm);
printf(" 产量 PR :%3.1f单位/月 劳动调整时间WFAT:%3.1f月 \n\n",pr[0],wfat);
printf(" 调整库存时间IAT:%3.1f月 \n\n",iat);
printf(" 销售率SR:%3.1f单位/月 \n\n",a);
getch();
loop: clrscr();


for(i=1;i<N;i++)
{pr[i]=prm*wf[i];
sr[i]=a;
inv[i+1]=inv[i]+dt*(pr[i]-sr[i]);
if(inv[i+1]<0) inv[i+1]=0;
wdip[i+1]=((dinv-inv[i+1])/(iat*prm));
wds[i+1]=sr[i]/prm;
dwf[i+1]=wds[i+1]+wdip[i+1];
hfr[i]=(dwf[i+1]-wf[i])/wfat;
wf[i+1]=hfr[i]*dt+wf[i];
if(wf[i+1]<0) wf[i+1]=0;
}
/*printf("\n\n\n");
for(i=0;i<N;i++)
{printf("%d ",inv[i]);

}
printf("\n\n");
for(i=0;i<N;i++)
{printf("%d ",wf[i]);
}*/

printf("月数 INV WF\n");
for(i=0;i<N;i++)
{ if(i%23==0&&i!=0)
{ gotoxy(1,25);
printf("按任一键继续......");
getch();
clrscr();
printf("月数 INV WF\n");
}
gotoxy(2,i%23+2);
printf("%d",i+1);

gotoxy(22,i%23+2);
printf("%d",inv[i]);
gotoxy(42,i%23+2);
printf("%d",wf[i]);

}

}






...全文
111 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧