搜档网
当前位置:搜档网 › 在win32工程下做计算器

在win32工程下做计算器

在win32工程下做计算器
在win32工程下做计算器

课程设计报告

题目:在win32 application工程下计算器的设计与实现

小组成员:陈李元41212204

余斌41212202

目录1概述

1.1课程设计的内容

2系统需求分析

2.1系统目标

2.2重要功能

2.3开发环境

3设计过程

3.1主函数WinMain设计过程3.2窗口过程WndProc

4小结

5参考文献

附录1:程序代码

附录2:程序运行部分截图

1概述

1.1课程设计的内容

这次c++课程设计我们组选的是设计一个带界面的计算器,不是用MFC,而是在win32 application工程下做的带界面的计算器。它属于windows程序设计范畴。

我们主要是把功夫花在做界面上了,这个计算器本身所具有的功能很少,它只支持少量的算术运算。

2系统需求分析

2.1系统目标

我们在日常生活和学习中,经常会遇到一些关于数值的运算。所以我们组就着手开始做一个计算器方便我们的学习和生活。这个计算器它具有加法,减法,乘法,除法四种基本的算术运算。另外还具有计算N阶阶乘的功能,此外还具有求一个弧度的正弦(余弦和它功能类似要想求余弦事先做一些弧度的转化即可)。

该计算器用例图如下:

类图如下:

2.2重要功能

具备四种最基本的算术运算。另外还具有阶乘,求正弦的功能。

2.3开发环境

本程序是在visual c++ 6.0编译,链接,运行。它是在win32 application工程下所创建。

3设计过程

3.1主函数WinMain设计过程

首先在界面设计中我们要用到大量的windows API。这些函数都是在windows.h标准库中。

在windows程序设计中,它必须要包含一个程序入口主函数WinMain和一个过程函数WndProc。

WinMain总是以下面的形式出现。

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) WinMain第一个参数一般叫做“实例句柄”,在windows 程序中句柄就是一个数值,程序里面用他来标识一些东西。

第二个参数总是定义为NULL(定义为0)

第三个参数是用来运行程序的命令行。有些windows程序在启动时用它来把文件装入内存。

第四个参数用来指明程序最初如何显示。

创建一个窗口的步骤:

(1)注册窗口类

(2)创建窗口

(3)在桌面显示窗口

(4)更新窗口客户区

(5)进入无限的消息获取和处理的循环。首先是获取消息,如果有消息到达,则将消息分派到回调处理函数,如果消息是WM_QUIT,则GetMessage函数返回FALSE,整个消息循环结束。其中消息具体的处理过程是在WndProc 函数中

1.注册:Windows程序设计中有许许多多的结构体。其中

WNDCLASS是用于注册窗口类的。

typedef struct _WNDCLASS {

UINT style;// 窗口类型

WNDPROC lpfnWndProc;//窗口处理函数

int cbClsExtra;//窗口扩展

int cbWndExtra;//窗口实例扩展

HINSTANCE hInstance;//实例句柄

HICON hIcon;//窗口的最小化图标

HCURSOR hCursor;//窗口鼠标光标

HBRUSH hbrBackground;//窗口背景色

LPCTSTR lpszMenuName;//窗口菜单

LPCTSTR lpszClassName;// 窗口类名

} WNDCLASS, *LPWNDCLASS;

它定义了窗口的属性,风格等等,如本程序中附图:

3创建窗口

创建窗口,用注册窗口类的类名调用CreateWindow函数HWND CreateWindow(LPCTSTRlpClassName,//指向已注册窗口类名称的指针

LPCTSTRlpWindowName,//指向窗口名称的指针

DWORDdwStyle,//窗口的风格

intx,//窗口位置的X坐标

inty,//窗口位置的Y坐标

intnWidth,//窗口的宽度

intnHeight,//窗口的高度

HWNDhWndParent,//父窗口的句柄

HMENUhMenu,//窗口菜单句柄

HINSTANCEhInstance,//应用程序使用句柄

LPVOIDlpParam//应用程序数据区句柄 );

在本程序中代码如图:

3显示:

调用显示函数ShowWindow (hwnd, iCmdShow) ;

4更新窗口客户区:

调用UpdateWindow (hwnd) ;函数

5消息循环:

在这里又要涉及一个结构体MSG定义如下:

typedef struct tagMSG {

HWND hwnd;

UINT message;

WPARAM wParam;

LPARAM lParam;

DWORD time;

POINT pt;

} MSG;

调用TranslateMessage (&msg)函数把键盘输入翻译成为可传递的消息。

调用DispatchMessage (&msg) 分发一个消息到对应窗口的

窗口函数。

3.2窗口过程WndProc:

窗口过程总是按照如下方式来定义:

LRESULT CALLBACK WndProc (HWND hwnd,

UINT message,

WPARAM wParam,

LPARAM lParam) 程序的功能就是在这里面实现。在这里面调用CreateWindow函数来实现按钮的创建例如下图:

这就是创建了一个按钮。

上面代码是创建了一个文本框按钮,用来显示输进去的字符以及输出结果。

重复上面的过程便得一个计算器界面,如下图:

接下来要做的就是响应这些按钮并实现算术运算。在windows中要做的是为每个按钮设置一个ID号(在创建时已经设置),这就使得每个按钮都区别开了。详情请见代码。

switch(LOWORD(wParam))语句就是响应每个按钮在用case语句分别来响应每个按钮以及所实现的功能。例如case ID_BUTTON2:

{ lstrcat(szBuffer, "3");

SetWindowText(hwndEdit,szBuffer);

return 0;

}

该语句的功能是响应数字3按钮,并将字符‘3’显示到文本框中。在这里要用到两个函数lstrcat()和SetWindowText()函数。

首先我们要定义一个缓冲区static TCHAR szBuffer

[1024] = {0};并初始化为’\0’.用来暂时存放响应按钮并输出到文本框里的字符串。接下来调用lstrcat()函数将字符存放到缓冲区szBuffer里面。然后调用SetWindowText()函数将缓冲区里面的字符串输出到文本框里。(这是在做计算器程序的最重要的一个过程)

另外一个很重要的操作就是全在响应等于号按钮里面完成的。程序代码附图:

大概阐述一下等号里面的过程。在这里面先将文本框里的字符串用GetWindowText()函数提取出来。并用GetWindowTextLength()函数计算出字符串的长度。然后再把字符串复制到另一数组String中,随后用memset()函数将缓冲区szBuffer清零。

接下来就是对String的处理(String里面存放的是字符串而不是数值和运算符)。用isdigit()函数找出运算符的位置。接下来就是调用sscanf()函数。该函数的原型:

定义函数int sscanf (const char *str,const char * format,........);

函数说明

sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。

返回值成功则返回参数数目,失败则返回-1,错误原因存于errno中。返回0表示失败否则,表示正确格式化数据的个数例如:sscanf(str,

"%d%d%s", &i,&i2, &s); 如果三个变成都读入成功会返回3。

将运算符前后转化成数值厚分别存放在FirstNumber,NextNumber变量中。并对这两个变量实行相对应的四则运算并把结果存放在ResultNumber变量中。

调用sprintf()函数将实型变量转化为字符串变量并存

放到StringResult里面中。然后在调用SetWindowText()函数将StringResult里面里面的字符串输出到文本框中。

上面只是程序中一些很重要的东西,还有很多就不具体说明,许多函数的参数也是很复杂在这里就没一一写上,你想知道可以百度。

4小结

Windows程序设计对我们来说是新知识,刚开始什么都不懂,就去图书馆借了两本书啃,不懂得就上网搜找答案。那段时间几乎就是天天在弄这东西因为是新知识什么都不懂。过程真的很煎熬,但做完了就觉得收获了很多。知道了很多东西了解了很多东西。

5参考文献

《Windows程序设计》第五版珍藏版Charles Petzold 著方敏张胜梁路平赵勇等译

《windows程序设计》第二版王艳平张铮编著

附录1:程序代码#include

#include

#include

#include

#include

#include

#define IDC_EDITTEXT 1000

#define ID_BUTTON0 100

#define ID_BUTTON1 101

#define ID_BUTTON2 102

#define ID_BUTTON3 103

#define ID_BUTTON4 104

#define ID_BUTTON5 105

#define ID_BUTTON6 106

#define ID_BUTTON7 107

#define ID_BUTTON8 108

#define ID_BUTTON9 109

#define ID_BUTTON10 110

#define ID_BUTTON11 111

#define ID_BUTTON12 112

#define ID_BUTTON13 113

#define ID_BUTTON14 114

#define ID_BUTTON15 115

#define ID_BUTTON16 116

#define ID_BUTTON17 117

#define ID_BUTTON18 118

struct

{

int iStyle ;

TCHAR * szText ;

}

button[] =

{

BS_PUSHBUTTON, TEXT ("1"),

BS_PUSHBUTTON, TEXT ("2"),

BS_PUSHBUTTON, TEXT ("3"), BS_PUSHBUTTON, TEXT ("4"), BS_PUSHBUTTON, TEXT ("5"), BS_PUSHBUTTON, TEXT ("6"),

BS_PUSHBUTTON, TEXT ("7"),

BS_PUSHBUTTON, TEXT ("8"),

BS_PUSHBUTTON, TEXT ("9"),

BS_PUSHBUTTON, TEXT ("0"),

BS_PUSHBUTTON, TEXT ("C"),

BS_PUSHBUTTON, TEXT ("."),

BS_PUSHBUTTON, TEXT ("sin"),

BS_PUSHBUTTON, TEXT ("n!"),

BS_PUSHBUTTON, TEXT ("+"),

BS_PUSHBUTTON, TEXT ("-"),

BS_PUSHBUTTON, TEXT ("x"),

BS_PUSHBUTTON, TEXT ("/"),

BS_PUSHBUTTON, TEXT ("="),

} ;

#define NUM (sizeof button / sizeof button[0])

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName[] = TEXT ("Calculator") ;

HWND hwnd ;

MSG msg ;

WNDCLASS wndclass ;

wndclass.style = CS_HREDRAW | CS_VREDRAW ;

wndclass.lpfnWndProc = WndProc ;

wndclass.cbClsExtra = 0 ;

wndclass.cbWndExtra = 0 ;

wndclass.hInstance = hInstance ;

wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;

wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;

wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;

wndclass.lpszMenuName = NULL ;

wndclass.lpszClassName = "Calculator" ;

if (!RegisterClass (&wndclass))

{

MessageBox (NULL, TEXT ("This program requires Windows NT!"),

szAppName, MB_ICONERROR) ;

return 0 ;

}

hwnd = CreateWindow (szAppName, TEXT ("Calculator"),

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT, CW_USEDEFAULT,

235, 355,

NULL, NULL, hInstance, NULL) ;

ShowWindow (hwnd, iCmdShow) ;

UpdateWindow (hwnd) ;

while (GetMessage (&msg, NULL, 0, 0))

{

TranslateMessage (&msg) ;

DispatchMessage (&msg) ;

}

return msg.wParam ;

}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {

static HWND hwndButton[NUM] ;

static RECT rect ;

static RECT rectDrawLimit = {0, 50, 200, 100};//---this!!

static TCHAR szBuffer [1024] = {0};

// LPSTR szBuffer=new TCHAR[1024];

string str;

static HWND hwndEdit;

LPTSTR szString=new TCHAR[1024];

// static TCHAR String[1024]={0};

LPTSTR String=new TCHAR[1024];

static float FirstNumber;

static float NextNumber;

static float ResultNumber;

static int i;

//static TCHAR StringResult[]={0};

LPSTR StringResult=new TCHAR[1024];

static int number;

int count=1;

double num=1;

int numbe=1;

static TCHAR szBuffer1[10];

static TCHAR szBuffer2[10];

static int iLength;

static int cxChar, cyChar ;

HDC hdc=GetDC(hwnd);

//LPTSTR szBuffer=new TCHAR[1024];

PAINTSTRUCT ps ;

switch (message)

{

case WM_CREATE :

cxChar = LOWORD (GetDialogBaseUnits ()) ;

cyChar = HIWORD (GetDialogBaseUnits ()) ;

hwndButton[0] = CreateWindow(TEXT("button"), button[0].szText, WS_CHILD | WS_VISIBLE | button[0].iStyle,

0, 120, 50, 50,

hwnd, (HMENU)ID_BUTTON0, ((LPCREATESTRUCT)lParam)->hInstance, NULL);

hwndButton[1] = CreateWindow(TEXT("button"), button[1].szText, WS_CHILD | WS_VISIBLE | button[1].iStyle,

50, 120, 50, 50,

hwnd, (HMENU)ID_BUTTON1, ((LPCREATESTRUCT)lParam)->hInstance, NULL);

hwndButton[2] = CreateWindow(TEXT("button"), button[2].szText, WS_CHILD | WS_VISIBLE | button[2].iStyle,

100,120,50,50,

hwnd,(HMENU)ID_BUTTON2,((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[3]=CreateWindow(TEXT("button"), button[3].szText, WS_CHILD|WS_VISIBLE|button[3].iStyle,

0,170,50,50,

hwnd,(HMENU)ID_BUTTON3, ((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[4]=CreateWindow(TEXT("button"), button[4].szText, WS_CHILD|WS_VISIBLE|button[4].iStyle,

50,170,50,50,

hwnd,(HMENU)ID_BUTTON4, ((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[5]=CreateWindow(TEXT("button"), button[5].szText, WS_CHILD|WS_VISIBLE|button[5].iStyle,

100,170,50,50,

hwnd,(HMENU)ID_BUTTON5, ((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[6]=CreateWindow(TEXT("button"), button[6].szText, WS_CHILD|WS_VISIBLE|button[6].iStyle,

0,220,50,50,

hwnd,(HMENU)ID_BUTTON6, ((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[7]=CreateWindow(TEXT("button"), button[7].szText, WS_CHILD|WS_VISIBLE|button[7].iStyle,

50,220,50,50,

hwnd,(HMENU)ID_BUTTON7,((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[8]=CreateWindow(TEXT("button"), button[8].szText, WS_CHILD|WS_VISIBLE|button[8].iStyle,

100,220,50,50,

hwnd,(HMENU)ID_BUTTON8,((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[9]=CreateWindow(TEXT("button"), button[9].szText, WS_CHILD|WS_VISIBLE|button[9].iStyle,

0,270,100,50,

hwnd,(HMENU)ID_BUTTON9,((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[10]=CreateWindow(TEXT("button"), button[10].szText, WS_CHILD|WS_VISIBLE|button[10].iStyle,

0,70,50,50,

hwnd,(HMENU)ID_BUTTON10, ((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[11]=CreateWindow(TEXT("button"), button[11].szText, WS_CHILD|WS_VISIBLE|button[11].iStyle,

100,270,50,50,

hwnd,(HMENU)ID_BUTTON11,((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[12]=CreateWindow(TEXT("button"), button[12].szText, WS_CHILD|WS_VISIBLE|button[12].iStyle,

50,70,50,50,

hwnd,(HMENU)ID_BUTTON12, ((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[13]=CreateWindow(TEXT("button"), button[13].szText, WS_CHILD|WS_VISIBLE|button[13].iStyle,

100,70,50,50,

hwnd,(HMENU)ID_BUTTON13,((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[14]=CreateWindow(TEXT("button"), button[14].szText, WS_CHILD|WS_VISIBLE|button[14].iStyle,

150,70,70,50,

hwnd,(HMENU)ID_BUTTON14, ((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[15]=CreateWindow(TEXT("button"), button[15].szText, WS_CHILD|WS_VISIBLE|button[15].iStyle,

150,120,70,50,

hwnd,(HMENU)ID_BUTTON15, ((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[16]=CreateWindow(TEXT("button"), button[16].szText, WS_CHILD|WS_VISIBLE|button[16].iStyle,

150,170,70,50,

hwnd,(HMENU)ID_BUTTON16, ((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[17]=CreateWindow(TEXT("button"), button[17].szText, WS_CHILD|WS_VISIBLE|button[17].iStyle,

150,220,70,50,

hwnd,(HMENU)ID_BUTTON17, ((LPCREATESTRUCT)lParam)->hInstance,NULL);

hwndButton[18]=CreateWindow(TEXT("button"), button[18].szText, WS_CHILD|WS_VISIBLE|button[18].iStyle,

150,270,70,50,

hwnd,(HMENU)ID_BUTTON18, ((LPCREATESTRUCT)lParam)->hInstance,NULL);

CreateWindowEx(0,"edit",NULL,WS_CHILD|WS_VISIBLE|WS_BORDER|ES_MULTILINE,0,0,220,70,hwnd, (HMENU)IDC_EDITTEXT,NULL,NULL);

hwndEdit=GetDlgItem(hwnd,IDC_EDITTEXT);

return 0;

case WM_SIZE :

rect.left = 24 * cxChar ;

rect.top = 2 * cyChar ;

rect.right = LOWORD (lParam) ;

rect.bottom = HIWORD (lParam) ;

return 0 ;

case WM_PAINT :

InvalidateRect (hwnd, &rect, TRUE) ;

hdc = BeginPaint (hwnd, &ps) ;

SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT)) ;

SetBkMode (hdc, TRANSPARENT) ;

EndPaint (hwnd, &ps) ;

return 0 ;

//case WM_DRAWITEM :

// break;

case WM_COMMAND :

switch(LOWORD(wParam))

{

case ID_BUTTON0:

{ //static TCHAR szBuffer1[]=TEXT("1");

//str=str+"1";

lstrcat(szBuffer, "1");

//::TextOut(hdc,190,50,szBuffer,strlen(szBuffer));

// ::DrawText(hdc, szBuffer, -1, &rectDrawLimit, DT_BOTTOM | DT_RIGHT);//---this SetWindowText(hwndEdit,szBuffer);

return 0;

}

case ID_BUTTON1:

{

lstrcat(szBuffer, "2");//--this!

// MessageBox(NULL,szBuffer,"",MB_OK);

//::TextOut(hdc,188,50,szBuffer,lstrlen(szBuffer));//--this!

// ::DrawText(hdc, szBuffer, -1, &rectDrawLimit, DT_BOTTOM | DT_RIGHT);//---this SetWindowText(hwndEdit,szBuffer);

return 0;

}

case ID_BUTTON2:

{ lstrcat(szBuffer, "3");

SetWindowText(hwndEdit,szBuffer);

return 0;

}

case ID_BUTTON3:

{lstrcat(szBuffer, "4");

SetWindowText(hwndEdit,szBuffer);

return 0;

}

case ID_BUTTON4:

{lstrcat(szBuffer, "5");

SetWindowText(hwndEdit,szBuffer);

return 0;

}

case ID_BUTTON5:

{ lstrcat(szBuffer, "6");

SetWindowText(hwndEdit,szBuffer);

return 0;

}

case ID_BUTTON6:

{ lstrcat(szBuffer, "7");

SetWindowText(hwndEdit,szBuffer); return 0;

}

case ID_BUTTON7:

{ lstrcat(szBuffer, "8");

SetWindowText(hwndEdit,szBuffer); return 0;

}

case ID_BUTTON8:

{ lstrcat(szBuffer, "9");

SetWindowText(hwndEdit,szBuffer); return 0;

}

case ID_BUTTON9:

{ lstrcat(szBuffer, "0");

SetWindowText(hwndEdit,szBuffer);

return 0;

}

case ID_BUTTON10:

{

memset(szBuffer, '\0', sizeof(szBuffer));

SetWindowText(hwndEdit,szBuffer);

return 0;

}

case ID_BUTTON11:

{ lstrcat(szBuffer, ".");

SetWindowText(hwndEdit,szBuffer); return 0;

}

case ID_BUTTON12:

{ //lstrcat(szBuffer, "(");

// SetWindowText(hwndEdit,szBuffer);

number=atoi(szBuffer);

memset(szBuffer, '\0', sizeof(szBuffer));

工程监理费取费标准及组成部分

工程监理费取费标准及组成部分 工程监理费是指委托工程监理单位对工程实施建立工作所需的费用,不同工程,工程监理费取费标准不同。计算公式如下:监理费=(监理费计算基价万元×取费系数)万元×高原系数×专业系数×专业工程复杂系数×(1-n%下浮比例)建设工程监理费主要由监理直接成本、监理间接成本、税金和利润四部分组成。 1.直接成本 直接成本是指监理企业履行委托监理合同时所发生的成本。主要包括一下内容: (1)监理人员和监理辅助人员的工资、奖金、津贴、补助、附加工资等。 (2)用于监理工作的常规检测工器具、计算机等办公设施的购置费和其他仪器、机械的租赁费。 (3)用于监理人员和辅助人员的其他专项开支,包括办公费、通讯费、差旅费、书报费、文印费、会议费、医疗费、劳保费、保险费、休假探亲费等。 (4)其他费用。 2.间接成本 间接成本是指全部业务经营开支及非工程监理的特定开支,其具体内容包括: (1)管理人员、行政人员以及后勤人员的工资、奖金、补

助和津贴。

(2)经营性业务开支。包括为招揽监理业务而发生的广告费、宣传费、有关合同的公证费等; (3)办公费。包括办公用品、报刊、会议、文印及上下班交通费; (4)公用设施使用费。办公使用的水、电、气等费用; (5)业务培训费、图书、资料购置费。 (6)附加费。报刊劳动统筹、医疗统筹、福利基金、工会经费、人身保险、住房公积金、特殊补助等; (7)其他费用。 3.税金 是指按照国家规定,工程监理企业应交纳的各种税令总额,如营业税、所得税、印花税等。监理单位属科技服务类,应享受一定的优惠政策。 4.利润 是指工程监理企业的监理活动收入扣除直接成本、间接成本和各种税金之后的余额。由于监理单位是高智能群体,监理服务是高技能的技术服务,因此监理单位的利润应当高于社会平均利润。 工程监理费是构成工程概、预算的一部分,因此,在工程概、预算中要单独列出。 本文档部分内容来源于网络,如有内容侵权请告知删除,感谢您的配合!

汇编语言实现十进制加减计算器

课程设计 题目十进制数加减计算器学院计算机科学与技术 专业计算机科学与技术 班级计算机0808班 姓名何爽 指导教师袁小玲 2010 年12 月31 日

课程设计任务书 学生姓名:何爽专业班级:计算机0808班 指导教师:袁小玲工作单位:计算机科学与技术学院 题目: 十进制数加减计算器的设计 初始条件: 理论:学完“汇编语言程序设计”、“课程计算机概论”、“高级语言程序设计”和“数字逻辑”。 实践:计算机学院科学系实验中心提供计算机和软件平台。如果自己有计算机可以在其上进行设计。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)十进制数加减计算器的设计。 (2)程序应有操作提示、输入和输出,界面追求友好,最好是菜单式的界面。 (3)设计若干用例(测试数据),上机测试程序并分析(评价)所设计的程序。 (4)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括: 在正文第一行写课程设计题目; 1.需求说明(要求、功能简述)或问题描述; 2.设计说明(简要的分析与概要设计); 3.详细的算法描述; 4.源程序与执行结果(含测试方法和测试结果); 5.使用说明; 6.总结,包括设计心得(设计的特点、不足、收获与体会)和展望(该 程序进一步改进扩展的设想)。 时间安排: 设计时间一周:周1:查阅相关资料。 周2:系统分析,设计。 周3~4:编程并上机调试。 周5:撰写课程设计报告。 设计验收安排:20周星期五8:00起到计算机学院科学系实验中心进行上机验收。 设计报告书收取时间:20周的星期五下午5:00之前。 指导教师签名: 2010年12月31日 系主任(或责任教师)签名: 2010年12月31日

十进制4位加法计数器设计

洛阳理工学院 十 进 制 4 位 加 法 计 数 器 系别:电气工程与自动化系 姓名:李奇杰学号:B10041016

十进制4位加法计数器设计 设计要求: 设计一个十进制4位加法计数器设计 设计目的: 1.掌握EDA设计流程 2.熟练VHDL语法 3.理解层次化设计的内在含义和实现 设计原理 通过数电知识了解到十进制异步加法器的逻辑电路图如下 Q3 则可以通过对JK触发器以及与门的例化连接实现十进制异步加法器的设计 设计内容 JK JK触发器的VHDL文本描述实现: --JK触发器描述 library ieee; use ieee.std_logic_1164.all; entity jk_ff is

port( j,k,clk: in std_logic; q,qn:out std_logic ); end jk_ff; architecture one of jk_ff is signal q_s: std_logic; begin process(j,k,clk) begin if clk'event and clk='0' then if j='0' and k='0' then q_s <= q_s; elsif j='0' and k='1' then q_s <= '0'; elsif j='1' and k='0' then q_s <= '1'; elsif j='1' and k='1' then q_s <= not q_s; end if; end if; end process; q <= q_s; qn <= not q_s; end one; 元件门级电路: 与门VHDL文本描述实现: --与门描述library ieee; use ieee.std_logic_1164.all;

实验十进制加减法计数器

实验1 十进制加减法计数器 实验地点:电子楼218 实验时间:2012年10月19日指导老师:黄秋萍、陈虞苏 实验要求:设计十进制加减法计数器,保留测试程序、设计程序、仿真结果 1.设计程序: module count(EN,CLK,DOUT,F,RST); input EN,CLK,F,RST; output [3:0]DOUT; reg [3:0]DOUT; always@(posedge CLK) begin :abc if(EN) if(!RST) if(F) begin :a DOUT=DOUT+1; if(DOUT==10) DOUT=0; end //END A else begin :b DOUT=DOUT-1; if(DOUT==15) DOUT=9; end else DOUT=0; else DOUT=DOUT; end endmodule 2.测试程序 `timescale 10ns/1ns module test_count; wire [3:0] DOUT; reg EN,F,RST,CLK; count M(EN,CLK,DOUT,F,RST); initial begin :ABC CLK=0; EN=0;

RST=1; F=1; #100 EN=1; #200 RST=0; #1500 F=0; #3000 $stop; end always #50 CLK=~CLK; initial $monitor("EN=%b,F=%b,RST=%b,DOUT%D",EN,F,RST,DOUT); endmodule 3.测试结果 # EN=0,F=1,RST=1,DOUT x # EN=1,F=1,RST=1,DOUT x # EN=1,F=1,RST=1,DOUT 0 # EN=1,F=1,RST=0,DOUT 0 # EN=1,F=1,RST=0,DOUT 1 # EN=1,F=1,RST=0,DOUT 2 # EN=1,F=1,RST=0,DOUT 3 # EN=1,F=1,RST=0,DOUT 4 # EN=1,F=1,RST=0,DOUT 5 # EN=1,F=1,RST=0,DOUT 6 # EN=1,F=1,RST=0,DOUT 7 # EN=1,F=1,RST=0,DOUT 8 # EN=1,F=1,RST=0,DOUT 9 # EN=1,F=1,RST=0,DOUT 0 # EN=1,F=1,RST=0,DOUT 1 # EN=1,F=1,RST=0,DOUT 2 # EN=1,F=1,RST=0,DOUT 3 # EN=1,F=1,RST=0,DOUT 4 # EN=1,F=1,RST=0,DOUT 5 # EN=1,F=0,RST=0,DOUT 5 # EN=1,F=0,RST=0,DOUT 4 # EN=1,F=0,RST=0,DOUT 3 # EN=1,F=0,RST=0,DOUT 2 # EN=1,F=0,RST=0,DOUT 1 # EN=1,F=0,RST=0,DOUT 0 # EN=1,F=0,RST=0,DOUT 9 # EN=1,F=0,RST=0,DOUT 8 # EN=1,F=0,RST=0,DOUT 7 # EN=1,F=0,RST=0,DOUT 6 # EN=1,F=0,RST=0,DOUT 5

电力工程监理费计算办法

电力工程监理费计算1电力工程监理费计算依据: 1.1《国家电网公司输变电工程监理费概算编制办法》 1.2《电网工程建设预算编制与计算标准》国家发改委2007-07-26发布。 2电力工程监理费计算方法 2.1电力工程监理费=工程监理费基准价×150%。——(1) 2.2架空送电线路工程监理费基准价根据线路长度按照表 3.5.3.3-2标准计算 表3.5.3.3-2架空送电线路工程监理费标准(万元/km)

2.3电缆线路工程监理费基准价=安装工程费×2.15%。——(2) 2.4变电工程监理费基准价=(建筑工程费+安装工程费)×费率——(3) 费率按照表3.5.3.3-1变电工程监理费费率计取 表3.5.3.3-1变电工程监理费费率 2.5系统通信工程监理费基准价=(建筑工程费+安装工程费+设备购置费)×1.93%。——(4) 2.6电力工程监理费在个工程阶段的比例为:勘测阶段:3%,设计阶段10%,施工阶段85%,保修阶段2%。 例如:平原地区110kV架空线路工程,线路长度15km,其中同塔架设线路5km,试计算监理费。 架空送电线路工程监理费基准价=0.6万元/km×10km+0.75万元/km× 5km=6+3.75=9.75万元 架空送电线路工程监理费=工程监理费基准价×150%=9.75万元×150%=14.625万元。其中勘测阶段监理费:14.625万元×3%=0.43875万元; 其中设计阶段监理费:14.625万元×10%=1.4625万元; 其中施工阶段监理费:14.625万元×85%=12.43125万元; 其中保修阶段监理费:14.625万元×2%=0.2925万元。

10进制加法计数器课程设计

西北师范大学知行学院 数字电子实践论文 课题:74ls161组成的十进制加法计数器 (置数法) 班级:14电本 学号:14040101114 姓名:于能海

指导老师:崔用明 目录 第1章前言 (1) 1.1 摘要 (1) 1.2 设计目的 (2) 1.3 设计内容及要求 (2) 第2章设计方案 (3) ....................................................................................................................... 错误!未定义书签。 2.1主要芯片功能介绍 (3) 2.2.1 四位二进制计数器74161介绍 (3) ............................................................................................................... 错误!未定义书签。 2.2 工作原理 (4) 第3章硬件设计 (4) 3.1 单元电路设计 (4) 3.2 总硬件电路图 (5) 第4章仿真与试验 (6) 4.1 仿真结果 (6) 4.2 调试中遇到的问题 (7) 第5章结论和体会 (8)

第1章前言 1.1 摘要在数字电路技术的课程中,计数器的功能是记忆脉冲的个数,它是数字系统中应用最广泛的基本时序逻辑构件。计数器在微型计算机系统中的主要作用就是为CPU和I/O设备提供实时时钟,以实现定时中断、定时检测、定时扫描、定时显示等定时控制,或者对外部事件进行计数。一般的微机系统和微机应用系统中均配置了定时器/计数器电路,它既可当作计数器作用,又可当作定时器使用,其基本的工作原理就是"减1"计数。计数器:CLK输入脉冲是一个非周期事件计数脉冲,当计算单元为零时,OUT输出一个脉冲信号,以示计数完毕。 本十进制加法计数器是基于74161芯片而设计的, 该十进制加法计数器设计理念是用于工厂流水线上产品计数,自动计数,方便简单。 关键词:74ls161计数器 Introduction In the course of digital circuit technology, the counter memory function is the number of pulses, it is a digital system, the most widely used basic sequential logic components. The main role of the counter in the micro-computer system is to provide real-time clock for the CPU and I / O devices to achieve the timer interrupt, timing detection, scheduled scanning, the timing display timing control, or to count external events. General computer systems and computer application systems are equipped with a timer / counter circuit, it can as a counter action, but also as a timer, the basic working principle is "minus 1" count. Counter: CLK input pulse is a non-periodic event count pulses to zero when calculating unit, OUT outputs a pulse signal, to show the count is completed. The decimal addition counter is designed based on the 74161 chip, the low potential sensor senses when to rely on external signals, sensors in an object within the sensing range, otherwise it is a high potential. Within the sensing range of the sensor when an object is moved out of date, sensor potential from high to low and then high, appears on the edge. Counter is automatically incremented and displayed on a digital control. The decimal addition counters have two seven-segment LED. It can count from 0 to 99 objects, and easy to expand. The design concept of decimal addition counter is used to count on a factory assembly line products, automatic counting, convenient and simple. Keywords:74ls161counter

监理费计算方法

监理费计算方法 一、取费基价标准 序号计算额(万元)取费基价(万元)备注 1 500 16.5 2 1000 30.1 3 3000 78.1 4 5000 120.8 5 8000 181.0 6 10000 218.6 7 20000 393.4 8 40000 708.2 9 60000 991.4 10 80000 1255.8 11 100000 1507.0 12 200000 2712.5 13 400000 4882.6 14 600000 6835.6 15 800000 8658.4 16 1000000 10390.1

二、施工阶段监理服务收费(监理费)计算书 (一)公式:施工阶段监理服务收费基准价=施工阶段监理服务收费基价×专业调整系数×工程复杂程度调整系数× 高程调整系数 (二)计算施工阶段监理服务收费计费额:(以北师大工程为例)本工程预算投资额为2883万元,该工程项目的施工监理服务收费的计算额为2883万元。 (三)计算施工监理服务收费基准价: 1、采用内插法确定施工监理服务收费基价: 计算额收费基价 1000万元30.1万元 2883万元X万元 3000万元78.1万元 本工程计算为为2883万元的收费基价X计算如下: X=30.1+(78.1-30.1)/(3000-1000)×(2883-1000)=75.292 2、调整系数计算: 监理费按照《国家发展和改革委员会建设部关于建设工程监理与服务收费管理规定的通知》(发改价格【2007】670号)的规定进行填报。 (1)投标文件中,专业调整系数为1.0;工程复杂程度系数为0.85;高程调整系数为1.0. (2)施工阶段监理服务收费基准价=施工阶段监理服务收费

监理与相关服务收费标准-直线内插法计算

收费基价直线内插法计算公式 ) (1121 21X X X X Y Y Y Y -?--+ = 说明: 1、X 1、Y 1为《建设工程监理与相关服务收费标准》附表二中计费额的区段值;Y 1、Y 2为对应于X 1、X 2的收费基价;X 为某区段间的插入值;Y 为对应于X 由插入法计算而得的收费基价。 2、计费额小于500万元的,以计费额乘以3.3%的收费率计算收费基价; 3、计费额大于1,000,000万元的,以计费额乘以1.039%的收费率计算收费基价。 【例】若计算得计费额为600万元,计算其收费基价。 根据《建设工程监理与相关服务收费标准》附表二:施工监理服务收费基价表,计费额处于区段值500万元(收费基价为16.5万元)与1000万元(收费基价为30.1万元)之间,则对应于600万元计费额的收费基价: 万元) (22.19)500600(500 10005 .161.305.16=-?--+=Y Y (收费基价) Y 2 Y Y 1 12 X (计费额)

施工监理服务收费基价表 国家发展改革委建设部发改价格[2007]670号 注:本规定自2007年5月1日起执行,计费额大于1000000万元的,以计费额乘以 1.039%的收费率计算收费基价,计费额处于两个数值之间的,采用直线内插法确定施工监理服务收费基价。

监理费计算方法一、取费基价标准

二、施工阶段监理服务收费(监理费)计算书 (一)公式:施工阶段监理服务收费基准价=施工阶段监理服务收费基价×专业调整系数×工程复杂程度调整系数×高程调整系数 (二)计算施工阶段监理服务收费计费额:(以北师大工程为例)本工程预算投资额为2883万元,该工程项目的施工监理服务收费的计算额为2883万元。 (三)计算施工监理服务收费基准价: 1、采用内插法确定施工监理服务收费基价: 计算额收费基价 1000万元30.1万元 2883万元 X万元 3000万元78.1万元 本工程计算为为2883万元的收费基价X计算如下: X=30.1+(78.1-30.1)/(3000-1000)×(2883-1000)=75.292 2、调整系数计算: 监理费按照《国家发展和改革委员会建设部关于建设工程监理与服务收费管理规定的通知》(发改价格【2007】670号)的规定进行填报。 (1)投标文件中,专业调整系数为1.0;工程复杂程度系数为0.85;高程调整系数为1.0.

十进制加法计数器

在数字系统中,常需要对时钟脉冲的个数进行计数,以实现测量、运算和控制等功能。具有计数功能的电路,称为计数器。 计数器是一种非常典型、应用很广的时序电路,计数器不仅能统计输入时钟脉冲的个数,还能用于分频、定时、产生节拍脉冲等。计数器的类型很多,按计数器时钟脉冲引入方式和触发器翻转时序的异同,可分为同步计数器和异步计数器;按计数体制的异同,可分为二进制计数器、二—十进制计数器和任意进制计数器;按计数器中的变化规律的异同,可分为加法计数器、减法计数器和可逆计数器。 二进制加法计数器运用起来比较简洁方便,结构图和原理图也比其它进制的简单明了,但二进制表示一个数时,位数一般比较长。十进制是我们日常生活中经常用到的,不用转换,所以设计十进制加法计数器比设计二进制加法计数器应用广泛,加法器是以数据的累加过程,日常生活中,数据的累加普遍存在,有时候需要一种计数器对累加过程进行运算处理,所以设计十进制加法计数器应广大人们生活的需要,对我们的生活有一个积极地促进作用,解决了生活中许多问题,所以会设计十进制加法计数器使我们对数字电路的理论和实践知识的充分结合,也使我们对电子技术基础有了深刻的了解,而且增强了我们对电子技术基础产生了浓厚的兴趣,这次课程设计使我受益匪浅!

一、设计题目 (3) 二、设计目的 (3) 三、设计依据 (3) 四、设计内容 (3) 五、设计思路 (4) 六、设计方案 (7) 七、改进意见 (10) 八、设计总结 (11) 九、参考文献 (12)

一、设计题目 十进制加法计数器 二、设计目的 1.学习电子电路设计任务。 2.通过课程设计培养学生自学能力和分析问题、解决问题的能力。 3.通过设计使学生具有一定的计算能力、制图能力以及查阅手册、使用国家技术标准的能力和一定的文字表达能力。 三、设计依据 1.用JK触发器组成。 2.实现同步或异步加法计数。 四、设计内容 1.复习课本,收集查阅资料,选定设计方案; 2.绘制电气框图、电气原理图; 3.对主要元器件进行计算选择,列写元器件的规格及明细表; 4.设计总结及改进意见; 5.参考资料; 6.编写说明书。

加法计算器

十进制加法计算器设计报告 目录 1、摘要----------------------------------------------------------------------2 2、设计任务和要求--------------------------------------------------------2 3、单片机简要原理--------------------------------------------------------2 3.1 AT89C51的介绍------------------------------------------------3 3.2 单片机最小系统------------------------------------------------6 3.3 七段共阳极数码管---------------------------------------------7 4、硬件设计-----------------------------------------------------------------7 4.1 键盘电路的设计-------------------------------------------------8 4.2 显示电路的设计-----------------------------------------------9 5、软件设计------------------------------------------------------------10 5.1 系统设计------------------------------------------------------10 5.2 显示与按键设计---------------------------------------------12 6、系统调试.-------------------------------------------------------------13 6.1系统初始状态的调试------------------------------------------13 6.2键盘输入功能的调试-----------------------------------------14 6.3系统运算功能的调试------------------------------------------16 7、心得体会与总结---------------------------------------------------------16 参考文献---------------------------------------------------------------------17 附录1 系统硬件电路图--------------------------------------------------18 附录2 程序清单-----------------------------------------------------------19 -----------

关于发布《信息系统工程监理及相关信息技术咨询服务取费计算方法(参照标准)》的通知

关于发布《信息系统工程监理及相关信息技术咨询服务取费计算方法(参照标准)》的通知 中电企协监字[2014]01号 各有关单位: 为推进信息系统工程监理行业的发展,结合信息系统工程监理行业的特点,特制订《信息系统工程监理及相关信息技术咨询服务取费计算方法(参照标准)》,现印发给你们。 工作中有何问题,请及时与我们联系。 联系电话: 电子邮件: 中国电子企业协会信息系统工程监理分会 2014年1月20日 抄报:工业和信息化部计算机信息系统集成资质认证工作办公室 附件:《信息系统工程监理及相关信息技术咨询服务取费计算方法(参照标准)》信息系统工程监理及相关信息技术咨询服务取费计算方法 (参照标准) 一、计算方法参考的有关政策、标准 1、《信息系统工程监理暂行规定)》(信部信[2002]570号文); 2、《信息系统工程监理单位资质等级评定条件(2012年修定版)》(工信计资[2012]8号文)和《信息系统工程监理单位资质等级评定条件实施细则》(工信计资[2012]号文); 3、《国家电子政务工程建设项目管理暂行办法》(国家发展和改革委员会第55号令); 4、《国民经济行业分类》(GB/T4754-2011)国家标准; 5、国家GB/T19668系列规范;

6、国家发改委、建设部联合颁布的《建设工程监理与相关服务收费管理规定》(发改价格[2007]670号文); 7、《信息系统工程监理及相关信息技术咨询服务取费计算方法(征求意见稿)》(中电企协监字[2013]01号文); 8、《上海市工程设备监理收费规定(参照标准)》(沪设监协12009]1号文)。 本计算方法还参考了信息系统工程监理及相关信息技术咨询服务有关取费研究资料,以及取费计算方法征求意见收到的修改建议和意见。 二、适用范围 本方法适用于信息系统工程建设过程中的信息网络系统、信息资源系统、信息应用系统的新建、升级、改造工程与运行维护中信息系统工程监理服务的取费,以及相关信息技术咨询服务的取费。 三、取费原则 信息系统工程监理及相关信息技术咨询服务是专业性很强的技术性服务工作,取费应当体现“优质优价、合理计取、难易有别、分段计取”的原则。应当符合国家有关法律、法规和标准规范,满足合同约定的服务内容和服务质量等内容。 四、信息系统工程监理服务取费计算方法 1、计算公式 信息系统工程监理服务取费 = 监理服务取费基价×工程项目类型调整系数×工程项目复杂度调整系数×(l ±浮动幅度值) 2、监理服务取费基价 信息系统工程监理服务是信息技术咨询服务的一种形式。监理服务取费是以信息系统工程项目投资总值为取费额,取费额处于两个数值区间的,采用直线内插法确定监理服务取费基价。监理服务取费基价如下表所示。

十进制加法计数器 (3)

EDA技术与VHDL实验报告 一实验题目:十进制加法计数器 二实验目的: 设计带有异步复位和同步时钟使能的十进制加法计数器。 三实验内容: 编写十进制加法计数器的VHDL实现程序;通过电路仿真和硬件验证,了解变量的使用方法,以及“(OTHERS=>X)”的使用方法。四实验原理: 十进制加法计数器的VHDL描述 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT10 IS PORT (CLK,RST,EN : IN STD_LOGIC; CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT10; ARCHITECTURE behav OF CNT10 IS BEGIN PROCESS(CLK, RST, EN) V ARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN

IF RST = '1' THEN CQI := (OTHERS =>'0') ; --计数器异步复位 ELSIF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿 IF EN = '1' THEN --检测是否允许计数(同步使能) IF CQI < 9 THEN CQI := CQI + 1; --允许计数检测是否小于9 ELSE CQI := (OTHERS =>'0'); --大于9,计数值清零 END IF; END IF; END IF; IF CQI = 9 THEN COUT <= '1'; --计数大于9,输出进位信号 ELSE COUT <= '0'; END IF; CQ<= CQI; --将计数值向端口输出END PROCESS; END behav;

施工监理费基价计算公式

施工监理费基价计算公式 内插法计算 施工监理费基价公式: X为工程造价 1. 造价在500万元以下公式:(X)×3.3% 2. 造价500万元为16.5万元 3. 造价在500—1000万元公式:16.5,0.0272(X—500) 4. 造价1000万元为30.1万元 5. 造价在1000—3000万元公式:30.1,0.024(X—1000) 6. 造价3000万元为78.1万元 7. 造价5000万元为120.8万元 8. 造价3000万—5000万为78.1+0.0214(X—3000) 9. 造价5000万—8000万为120.8+0.0201(X—5000) 10. 造价8000万元为181万元10000万元为218.6万元 11. 造价8000万—10000万为181+0.0188 (X—8000) 12. 造价10000万—20000万为218.6+0.0175(X—10000) 13.造价20000万元为393.4万元 14.造价20000万—40000万为393.4+0.0157(X—20000) 施工监理服务收费按照下列公式计算: (1)施工监理服务收费,施工监理服务收费基准价×(1士浮动幅度值) (2)施工监理服务收费基准价,施工监理服务收费基价X专业调整系数X工程复杂程度调整系数×高程调整系数 13. 高程调整系数如下: 海拔高程2001m以下的为l; 海拔高程2001 一3000m为1.1; 海拔高程3001一350Om为1.2;

14. 海拔高程350一4000m为1.3; 海拔高程4001m以上的,高程调整系数由发包人和监理人协商确定。 序号计费额收费基价 1 500 16.5 2 1000 30.1 3 3000 78.1 4 5000 120.8 0 8000 181(O 6 10000 218.6 7 20000 393.4 8 40000 708.2 9 60000 991.4 lO 80000 1255.8 l l 100000 1507.0 12 200000 2712.5 1 3 400000 4882.6 14 600000 6835.6 15 800000 8658.4 16 1000000 10390.1 注:计费额大于(l000000万元的,以计费额乘以l(039,的收费率计算改 费基价,其他未包含的其收费由双方协商议定。 施工监理服务收费专业调整系数表 工程类型专业调整系数 1(矿山采选工程

监理收费参考计算(

监理费计算过程(参考) 一、该项目施工监理费计费额5000万: 计算得计费额为5000万,计算其收费基价。 (1)根据《建设工程监理与相关服务收费标准》附表二:施工监理服务收费基价表,计费额处于区段值5000万(收费基价为120.8万)与8000万(收费基价为181.0万)之间,则对应于5000万计费额的收费基价: 收费基价=y = 120.8+ (181.0-120.8)/( 8000-5000) × (5300-5000) =126.82(万元) (2)施工监理服务收费基准价=施工监理服务收费基价X专业调整系数X工程复杂程度调整系数×高程调整系数=126.82×0.85×1.0×1.0= 107.797万元(暂按一般难度系数) (3)施工监理服务收费=施工监理服务收费基准价×(1士浮动幅度值)= 107.797万元×(1—20%)=86.2376万元(暂按8折计算) 附表二 施工监理收费基价表 单位:万元

注:计费额大于1000000万元的,以计费额乘以1.039%的收费率计算收费基价。其他未包含的其收费由双方协商议定。 专业调整系数:一般(Ⅰ级)0.85 ;较复杂(Ⅱ级)1.0;复杂(Ⅲ级)1.15 。计算施工监理服务收费时,工程复杂程度在相应章节的《工程复杂程度表》中查找确定。 附表三 施工监理收费专业调整系数表 工程类型专业调整系数 1.矿山采选工程 黑色、有色、黄金、化学、非金属及其他矿采选工程 0.9 选煤及其他煤炭工程 1.0 矿井工程,铀矿采选工程 1.1 2.加工冶炼工程 冶炼工程 0.9 船舶水工工程 1.0 各类加工、冶炼工程 1.0 核加工工程 1.2 3.石油化工工程 石油工程 0.9 化工、石化、化纤、医药工程 1.0 核化工工程 1.2 4.水利电力工程 风力发电、其他水利工程 0.9 火电工程、送变电工程 1.0 核能、水电、水库工程 1.2 5.交通运输工程 机场场道、机场空管工程和助航灯光工程 0.9 铁路、公路、城市道路、轻轨工程 1.0

工程监理费计算方法

工程监理费计算方法 工程监理费计算方法 一、取费基价标准 序号计算额(万元)取费基价(万元)备注 二、施工阶段监理服务收费(监理费)计算书 (一)公式:施工阶段监理服务收费基准价=施工阶段监理服务收费基价×专业调整系数×工程复杂程度调整系数×高程调整系数 (二)计算施工阶段监理服务收费计费额:(以北师大工程为例) 本工程预算投资额为2883万元,该工程项目的施工监理服务收费的计算额为2883万元。 (三)计算施工监理服务收费基准价: 1、采用内插法确定施工监理服务收费基价: 计算额收费基价 1000万元30.1万元 2883万元X万元 3000万元78.1万元 本工程计算为为2883万元的收费基价X计算如下: X=30.1+(78.1-30.1)/(3000-1000)×(2883-1000)=75.292 2、调整系数计算: 监理费按照《国家发展和改革委员会建设部关于建设工程监理与服务收费管理规定的通知》(发改价格【2007】670号)的规定进行填报。 (1)投标文件中,专业调整系数为1.0;工程复杂程度系数为0.85;高程调整系数为1.0. (2)施工阶段监理服务收费基准价=施工阶段监理服务收费基价×专业调整系数×工程复杂程度调整系数×高程调整系数=75.292×1.0×0.85×1.0=63.972(万元) 三、计算监理费报价: 按发改价格【2007】670号文件精神和投标文件有关要求,本工程监理服务收费基价浮动幅度值为20%。 1、施工监理服务收费=施工阶段监理服务收费基准价×(1±20%) 2、施工监理服务收费报价范围:76.767~51.178万元。 感谢您的阅读!

工程监理费有哪些计算方法

工程监理费有哪些计算方法 工程监理费是指依据国家有关机关规定和规程规范要求,工程建设项目法人委托工程监理机构对建设项目全过程实施监理所支付的费用。工程监理费是建设工程总投资中属于工程建设其他费的部分,目前我国的工程监理费的取费标准是参考发改价格[2007]670号文计取,并按照相应的地方规范作出调整. 工程监理费的计算方法,一般由建设单位与工程监理企业协商确定。计算方法主要有:1、按建设工程投资的百分比计算法就是按委托监理工程概(预)算的百分比计收工程监理费。当工程结算时,再按实际工程投资进行调整。这种方法是国家制定监理取费标准的主要形式,建设单位和工程监理企业也易接受。2、固定价格计算法就是建设单位与工程监理企业在协商一致的基础上形成的监理合同固定价格,实践中可进一步分为固定总价和固定单价计算法。其特点是:当实际监理工作量比计划工作量有所增减时,一般也不调整工程监理费的总价或者单价。这种方法适用于监理工作内容明确的中小型工程监理费的计算。

3、工资加一定比例的其他费用计算法就是以项目监理机构监理人员的实际工资乘以一个大于1的系数,此系数通过综合考虑应有的其他直接费、间接成本、税金和利润来确定。由于建设单位与上程监理企业难得对监理人员数量和实际工资额达成一致,此方法较少采用。 4、按时计算法就是按建设单位和工程监理企业双方约定的单位时间监理费,乘以约定的监理服务时间来计算工程监理费总额。单位时间监理费一般以监理人员基本工资为基础,加上适当的管理费和利润而得到。这种方法适用于临时性的、短期的监理业务,或者不宜按其他方法计算监理费的监理业务。对于监理风险较大的建设工程,可以由几家工程监理企业组成监理联合体共同承担监理业务,以分担风险。这种情况下,各家工程监理企业还要注意事先约定适当的分配方法以明确各自应得的工程监理费。

建设工程监理与相关服务收费标准

建设工程监理与相关服务收费标准 计算参考案例 参考案例一: 某三级公路位于海拔3010m ~3480m 处,长89公里,工程概算6923万元,其中建筑安装工程费4500万元(未含机电工程),包括土石方59万立方,小桥4座,涵洞208道,路面砂砾垫层733千平方米等。发包人委托监理人对该建设工程项目进行施工阶段的监理服务。 施工监理服务收费按以下步骤计算: 施工监理服务收费基准价=施工监理服务收费基价×专业调整系数×工程复杂程度调整系数×高程调整系数 一、确定施工监理服务收费计费额,公路工程的施工监理服务收费计费额为建筑安装工程费,该建设工程项目的施工监理服务收费的计费额为4500万元。 二、计算施工监理服务收费基价 根据本标准附表二,采用内插法计算: 施工监理服务收费基价=78.1+ 3000 50001.788.120--×(4500-3000) =110.13(万元) 三、确定专业调整系数,根据本标准附表三,公路工程的专业调整系数为1.0。 四、确定工程复杂程度调整系数,根据表6.2-2表规定,三级公路的工程复杂程度属于I 级,复杂程度调整系数为0.85。 五、确定高程调整系数,该建设工程项目所处地理位置海拔3010m ~3480m ,根据本标准1.0.9条规定,高程调整系数为1.2。 六、计算施工监理服务收费基准价 施工监理服务收费基准价=施工监理服务收费基价×专业调整系数×工程复杂程度调整系数×高程调整系数= 110.125×1.0×0.85×1.2= 112.32(万元)。 该建设工程项目的施工监理服务收费基准价112.32万元。若该建设工程项目属于依法必须实行监理的,监理人和发包人应在此基础上,根据本标准规定,在上下20%浮动范围内,协商确定该建设工程项目的施工监理服务收费合同额。

施工监理费基价计算公式

内插法计算 施工监理费基价公式: X为工程造价 1.造价在500万元以下公式:(X)×3.3% 2.造价500万元为16.5万元 3.造价在500—1000万元公式:16.5+0.0272(X—500) 4.造价1000万元为30.1万元 5.造价在1000—3000万元公式:30.1+0.024(X—1000) 6.造价3000万元为78.1万元 7.造价5000万元为120.8万元 8.造价3000万—5000万为78.1+0.0214(X—3000) 9.造价5000万—8000万为120.8+0.0201(X—5000) 10.造价8000万元为181万元10000万元为218.6万元 11.造价8000万—10000万为181+0.0188 (X—8000) 12.造价10000万—20000万为218.6+0.0175(X—10000) 13.造价20000万元为393.4万元 14.造价20000万—40000万为393.4+0.0157(X—20000) 施工监理服务收费按照下列公式计算: (1)施工监理服务收费=施工监理服务收费基准价×(1士浮动幅度值)(2)施工监理服务收费基准价=施工监理服务收费基价X专业调整系数X工程复杂程度调整系数×高程调整系数 13.高程调整系数如下:海拔高程2001m以下的为l; 海拔高程2001

一3000m为1.1; 海拔高程3001一350Om为1.2; 14.海拔高程350一4000m为1.3;海拔高程4001m以上的,高程调 整系数由发包人和监理人协商确定。 注:计费额大于.l000000万元的,以计费额乘以l.039%的收费率计算改费基价,其他未包含的其收费由双方协商议定。 施工监理服务收费专业调整系数表

监理收费计算方法

收费计价直线内插法计算公式 Y= Y1 + ×(X-X1) 说明: 1、X 1,Y 1为【建设工程监理与相关服务收费标准】附表二中计费额的 区段值;Y 1,Y 2为对应于X 1,X 2的收费基价。X 为某区段间的插入值;Y 为对应于X 由插入法计算而得到的收费基价。 2、计费额小于500万元的,以计费额乘以3.3%的收费率计算收费基价; 3、计费额大于100000000万元的,以计费额乘以1.039%的费率计算收费基价; 【例】若计算得计费额为600万元,计算其收费基价。 根据【建设工程监理与相关服务收费标准】附表二:施工监理服务收费基价表,计费额处于区段值500万元(收费基价为16.5万元)与1000万元(收费基价为30.1万元之间),则对应600万元计算额的收费基价: Y (收费基价) X (计费额) Y2 Y Y1 X1 X X2 Y2-Y1 X2-X1

Y=16.5+(30.1-16.5)÷(1000-500)×(600-500)=19.22(万元)

施工监理服务收费基价表 国家发展改革委建设部发改价格【2007】670号 序号计费额(万元)收费基价(万元)备注 1 500 16.5 3.3% 2 1000 30.1 3.01% 3 3000 78.1 2.6% 4 5000 120.8 2.4% 5 8000 181.0 2.26% 6 10000 218.6 2.18% 7 20000 393.4 1.96% 8 40000 708.2 1.77% 9 60000 991.4 1.65% 10 80000 1255.8 1.57% 11 100000 1507.0 1.51% 12 200000 2712.5 1.36% 13 400000 4882.6 1.22% 14 600000 6835.6 1.14% 15 800000 8658.4 1.08% 16 1000000 10390.1 1.04% 注:本规定自2007年5月1日执行计费额大于1000000万元的,以计费额乘以1.039%的费率计算收费基价,计算额处于两个数值之间的,采用直线内插法确定施工监理服务收费基价。

相关主题