文档库 最新最全的文档下载
当前位置:文档库 › 高级语言课程设计实验指导书

高级语言课程设计实验指导书

高级语言课程设计实验指导书
高级语言课程设计实验指导书

- 1 - 高级语言课程设计实验教案模版 https://www.wendangku.net/doc/156946297.html,

本实验是C++程序设计的后续课程,目的是通过本实验课,使得学生更好掌握C++的相关知识,提高学生的编程水平、技能和综合应用C++的能力。 实验工具:vc++6.0

实验题目为银行活期储蓄管理系统。系统的功能模块结构图如下:

https://www.wendangku.net/doc/156946297.html,

高级语言课程设计实验教案 (1)

实验项目一、系统主菜单 (2)

实验项目二、开户模块 (3)

实验项目三、存款模块 (8)

实验项目四、取款模块 (9)

实验项目五、计息模块 (10)

实验项目六、查询模块 (11)

实验项目七、排序模块 (13)

C++文件流操作 ....................................................................................................................... 14 银行活期储蓄系统

开户模块 存款模块 取款模块 查询模块 计息模块

主菜

单 财富排行榜

第1章标题1章标题

https://www.wendangku.net/doc/156946297.html,

实验项目一、系统主菜单

实验内容:编写系统主菜单

实验目的:

通过实现系统主菜单模块使得学生掌握工程文件中不同文件之间的函数调用方法。

模块实现算法

包含头部文件

函数声明

extern void kh();开户函数

extern void ck();存款函数

extern void qh();取款函数

extern void jx();计息函数

extern void cx();查询函数

extern void px();排序函数

main()

{

while(1)

{

system(“cls”);//清屏

显示菜单

选择提示并接收用户输入

使用多路选择语句处理用户选择

}

相关知识点:

清屏函数

函数名称system

头部文件Stdlib.h

函数用途调用dos命令

函数原型Int system(const char*command)

参数Command dos命令字符串

容易出现的错误:

①如果将用于接受用户输入选择的变量定义为整型,则当输入非数字字符时候,

程序将进入死循环。

②缺少对被调用的函数的引用声明(extern)。

2

书名

思考:使用工程的优点

https://www.wendangku.net/doc/156946297.html,

实验项目二、开户模块

实验内容:编写开户模块

实验目的:掌握与文件相关的操作

开户模块算法:

函数声明

bool uidinput();

函数的功能是输入身份证并验证是否合法(身份证号长度、组成)

合法返回假否则返回真

bool pwdinput();

函数功能是输入密码和确认密码,并验证密码是否合法,如果合法则返回假,否则返回真

bool moneyinput();

函数功能输入开户金额并验证金额是否合法

合法返回假,否则返回真

void kh()

{

bool xh;

清屏

身份证输入及验证

do

xh= uidinput();

while(xh);

验证当前身份证是否已经开过户

Person p,p2;//对象p用于接收存放开户信息,对象p2用于存放从帐户文件中读取的帐户记录

以读与添加方式打开帐户文件

C文件操作C++文件流操作

3

第1章 标题1章标题

4 定义文件指针

FILE*fp

以读和追加写方式打开帐户文

fp=fopen(char

*fileName,”r+a ”);

if(fp==NULL)

{

//当前帐户文件为空将当前储

户开户信息追加到帐户文件

fwrite( &p,sizeof(zh),1,fp);

关闭文件

fclose(fp);

反馈开户成功信息

返回主菜单

}

else

while(!feof(fp)

{

读取帐户记录

If(读取帐户的帐号==开户帐

号)

{

反馈已经开过户信息 返回系统主菜单

}

}

将开户信息追加到帐户文件

关闭文件

反馈开户成功信息

返回系统主菜单

创建文件流对象 fstream file; 以读追加方式打开帐户文件 file.open(char*fileName",ios::in|ios::out|ios::binary|ios::app,0); while(!file.eof()) { 读取帐户记录 If(读取帐户的帐号==开户帐号) { 反馈已经开过户信息 关闭文件流 file.close(); 返回系统主菜单 } } 将开户信息追加到帐户文件 file.write((char *)&ap,sizeof(zh)); 反馈开户成功信息 关闭文件流 file.close(); 返回系统主菜单

相关知识点:

文件指针定义

FILE * fp;

打开文件(fopen 函数)

函数名称 fopen

头部文件 Stdio.h

书名

函数用途打开一个文件

函数原型FILE *fopen( char *filename,char *mode)

参数filename:文件名称

参数Mode:文件打开模式:

a —追加方式打开文本文件

ab —追加方式打开二进制文件

w —只写方式打开文本文件

wb —只写方式打开二进制文件

r —只读方式打开文本文件

rb —只读方式打开二进制文件

r+a —可读可写追加方式打开文本文件

r+ —可读可写覆盖方式打开文本文件

返回值返回文件指针,打开失败返回NULL

文件写操作(fwrite库函数)

函数名称fwrite

头部文件Stdio.h

函数用途往文件的当前位置开始写入size*count个字节的数据

函数原型int fwrite(void *buf, int size, int count, FILE *fp)

参数fp: 文件指针

参数Buf: 存放要写入的数据的地址

参数Size:写入数据类型的字节数

参数Count:写入数据的数量

文件读操作(fread库函数)

函数名称fread

头部文件Stdio.h

函数用途从文件的当前位置开始中读取size*count个字节的数据

函数原型int fread(void *buf, int size, int count, FILE *fp)

参数fp: 文件指针

参数Buf: 存放读取数据的指针

参数Size:每个数据单位的字节数

参数Count:读取的数据单位个数

关闭文件

fclose(FILE *);

函数名称fclose

5

第1章标题1章标题

头部文件Stdio.h

函数用途关闭文件

函数原型nt fclose(FILE *fp)

参数fp: 文件指针

判断是否到达文件结尾函数(feof库函数)

函数名称feof

头部文件Stdio.h

函数用途检测文件位置指示器是否已到结尾

函数原型int feof(FILE *stream)

参数fp: 文件指针

返回值0-未到文件结尾,1-已到文件结尾

字符串比较函数:

函数名称strcmp

头部文件string.h

函数用途字符串比较

函数原型int strcmp(char *str1,char *str2)

参数str1,str2 待比较的字符串

返回值小于0:str1str2 字符串长度函数

函数名称strlen

头部文件string.h

函数用途得到字符串长度

函数原型int strlen(const char *s)

参数s 待求长度的字符串指针

返回值字符串的长度

判定字符是否数字字符函数

函数名称isdigit

头部文件ctype.h

函数用途测试参数是否为数字0 - 9

函数原型int isdigit(int ch)

参数ch 被测参数

返回值非零-是,0-不是

判断字符是否是数字或字母字符isalnum

函数名称isalnum

6

书名

头部文件ctype.h

函数用途测试参数是否为大、小写字母或数字

函数原型int isalnum(int ch)

参数ch 被测参数

返回值非零-是,0-不是

字符串复制库函数strcpy

函数名称strcpy

头部文件string.h

函数用途将字符串src拷贝到字符串dest中去

函数原型char *strcpy(char *dest, const char *src)

参数dest 目的字符串,src 源字符串

返回值指向dest的指针

从控制台读取字符库函数getch

函数名称getch

头部文件conio.h

函数用途从控制台读取一个字符,但不显示在屏幕上

函数原型int getch(void)

返回值读取的字符

消息框函数

MessageBox(0,"提示","提示",0);

容易出现的错误.

①打开文件的方式与要进行的操作不符

②文件绝对路径中的转义字符\\

③用于存放密码的数组开辟的单元不够

④在逐个输入密码后缺少字符串结束字符\0

⑤在判断当前用户是否开过户时,未遍历所有记录而做出结论

⑥忘记关闭文件

获取系统日期举例:

⑧系统时间的获取示例:

#include

#include

void main()

{

time_t t;

t=time(NULL);

7

第1章标题1章标题

8 tm *T=gmtime(&t);

int year=T->tm_year+1900;

int month=T->tm_mon+1;

int day=T->tm_mday;

int hour=T->tm_hour+8;

int min=T->tm_min;

int sec=T->tm_sec;

cout<

"<

}

实验项目三、存款模块

实验内容:存款模块的设计与实现

实验目的:掌握文件记录的定位与修改

存款模块算法

包含头部文件

定义帐户对象或引用(问题:如何在不同的文件中共享帐户类)

V oid ck()//存款函数

{

//清屏

//提示并输入身份证号码(帐户号码)和存款金额

//输入提示

cin>>p.uid;

//金额验证

//以读写方式打开帐户文件

FILE * fp=fopen(“文件名称”,”r+w”);

do (!feof(fp))//未到文件结尾

fread(&p2,sizeof(person),1,fp);//读取文件指针所指的帐户记录将其存放于对象p2中

//验证是否与存款帐户号码(身份证号码)是否相等

If(!strcmp(p.uid,p2.uid))

{

将文件指针定位于当前存款客户的帐户记录

将当前客户的修改了存款余额的帐户记录(对象)写回帐户文件(覆盖)

关闭文件

反馈存款成功信息

返回主菜单

书名

}

}

//帐户文件遍历结束

关闭文件

//反馈帐号不存在信息

//返回主菜单

相关知识

文件指针定位函数:

函数名称fseek

头部文件stdio.h

函数用途设定文件操作指示器位置

函数原型int fseek(FILE *fp, LONG offset, int origin)

参数fp 文件指针

offset 相对于origin规定的偏移位置量

origin 指针移动的起始位置,可设置为以下三种情况:

SEEK_SET 0 文件开头

SEEK_CUR 1 当前读写的位置

SEEK_END 2 文件尾部

容易出现的错误:

文件指针定位不正确

思考:系统功能之间的序的问题?

实验项目四、取款模块

实验内容:取款模块的设计与编码实现

实验目的:进一步掌握文件操作和编程训练。

取款模块算法

包含头部文件

定义帐户对象

V oid qk()//取款函数

{

清屏

输入身份证号码和密码

以读写方式打开帐户文件

File * fp=fopen(“文件名称”,”r+w”);

while(!feof(fp))//当帐户文件未遍历结束

{

读取文件指针当前所指的帐户记录并存放于对象p2

9

第1章标题1章标题

10 If(p2.身份证号码与用户输入的身份证号码相同且密码也相同) {

输入取款金额并校验

. 验证是否可能透支

If(可能透支)

{

反馈帐户存款不足信息

关闭文件

返回主菜单

}

else

{

修改当前客户的存款余额

将文件指针定位于当前客户的帐户记录

将修改存款余额后的对象写入帐户文件(覆盖)

反馈取款成功信息

关闭文件

返回系统主菜单

}

}

遍历结束

关闭文件

反馈非法用户信息

返回主菜单

容易出现的错误

在查询用户时未将身份证号码和密码同时验证。

思考:存款模块、款模块有何共性?

实验项目五、计息模块

实验内容:实现对所有帐户批处理计息。

实验目的:正确掌握文件指针的定位

计息模块算法:

计算当前帐户文件中的帐户个数n

对帐户文件中所有帐户计息

For(int i=1;i<=n;i++)

{

将指针定位于帐户文件中第i个记录

读取第i个记录

书名

计算第i个帐户记录的利息

将指针定位于帐户文件中第i个记录

修改第i个帐户记录覆盖帐户文件中原有的第i个帐户记录。

}

反馈计息结束信息。

容易出现的错误:

在批处理时候,在读取记录时没有定位。

思考:当完成一个写操作时候,文件指针是否移动到下一个记录?

实验项目六、查询模块

实验内容:实现查询用户的当前存款余额并以人民币大写的形式输出

实验目的:掌握映射算法

容易出现的错误:算法不好

人民币大写示例:

#include

#include

#include

int num[8];//用于存储组成金额的数值

int length;//用于存放组成金额的数值个数

bool jy(int i)//用于验证从第i个数值后是否还存在非零数值

{

int j;

for(j=i;j<=length;j++)

if(num[j]) return true;//存在非0数值

return false;//不存在非0数值

}

void main()

{

MessageBox(0,"人民币大写示例","提示",0);

cout<<"请输入人民币数目:";

int money;

cin>>money;

if(money>99000000)

{

MessageBox(0,"金额过大","提示",0);

return;

}

//处理0元

11

第1章标题1章标题

12 if(money==0)

cout<<"零元";

else//非0元

{

//定义大写映射数组

char dx[10][3]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; //定义单位映射数组

char dw[8][5]={"元","十","百","千","万","十万","百万"};

//将钱以逆序存放于数组

int i=0;

int fl=0;//用于统计非0数值的个数处理整百、千、万...的特殊数值while(money)//将组成金额的数值分离出来

{

num[i]=money%10;//求当前金额的个位数值

cout<

if(num[i])

fl++;//累计非0数出现次数

money/=10;//去掉当前金额的个位

i++;

}

--i;

//将金额分离完毕

length=i;

if(fl<2)//10的整数倍

{

printf(dx[num[i]]);

printf(dw[i]);

printf("元");

}

else

{

int index;

bool first=true;//第一次遇到0标识

while(i>=0)

书名

{

index=num[i];

if(index)//非零数字

{

printf(dx[index]);//输出大写

printf(dw[i]);//输出人民币单位

first=true;//第一次遇到0标识

}

else

{

if(first&&jy(i))//如果是第一次遇到0且此位以后还存在非0数值

printf("零");

first=false;//将第一次遇到0的标识设置为假

}

i--;

}

}

}

思考:在验证用户身份时,为何用户标识和密码同时验证?

实验项目七、排序模块

https://www.wendangku.net/doc/156946297.html,

实验内容将现有储户按照余额以为降序排序。

实验目的:动态数据结构及排序训练。

知识点:

动态分配内存空间函数:allocmem

函数名称allocmem

头部文件dos.h

函数用途按节(16字节)分配内存块

函数原型int allocmem(unsigned size, unsigned * seg)

输入参数size 分配的节数

输出参数seg 分配后的段地址

返回值-1 分配成功,其他数值-实际分配的节数

动态分配内存空间函数:freemem

函数名称freemem

头部文件dos.h

13

第1章标题1章标题

函数用途释放由allocmem()分配的内存块

函数原型int freemem(unsigned seg)

输入参数seg 段地址

返回值0-操作成功,-1 操作失败

思考:动态申请的存储单元的生存期为?

C++文件流操作

在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础。

stream这个类有两个重要的运算符:

1、插入器(<<)

向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"Write Stdout"<<'n';就表示把字符串"Write Stdout"和换行字符('n')输出到标准输出流。

2、析取器(>>)

从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;就表示从标准输入流中读取一个指定类型(即变量x的类型) 的数据。

在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所以,要用这种方式操作文件,就必须加入头文件fstream.h。

一、打开文件

在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是:

void open(const char* filename,int mode,int access);

参数:

filename:要打开的文件名

mode:要打开文件的方式

打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值如下:

ios::app:以追加的方式打开文件

ios::ate:文件打开后定位到文件尾

ios:app就包含有此属性

ios::binary:以二进制方式打开文件,缺省的方式是文本方式。

ios::in:文件以输入方式打开

ios::out:文件以输出方式打开

ios::nocreate:不建立文件,所以文件不存在时打开失败

ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败

ios::trunc:如果文件存在,把文件长度设为0

14

书名

可以用“或”把以上属性连接起来,如ios::out|ios::binary

access:打开文件的属性

打开文件的属性取值是:

0:普通文件,打开访问

1:只读文件

2:隐含文件

4:系统文件

可以用“或”或者“+”把以上属性连接起来,如3或1|2就是以只读和隐含属性打开文件。

例如:以二进制输入方式打开文件c:config.sys

fstream file1;

file1.open("c:config.sys",ios::binary|ios::in,0);

特别提出的是,fstream有两个子类:ifstream(input file stream)和ofstream(outpu file stream),ifstream默认以输入方式打开文件,而ofstream默认以输出方式打开文件。

ifstream file2("c:pdos.def");//以输入方式打开文件

ofstream file3("c:x.123");//以输出方式打开文件

所以,在实际应用中,根据需要的不同,选择不同的类来定义:如果想以输入方式打开,就用ifstream来定义;如果想以输出方式打开,就用ofstream来定义;如果想以输入/输出方式来打开,就用fstream来定义。

二、关闭文件

打开的文件使用完成后一定要关闭,fstream提供了成员函数close()来完成此操作,如:file1.close();就把file1相连的文件关闭。

三、读写文件

读写文件分为文本文件和二进制文件的读取,对于文本文件的读取比较简单,用插入器和析取器就可以了;而对于二进制的读取就要复杂些,下要就详细的介绍这两种方式

文本文件的读写

文本文件的读写很简单:用插入器(<<)向文件输出;用析取器(>>)从文件输入。假设file1是以输入方式打开,file2以输出打开。示例如下:

file2<<"I Love You";//向文件写入字符串"I Love You"

int i;

file1>>i;//从文件输入一个整数值。

这种方式还有一种简单的格式化能力,比如可以指定输出为16进制等等,具体的格式有以下一些

操纵符功能输入/输出

15

第1章标题1章标题

dec 格式化为十进制数值数据输入和输出

endl 输出一个换行符并刷新此流输出

ends 输出一个空字符输出

hex 格式化为十六进制数值数据输入和输出

oct 格式化为八进制数值数据输入和输出

setpxecision(int p) 设置浮点数的精度位数输出

比如要把123当作十六进制输出:file1<

2、二进制文件的读写

①put()

put()函数向流写入一个字符,其原型是ofstream &put(char ch),使用也比较简单,如file1.put('c');就是向流写一个字符'c'。

②get()

get()函数比较灵活,有3种常用的重载形式:

一种就是和put()对应的形式:ifstream &get(char &ch);功能是从流中读取一个字符,结果保存在引用ch中,如果到文件尾,返回空字符。如file2.get(x);表示从文件中读取一个字符,并把读取的字符保存在x中。

另一种重载形式的原型是:int get();这种形式是从流中返回一个字符,如果到达文件尾,返回EOF,如x=file2.get();和上例功能是一样的。

还有一种形式的原型是:ifstream &get(char *buf,int num,char delim='n');这种形式把字符读入由buf 指向的数组,直到读入了num 个字符或遇到了由delim 指定的字符,如果没使用delim 这个参数,将使用缺省值换行符'n'。例如:

file2.get(str1,127,'A');//从文件中读取字符到字符串str1,当遇到字符'A'或读取了127个字符时终止。

4、③读写数据块

要读写二进制数据块,使用成员函数read()和write()成员函数,它们原型如下:read(unsigned char *buf,int num);

write(const unsigned char *buf,int num);

read()从文件中读取num 个字符到buf 指向的缓存中,如果在还未读入num 个字符时就到了文件尾,可以用成员函数int gcount();来取得实际读取的字符数;而write() 从buf 指向的缓存写num 个字符到文件中,值得注意的是缓存的类型是unsigned char *,有时可能需要类型转换。

例:

unsigned char str1[]="I Love You";

int n[5];

16

书名

ifstream in("xxx.xxx");

ofstream out("yyy.yyy");

out.write(str1,strlen(str1));//把字符串str1全部写到yyy.yyy中

in.read((unsigned char*)n,sizeof(n));//从xxx.xxx中读取指定个整数,注意类型转换in.close();out.close();

https://www.wendangku.net/doc/156946297.html,

四、检测EOF

成员函数eof()用来检测是否到达文件尾,如果到达文件尾返回非0值,否则返回0。原型是int eof();

例:if(in.eof())ShowMessage("已经到达文件尾!");

7、五、文件定位

和C的文件操作方式不同的是,C++ I/O系统管理两个与一个文件相联系的指针。一个是读指针,它说明输入操作在文件中的位置;另一个是写指针,它下次写操作的位置。每次执行输入或输出时,相应的指针自动变化。所以,C++的文件定位分为读位置和写位置的定位,对应的成员函数是seekg()和seekp(),seekg()是设置读位置,seekp是设置写位置。它们最通用的形式如下:

istream &seekg(streamoff offset,seek_dir origin);

ostream &seekp(streamoff offset,seek_dir origin);

streamoff定义于iostream.h 中,定义有偏移量offset 所能取得的最大值,seek_dir 表示移动的基准位置,是一个有以下值的枚举:

ios::beg:文件开头

ios::cur:文件当前位置

ios::end:文件结尾

这两个函数一般用于二进制文件,因为文本文件会因为系统对字符的解释而可能与预想的值不同。

例:文件流数据块读写:

# include

#include

# include

class zh

{

public:

char id[19];

char name[9];

17

第1章标题1章标题

zh(char id2[],char name2[])

{

strcpy(id,id2);

strcpy(name,name2);

}

};

void main()

{

//定义文件流对象

fstream file1;

//以读/写方式打开普通文件所指定的文件不存在时自动创建

file1.open("c:\\abc.doc",ios::in|ios::out,0);

创建对象

zh a("abc","efg");

zh b(" "," ");

将对象a写到文件c:\\abc.doc

file1.write((char *)&a,sizeof(zh));

关闭文件

file1.close();

以读方式打开文件

file1.open("c:\\abc.doc",ios::in,0);

从文件中读取数据块

file1.read((char *)&b,sizeof(zh));

cout<

cout<

}

读指针定位

file1.seekg(1234,ios::cur);//把文件的读指针从当前位置向后移1234个字节

写指针定位

9、 file2.seekp(1234,ios::beg);//把文件的写指针从文件开头向后移1234个字节18

汇编实验指导书

汇编语言实验指导书 授课教师李娜 授课对象 05计科、网络、06计科 授课时间 07-08学年第一学期 授课地点一、二、四机房 课程简介 一.实验课程的性质和目的 汇编语言程序设计是计算机专业的一门专业基础课,是学好计算机底层系统构成的课程。汇编语言程序设计是一门实用性很强的课程。汇编语言程序程序设计实验教案是教案的重要环节,是理论教案的重要补充,只有通过实验,学生才能熟练掌握汇编语言程序设计的基本方法,并对其有更深刻的认识。本门实验课是单独设课。 二.实验教案的方法和手段 为了提高实验教案效果,实验严把预习、实验、实验报告3个环节。实验在软件实验室机房完成,单独设组,个人完成实验,每项实验以小班为单位,实验考勤采用电子签到制度。 预习:安排学生学习实验内容,了解实验的过程和操作规程,并布置思考题和预习报告,让学生有目的地去查阅与实验相关的资料。 实验:实验开始前由指导教师讲解实验要点,提出注意事项。实验过程中,主题是学生,教师是辅助作用,要求学生独立完成实验。 实验报告:实验结束后,强调学生及时填写实验记录表,对实验过程进行详细记录,对实验结果细致地分析、讨论,完成相关思考题作业。 三.课程学时 本实验课实验总学时为32学时。 四.实验成绩的考核方法 汇编语言实验成绩按百分制核定。实验过程占50%,实验报告占50%。五.大纲的适用范围 本大纲适用计算机科学与技术专业和计算机应用与维护专业学生。 六.主要设备与器材配备

七.实验项目汇总表 实验一熟悉汇编语言编程环境 一.实验目的 <1)熟悉汇编语言编程环境; <2)掌握基本汇编程序。。 二.实验仪器设备 计算机 三.实验重点、难点 熟悉汇编语言编程环境; DEBUG常用命令的正确使用。-T/-U/-Q/-G 四.实验题目 比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘metch’,否则,显示’no match’。 五.实验内容、步骤 1.调用EDIT建立ASM源文件。 2.用汇编程序MASM对源文件汇编产生目标文件OBJ。 <如有问题,可用DEBUG调试。) 3.用LINK联接程序产生执行文件EXE。 4.执行程序。 附:源程序 ;PROGRAM TITLE GOES HERE—COMPARE STRING ;******************************************************** data segment string1 db 'move the cursor backward.' String2 db 'move the cursor backward.'

《操作系统》实验指导书

《操作系统》实验指导书 石家庄铁道大学

目录 实验一进程调度模拟算法 (1) 实验二存储管理动态分区分配及回收算法 (3) 附录1:实验报告模版 (4) 附录2:实验教学大纲 (5)

实验一进程调度模拟算法 课时:4 实验环境:C/C++ 一、目的和要求 进程调度是处理机管理的核心内容。本实验要求用高级语言编写模拟进程调度程序,以便加深理解有关进程控制快、进程队列等概念,并体会和了解优先数算法和时间片轮转算法的具体实施办法。 二、实验内容 1.设计进程控制块PCB的结构,通常应包括如下信息: 进程名、进程优先数(或轮转时间片数)、进程已占用的CPU时间、进程到完成还需要的时间、进程的状态、当前队列指针等。 2.编写两种调度算法程序: 优先数调度算法程序 循环轮转调度算法程序 3.按要求输出结果。 三、提示和说明 分别用两种调度算法对伍个进程进行调度。每个进程可有三种状态;执行状态(RUN)、就绪状态(READY,包括等待状态)和完成状态(FINISH),并假定初始状态为就绪状态。(一)进程控制块结构如下: NAME——进程标示符 PRIO/ROUND——进程优先数/进程每次轮转的时间片数(设为常数2)CPUTIME——进程累计占用CPU的时间片数 NEEDTIME——进程到完成还需要的时间片数 STATE——进程状态 NEXT——链指针 注: 1.为了便于处理,程序中进程的的运行时间以时间片为单位进行计算; 2.各进程的优先数或轮转时间片数,以及进程运行时间片数的初值,均由用户在程序运行时给定。 (二)进程的就绪态和等待态均为链表结构,共有四个指针如下: RUN——当前运行进程指针 READY——就需队列头指针 TAIL——就需队列尾指针 FINISH——完成队列头指针 (三)程序说明 1. 在优先数算法中,进程优先数的初值设为: 50-NEEDTIME 每执行一次,优先数减1,CPU时间片数加1,进程还需要的时间片数减1。 在轮转法中,采用固定时间片单位(两个时间片为一个单位),进程每轮转一次,CPU 时间片数加2,进程还需要的时间片数减2,并退出CPU,排到就绪队列尾,等待下一次调度。 2. 程序的模块结构提示如下: 整个程序可由主程序和如下7个过程组成:

单片机电子时钟课程设计实验报告

单片机电子时钟课程设 计实验报告 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号: 班级:自动化1211 指导老师:阮海容 目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路 PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。 3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位 (例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。

工艺综合课程设计指导书

《工艺综合课程设计》简明指导书 1.设计目的 《机械制造工艺与机床夹具》是一门实践性很强的课程,只有通过实践性教学环节才能使学生对该课程的基础理论有更深刻的理解,也只有通过实践才能培养学生理论联系实际的能力和独立工作能力。该设计的目的就在于: (1)在结束了《机械制造工艺与机床夹具》及有关课程的学习后,通过本次设计使学生所学到的知识得到巩固和加深,并培养学生学会全面综合地应用所学知识,去分析和解决机械制造中的问题的能力。 (2)通过设计提高学生的自学能力,使学生熟悉机械制造中的有关手册、图表和技术资料,并学会结合生产实际正确使用这些资料。 (3)通过设计使学生树立正确的设计思想,懂得合理的设计应该是技术上先进的,经济上合理的并且在生产实践中是可行的。 (4)通过编写设计说明书,提高学生对技术文件的整理、写作及组织编排能力,为学生将来撰写技术及科研论文打下基础。 2.设计内容 (1)编制规定零件的机械制造工艺规程一份; (2)填写规定零件的《机械加工工艺过程卡》一份; (3)填写规定零件某机械加工工序的《机械加工工序卡片》一份; (4)设计规定零件的某机械加工工序的专用夹具一套并绘制其总装图一张; (5)编写设计说明书一份。 3.设计步骤及要求 (1)根据给定的生产纲领,确定生产类型。 (2)分析和审查零件图:读懂零件图;审查该零件的结构工艺性;了解其主要技术要求;区分哪些表面是加工表面,哪些表面是不加工表面;查清各表面的尺寸公差、形位公差、表面粗糙度和特殊要求,区分各表面的精密与粗糙、主要与次要、重要与不重要等相对地位。在此基础上初步确定各加工表面的加工方法。 (3)根据给定的零件材料,确定毛坯种类。并确定加工表面的总加工余量。 (4)拟定零件的机械加工工艺规程:选择粗基准和精基准;确定各表面的加工方法;确定加工顺序;安排热处理工序及必要的辅助工序。 (5)确定各工序的加工设备,刀具及夹具。 (6)对工艺规程中的某道工序使用的夹具进行设计:一般画一张A1图,要求手工绘图。 a. 以有利于反映该工序加工的位置,选取投影视图。用双点划线画出零件轮廓。 b. 在零件定位表面处,画出定位元件或机构。 c. 在夹紧位置处画夹紧机构。 d. 在对刀位置画出对刀元件或刀具导引装置。 e. 画出与机床连接的元件及其它元件。 f. 绘图时要遵守国家标准的规定画法,能用标准件的尽量采用标准件。 g. 为表达清楚夹具结构,应有足够的视图、剖面图、局部视图等。 h. 夹具图上应标注夹具的总体轮廓尺寸,对刀尺寸,配合尺寸及配合公差要求,并标明夹具制造,验收和使用的技术要求。 i. 在夹具图右下角绘制国家标准规定的标题栏和明细表,表中详细列出零件的名称,代号,数量,材料,热处理及其它要求。 (7)确定所设计夹具的工序的工序余量,计算工序尺寸及公差。 (8)确定所设计工序的切削用量及工时定额。 (9)填写工艺文件——工艺过程卡和工序卡各一份。

汇编语言程序设计实验指导书

汇编语言实验报告题目:子程序设计 班级:rbw111 姓名:吴德鹏 学号:201107092416 完成日期:2013.12.22

概述: 《汇编语言程序设计》实验指导书是非计算机、非电类的其他专业:包括纺织、机械、热能等专业的《汇编语言程序设计》课程配套使用的实验指导。在理论课的教学中着重介绍微机系统的组成及工作原理,针对INTEL 8088/8086系列介绍相应的指令系统和汇编语言程序设计,介绍了接口的一般概念和CPU与外设交换信息的常用方式的软硬件设计思想。实验课测重培养学生的汇编语言设计能力及一些简单接口程序设计的方法,训练学生汇编语言程序调试的能力。通过实验,使学生加深对课堂教学内容的理解,培养学生综合使用微型机的初步能力。其中实验一、实验二是后续实验的基础,通过该实验,学生应能了解汇编语言源程序的一般格式,熟悉汇编语言程序的上机过程和调试程序的基本方法,重点放在DEBUG调试程序的命令使用方法上。也可以将实验一、实验二合并为一个实验,按照*实验一的要求进行;实验三、四、五进一步培养学生的各种结构的程序设计能力;实验六主要是简单接口的综合应用,为学生建立一个微机应用系统的概念,使学生通过具体的实例对相关的接口有感性认识,提高学生的实际动手能力和独立解决问题的能力。教师可以根据专业学时的多少和学生的具体情况来开设实验。 一、实验目的: 1.进一步熟悉分支、循环程序设计的方法及用DEBUG调式程序的方法。 2.熟练掌握子程序的参数传递的方式、子程序的嵌套、递归调用及其设计方法和技巧。 3、培养学生创新精神和独立运用所学基本知识和技能分析问题和解决问题的能力。 二、实验属性: 显示学生名次表:编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于50字的grade数组中,其中grade+i保存学号为i+1的学生的成绩。然后根据grade中的学生成绩,把学生名次填入50字的rank数组中,其中rank+i的内容是学号为i+1学生的名次。再按学号顺序把名次从终端上显示出来。 说明:程序设计中应体现出模块化程序设计思想和方法。 三、实验仪器设备: 提供实验条件。 Pc机并在debug的环境下进行调试

高级语言实验指导书级模板

高级C语言及其应用实验指导书 电信13级使用 李丽张承云秦剑编 机械与电气工程学院 -3 目录 实验一指针的应用( 4学时) (3) 实验二位运算的应用( 2学时) (5) 实验三界面处理的应用( 4学时) (6) 实验四外设的应用( 2学时) (8) 实验五模块化的程序设计( 4学时) (9) 实验一指针的应用( 4学时) 一、实验目的 1.掌握C语言指针变量的定义、声明和赋值 2.学会使用指针变量的程序设计 3.掌握指针作为函数参数的用法

二、实验设备 计算机、VC++6.0 三、实验原理( 以下内容需自己写) 1、指针的概念 2、指针变量的定义、引用和赋值方法 3、指针的基本运算( 比较、加减) 4、指针与数组的关系 5、指针作为函数参数的方法 ( 1) 基本数据类型指针、数组名作为输入参数 ( 2) 指针作为函数返回值 6、结构体指针的定义与结构体成员引用 四、实验内容 1、已知两个整型变量a和b,它们的值分别为6和9。请定义两个 指针变量, 经过指针变量访问整型变量a和b,并经过类似printf(”%d,%d\n”,*pointer_1,*poin ter_2)这样的语句打印出a和b 的值。 2、有一个数组的值为{1, 2, 3, 4, 5, 6}, 希望对这个数组的数据都乘 以2。请用”指针+下标”访问数组的方法来实现。( 提示: 用*(pointer+i)这样的方法来访问数组) 3、已知二维数组:inta[3][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},用 指针的方法访问数组, 并按以下格式打印数据。 12345 678910 4、已知下面一些字符串: charstr[20]="Guangzhouuniversity";

vf课程设计实验报告模板

vf 课程设计实验报告模板 经济管理学院 学生信息管理系统的设计与实现 09年12 月28 日 、课程设计的目的和意义 当今,人类正在步入一个以智力资源的占有和配置,知识生产、分配和使用为最重要因素的知识经济时代,为了适应知识经济时代发展的需要,大力推动信息产业的发展,我们通过对学生信息管理系统的设计,来提高学生的操作能力,及对理论知识的实践能力,从而提高学生的基本素质,使其能更好的满足社会需求。 学生信息管理系统是一个简单实用的系统,它是学校进行学生管理的好帮手。 此软件功能齐全,设计合理,使用方便,适合各种学校对繁杂的学生信息进行统筹管理,具有严格的系统使用权限管理,具有完善的管理功能,强大的查询功能。它可以融入学校的信息管理系统中,不仅方便了学生信息各方面的管理,同时也为教师的管理带来了极大地便利。 我们进行本次课程设计的主要目的是通过上机实践操作,熟练掌握数据库的设 计、表单的设计、表单与数据库的连接、SQL语言的使用和了解它的功能:数据定 义、数据操纵、数据控制,以及简单VF程序的编写。基本实现学生信息的管理, 包括系统的登录、学生信息的录入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除,并对Visual FoxPro6.0 的各种功能有进一步的了解,为我们更进一步深入的学习奠定基础,并在实践中提高我们的实际应用能力,为我们以后的学习和工作提供方便,使我们更容易融入当今社会,顺应知识经济发展的趋势。 - 1 -

、系统功能设计 通过该系统可以基本实现学生信息的管理,包括系统的登录、学生信息的录 入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除。系统 功能模块如下图所示。 学生信息管理系统主界面 登录 管理 学学学学学 生生生生生 信信信信信 息息息息息 录查浏修删 入询览改除 三、系统设计内容及步骤 3.1创建项目管理文件 1.启动foxpro 系统,建一个项目管理器,命名为“学生管理”。 哑 目f ■ 也 电 岂同左 矣 氏H. 0 存 JI 蛋誤曾

无机材料工艺课程设计指导书

无机非金属材料专业 《无机材料工艺课程设计》 指导书 无机非金属材料研究所编 2010年5月

目录 课程设计要求与说明 (1) 第一章窑炉制图规格 (2) 第二章窑体图 (9) 第三章尺寸标注 (13) 第四章窑炉课程设计说明书撰写规范 (19) 第五章设计说明书的编写 (22) 图1 隧道窑窑体主图 (26) 图2 隧道窑预热带典型断面图 (30) 图3 辊道窑窑体主图 (31) 图4 辊道窑窑体断面图 (33)

课程设计要求与说明 一、课程设计目的 课程设计是课堂教学的实践延伸,目的是对学生学习《陶瓷工艺学》课程的最后总结,是教学重要的一环。要求学生通过课程设计能综合运用和巩固所学的理论知识,并学会如何将理论与实践结合,研究解决实际中的工程技术问题。 主要任务是培养学生设计与绘图的基本技能,掌握窑炉设备的设计程序、过程与内容。学生根据老师给定的设计任务,在规定的时间里,应围绕自己的题目内容,结合所学知识,认真查阅资料,体验工程设计的过程,同时锻炼学生分析和解决实际问题的能力。 二、课程设计要求 通过本课程设计,要求学生进一步了解窑炉设备的基本结构;掌握窑炉设备的工作原理、工程制图方法和编制设计说明书的方法,同时要求学生融会贯通所学的理论知识,与实践结合,理解窑炉设备的设计思想和设计方法。学生对课程设计题目应视作真正的任务,要求学生认真负责地进行设计,每一个计算数据和结构设计应尽可能与生产实际相结合,课程设计应作为学生的创造性成果,不能抄袭历届学生的设计,也不允许简单照搬现成的资料,要求学生能表达自己的设计思想。 三、课程设计题目、内容 1、设计题目:隧道窑设计 辊道窑设计 2、设计内容 (1)图纸:主体结构图及主要断面图。要求尺寸标注齐全,线条、文字、图例规范; (2)说明书:确定主要尺寸和工作系统,进行燃烧计算和热平衡计算,要求计算正确,编写完整,格式规范。

汇编语言程序设计-实验指导书

汇编语言程序设计 实验指导书 编写:郑利平 合肥工业大学计算机与信息学院 2008-9-1

汇编语言程序设计实验指导书 《汇编语言程序设计》实验是学习本课程的每个考生必须要通过的一个重要的实践环节,根据“汇编语言程序设计自学考试大纲”规定:上机实验单独作为本课程的实验考核成绩。《汇编语言程序设计》是一门实践性很强的课程,只有多上机操作,对汇编语言源程序进行编辑、汇编、连接、调试和运行全过程的训练,才能加深对本课程基本知识的理解,才能熟练地掌握程序设计的方法与技巧,才能学好本课程。 本实验指导书是完全按照《汇编语言程序设计自学考试大纲》中“实验大纲”的要求编写的,为便于考生较好完成上机操作和实验报告,特此作出如下说明和要求: (1)做好上机实验的准备工作:应考者对每个实验需要进行预习,了解相关内容和具体要求,熟悉上机操作步骤,学会相关系统软件的使用,掌握各种操作调试命令。 (2)编写源程序:按照实验题目的要求,应考者要事先独立完成汇编语言源程序的编写工作,并对源程序进行认真的静态检查,减少错误的发生。 (3)完成实验报告:做完上机实验,应考者要严格按照实验报告的格式要求写出实验报告。实验报告的内容为:实验名称、实验的目的、实验的内容和要求、实验步骤、实验结果并附上源程序清单和程序流程图。

实验一DEBUG的使用 (一)实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 (二)实验设备 硬件环境:IBM-PC及其兼容机 软件环境:操作系统DOS3.0版本以上 调试程序https://www.wendangku.net/doc/156946297.html, (三)实验内容和要求 实验内容: 1、利用DEBUG程序中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H 单元中。 实验要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 (四)预习要求 1、复习DOS启动方式和DOS有关命令的使用; 2、阅读本书后的附录,熟悉掌握DEBUG调试程序中的A、D、E、G、Q、R、T、U命令的书写格式及功能; 3、复习寻址方式和相关的数据传送指令及算术运算指令。 (五)实验步骤 1、启动DOS操作系统 2、运行https://www.wendangku.net/doc/156946297.html,程序(若当前盘为C) C:>DEBUG↙ – ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG 命令) 3、用“A”命令编辑和汇编源程序 –A ↙ 186E:0100 MOV AX,[0200]↙ 186E:0103 MOV BX,[0202]↙ 186E:0107 ADD AX,[0204]↙ 186E:010B ADC BX,[0206]↙ 186E:010F MOV [0208],AX↙ 186E:0112 MOV [020A],BX↙

编译实验指导书(2017)

《编译原理》 实验指导书 太原理工大学计算机与软件学院 2017 年 3 月

《编译原理》实验 适用专业:计算机实验类别:专业实验 实验时数:8学时 一、实验课程的性质、目的和任务 1.培养学生初步掌握编译原理实验的技能。 2.验证所学理论、巩固所学知识并加深理解。 3.对学生进行实验研究的基本训练。 二、实验课程的内容、要求及学时分配 实验一、无符号数的词法分析程序(4学时) 内容:掌握词法分析的基本思想,并用高级语言编写无符号数的词法分析程序。 要求:从键盘上输入一串字符(包括字母、数字等),最后以“;”结束,编写程序识别出其中的无符号数。 无符号数文法规则可定义如下: <无符号数>→<无符号实数>│<无符号整数> <无符号实数>→<无符号整数>.<数字串>[E<比例因子>]│ <无符号整数>E<比例因子> <比例因子>→<有符号整数> <有符号整数>→[+│-]<无符号整数> <无符号整数>→<数字串> <数字串>→<数字>{<数字>} <数字>→0 1 2 3 (9) 读无符号数的程序流程图见下图

实验二、逆波兰式生成程序(4学时) 内容:掌握语法分析的基本思想,并用高级语言编写逆波兰式生成程序; 要求:利用逆波兰式生成算法编写程序,将从键盘上输入的算术表达式(中缀表达式)转化成逆波兰式。 逆波兰表达式的生成过程涉及到运算符的优先级,下表中列出几个常用运算 符的优先关系。 常用运算符优先关系矩阵 如上表所示的优先关系矩阵表示了+,-,*,/,↑,(,)等七种运算符之间的相互优先关系。“>、<、=”三种符号分别代表“大于”、“小于”、“相等”三种优先关系。左边的“=”与右边的“(”之间没有优先关系存在,所以表中为空白。 逆波兰表达式生成算法的关键在于比较当前运算符与栈顶运算符的优先关系,若当前运算符的优先级高于栈顶运算符,则当前运算符入栈,若当前运算符的优先级低于栈顶运算符,则栈顶运算符退栈。 下面给出了逆波兰表达式生成算法的流程图。(为了便于比较相邻运算符的优先级,需要设立一个工作栈,用来存放暂时不能处理的运算符,所以又称运算符栈)。

焊接工艺课程设计指导书

材料成形及控制工程专业课程设计 焊接工艺设计指导书 一、设计目的 1.通过实际产品的焊接工艺设计,使学生了解焊接结构的生产工艺过程; 2.掌握焊接工艺的设计方法及工艺文件的制定; 3.培养学生运用专业理论知识解决实际焊接生产问题的能力,锻炼查阅文献资料及工具书籍的基本技能。 二、设计内容 在规定时间内,完成由教师指定的某一个结构件的焊接工艺设计任务,主要内容包括: 1. 焊接结构件的设计简图与技术要求; 2. 产品的制造工艺性能分析; 3. 主要接头的焊接方法选择与说明,坡口型式及尺寸的设计与说明; 4. 主要部件(筒节、封头等)的加工工艺过程卡; 5. 产品的装焊工艺过程卡; 6. 壳体的焊接工艺卡。 三、设计要求 1.手绘产品的结构设计简图,标注出产品的主要结构尺寸;主要零件的名称、材质与规格;设计技术要求(包括制造技术要求与检验要求)等。 2.产品的制造工艺性能分析主要包括容器主体材料的焊接性分析与结构的装焊工艺性能分析。容器主体材料的焊接性能主要分析材质的焊接裂纹倾向及产生其它焊接缺陷的倾向,说明为保证焊接质量应采取的工艺措施,如合理选用焊接方法、焊接材料、焊前预热、焊后热处理、层间温度等;结构的装焊工艺性能分析主要针对特殊、复杂容器结构,分析需要采用的装焊顺序与方法。 2. 接头焊接方法的选择和坡口型式的设计应包括纵焊缝、环焊缝、封头拼缝、 人孔接管与筒体的焊缝等,绘制接头的局部放大图。选择与设计的依据主要从容器结构尺寸、接头位置、材质及厚度、施焊条件与可操作性、焊接变形与应力、装焊顺序等方面考虑。 3. 主要部件(筒节、封头等)的加工过程卡要求制定部件从原材料备料至组 装焊接之前的全部加工工艺过程,包括各加工工序的名称、加工内容、所用的工装设备与检验要求等,必要时绘制出加工工艺简图; 4. 壳体的装焊工艺设计包括装焊工艺顺序、工序名称与内容、各工序所涉及

余敦辉《汇编语言》实验指导书实验1-实验3

《汇编语言》实验指导书

目录 实验一Debug命令的使用 (3) 实验二基本汇编指令的使用 (9) 实验三汇编语言程序的调试与运行 (13) 实验四系统功能调用程序的调试与运行………………错误!未定义书签。 实验五分支程序设计……………………………………错误!未定义书签。 实验六循环程序设计……………………………………错误!未定义书签。 实验七子程序设计………………………………………错误!未定义书签。 实验八高级汇编语言程序设计…………………………错误!未定义书签。 实验九I/O程序设计……………………………………错误!未定义书签。 实验十中断程序设计……………………………………错误!未定义书签。 实验十一综合程序设计 (38)

实验一Debug命令的使用 一、知识点 1、DEBUG简介 DEBUG.EXE是DOS提供的用于调试可执行程序的一个工具软件。在汇编语言程序调试中很常用。 DEBUG的提示符是“-”,所有DEBUG调试命令军在此提示符下输入。 DEBUG命令都是一个字母,后跟一个或多个参数,也可使用默认参数。 DEBUG命令的使用注意问题: (1)字母不分大小写 (2)只使用十六进制数,但没有带后缀字母“H” (3)命令如果不符合DEBUG的规则,则将以“error”提示,并以“^”指示出错位置。 (4)每个命令只有按下回车键后才有效,可以用Ctrl+Break终止命令的执行。 2、Debug的调入和退出 以WIN7环境为例,点击“开始/运行…”,在“运行”对话框中输入命令:cmd,然后点击“确定”,进入DOS命令行状态: C:\Documents and Settings\lfy> 然后输入命令: >Debug 进入Debug调试状态,出现Debug命令提示府“-”,在此提示符下可运行所需要的Debug 命令了。 退出Debug的命令:Q 3、Debug常用命令 (1)汇编命令A,格式为: - A [地址] 功能:从指定地址开始允许输入汇编指令,并将该指令汇编成机器指令代码从指定地址开始存放。若不指定地址,则系统从默认的地址开始存放。按回车键退出汇编状态 应用:用于调试一条指令或几条指令组成的一个程序段。

《C语言》实验指导书

《C语言程序设计》 实 验 指 导 书 华中师范大学信息技术系 二00九年三月

项目一:熟悉C语言的运行环境及简单程序设计 (12) 实验一熟悉C语言的运行环境 实验二c程序初步 (3) 实验三数据类型及输入输出 (5) 实验四运算符与表达式 (8) 项目二:流程控制、指针、数组、模块化程序设计 实验五分支程序设计 (9) 项目六循环程序设计 (11) 项目七函数 (12) 项目八数组 (13) 项目九指针 (15) 项目三:综合程序设计——竞赛编排及优胜排序 (注:每个项目应包含实验学习目标、实验内容、实验原理、实验设备、实验步骤、实验注意事项或实验思考等内容。 基本型实验应有明确的实验学习目标、详细的过程和具体的结果;综合设计型实验应有明确的实验学习目标、可参考的过程和实验结果评价标准)

实验基本要求 1、每次实验前,学生必须预习实验内容,实验程序必须自行编制、自行调试。 2、每次实验,学生都必须提交实验报告,内容包括实验目的、实验内容、实验程序、实验过程(软件的使用、程序的调试)等,见下面的实验报告模版。 3、学生第一次上机时,应在教师机指定文件夹下建立以自己学号+姓名的子文件夹,例如学号为2005683001的学生张三,应在教师机指定文件夹下建立“2005683001张三”的子文件夹,此文件夹就是学生张三存放本课程实验全部文档的文件夹,也是教师评价学生饰演成绩的主要依据。 4、学生每次实验完毕后,都应将实验报告、实验程序等文档上传到教师机自己建立的子文件夹中。 5、学生每次实验,都应该在考勤表上签到。 附 华中师范大学信息技术系c语言程序设计实验报告 实验目的: 实验设备(包括软件): 实验内容: 实验过程: 实验程序及实验结果: 实验体会:

【实验报告】大学物理实验课程设计实验报告

大学物理实验课程设计实验报告北方民族大学 大学物理实验(设计性实验) 实验报告 指导老师:王建明 姓名:张国生 学号:XX0233 学院:信息与计算科学学院 班级:05信计2班 重力加速度的测定 一、实验任务 精确测定银川地区的重力加速度 二、实验要求 测量结果的相对不确定度不超过5% 三、物理模型的建立及比较 初步确定有以下六种模型方案: 方法一、用打点计时器测量

所用仪器为:打点计时器、直尺、带钱夹的铁架台、纸带、夹子、重物、学生电源等. 利用自由落体原理使重物做自由落体运动.选择理想纸带,找出起始点0,数出时间为t的p点,用米尺测出op的距离为h,其中t=0.02秒×两点间隔数.由公式h=gt2/2得g=2h/t2,将所测代入即可求得g. 方法二、用滴水法测重力加速度 调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n取 50―100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2. 方法三、取半径为r的玻璃杯,内装适当的液体,固定在旋转台上.旋转台绕其对称轴以角速度ω匀速旋转,这时液体相对于玻璃杯的形状为旋转抛物面重力加速度的计算公式推导如下: 取液面上任一液元a,它距转轴为x,质量为m,受重力mg、弹力n.由动力学知: ncosα-mg=0(1) nsinα=mω2x(2) 两式相比得tgα=ω2x/g,又tgα=dy/dx,∴dy=ω2xdx/g, ∴y/x=ω2x/2g.∴g=ω2x2/2y. .将某点对于对称轴和垂直于对称轴最低点的直角坐标系的坐标x、y测出,将转台转速ω代入即可求得g.

冲压工艺与模具设计课程设计指导与任务书

冲压工艺及模具设计》课程设计指导书 2.1 课程设计目的 本课程设计是在学生学完“冲压工艺与冷冲模具设计”理论课并进行了上机练习之后 进行的一个重要教学环节。是学生运用所学理论,联系实际,提高工程技术能力和培养严 谨细致作风的一次重要机会。通过本次设计要达到以下目的: 1、巩固与扩充“冲压工艺与冷冲模具设计”以及有关技术基础课程所学的内容,掌握 制订冲压工艺规程和设计冲压模具的方法。 2、培养综合运用本专业所学课程的知识, 解决生产中实际问题的工程技术能力 设计、计 算、绘图、技术分析与决策、文献检索以及撰写技术论文的能力)。 3、养成严肃、认真、细致地从事技术工作的优良作风。 2.2 课程设计步骤 1. 设计准备 1) 阅读产品零件图 (1) 设计前应预先准备好设计资料、手册、图册、绘图用具、图纸、说明书用纸。 (2) 认真研究任务书及指导书,分析设计题目的原始图样、零件的工作条件,明确设 计要求 及内容。 (3) 熟悉各种可采用的模具结构形式及其优缺点。 2) 冲件图样分析 产品零件图是分析编制冲压方案、设计模具的重要依据,对零件图的分析 主要是从冲 压工艺的角度出发,对冲压件的形状、尺寸 ( 最小孔边距、孔径、材料厚度、最大 外形 精度、表面粗糙度、材料性能等逐项分析,确定冲压工序图。若有与冲压工艺要求相悖者, 应采 取相应的解决措施或与指导教师协商更改。 (1) 工艺分析。 合理的冲压工艺,既能保证冲件的质量,使冲压工艺顺利进行,提高模具寿命,降低 成本,提高经济效益,同时给模具的设计、制造与修理带来方便。所以必须对指定的冲压 件图样进行充分的工艺分析,在此基础上,拟订各种可能的不同工艺方案。 工艺分析主要是分析冲件的形状、尺寸及使用要求,分析冲件的工艺性;根据成形规 律,确定所用冲压工艺方法;根据生产批量、冲压设备、模具加工的工艺条件等多方面因 素,进行全面的分析、研究,确定冲件的工艺性质、工序数量、工序的组合和先后顺序。 在几种可能的冲压工艺方案中,选择一种经济、合理的工艺方案,并填写冲压工艺卡。 (2) 制订冲压工艺。 制订冲压工艺方案时,应做如下工作: ① 备料。确定板料、条料的规格、要求,并计算出材料利用率。 ② 确定工序性质、数目、先后顺序、工序的组合形式。 包括: )、

编译原理实验指导书(图)

编译原理 实 验 指 导 书

前言 编译原理是计算机科学与技术、软件工程等专业的主干课和必修课,由于这门课程相对抽象且内容较复杂,一直是比较难学的一门课程。在编译原理的学习过程中,实验非常重要,只有通过上机实验,才能使学生对比较抽象的课程内容产生一个具体的感性认识。 本书实验环境主要为C环境及一个词法分析器自动生成工具FLEX和一个语法分析器自动生成工具BISON。书中给出的参考源程序也是C源程序,但由于实验者熟悉精通的语言工具不尽相同,因而强求采用统一的编程语言编程是不现实的。实验者在掌握了编译程序各个阶段的功能和原理之后,不难借助使用其他自己熟悉的语言实现相关功能。 实验者在实验过程中应该侧重写出自己在算法分析、设计思路、实现功能或程序代码等方面的特色,写出设计和实现过程中遭遇到的难点和解决办法,可以不拘泥于实验指导给出的参考性设计思路,尽可能在深度和广度上加以拓展。只有这种各具特色的实验报告,才将更有利于体现实验者在创新思维和动手能力上的差异。 通过这些实验,能使学生对这些部份的工作机理有一个详细的了解,达到“知其然,且知其所以然”的目的。并可在C环境下对自动生成工具生成的词法、语法分析器进行编译调试。 由于手工生成词法和语法分析器的工作量太大,在实际中常用自动生成工具来完成之。这些工具中最著名的当属贝尔实验室的词法分析器生成工具LEX和语法分析器生成工具YACC。它们现已成为UNIX的标准应用程序同UNIX一起发行。与此同时GNU推出与LEX完全兼容的FLEX,与YACC完全兼容的BISON。这两个程序都在Internet上以源代码的形式免费发行,所以很容易在其它操作系统下重新编译安装。我们实验采用的就是for dos的FLEX和BISON。本书有关的编译工具及其源程序例子,可到BISON的网站上下载。关于FLEX和BISON的用法简介,参见附录,如需更详细的介绍,请参阅编译工具中帮助文件。

南邮课程设计实验报告

课程设计I报告 题目:课程设计 班级:44 姓名:范海霞 指导教师:黄双颖 职称: 成绩: 通达学院 2015 年 1 月 4 日

一:SPSS的安装和使用 在PC机上安装SPSS软件,打开软件: 基本统计分析功能包括描述统计和行列计算,还包括在基本分析中最受欢迎的常见统计功能,如汇总、计数、交叉分析、分类比较、描述性统计、因子分析、回归分析及聚类分析等等。具体如下: 1.数据访问、数据准备、数据管理与输出管理; 2.描述统计和探索分析:频数、描述、集中趋势和离散趋势分析、分布分析与查看、正态性检验与正态转换、均值的置信区间估计; 3.交叉表:计数;行、列和总计百分比;独立性检验;定类变量和定序变量的相关性测度; 4.二元统计:均值比较、T检验、单因素方差分析; 5.相关分析:双变量相关分析、偏相关分析、距离分析; 6.线性回归分析:自动线性建模、线性回归、Ordinal回归—PLUM、曲线估计; 7.非参数检验:单一样本检验、双重相关样本检验、K重相关样本检验、双重独立样本检验、K重独立样本检验; 8.多重响应分析:交叉表、频数表; 9.预测数值结果和区分群体:K-means聚类分析、分级聚类分析、两步聚类分析、快速聚类分析、因子分析、主成分分析、最近邻元素分析; 10. 判别分析; 11.尺度分析; 12. 报告:各种报告、记录摘要、图表功能(分类图表、条型图、线型图、面积图、高低图、箱线图、散点图、质量控制图、诊断和探测图等); 13.数据管理、数据转换与文件管理; 二.数据文件的处理 SPSS数据文件是一种结构性数据文件,由数据的结构和数据的内容两部分构成,也可以说由变量和观测两部分构成。定义一个变量至少要定义它的两个属性,即变量名和变量类型其他属性可以暂时采用系统默认值,待以后分析过程中如果有需要再对其进行设置。在spss数据编辑窗口中单击“变量视窗”标签,进入变量视窗界面,即可对变量的各个属性进行设置。 1.创建一个数据文件数据 (1)选择菜单【文件】→【新建】→【数据】新建一个数据文件,进入数据编辑窗口。窗口顶部标题为“PASW Statistics数据编辑器”。 (2)单击左下角【变量视窗】标签进入变量视图界面,根据试验的设计定义每个变量类型。

焊接结构课程设计指导书

焊接结构与生产工艺课程设计指导书通用桥式起重机金属结构和生产工艺设计 曹永胜李慕勤曹丽杰 佳木斯大学材料工程学院

通用桥式起重机金属结构和生产工艺课程设计指导书 一、设计目的 1.培养学生综合运用所学知识的技能.通过对典型焊接结构和生产工艺的设计,使学生能针对产品使用性能和使用条件,制定焊接结构的设计方案及生产工艺方案。在具体的设计过程中,应根据结构的特点和技术要求,提出问题,分析问题产生的原因,并找到解决问题的途径和具体措施,制定合理的结构设计方案和生产工艺方案,从而得到一次解决实际工程问题的锻炼. 2.培养学生自学能力.使学生熟悉工具书,参考书的查找与使用方法,在学习前人的设计经验的基础上,发挥主观能动性,有所创新. 3.了解焊接工程技术人员的主要任务,工作内容和方式方法. 二、设计内容与计划 (一)设计内容 1. 5~50T通用桥式起重机主梁箱型结构设计。 2. 5~50T通用桥式起重机主梁生产工艺指定。 3.5~50T通用桥式起重机主梁结构生产图纸绘制。 (二)设计计划 1.接受设计任务、查阅资料和制定设计方案。(2天) 2.主梁结构设计计算;(7天) 3.主梁结构生产图纸绘制;(1天) 4.主梁结构生产工艺分析;(2天) 5.主梁生产工艺规程制定。(2天) 6.总结和考核。(1天) (三)任务完成 课程设计完成后,学生应交付以下材料: 1 主梁结构设计计算说明书; 2 主梁结构生产工艺分析报告; 3 主梁结构生产用施工图纸; 4 主梁生产工艺规程.

通用桥式起重机主梁结构及生产工艺设计 §1 通用桥式起重机简介 通用桥式起重机是指用吊钩或抓斗(有的也有用电磁盘)吊取货物的一般用途的桥式起重机,它桥架(大车)和起重小车两大部分组成,桥架横跨于厂房或露天货物上空,沿吊车梁上的起重机轨道纵向运行。通用桥式起重机有大车运行机构(装在桥架上),起升机构和小车运行机构(装在小车上)等三种工作性机构,皆为电动。通用桥式起重机的起重量可达500吨,跨度50~60米。 1.1 通用桥式起重机的基本组成 1.2 通用桥式起重机的基本参数 1额定起重量Q(tf) 2 跨度L(m) 3大车运行速度(m/min) 4 小车运行速度(m/min) 5 起升高度(m) 6 起升速度(m/min) 7 接电持续率JC JC = 100t i /T % t i —在起重机的一个工作循环中该机的总运转时间。 T --起重机一个工作循环所需的时间。 T = 360/N h (s) 通用桥式起重机 大车 小车桥架 大车运行机构 主梁 端梁小车架 小车运行机构 起升机构 图 1 通用桥式起重机组成

实验指导书参考2

汇编语言程序设计实验指导书

汇编语言程序设计实验指导书 《汇编语言程序设计》实验是学习本课程的每个考生必须要通过的一个重要的实践环节,根据“汇编语言程序设计自学考试大纲”规定:上机实验单独作为本课程的实验考核成绩。《汇编语言程序设计》是一门实践性很强的课程,只有多上机操作,对汇编语言源程序进行编辑、汇编、连接、调试和运行全过程的训练,才能加深对本课程基本知识的理解,才能熟练地掌握程序设计的方法与技巧,才能学好本课程。 本实验指导书是完全按照《汇编语言程序设计自学考试大纲》中“实验大纲”的要求编写的,为便于考生较好完成上机操作和实验报告,特此作出如下说明和要求: (1)做好上机实验的准备工作:应考者对每个实验需要进行预习,了解相关内容和具体要求,熟悉上机操作步骤,学会相关系统软件的使用,掌握各种操作调试命令。 (2)编写源程序:按照实验题目的要求,应考者要事先独立完成汇编语言源程序的编写工作,并对源程序进行认真的静态检查,减少错误的发生。 (3)完成实验报告:做完上机实验,应考者要严格按照实验报告的格式要求写出实验报告。实验报告的内容为:实验名称、实验的目的、实验的内容和要求、实验步骤、实验结果并附上源程序清单和程序流程图。

实验一DEBUG的使用 (一)实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 (二)实验设备 硬件环境:IBM-PC及其兼容机 软件环境:操作系统DOS3.0版本以上 调试程序https://www.wendangku.net/doc/156946297.html, (三)实验内容和要求 实验内容: 1、利用DEBUG程序中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H 单元中。 实验要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 (四)预习要求 1、复习DOS启动方式和DOS有关命令的使用; 2、阅读本书后的附录,熟悉掌握DEBUG调试程序中的A、D、E、G、Q、R、T、U命令的书写格式及功能; 3、复习寻址方式和相关的数据传送指令及算术运算指令。 (五)实验步骤 1、启动DOS操作系统 2、运行https://www.wendangku.net/doc/156946297.html,程序(若当前盘为C) C:>DEBUG↙ – ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG 命令) 3、用“A”命令编辑和汇编源程序 –A↙ 186E:0100 MOV AX,[0200]↙ 186E:0103 MOV BX,[0202]↙ 186E:0107 ADD AX,[0204]↙ 186E:010B ADC BX,[0206]↙ 186E:010F MOV [0208],AX↙ 186E:0112 MOV [020A],BX↙

相关文档
相关文档 最新文档