| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 824 人关注过本帖
标题:帮哥们求个代码,望大哥们懂的帮忙谢谢~
只看楼主 加入收藏
aizhioo1
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-6-16
收藏
 问题点数:0 回复次数:4 
帮哥们求个代码,望大哥们懂的帮忙谢谢~
一、设计题目:模拟查找过程(出题人:杨素梅)
    说明:在查找算法实现的基础上把查找的过程模拟出来。
    
    图1 线性查找过程
    
    图2 折半查找过程
二、目的与要求
    1.目的
    培养学生综合利用VB语言进行程序设计的能力,主要是培养学生利用VB的标准控件和基本算法进行应用程序设计的技能。
    2.基本要求
    能够完成一批数据的输入并显示,显示要求使用Label控件数组。
    要求对线性查找和折半查找两种算法过程进行模拟。
    使用Label控件设置查找过程的指针,线性查找只需1个指针,而折半查找需要3个,在模拟查找的过程中,要求指针动态改变位置,需要用到Timer控件,时间间隔可以自己设定。
    除了使用Option控件进行查找方法的选择,还可以使用菜单项进行选择。
    查找结果的查询要求使用菜单命令调用另一窗体来实现,如图1所示。
查找结果的显示可以将找到的数据用特殊的颜色标识出来。如图1和图2所示。

图片1.png (13.3 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册


图片2.png (10.93 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 哥们 代码 
2008-06-16 20:32
aizhioo1
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-6-16
收藏
得分:0 
3.创新要求
    在基本要求达到后,必须进行创新设计,创新点可以自己选择,方向提示如下(也可以自己拟订):
    支持变个数的一批数据的输入。
    如果没有找到数据,作相应的提示。
    折半查找中批数据必须是有序的,要求对输入的数据进行验证,如果顺序不对,要重新输入。
    折半查找中如果批数据中有重复数据,如何找到并标出重复数据及位置。如
     1   2    3    4    5    5    5    6   7    8   9
三、设计方法和基本原理
    1.问题描述
    程序界面较简单见题图,大家都应该较容易理解,还需要说一下吗?
    2.问题的解决方案
    ①设计程序界面
    因为用的全是基本控件,界面设计没有什么难度,照样子拼就可以了。
    ②编写代码
    代码主要包括事件处理过程。
    事件处理包括下面的主要事件:
    Form_Load()
    作一些初始化的工作。主要是使数据指针不可见。
    Command1_Click()   ‘输入批数据
    循环使用Inputbox函数进行数据的输入并显示到Label控件数组上。
    Command2_Click()   ‘根据查找方法的选择对数据及指针进行初始化,并启动Timer1控件。
    主要包括将批数据的背景颜色设置为最开始的颜色。如果选择的是线性查找,则应使1个Label控件指针可见,否则应使3个Label控件指针可见,并根据查找方法指向相应的初始位置。然后启动Timer1控件。
    Timer1_Timer()
    根据查找算法进行数据的查找,并使用数据指针进行动态跟踪,如果找到应标识出相应的位置。两次数据的查找间隔可以用Timer控件的Interval属性自行设定,一般为1秒或2秒。
四、主要技术问题的描述
    本题中的难点并不在于界面设计。核心问题在于根据选择的查找方法的算法利用Label控件模拟的数据指针进行跟踪并标识位置。下面举例说明原理。
    比如。
    图1中要使用线性查找算法找70这个数据。
    将Label2控件可见作为数据指针,另外2个Label控件隐藏。在开始查找之前先让其指向第1个数据的中央。然后启动Timer1控件。开始查找,在Timer1_Timer()事件过程中将要找的数据70与第1个数据进行比较,如果相等,则将第1个数据的背景用一种特定的颜色标识出来,并使Label2控件指向下一个数据,否则直接使Label2控件指向下一个数据。Timer1控件的时间间隔到后,进行下一次比较,如此下去直到最后一个数据比较完,使Timer1控件无效。
    图2中是要使用折半查找算法找3这个数据。
    使3个Label控件均可见作为数据指针。在开始查找之前先让Label2指向第1个数据的中央。Label4指向最后1个数据的中央,Label3指向最中间1个数据的中央,然后启动Timer1控件。开始查找,在Timer1_Timer()事件过程中将要找的数据70与最中间的数据进行比较,如果相等,则将其背景用一种特定的颜色标识出来,并使Timer1控件无效。否则如果要找的数据比中央的数据小,则改变Label4的位置,并重新计算Label3指向的位置,Timer1控件的时间间隔到后,进行下一次比较,如此下去直到找到数据或不能再计算中间位置使Timer1控件无效。
    另外数据指针指向某一个数据的中央如何表示,举例如下:
    Label2.Left = Label1(0).Left + Label1(0).Width / 2 - Label2.Width / 2
    Label2.Top = Label1(0).Top + Label1(0).Height + 10
    上面代码表示将Label2数据指针指向第0个数据的中央。
    
    关于具体的查找算法就不用说了,教材上都有,这是最基本的算法。
    
五、参考资料
Visual Basic 程序设计教程 及 Visual Basic 实验教程
VB6.0程序员指南
VB6.0控件参考手册
MSDN中文版,课程设计网站上提供的其它资料。
六、设计部分的评分标准(本题难度为B,综合时要乘系数0.9)
完成基本要求 (项目符号为“■”部分)    60    
基本要求全部完成    80    
创新要求完成任意两项    90    
创新要求完成4项或以上    100    
[注:最后得分是根据本部分得分(占最大比例)以及课程设计期间纪律、设计报告书、答辩情况综合得出)
2008-06-16 20:33
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
[注:最后得分是根据本部分得分(占最大比例)以及课程设计期间纪律、设计报告书、答辩情况综合得出)

这句是经典。这个括弧用得很牛B。
2008-06-16 22:23
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:0 
还一次搞出这么长一般不会看的太仔细的
2008-06-17 09:16
快速回复:帮哥们求个代码,望大哥们懂的帮忙谢谢~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024631 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved