打字计时练习

打字计时练习
打字计时练习

学生课程设计(论文)

题目:打字计时练习

学生姓名:李波

学号:201010801038

所在院(系):计算机学院

专业:计算机科学与技术

班级:计算机科学与技术(1)班指导教师:李艳华

2011年 12 月 31日

攀枝花学院本科学生课程设计任务书

题目打字计时练习

1、课程设计的目的

通过本课程设计教学所要达到的目的是:

1、培养学生理论联系实际的设计思想,提高学生综合运用汇编语言课程的理论知分析问题、解决问题的能力。

2、通过查找、运用设计资料,完成工程设计所必备的基本训练。

3、使同学们更深入的了解计算机系统内部的有关知识,为以后的学习和系统开发奠定良好的基础。

2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)

设计内容:设计一个在键盘上练习打字并能统计时间的程序。

设计思路:在键盘上练习的打字例句及其地址表、计时单元等预先放在DATA 数据段中,自编的中断程序kbint检测按键时产生的中断,并把按键的扫描码转换为ASCII码存入缓存区buffer,这个工作和ROM09类型的键盘中断例行程序所完成的工作大致相同,只是在解释各个键时作了简化,即只解释了可显示字符,如英文字母、数字及一些符号;其他特殊键,如组合键、双态键、功能键等都未作解释,只作为字符码0来处理。在主程序部分保存原09类型的中断向量,设置自编例行程序的中断向量,设置中断屏蔽位,然后开中断。当键盘中断处理后,主程序中安排指令读取缓冲区中的字符并显示在屏幕上。在主程序的末尾,利用DOS功能恢复原09类型的中断向量,然后返回DOS。在显示键入的字符时,还应判断字符是否为回车(0DH)。如为回车符,说明一个句子输入完毕,此时调用显示时间的子程序显示出打字时间,然后顺序显示下一个例句。如果所存放的例句都已显示完,则又从第一个例句开始显示,直至键入某一功能键(如Esc键、Shift 键等)退出程序,结束打字练习。打字时间统计利用自定时器中断处理程序clint 来完成。每输完一例句,计时一次。在此中断例行程序中,定时器中断的次数记录在计数单元count中,当count计数值为18时,sec计数单元加1 ,当sec计数值达到60时,min计数单元加1 。因为输入完一个句子无论如何也不会达到小时级,所以对hours计数值的调整判断,实际上只起到退出定时器中断的作用。

显示时间的子程序disptime分别将各遍野单元的二进制数转换为十进制数,并以min:sec:msec的形式显示出来。其中msec是由count记数值转换成的:count×1秒/18.2=count×55ms

3、主要参考文献

[1]《汇编语言程序设计》,吴向军等,高等教育出版社,2002

[2]《IBM-PC汇编语言及程序设计》(第2版), 沈美明等,清华大学出版社,2001

[3]《IBM-PC汇编语言及程序设计实验教程》,沈美明等,清华大学出版社,2001

[4]《汇编语言程序设计》, 钱晓捷等,电子工业出版社,2000

[5]《汇编语言程序设计》, 张志明等,重庆大学出版社,1997

4、课程设计工作进度计划

时间(天)内容安排

1 分析设计准备

3 编程调试阶段

1 编写课程设计报告

指导教师(签字)日期年月日

教研室意见:

年月日

学生(签字):

接受任务时间:年月日注:任务书由指导教师填写。

课程设计(论文)指导教师成绩评定表题目名称

评分项目分

评价内涵

工作表现20% 01 学习态度 6 遵守各项纪律,工作刻苦努力,具有良好的科学

工作态度。

02 科学实践、调研7 通过实验、试验、查阅文献、深入生产实践等渠

道获取与课程设计有关的材料。

03 课题工作量7 按期圆满完成规定的任务,工作量饱满。

能力水平35% 04 综合运用知识的能力10

能运用所学知识和技能去发现与解决实际问题,

能正确处理实验数据,能对课题进行理论分析,

得出有价值的结论。

05 应用文献的能力 5

能独立查阅相关文献和从事其他调研;能提出并

较好地论述课题的实施方案;有收集、加工各种

信息及获取新知识的能力。

06

设计(实验)能力,方案

的设计能力

5

能正确设计实验方案,独立进行装置安装、调试、

操作等实验工作,数据正确、可靠;研究思路清

晰、完整。

07 计算及计算机应用能力 5 具有较强的数据运算与处理能力;能运用计算机

进行资料搜集、加工、处理和辅助设计等。

08

对计算或实验结果的分析

能力(综合分析能力、技

术经济分析能力)

10 具有较强的数据收集、分析、处理、综合的能力。

成果质量45% 09

插图(或图纸)质量、篇

幅、设计(论文)规范化

程度

5 符合本专业相关规范或规定要求;规范化符合本

文件第五条要求。

10 设计说明书(论文)质量30 综述简练完整,有见解;立论正确,论述充分,

结论严谨合理;实验正确,分析处理科学。

11 创新10 对前人工作有改进或突破,或有独特见解。

成绩

指导教师签名:年月日

摘要

微机原理及应用是一门实践性很强的课程;其课程设计目的在于综合运用所学知识,全面掌握微型计算机与DOS方式的工作原理、编程和使用方法;在设计中,通过小组协作提出并论证设计方案,进行软件调试,最后获得正确的结果,可以加深和巩固对理论知识的更好掌握,进一步建立计算机应用系统体概念,初步掌握DOS开发方法,为以后进行实际的软件应用开发奠定良好的基础。

本设计是利用Masm for window集成实验环境来实现的打字练习计时程序,在程序中利用自编的中断程序kbint检测按键时产生的中断,并把按键的扫描码转换为ASCII码存入缓存区BUFFER(内存中的一个区域),这个工作和EOM 09类型的键盘中断例行程序所完成的工作大致相同,只是在解释各个键时作了简化,既只解释了可显示字符(入英文小写字母、数字及一些字符),其他特殊键(如组合键、双态键、功能键等)都未做解释,只作字符码0来处理。另外加入一个菜单模块,增加了程序的观赏性。

关键词: 打字计时,寄存器,缓冲区,中断向量

1.1设计任务

设计一个在键盘上练习打字并能统计时间的程序。通过它练习英文打字练习,并能够统计时间。屏幕上显示出提示信息和练习例句,按照例句从键盘上输入字母即可,每输入完一行后按回车键,可显示出练习输入的时间和下一行例句。按Esc键可退出程序。

1.2设计要求

在本系统中,要求所需执行的操作由相应的开关状态反映,其驾驶操作与灯光信号对应关系如下:。

1)自行编制键盘中断和时间中断处理程序,并保存原中断向量,程序运行

时,使用自编的中断向量处理程序,程序退出时,恢复中断向量;

2)在缓冲区中预放了一些字母,程序运行时,可按照屏幕上显示的小写字

母进行输入练习;

3)每输入完一行按回车键后,可显示出练习输入的时间。

1.3设计目的

熟悉与掌握有关键盘和时间的中断及字符显示技术。

1.4设备环境

在本设计中,所用到的设备环境如下所示:

A.计算机一台;

B. 2.设计环境

C.Masm for window集成实验环境;

2.1 Masm for window集成实验环境介绍

Masm for Windows 集成实验环境是从事一线教学的大学教师针对汇编语言初学者的特点开发的一个简单易用的汇编语言的学习软件,它具有错误信息自动定位、关键字实时帮助(动画演示汇编指令执行过程)、语法着色、无限的撤消与恢复、WORD式的查找、替换、定位、支持中文长文件名、软件可以安装在任意文件夹等功能;

a.建立汇编源程序─通过───→

b.编译为目标文件─↓┬─→d.连接为可执行文件

│ c.不通过,重新修改(语句错误)↓

├──────────────────────┘↓

↑ f.不正确,用调试工具调试,重新修改(逻辑错误)↓

└──────────────────────────←e运行

正确g.完成

2.2 DOS中断介绍

使用DOS提供的程序控制硬件。优点是兼容性好,使用方便。

DOS是IBM PC系列微机的操作系统(现在的微机仍能运行DOS,而且新的操作系统也能继续提供几乎所有的DOS功能调用)负责管理系统的所有资源,协调微机的操作,其中包括大量可供用户调用的服务程序。DOS的功能调用不依赖于具体的硬件系统。

所有的DOS系统功能调用都是利用软件中断指令INT 21H来实现的。也就是说,在程序中需要调用DOS功能的时候,只要使用一条INT 21H指令即可。INT 21H 是一个具有90多个子功能的中断服务程序,这些子功能大致可以分为四类:设备管理、目录管理、文件管理和其他。其功能一览表可参见附录。为了方便用户

使用这些子功能,INT 21H对每一个子功能都进行了编号——称为功能号。这样,用户就能通过指定功能号来调用INT 21H的不同子功能。

DOS系统功能调用的方法如下:

1)AH->功能号。

2)在其他寄存器中放入该功能所要求的人口参数。

3)在执行INT 21H指令。

4)分析出口参数。

用户程序与DOS、BIOS和硬件的关系见图

应用

程序

DOS BIOS 硬件

3.软件设计方案

3.1 软件设计思想

在键盘上练习的打字例句及其地址表、计时单元等预先放在DATA数据段中。

自编的中断程序kbint检测按键时产生的中断,并把按键的扫描码转换为ASCII码存入缓存区BUFFER(内存中的一个区域),这个工作和EOM 09类型的键盘中断例行程序所完成的工作大致相同,只是在解释各个键时作了简化,既只解释了可显示字符(入英文小写字母、数字及一些字符),其他特殊键(如组合键、双态键、功能键等)都未做解释,只作字符码0来处理。

在主程序部分保存原有09类型的中段向量,设置自编例行程序的中断向量,设置中断屏蔽位,然后开中断。当键盘中断处理后,主程序安排指令读取缓存区中的字符并显示在屏幕上。在主程序的末尾,利用DOS功能恢复原09类型的中断向量,然后返回DOS。

在显示键入的字符时,还应判断字符是否为回车符(0DH)。如为回车符,说明一个句子输入完毕,此时调用显示时间的子程序显示出打字时间,然后顺序显示一个例句。如果所存放的例句都已显示完毕,则再次从第一个例句开始显示,直至键入某一个功能(如Esc键、Shift键等)退出程序,结束打字练习。

打字时间统计利用自编的定时器中断处理程序Clint来完成。每输入一个例句,计时一次。在此中断例行程序中,定时器中断的次数记录在计数单元count 中,当count的计数值为18时,sec计数单元加1,当sec计数值打到60时,min 计数单元加1.因为输入完一个句子无论如何也不会到达小时级,所以对hours计数值的调整判断,实际上只起到退出定时器的作用。

加入一个显示菜单程序,使得原来的程序更具有观赏性;

显示时间的子程序disptime分别将各计时单元的二进制数转换为十进制数,并以min:sec:msec的形式出来。其中msec是有count中的计数值转换成的:

Count*1s/18.2=count*55ms

此式中,18.2是计算机系统产生的一个时间中断,每秒18.2次

3.2程序流程图

显示菜单信息 调用菜单宏清屏

保存原中断向量09H 到自设的单元中 设置自骗处理程序的中断向量09H 保存原中断向量1CH 到自设的单元中 设置自骗处理程序的中断向量1CH

设置允许键盘和定时器中断 设置显示方式为80×25 显示提示信息 在屏幕上显示例句

初使化变量count 、sec 、min 、hours

开始中

调用kbget 检测并等待键盘中断的子程序

kbflag=80h?(键盘输入的是控制键或功能键吗)

调用dispchar 显示该字

键入的字符为回车符0DH

AL ←换行符调用dispchar 显示回车换行符

调用disptime 显示打字时显示回车换行符字

开始 恢复原中断向量1CH 、09H ,返回操作系统

结束

N

Y

Y

3.3源程序

stack segment para stack 'stack'

db 256 dup(0)

top label word

stack ends

data segment para public 'data'

buffer db 16h dup(0)

bufpt1 dw 0

bufpt2 dw 0

kbflag db 0

prompt db ' *please practise typing*',0dh,0ah,'$' scantab db 0,0,'1234567890-=',8,0

db 'qwertyuiop[]',0dh,0

db 'asdfghjkl;',0,0,0,0

db 'zxcvbnm,./',0,0,0

db ' ',0,0,0,0,0,0,0,0,0,0,0,0,0

db '789-456+1230.'

even

oldcs9 dw ?

oldip9 dw ?

str1 db 'abcd efgh ijkl mnop qrst uvwx yz.'

db 0dh,0ah,'$'

str2 db 'there are some newspapers on the table.' db 0dh,0ah,'$'

str3 db 'there are some clouds in the sky.'

db 0dh,0ah,'$'

str4 db 'she always eats her lunch at noon.'

db 0dh,0ah,'$'

str5 db 'i do not like autumn and winter.'

crlf db 0dh,0ah,'$'

colon db ':','$'

even

saddr dw str1,str2,str3,str4,str5

count dw 0

sec dw 0

min dw 0

hours dw 0

save_lc dw 2 dup(?)

data ends

code segment

assume cs:code,ds:data,es:data,ss:stack main proc far

start:

mov ax,stack

mov ss,ax

mov sp,offset top

push ds

sub ax,ax

push ax

mov ax,data

mov ds,ax

mov es,ax

; mov ah,0

; mov al,4

; int 21h

; mov ah,0bh

; mov bh,0

; mov bl,4

; int 11h

mov ah,35h

mov al,09h

int 21h

mov oldcs9,es

mov oldip9,bx

push ds

mov dx,seg kbint

mov ds,dx

mov dx,offset kbint mov al,09h mov ah,25h

int 21h

pop ds

mov ah,35h

mov al,1ch

int 21h

mov save_lc,bx

mov save_lc+2,es

push ds

mov dx,seg clint

mov ds,dx

mov dx,offset clint mov al,1ch

mov ah,25h

int 21h

pop ds

in al,21h

and al,11111100b

out 21h,al

first: mov ah,0

mov al,3

int 10h

mov dx,offset prompt mov ah,9

int 21h

mov si,0

next: mov dx,saddr[si] mov ah,09h

int 21h

mov count,0

mov sec,0

mov min,0

mov hours,0

sti

forever:

call kbget

test kbflag,80h jnz endint

push ax

call dispchar

pop ax

cmp al,0dh

jnz forever

mov al,0ah

call dispchar

call disptime

lea dx,crlf

mov ah,09h

int 21h

add si,2

cmp si,5*2

jne next

jmp first

endint: cli

push ds

mov dx,save_lc

mov ax,save_lc+2

mov ds,ax

mov al,1ch

mov ah,25h

int 21h

pop ds

push ds

mov dx,oldip9

mov ax,oldcs9

mov ds,ax

mov al,09h

mov ah,25h

int 21h

pop ds

sti

ret

main endp

clint proc near

push ds

mov bx,data

mov ds,bx

lea bx,count

inc word ptr[bx]

cmp word ptr[bx],18 jne return

call inct

adj:

cmp hours,12

jle return

sub hours,12 return:

pop ds

sti

iret

clint endp

inct proc near

mov word ptr[bx],0 add bx,2

inc word ptr[bx]

cmp word ptr[bx],60 jne exit

call inct

exit: ret

inct endp

disptime proc near

mov ax,min

call bindec

mov bx,0

mov al,':'

mov ah,0eh

int 10h

mov ax,sec

call bindec

mov bx,0

mov al,':'

mov ah,0eh

int 10h

mov bx,count

mov al,55d

mul bl

call bindec

ret

disptime endp bindec proc near

mov cx,100d call decdiv mov cx,10d

call decdiv mov cx,1

call decdiv ret

bindec endp

decdiv proc near

mov dx,0

div cx

mov bx,0

add al,30h

mov ah,0eh

int 10h

mov ax,dx

ret

decdiv endp

kbget proc near

push bx

cli

mov bx,bufpt1 cmp bx,bufpt2 jnz kbget2

cmp kbflag,0 jnz kbget3

sti

pop bx

jmp kbget

kbget2:

mov al,[buffer+bx]

inc bx

cmp bx,16h

jc kbget3

mov bx,0

kbget3:

mov bufpt1,bx

pop bx

ret

kbget endp

kbint proc near

push bx

push ax

in al,60h

push ax

in al,61h

or al,80h

out 61h,al

and al,7fh

out 61h,al

pop ax

test al,80h

jnz kbint2

mov bx,offset scantab xlat scantab

cmp al,0

jnz kbint4

mov kbflag,80h

jmp kbint2

kbint4:

mov bx,bufpt2

mov [buffer+bx],al inc bx

cmp bx,16h

jc kbint3

mov bx,0

kbint3:

cmp bx,bufpt1

jz kbint2

mov bufpt2,bx

kbint2: cli

mov al,20h

out 20h,al

pop ax

pop bx

sti

iret

kbint endp

dispchar proc near

push bx

mov bx,0

mov ah,0eh

int 10h

pop bx

ret

dispchar endp

code ends

end start

4、调试与运行

4.1实验步骤:

1)打开windows命令窗口

2)进入masm程序的安装目录,汇编源文件,如图:

汇编课程设计汇本打字游戏

华北科技学院 课程设计说明书 专业:网络工程 课程名称: 汇编课程设计 设计题目: 打字游戏设计 设计时间: 2011-12-05 至2011-12-16 评语: ________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:____评阅教师:___

课程设计报告的要求 1、需求分析 描述问题。简述课题要解决的问题是什么,有什么要求和限制条件。 2、总体设计(程序设计组成框图、流程图) 3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,过程调用关系描述等)) 4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施 5、测试结果,用几组测试数据进行测试算法设计的正确性。 6、附录。源程序清单和结果:源程序要加注释。结果要包括测试数据和运行结果。 《汇编语言》课程设计案例 一、问题述及其需求分析 要求:利用汇编语言编写一个小的打字游戏 容:编写程序,在打开的菜单页面中选择游戏的难度。 难度选择包括以下5个选择 (1)very slow (2)slow (3)normal (4)fast (5)very fast 在编写过程中包括以下几个部分: (1)初始化上部分的字母 (2)获得下落的字母 (3)字母下移,同时覆盖原来的字母 (4)判断是否有输入 (5)若无输入则下落到最后 (6)覆盖原来的字符

打字练习程序

信息科学与技术学院 微机原理与接口技术课程设计 课题名称:打字练习程序 学生姓名:魏爱英 学号: 2007081852 专业、年级:计科07-1 指导教师:农峰 时间: 2009.9

1、题目及要求: 1.1、题目:打字练习程序 1.2、要求: 1)、缓冲区中预放了一些字母 2)、运行时,可按照屏幕上显示的字母输入练习 3)、当按结束,可显示出练习输入的时间,并且能显示出正确率。 4)、要求界面美观。 2、功能设计: 2.1、功能模块: 1)主程序模块-----主要是随机产生字符并将字符送入缓冲区,通过调用其他子程序和宏设置窗口、字符总数和正确个数,并实现打字练习功能,计算出正确率及打字输入的总时间。 打字结果计算与显示模块( UseTimeAndOut,true_rate_out):主要计算打字输入所用的总时间及打字正确率并输出总时间和打字正确率。 设置字符颜色模块(change_char_color):主要设置打字时缓冲区字符和打字区字符的颜色,包括错误时字符的颜色显示。 字符满行处理模块(manhang):主要功能是当字符输入满行时进行换行。 输出模块(OutTime,btod_out):输出程序运行时的时间。 统计模块(TONGJI):统计字符个数和正确个数并记录时间。 2)宏的作用: 清屏(qp):用于清屏,产生不同颜色、不同大小的窗口。 设置光标位置(gbdw):用于移动光标位置,以便按要求输出。 读光标位置(dugb):用于读取当前光标位置。 提示(tishi)用于输出提示语句。 2.2、功能图:

3、详细设计: 3.1、设计方法: 该课程设计只是应用了些简单的函数调用,中断,宏调用。其中随机产生字符的实现是通过调用中断(ah=2ch,int 10)取系统时间的1/100 来得到一组随机数,把这些随机数当做指针,然后取指针对应的字符表中相应的字符,来得到一串字符。在把结果

汇编语言课程设计报告-打字练习程序

提供全套毕业设计,欢迎咨询 汇编语言课程设计报告 程序题目:打字练习程序 学生姓名:XX 班级:2010级计算机科学与技术专业4班学号:XXX 院系:计算机科学学院 指导教师:XXX

目录

1设计目的 本程序运行后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘E’退出。通过课程设计,主要达到以下目的: 1. 增进对汇编语言的认识,加强用汇编语言编程的能力; 2. 掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等; 3. 了解和掌握汇编语言程序设计过程、方法及实现,为以后微机原理课程的学习打下良好基础; 4. 通过课程设计可以使我们更加了解书上的知识,了解书上的语句并且能够应用自己的程序中; 5. 掌握屏幕输出显示的设计方法。 2概要设计 2.1 系统总体分析 根据题目要求可以看到有以下几部分来实现打字练习:1.由26字母乱序组成一行显示行。2.字母自动落下。3.从键盘输入的字母与落下字母相同则该字母消失,并且下一个字母自动接着落下。4.按下“Ese”键则程序返回到主界面。5.按空格键游戏暂停。6.在主界面按“E”则程序退出。打字练习的主要功能由以上六部分组成,每一部分之间的联系都是比较紧密的。对于以上及部分,最主要的部分就是第二三两个部分,这是打字练习的重点,需要详细设计其所需要的功能。 2.2主模块框图及说明

是 否 否 是 是 图2-1程序设计流程图 程序的核心模块是打字,各个模块功能的实现主要是通过键盘输入指令来融合的,主要流程是先到主界面,然后选择你想要进行的指令ENTER 进入打字界面开始打字,E退出程序,空格在打字练习时执行暂停的功能,ESC是从打字界面返回到主界面。核心模块的流程大体如下面的流程图图2-1: 3 详细设计 3.1 主模块及子模块说明 主界面是程序的初始入口,也是其他功能模块的接入点。主模块是打字模块,也是核心模块,主要通过各个键盘符来控制各个子模块之间的协调。子模块分为判断输入字符判断模块(这当中包含两个小的子模块:主界面输入字符判断和打字模块输入字符判断)、暂停模块、退出模块(这当中包含两个小的子模块:打字界面返回主界面模块和主界面退出程序模块)

汇编语言程序设计打字练习程序

汇编语言课程设计报告( 2014 -- 2015 年度第1 学期) 课题名称:打字计时练习程序 专业xxx 学生姓名xxxx 班级xxx 学号xxxx 指导教师xxx 完成日期xxxxx

目录 1.设计目的与设计要求 2.程序流程图 (5) 2.1主程序流程图 (5) 2.2时间计算流程图 (6) 2.3正确率计算流程图 (7) 3.设计关键问题 (9) 3.1输入输出 (9) 3.1.1 输出显示信息 (9) 3.1.2 输入十个字符 (11) 3.2 输入字符串所用时间计算 (11) 3.3 正确率判断 (13) 4.调试运行结果分析 (14) 参考文献 (19) 附录二打字计时练习程序 (19)

一.设计目的 本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程 序设计方法,提高分析问题,解决问题的综合应用能力。 设计要求 在缓冲区预放了一些字母,运行时,可按照屏幕上显示的字母输入练习,每输入完一行按回车键后,可显示出练习输入的时间。 设计思路 1.系统总体分析 在缓存区预放了一些字母,运行时可按照屏幕上显示的字母输入练习,每输入完一行按回车键后,可显示出练习输入的时间。当一个句子分析完后(回车键作为结束符),屏幕上以min:sec:msec的格式显示出键入字符的时间。在每次打字之前,屏幕上先显示一个例句,然后打字员按照例句,将句中字符通过键盘输入。这个过程共进行五次,当键入一个enter键时,推出打字计时练习程序。 在键盘上联系的打字例句及其他地址表,计时单位等预存在DATA数据段中。 自编的中断程序Kbint检测按键时产生的中断,并将按键扫描码转换为ASCII码存入缓存区BUFFER(内存中一个区域),这个工作和EOM09类型的键盘中断例行程序所完成的工作大致相同,只是在解释各个键时作了简化,即只解释了可显示字符(如英文小写字母,数字及一些字符),其他特殊键(如组合键,双态键,功能键),都未做解释,只做字符码0来处理。在主程序部分保存原有09类型的中断向量,设置自编例行程序的中断向量,设置中断屏蔽位,然后在开断。当键盘中断处理后,主程序安排指令读取缓存区中的字符并显示在屏幕上。在主程序的末尾,利用DOS功能恢复原09类型的中断向量,然后返回DOS。在显示键入的字符时,还应判断字符是否为回车符。说明一个句子输入完毕,此时调用显示时间的子程序显示打字时间,然后顺序显示一个例句。如果所存放的例句都已显示完毕,则再次从第一个例句开始显示,直至键入某个功能(如ESC键等)退出程序,结束打字练习。打字时间统计利用自编的计时器中断处理程序Clint来完成。 每输入一个例句,计时一次。在此中断例行程序中,定时器中断的次数记录在计

打字练习游戏程序

摘要 汇编语言(Assembly Language)是面向机器的程序设计语言,汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。在汇编语言中,用助记符(Mnemonic)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。因此汇编语言亦称为符号语言。 关键字:汇编语言、程序设计、助记符

目录 摘要 0 目录 (1) 前言 (2) 第1章系统分析 (3) 第2章系统总体设计 (4) 2.1打字程序包括以下五个子程序: (4) 2.2算法的整体设计思路 (4) 2.3程序的主要特点 (4) 第3章详细设计 (5) 3.1主界面伪代码 (5) 3.2等级界面伪代码 (5) 3.3游戏界面伪代码 (6) 3.4清屏子程序设计 (6) 3.5密码程序设计 (7) 3.6宏代码 (8) 3.6.1在指定位置显示彩色字符串 (8) 3.6.2显示背景 (9) 3.6.3画横向边框的宏 (9) 3.6.4画竖边框的宏 (10) 3.7功能的进一步完善 (11) 3.7.1完善代码一 (11) 3.7.2完善代码二 (12) 3.7.3完善代码三 (12) 第4章软件使用说明书 (14) 4.1密码界面图: (14) 4.2主界面图: (14) 4.3等级选择界面: (14) 4.4游戏界面: (15) 参考文献 (17) 致谢 (18) 源代码: (19)

前言 随着计算机的不断更新发展,计算机在各个领域的应用越来越多,更多的软件开发人员和相关技术人员在程序设计的过程中应用汇编程序或编制汇编语言。而汇编语言作为计算机专业大学生必修课,每个作为本专业的学生对汇编的理解和学习就显得尤为重要。汇编语言是计算机能够提供用户使用的最快而又最好最有效的与言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间要求很高的场合,汇编语言的应用就显得必不可少了,一些直接控制硬件的应用场合,则更是非用汇编语言不可了。 《打字游戏程序设计》课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。因此,要求我们能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。通过具体的问题分析、设计、调试、运行程序。在实际问题中锻炼提高自己,增加了对本门课程内容的理解,锻炼了动手能力。就这个程序具体而言:调用宏,显示背景和主界面,通过选择不同的选项,可以进入不同的界面;采用BIOS功能的中断,可以在任何时候退出当前所在的界面并通过选择进入其他的界面。这个程序最终通过菜单所提示的信息选取所要进入的界面,获得所要的功能。

打字游戏

湖南农业大学东方科技学院 课程设计报告 课程名称:微机原理与接口技术 设计题目:打字游戏程序设计 学生姓名:罗英杰 学号: 2 年级专业:2008级计算机科学与技术 班级: 3 班 指导老师:王兴波 学院:东方科技学院 湖南·长沙 提交日期:2009年12月

一、任务与要求 1. 开始界面的提示信息:进入游戏,退出 2. 打字游戏:字母从屏幕上方下落,若用户在字母下落过程中输入正确字母,字母消失, 输入不正确,字母继续下落 3. 空格键退出游戏 二、分析与规划 1、结构分析图,如下 2、布局分析: 首先,出现菜单主界面起到提示作用。然后进入游戏,接着完成游戏的退出。

三、实现过程 1、出现菜单主界面: ZK db "WELCOME TO PLAY$" no db "shejiren: Luo Yingjie 2009/12/09 $" meg db "press Enter key to continue.......$" meg1 db "when a letter is dropping,please hit it!$" meg2 db "press space key to pause!$" meg3 db "press ESC key to return main interface!$" meg4 db "press letter 'E' to exit!$" 上面的代码菜单主界面的内容 clear_screen 00d,00d,24d,79d Init_game 00d,00d,0ah,dl,80d,nextsign1 Init_game 24d,00d,0ah,dl,80d,nextsign2 Init_game 00d,00d,0ah,dh,25d,nextsign3 Init_game 00d,79d,0ah,dh,25d,nextsign4 menu 05d,15d,ZK ;菜单信息的宏调用 menu 07h,15d,no menu 09d,15d,meg menu 11d,15d,meg1 menu 13d,15d,meg2 menu 15d,15d,meg3 menu 17d,15d,meg4 clear_screen 01d,01d,23d,78d ;清屏宏调用 clear_screen 01d,01d,23d,78d Init_game 23d,01d,01h,dl,78d,nextsign5 mov ah,02h mov bh,00h mov dh,01h

打字练习代码

最近发现很对人需要打字程序的代码,新作了一个,还有些小功能可以自己补充。ZIP发不上来,只能让大家自己复制下去了。 Option Explicit Sub cswz() '产生位置 Randomize wz = Rnd() * (Picture1.Width - 200) End Sub Sub cszm() Randomize If nd = 1 Then zm = Chr(Int(26 * Rnd + 65)) 'Label1(0).Caption = Chr(Int((90 - 65 + 1) * Rnd + 65)) '产生一个介于65到90之间的随机数ElseIf nd = 2 Then zm = Chr(Int(58 * Rnd + 65)) Else zm = Chr(Int(75 * Rnd + 48)) End If End Sub Private Sub Command1_Click() df = 0 Command4.Visible = False Command1.Visible = False sdsd '调用产生速度设定值 Timer1.Interval = sd1 syt = 200 Picture1.SetFocus cswz '调用产生位置子程序 Label1(0).Left = wz cswz '调用产生位置子程序 Label1(1).Left = wz cswz '调用产生位置子程序 Label1(2).Left = wz cswz '调用产生位置子程序 Label1(3).Left = wz cswz '调用产生位置子程序 Label1(4).Left = wz cswz '调用产生位置子程序 Label1(5).Left = wz cszm '调用产生字母子程序 Label1(0).Caption = zm cszm '调用产生字母子程序

C语言打字练习程序课程设计报告

青岛理工大学 《C语言程序设计》 题目打字练习程序 指导教师:李兰老师 姓名: 学号:2011 班级: 专业:计算机科学 地点:现代教育中心机房201 时间:2012.6.26 至2012.6.29

一、内容 本程序主要实现的是对使用者的打字速度进行练习和提高。因为界面友好亲和,因此能让使用者在轻松愉快中练习并快速提高自己的打字速度和准确性。程序主要的功能有记录使用者在本次使用中的击中数和总下落字母的个数之比。并且游戏设置了九个等级,随着数字的增加,等级越高,字母下落的速度逐步提高,这样能够更好的迎合不同水平的用户需求。使用本程序很简单,因为在写代码时,我很注重的是界面的友好,所以,在用户的每次操作前,界面上都有详细的操作提醒,只要跟着提示输入就能很快速地进入并开始练习。 二、上机环境 操作系统:windows XP(win7兼容) 开发工具:VC6.0 三、函数调用关系图 void main( ) start( ) printfScreen( ) levelChoice( ) newWord ( ) moving( ) wordHit( ) result( ) leave( )

四、各函数功能说明 1、void main( ) 主函数 2、void printScreen( ) 刷新屏幕函数 3、int levelChoice( ) 游戏等级选择函数 4、int newWord( ) 生成新字符函数 5、int moving( ) 字符下降函数 6、int wordHit( ) 击中字符函数 7、int result ( ) 结果输出函数 8、int start( ) 程序开始提示操作 9、void leave( ) 函数结束

C#打字游戏课程设计

C# 打字游戏程序核心代码主要部分: 设计程序流程图:

主窗体代码: using System; using System.Collections.Generic; using https://www.360docs.net/doc/4614235343.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; //课程名称 C# 程序设计实践 //设计题目打字游戏 //专业计算机科学与技术 //班级 //学号 //姓名 //指导老师 namespace Typing_Game { public partial class FrmTyping : Form { public FrmTyping() { InitializeComponent();

public int right = 0; //正确个数计数 public int wrong = 0; //错误个数计数 public int sum = 0; //总个数技术 public int count = 0; //按键总次数 public float accuracy; //正确率 public int Minute = 1; //设置默认没局游戏时间 public int minute; //设置游戏中的倒计时分 public int second; //设置游戏中的倒计时秒 private void FrmTyping_Load(object sender, EventArgs e) { } //在状态栏中显示当前系统时间 private void timerSys_Tick(object sender, EventArgs e) { DateTime now = DateTime.Now; this.tsslSysTime.Text = "系统时间: " + now.Hour.ToString() + ":" + now.Minute.ToString() + ":" + now.Second.ToString()+'\t'; } //开始&结束按钮 private void tsmiStratOrOver_Click(object sender, EventArgs e) { if (tsmiStratOrOver.Text == "开始") { tsmiStratOrOver.Text = "结束"; timerWord.Start(); timerGame.Start(); timerGT.Start(); //在游戏开始时暂停&继续按钮可用 tsmiPauseOrContinue.Enabled = true; //在游戏未开始时选择游戏等级与设置游戏按钮无效 tsmiLevel.Enabled = false; tsmiOption.Enabled = false; //游戏开始初始化游戏数据 right = 0; wrong = 0;

(完整word版)打字训练测试软件-Java课程设计

《程序设计实践》题目:打字训练测试软件 学校:陕西工业学院 学院:信息学院 班级:信管12-2 学号: 201213156619 姓名:刘克豪 2014 年 11 月 09 日

基础类、IO流与异常处理程序设计 一、实践要求 1.掌握Java常用基础类API。 2.掌握输入输出流常用类API。 二、实践要求 利用Java常用基础类API、输入输出流常用类API、Java异常处理等完成所选项目的程序设计。 三、项目需求 所选项目名称:打字训练测试软件 四、项目设计方案 EnglishGame类:主要构造都在这里完成。 MyKey类:是该程序的一个内部类。 EnglishGame作为主函数的入口。调用actionPerformed类的方法实现事件监听器。当发生点击事件时就会弹出输入框,开始英文打字功能。从而达到打字训练测试的目的。 五、核心算法详细设计 1 . public void actionPerformed(ActionEvent e) {} 2.public void keyReleased(KeyEvent arg0) {} 3. public static void main(String[] args) {} 4. public JPanel creatMenu() {} 六、完整源码 package shiyansan; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.Font;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.File; import java.io.FileReader; import java.util.Date; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextPane; import javax.swing.SwingUtilities; //所使用的包 public class EnglishGame implements ActionListener { private static JFrame f = new JFrame("英文打字游戏"); private static Container con = f.getContentPane(); JPanel mainPanel,panel0,panel1,panel2,panel3,panel4,panel5,panel6,panel7; JButton button1,button2,button3,button4,button,button5,button6; JTextPane tp1,tp2; FileReader fr; File frr; Date date1,date2; int num,len1,len2,count; long time; double rightrate; char[] ch; public void actionPerformed(ActionEvent e) {

打字测试软件课程设计报告书

软件学院 课程设计报告书 课程名称面向对象课程设计 设计题目打字训练测试软件 专业班级 学号 姓名 指导教师 2014 年6 月

目录 1 设计时间 (1) 2 设计目的 (1) 3 设计题目 (1) 4设计任务 (1) 5设计内容 (1) 5.1需求分析 (1) 5.2基本要求 (1) 6 功能模块实现 (1) 6.1包的描述 (1) 6.2类的描述 (1) 6.3页面设计 (2) 6.4测试文字的加入 (4) 6.5测试时间设计 (5) 6.6程序源代码 (6) 8总结与展望 (12) 参考文献 (14)

1 设计时间 2014年6月16日-2014年6月20日 2 设计目的 1.熟练掌握Java面向对象程序设计的基础知识 2.熟练掌握Java中常用的Awt组件的使用方法 3.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续的Java高级编程等专业课程的学习奠定良好的基础。 3 设计题目 打字测试软件 4设计任务 打字测试软件。要求如下: (1)使用图形用户界面实现; (2)从文件中调入英文录入材料; (3)打字结束后给出错误率,录入时间。 5设计内容 5.1需求分析 设计一个英文打在测试软件 5.2基本要求 1.文件中调入英文录入材料 2.最后给出错误率 3.最后给出平均录入速度 6 功能模块实现 6.1包的描述 由于本次实验使用的类较少,所有的类都建在同一个包下,本次实验也只用到一个包。 6.2类的描述 Typing类:主要的构造都在这个类中。

My key类:是该程序的一个内部类。 6.2.1类之间的关系 Typing类作为主函数的入口,调用actionPerformed类的方法实现事件监听器。当发生点击事件时就会弹出输入框,开始英文打字功能;从而达到打字训练测试的目的。 6.2.2类图 如图6-1所示 图6-1 类图 6.3页面设计 final String TITLE = "光速打字系统"; private Frame f; private Button btStart,btContinue; private Panel pnEast,pnCenter,pnNorth; Font fontTitle=new Font("黑体",Font.BOLD,30); Font fontButton=new Font("宋体",Font.BOLD,24); private Label lbMessage,lbTitle; //tfSource用于显示要练习的文字,tfInput 用户输入框 private TextArea taSource,taInput;

大学课程设计报告小小打字游戏设计-课程设计报告

2016-2017学年第一学期 《Windows程序设计》 课程设计报告 题目:小小打字游戏设计 专业: 班级: 姓名: 指导教师: 成绩: 二0一六年十一月十五日

目录 1 设计内容及要求 (1) 1.1 设计内容 (1) 1.2 系统功能 (1) 1.3 信息存储功能 (1) 2 系统设计 (1) 2.1 数据库设计 (1) 2.1.1 GameUser表 (1) 2.1.2 GameInfo表 (2) 2.2 游戏系统设计 (2) 2.2.1 程序项目设计 (2) 2.2.2 功能模块设计 (2) 3 C#系统实现 (5) 3.1 类图 (5) 3.2 核心代码 (6) 3.3 MySqlConn类 (10) 3.4 MainForm类 (11) 3.5 菜单事件 (12) 3.6 窗体键盘事件 (13) 3.7 MyRandom类 (15) 3.8 Program类 (16) 4 总结 (17) 4.1 收获 (17) 4.2 反思 (17) 5 参考文献: (18)

1 设计内容及要求 1.1 设计内容 软件名称:小小打字游戏 需求分析:使用VS2010开发环境,用C#语言编写一个打字游戏,游戏界面随机出现下落的A到Z的26个字母,当用户按下相应的键,游戏屏幕上正在下落的字母就会被消除,游戏分数将相应增加。 1.2 系统功能 (1)、登录功能:启动软件,出现登录界面,用户输入账号密码,正确后方可进入游戏; (2)、注册功能:不存在的用户,可以注册; (3)、软件互斥:通过创建互斥变量,使打字游戏软件只能单独开启一个; (4)、游戏控制:按F1开启游戏,F2暂停游戏,F3继续游戏,F4使用游戏积分兑换生命值; (5)、游戏显示:游戏窗口随机下落颜色不定的A到Z 26个字母,并根据游戏得分实时增加字母下落的速度; (6)、游戏操作:按下键盘上的A-Z 26个字母键,游戏窗口上正在下落的对应字母被消除,并使游戏分数增加1; (7)、数据保存和清除:使用数据库保存用户的游戏数据,并可调用数据库数据显示在游戏界面上显示,管理员账号可以清除游戏数据记录; (8)、游戏界面信息显示:显示相应的游戏状态信息,暂停游戏提示,结束游戏提示以及游戏排名。 1.3 信息存储功能 需要存储的信息: (1)游戏分数、(2) 游戏等级、 (3) 用户、 (4)密码、(5)游戏开始时间、(6)游戏结束时间。 2 系统设计 2.1 数据库设计 2.1.1 GameUser表 表1 GameUser表

汇编语言程序设计打字练习程序

汇编语言课程设计报告 ( 2014 -- 2015 年度第 1 学期) 专业 xxx 学生姓名 xxxx 班级 xxx 学 号 xxxx 指导教师 xxx 完成日期 xxxxx 课题名称: 打字计时练习程序

目录 1.设计目的与设计要求 2.程序流程图 (5) 2.1主程序流程图 (5) 2.2时间计算流程图 (6) 2.3正确率计算流程图 (7) 3.设计关键问题 (9) 3.1输入输出 (9) 3.1.1 输出显示信息 (9) 3.1.2 输入十个字符 (11) 3.2 输入字符串所用时间计算 (11) 3.3 正确率判断 (13) 4.调试运行结果分析 (14) 参考文献 (19) 附录二打字计时练习程序 (19)

一.设计目的 本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程 序设计方法,提高分析问题,解决问题的综合应用能力。 设计要求 在缓冲区预放了一些字母,运行时,可按照屏幕上显示的字母输入练习,每输入完一行按回车键后,可显示出练习输入的时间。 设计思路 1.系统总体分析 在缓存区预放了一些字母,运行时可按照屏幕上显示的字母输入练习,每输入完一行按回车键后,可显示出练习输入的时间。当一个句子分析完后(回车键作为结束符),屏幕上以min:sec:msec的格式显示出键入字符的时间。在每次打字之前,屏幕上先显示一个例句,然后打字员按照例句,将句中字符通过键盘输入。这个过程共进行五次,当键入一个enter键时,推出打字计时练习程序。 在键盘上联系的打字例句及其他地址表,计时单位等预存在DATA数据段中。 自编的中断程序Kbint检测按键时产生的中断,并将按键扫描码转换为ASCII码存入缓存区BUFFER(内存中一个区域),这个工作和EOM09类型的键盘中断例行程序所完成的工作大致相同,只是在解释各个键时作了简化,即只解释了可显示字符(如英文小写字母,数字及一些字符),其他特殊键(如组合键,双态键,功能键),都未做解释,只做字符码0来处理。在主程序部分保存原有09类型的中断向量,设置自编例行程序的中断向量,设置中断屏蔽位,然后在开断。当键盘中断处理后,主程序安排指令读取缓存区中的字符并显示在屏幕上。在主程序的末尾,利用DOS功能恢复原09类型的中断向量,然后返回DOS。在显示键入的字符时,还应判断字符是否为回车符。说明一个句子输入完毕,此时调用显示时间的子程序显示打字时间,然后顺序显示一个例句。如果所存放的例句都已显示完毕,则再次从第一个例句开始显示,直至键入某个功能(如ESC键等)退出程序,结束打字练习。打字时间统计利用自编的计时器中断处理程序Clint来完成。 每输入一个例句,计时一次。在此中断例行程序中,定时器中断的次数记录在计

汇编语言课程设计题2012

《汇编语言与微机原理》课程设计题目(2012) 题目一定时/计数技术应用程序设计 设计一个数字钟,在屏幕上显示分:秒(mm:ss)。按下非空格键开始计时,并显示 00:00,每过1 秒,ss 增1,到60 秒mm 增1,到60 分就是1 小时。经过1 小时后又回到00:00 重新计数。当按下空格键时,程序返回DOS,数字钟消失。 题目二信息检索程序设计 完成一个信息检索系统。在数据区,有9 个不同的信息,编号0-8,每个信息包括40 个 字符。从键盘接收0-8 之间的一个编号,然后再屏幕上显示出相应编号的信息内容,按“q” 键退出。 题目三图形变换程序设计 完成一个图形变换的程序,系统具有4 种可选择的功能,按字母“Y”画一个用点组成的 圆;按字母“S”画一个用不同颜色填充的三角形;按字母“Z”画一个用不同颜色填充的 矩形;按“q”键退出。 题目四代码转换程序设计 完成一个字母或数制之间的转化程序,主程序分别具有 5 种可选择的子功能,按相应的字符 可分别进入相应的子功能并在屏幕上显示结果,按“q”键退出。 5 种可选择的子功能分别为: 1)实现小写字母向大写字母的转换 2)实现大写字母向小写字母的转换 3)实现二进制数向十六进制数的转换 4)实现十六进制数向二进制数的转换 5)实现十六进制数向十进制数的转换 题目五中断处理程序设计 编写一个中断处理程序,要求在主程序运行过程中,每隔20 秒响铃一次,同时在屏幕上 显示信息”The bell is ring!”,按键后恢复原状。 题目六指法练习程序 1.从屏幕上方以一定的时间间隔随机落下可显示字符,字符的出现位置亦是随机的; 2.在多个字符(可以简化为仅有一个字符)下落的过程中可输入任意键,若键入与其中的 任意一个字符相匹配的键,则该字符高亮显示并发出蜂鸣声,同时计分; 3.按ESC 键结束练习并显示命中率; 4.再次按ESC 键退出。 题目七密码设置模拟 编写程序可以进行密码的设置(第一次)和修改(已设置密码)。要求输入的密码用*显示。 题目八计算器

打字计时练习

学生课程设计(论文) 题目:打字计时练习 学生姓名:李波 学号:201010801038 所在院(系):计算机学院 专业:计算机科学与技术 班级:计算机科学与技术(1)班指导教师:李艳华 2011年 12 月 31日

攀枝花学院本科学生课程设计任务书 题目打字计时练习 1、课程设计的目的 通过本课程设计教学所要达到的目的是: 1、培养学生理论联系实际的设计思想,提高学生综合运用汇编语言课程的理论知分析问题、解决问题的能力。 2、通过查找、运用设计资料,完成工程设计所必备的基本训练。 3、使同学们更深入的了解计算机系统内部的有关知识,为以后的学习和系统开发奠定良好的基础。 2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等) 设计内容:设计一个在键盘上练习打字并能统计时间的程序。 设计思路:在键盘上练习的打字例句及其地址表、计时单元等预先放在DATA 数据段中,自编的中断程序kbint检测按键时产生的中断,并把按键的扫描码转换为ASCII码存入缓存区buffer,这个工作和ROM09类型的键盘中断例行程序所完成的工作大致相同,只是在解释各个键时作了简化,即只解释了可显示字符,如英文字母、数字及一些符号;其他特殊键,如组合键、双态键、功能键等都未作解释,只作为字符码0来处理。在主程序部分保存原09类型的中断向量,设置自编例行程序的中断向量,设置中断屏蔽位,然后开中断。当键盘中断处理后,主程序中安排指令读取缓冲区中的字符并显示在屏幕上。在主程序的末尾,利用DOS功能恢复原09类型的中断向量,然后返回DOS。在显示键入的字符时,还应判断字符是否为回车(0DH)。如为回车符,说明一个句子输入完毕,此时调用显示时间的子程序显示出打字时间,然后顺序显示下一个例句。如果所存放的例句都已显示完,则又从第一个例句开始显示,直至键入某一功能键(如Esc键、Shift 键等)退出程序,结束打字练习。打字时间统计利用自定时器中断处理程序clint 来完成。每输完一例句,计时一次。在此中断例行程序中,定时器中断的次数记录在计数单元count中,当count计数值为18时,sec计数单元加1 ,当sec计数值达到60时,min计数单元加1 。因为输入完一个句子无论如何也不会达到小时级,所以对hours计数值的调整判断,实际上只起到退出定时器中断的作用。 显示时间的子程序disptime分别将各遍野单元的二进制数转换为十进制数,并以min:sec:msec的形式显示出来。其中msec是由count记数值转换成的:count×1秒/18.2=count×55ms 3、主要参考文献 [1]《汇编语言程序设计》,吴向军等,高等教育出版社,2002 [2]《IBM-PC汇编语言及程序设计》(第2版), 沈美明等,清华大学出版社,2001 [3]《IBM-PC汇编语言及程序设计实验教程》,沈美明等,清华大学出版社,2001 [4]《汇编语言程序设计》, 钱晓捷等,电子工业出版社,2000 [5]《汇编语言程序设计》, 张志明等,重庆大学出版社,1997

java打字测试课程设计

河南机电高等专科学校 学生课程设计报告 实验课程名称Java程序设计 开课实验室实验楼308机房 系、部计科系年级11 专业班软件112 学生姓名牛帅学号111012137 开课时间2012 至2013 学年第一学期 总成绩 教师签名

《Java程序设计》课程设计报告 2013年1月6日系部计科系年级、专业、班软件112 姓名牛帅 课程名称Java程序设计 项目 名称 打字测试软件 指导 教师 戴冬 教师 评语教师签名:戴冬 年月日 一、课程设计目的 1.熟练掌握Java面向对象程序设计的基础知识 2.熟练掌握Java中常用的Awt组件的使用方法 4.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续的Java高级编程等专业课程的学习奠定良好的基础。 二、使用仪器、材料 本系统构建学生打字练习系统,基于所开发的打字程序界面友好,图形复杂。打字练习程序中应用到eclipse最新版本,java1.6版本的jdk。对于打字测试进入整体的部署。完成打字练习程序开发,培养程序设计和开发能力。 操作系统为windows 7 系统。 三、课程设计步骤 1.确定所需要的功能

2.编写代码实现。 四、课程设计原始记录(数据、图表、计算等) 4.1 起始界面设计 final String TITLE = "光速打字系统"; private Frame f; private Button btStart,btContinue; private Panel pnEast,pnCenter,pnNorth; Font fontTitle=new Font("黑体",Font.BOLD,30); Font fontButton=new Font("宋体",Font.BOLD,24); private Label lbMessage,lbTitle; //tfSource 用于显示要练习的文字,tfInput 用户输入框 private TextArea taSource,taInput; //总字数和错误的字数 private long wordCount,inputWordCount,rightWordCount; //开始,结束时间,用户练习所用的时间 private long startTime,overTime,userTime; /** 初始化控件 */ private void start() { f = new Frame(TITLE+" by 牛帅"); //窗体标题 f.setSize(600,430); f.setResizable(false);//禁止调整窗体的大小 pnEast = new Panel(); pnCenter = new Panel(); btStart =new Button("开始"); 打字练习系统 用户界面 录入统计系统 计时系统

汇编打字练习

课程设计 2010~ 2011学年第二学期 设计题目打字练习程序的设计 院(系)计算机科学与信息工程 专业计算机科学与技术 班级 09104301学号 27 学生姓名李迅 设计时间2011年 6 月 20 日——2011年 6 月 24日 指导教师宓双 提交日期 2011年6月23日

上海应用技术学院课程设计任务书

指导教师(签名):宓双教研室主任(签名): 2011年6 月19 日2010年6 月19日

目录 1概述: (1) 1.1基本功能: (2) 1.2拓展功能 (3) 1.3其他功能 (3) 2详细设计说明 (3) 2.1原“TYPETEST.ASM”程序结构 (4) 2.2已经实现的功能(修改的、新编写的)程序结构 (5) 3对该“打字练习程序”的进一步设想 (10) 3.1 (10) 3.2 (11) 3.3 (11) 4课程设计总结 (11) 5软件使用说明 (12) 6附录(参考文献,原代码:) (12) 参考文献: (12) 原代码 (12)

1概述: 编写一个程序,执行程序后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘E’退出。 因此程序要包含以下几个模块:菜单显示模块、字母显示模块、字母下落模块、暂停处理模块、退出返回模块等。

1.1 基本功能: 2认真阅读“typetest.asm”源程序, 理解程序每一条指令在程序中的作用。绘制程序流程图(简略总图,各模块详细流程图),给程序中的关键语句(后跟分号)作注释。 3设置输入界面, 用户输入密码后才能进入主菜单; 4修改主菜单, 在主菜单上显示当天日期; 5修改主菜单, 增加可供用户选择难度级别的选项。 6为用户打分,正确输入字母使用时间越少,得分越高。 7修改程序, 在屏幕右上角显示用户得分、已输入字母数、正确数。

相关文档
最新文档