课程设计选题.docx
- 文档编号:28064705
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:50
- 大小:1.89MB
课程设计选题.docx
《课程设计选题.docx》由会员分享,可在线阅读,更多相关《课程设计选题.docx(50页珍藏版)》请在冰豆网上搜索。
课程设计选题
一、将阿拉伯数字转换成大写人民币金额(25分)
1.界面设计要求(5分)
(1)窗口标题:
转换成大写金额;
(2)窗口内包括:
两个标签(标题名分别为:
“数字”和“大写”)、2个文本框(分别用于输入数字和显示示子的汉字大写)和1个命令按钮(标题名为“转换”)。
2.功能要求
(1)(4分)如果在数字文本中输入非数字,则显示消息如图1-1所示。
(2)(4分)输入的数字的整数部分应该小于100000000,否则显示消息如图1-2所示。
图1-1
图1-2
(3)(4分)能够转换的最大值为99999999.99,如图1-3所示。
图1-3
(4)(4分)能够转换负数,如图1-4所示。
图1-4
(5)(4分)连续数字0转换成一个零,如图1-5所示。
图1-5
二、排序演示(40分)
1.界面设计(参考图2)(5分)
(1)窗口标题:
排序法;
(2)选择排序方法中有“选择法”和“比较法”供用户选择;
(3)排序演示中有10个文本框,用来存放程序运行时自动生成的10个随机整数;
(4)两个命令按钮。
2.功能要求
(1)(5分)启动程序后,在每个文本框显示1个50以内的随机整数。
如图2所示。
图2程序启动后的用户界面
(2)(10分)选择“选择法”,单击“开始”按钮,程序按“选择法”开始排序,并弹出一个消息框显示每一步比较和交换。
如图3所示。
图3正在比较的数据(如图的31和12)用红色底纹显示
(3)(10分)正在比较的数用红色底纹,排序好的数用绿色底纹。
如图3和图4所示。
图4排好序的数(如5)用绿色底纹显示
(4)(10分)用同样的方法处理“比较法”排序。
三、简单的计算器(30分)
1.界面设计(5分)
可参考图3完成,也可自行设计。
(1)窗口标题:
简易计算器;
(2)文本框:
用于显示输入的数值和计算结果;
(3)数字按钮0、1、2、……、9;小数点按钮;运算符按钮+(加)、-(减)、*(乘)、/(除)、=(等号);
(4)BackSpace按钮(功能同键盘上的BackSpace键);
(5)清除按钮;关闭按钮;
2.功能要求(25分)
(1)输入方法:
表达式中的操作数和运算符既可以使用键盘输入或鼠标单击按钮输入,也可以混合使用。
(2)文本框中只显示操作数和计算结果,不显示运算符。
例如,要计算34+6=,应先输入34,显示;输入+,不显示;输入6,显示,但不再显示34;输入=,不显示;显示计算结果40,但不再显示6。
(3)计算时能够判断优先级。
例如,输入34+6*2=,计算结果应该为:
46。
(4)“BackSpace”按钮的功能:
键盘上的BackSpace键。
(5)“清除”按钮的功能:
清除文本框中显示的内容,准备开始下一次计算。
(6)“关闭”按钮的功能:
结束程序的运行,退出。
四、显示n阶全对称幻方(25分)
问题描述:
对奇数n的n阶方阵A,用1到n2作为元素来构造矩阵,记为:
a0,0a0,1a0,2……a0,n-1
a1,0a1,1a1,2……a1,n-1
a2,0a2,1a2,2……a0,n-1
A=………………
………………
an-1,0an-1,1an-1,2……a0,n-1
简记为A=(ak,j),j=0…n-1,k=0…n-1
当矩阵A的各列元素之和、各行元素之和、主对角线元素之和、副对角线元素之和均相等时,A称为n阶幻方。
即要求对任意确定的j0和k0都有:
称A为n阶全对称幻方。
注意j0+m和k0+m取j0+mModn和k0+mModn
要求:
编程计算n阶全对称幻方,用矩阵形式输出全对称幻方,并用全对称幻方公式检查计算结果的正确性。
程序中n允许输入5,7,11,13,17,19并能完成计算。
1.界面要求(3分)
参照图3-1设计程序界面。
图3-1“全对称幻方”初始界面
2.程序要求(20分)
(1)(2分)程序开始运行后,能够从组合框中选择阶数5、7、11、13、17、19,也能输入其他奇数作为阶数;
(2)(4分)对选择或输入的阶数n的n阶方阵A,用1到n2作为元素来构造矩阵,且满足对任意确定的k0都有:
(3)(4分)对选择或输入的阶数n的n阶方阵A,用1到n2作为元素来构造矩阵,且满足对任意确定的j0都有:
(4)(4分)对选择或输入的阶数n的n阶方阵A,用1到n2作为元素来构造矩阵,且满足对任意确定的j0和k0都有:
(注意j0+m和k0+m取j0+mModn和k0+mModn)
(5)(8分)单击“验证”按钮后,能够在“验证幻方”框右侧的列表框中按升序输出构成幻方所用所有数字;正确检查并输出每行元素之和;正确检查并输出每列元素之和(2分);正确检查并输出斜线元素之和。
图3-2是5阶幻方的输出和验证;图3-3是11阶幻方的输出和验证。
图3-25阶幻方示意图
图3-311阶幻方示意图
五、移动数字排序(20分)
1.算法说明
在图4-1中的九个点上,空出中间的点,其余八个点上任意填入数字1到8(注意:
每个数字仅能填入一个点,不能重复);1的位置固定不动,然后移动其余的数字,直至数字1到8按照顺时针从小到大排好序为止(如图4-2所示)。
移动的规则是:
只能将数字沿线移向空白的点。
注意:
本题目的移动算法自行设计。
2.界面设计(5分)
(1)窗口标题:
SORT;
(2)其他控件参照图4-2自行设计。
3.功能要求(共15分)
启动程序后,在“输入原始数字”下方的各文本框中任意输入数字1到8(空出中间的点)。
单击“确定”按钮,开始按照自行设计的算法自动移动数字(注意:
数字1的位置固定不动),直至按照要求排好序停止。
(1)(10分)在“数字移动过程”下方的列表框中显示每次移动后数字的排列情况,其中0表示空位(注意:
只能将数字沿线移向空白的点)。
(2)(3分)移动完成后的结果显示在“移动后的结果”下方的个文本框中。
(3)(2分)移动次数显示在“移动次数”文本框中。
六、汉诺塔问题(30分)
问题描述
有A、B、C三个塔座,A塔座上有n(1≤n≤9)个大小不等的盘子,大盘在下,小盘在上。
要求将所有盘子由A塔座搬动到C塔座上,每次只能搬动一个盘子,搬动过程中可以借助任何一根塔座,但必须满足大盘在下,小盘在上的条件。
1。
界面要求(5分)
参照图4-1设计初始界面。
默认盘子数为3个,使用数字1、2、3、……代表不同大小的盘子,数字越大,代表的盘子越大。
图4-1汉诺塔程序的初始界面
2.功能要求(25分)
(1)(5分)在“层数”框中输入层数后,单击“重置”按钮,能够显示图4-2所示的画面(以层数为6示例)。
如果输入的层数小于1或者大于9,可以弹出如图4-3所示的消息框,提示用户重新输入。
图4-1输入层数6并单击“重置”按钮后的画面
图4-3提示信息
(2)(15分)在塔座A、B和C中动态显示搬动盘子的过程。
移动完每个盘子后暂停一段时间,具体时间间隔自行设置,以便于观察为主。
移动过程参考演示程序。
(3)(5分)最后的结果显示如图4-4所示。
图4-4层数为6时移动结束后的状态
七、整数划分问题(20分)
问题描述:
整数划分问题是将一个正整数n(0 要求: Ø组成和式的数字从左到右构成一个非递增的序列; Ø显示每种分解方法的首个数字从上到下构成一个非递增的序列。 例如n=4时,程序输出为 4=4 4=3+1 4=2+2 4=2+1+1 4=1+1+1+1 共有5种划分方法。 1.界面设计(3分) 参照图2-2设计界面,根据需要选用适当的控件。 2.功能要求(17分) (1)(2分)单击“开始”按钮后,能够弹出如图2-1所示的输入框,默认值为5。 并根据输入的n值完成功能 (2)、(3)、(4)。 图2-1用于输入n值的输入框 (2)(1分)能够在窗体上方的控件中显示“数字n可分解成: ”,此处n为输入的具体数值;如图2-2所示。 (3)(4分)能够在窗体下方的控件中正确显示划分的方法数,如图2-2所示。 (4)(10分)能够分行显示所有满足条件的正整数的和式。 图2-2是n=20时程序的运行情况。 图2-2n=20时运行结果示意图 八、农夫过河问题(20分) 问题描述: 一个农夫要带他的羊、狼和白菜从河南岸到河北岸。 他的小船只能容下他以及他的羊、狼和白菜三者之一。 如果他带走狼,那么留下的羊将吃掉白菜;如果他带走白菜,那么留下的狼也将吃掉羊;只有当农夫在的时候,白菜和羊才能与他们各自的猎食者安全相处。 1.界面设计(4分) 参照图4-1设计程序的初始界面。 图4-1初始界面 2.功能要求(16分) (1)(3分)在“河南岸”选中对象并单击“过河”按钮后,如果符合过河条件,则将该对象下方标签中的数字置0、复选框设置为不可用状态;同时将“河北岸”相应标签中数字置1、复选框设置为可用状态。 并在河南岸的列表框中显示如图4-2所示的提示信息。 图4-2农夫和羊成功过河后的界面 (2)(4分)在“河南岸”选中对象并单击“过河”按钮后,如果不符合过河条件,则弹出消息框提示。 如图4-3所示。 图4-3选中农夫和白菜后“过河失败”提示 提示: 导致过河失败的原因有: ①过河对象未选中农夫; ②选中3种以上(含3种)对象过河; ③留在岸边的对象不能安全相处(安全相处条件见问题描述); ④未选中任何对象。 (3)(3分)在“河北岸”选中对象并单击“返回”按钮后,如果符合返回条件,则将该对象下方标签中的数字置0、复选框设置为不可用状态;同时将“河南岸”相应标签中数字置1、复选框设置为可用状态。 并在河北岸的列表框中显示如图4-4所示的提示信息。 图4-4农夫成功返回后的界面 (4)(4分)在“河北岸”选中对象并单击“返回”按钮后,如果不符合返回条件,则弹出消息框提示。 如图4-5所示。 “返回”失败的原因与“过河”失败原因相同。 图4-5选中农夫、狼和白菜后“返回失败”提示 (5)(2分)所有对象过河成功后,弹出消息框提示。 如图4-6所示。 图4-6所有对象过河成功后的提示 九、个人通讯录管理(30分) 1.建立数据库(5分) 本数据库中只包含一张表,表中主要包括如下字段: 姓名、电话、手机、邮编、通讯地址、工作单位、E-Mail、备注。 说明: 各字段的字段名以及数据类型自行确定。 2.界面设计(5分) 参考图4设计用户界面 3功能要求(20分) (1)添加记录。 单击“添加”按钮,可将当前界面中的信息作为一条记录追加到表的末尾。 (2)删除记录。 单击“删除”按钮,出现删除确认对话框,如图5所示。 用户选择“确定”则删除当前界面上显示的记录;选择“取消”则不做任何操作。 (3)修改记录。 可以编辑当前界面上显示的记录,单击“修改”按钮后将当前修改写入到数据库中。 (4)查询功能。 在“姓名”框中输入姓名后,单击“查询”按钮可实现查询功能。 若查询成功,在当前界面上显示记录内容;若查询失败,显示如图6所示的对话框。 十、小型售货机(POS)管理信息系统(30分) 问题描述: 本题要求开发一个简单的POS系统,能够进行商品销售,要求将商品信息先录入到一个数据库或随机文件中;商品库包括: 商品编码、商品名称、单价;为方便程序的调试,在库中输入如下3条记录。 商品编号 商品名称 单价 001 手机 600 002 水杯 40 003 铅笔 10 1.界面设计(3分) 窗口标题: 小超市POS机; 在窗体上放置一个框架,初始时标题显示为“待机状态”,框架内放置4个文本框,分别用于输入或显示“商品编码”、“商品名称”、“商品价格”、“商品数量”; 在窗体左侧放置一个适当的控件,用于显示选购商品的信息,初始时为空; 其他控件根据需要,可自行添加、设置。 图3-1初始界面 2.功能要求(共25分) (1)创建数据库或数据文件(2分) 说明: 考生可在以下两个方法中选用一个创建数据库或数据文件。 方法1: 使用Access或其他数据库开发工具,创建数据库和相应的表,并在数据表中输入上述3条记录; 方法2: 使用VB或VC等开发工具编程,创建一个数据文件,并在数据文件中添加上述3条记录。 (2)(2分)程序启动后,光标自动停留在“商品编码”输入框,并且在该框中开始输入后,框架的标题自动修改为“销售状态”。 (3)(5分)“商品编码”和“商品数量”框只能输入0-9的数字;在“商品编码”框中最多只能输入3个数字。 (4)(8分)在“商品编码”框输入编码并将光标移出后,如果输入的编码是“商品库”中已存在的商品编码,那么在“商品名称”和“商品价格”框中自动显示该商品的名称和价格,并将光标自动移到“商品数量”框中;如果输入的编码是“商品库”中不存在的商品编码,那么将自动删除已输入的编码,并将光标移到“商品编码”框,等待用户重新输入编码。 如图3-2所示; 图3-2输入库中存在的商品编码后的状态 (5)(5分)在“商品数量”框中输入购买的商品数量后,按下“回车”键,则一行销售数据显示在左边的显示框中,同时所有的输入框被清空,并将光标移到“商品编码”框。 如果是第一次显示,还应在显示框的最上端显示表头。 如图3-3; 图3-3输入完商品数量并按回车后的状态 (6)(5分)顾客经过若干个商品的选购后,在“商品编码”框为空的状态下,如果按下“回车”键,那么弹出消息框,如图3-4所示, 图3-4是/否结算消息框 如果在消息框中选择了“是”按纽,则表示一位顾客选购完毕,在左侧的显示框中显示顾客应付的总金额,将框架标题修改为“待机状态”。 如图3-5所示 图3-5一位顾客结算后的状态 十一、设计一个程序,模拟银行的自动柜员机功能。 (共40分) 1.创建数据库或随机文件(10分) 使用Access创建一个数据库文件,库中包括两个表;或使用VB创建两个随机文件, (1)表1(或文件1)中存储的是储户信息,包括如下字段: 帐号(字符串)、密码(字符串)、姓名(字符串)、余额(数值,存放该帐号当前余额)、住址(字符串)。 在该表中添加两条记录,供调试程序使用。 记录1的帐号为“1001”、密码为“111111”、余额为0; 记录2的帐号为“1002”、密码为“222222”、余额为0。 (2)表2(或文件2)中存储的是存取记录。 包括如下字段: 帐号(字符串,与表1中帐号对应)、存取金额(数值,存款为正数,取款为负数)、日期(日期,存放存取款时的系统日期)、余额(数值,存放该帐号当前余额)。 该表中暂无记录。 注意: 表1中每个储户只能对应一条记录;表2中记录所有储户的所有存取信息。 2.界面设计(5分) 启动界面要求(参见图3-1) 图3-1初始界面 3.功能要求(共25分) (5分)输入帐号和密码后,单击“确认”按钮,能够判断已经输入的帐号和密码(密码的显示方式如图3-2)是否正确。 若帐号或密码不正确,允许用户重新输入,但不超过3次。 帐号、密码均正确,能够激活“存款”、“取款”、“查询存取记录”3个按钮。 (1分)单击“取款”按钮,界面上显示如图3-2所示的提示信息和文本框,等待用户输入取款金额; (1分)单击“存款”按钮,界面上显示如图3-3所示的提示信息和文本框,等待用户输入存款金额; (5分)在文本框中输入取款金额并按回车键后,若该帐号中的余额数小于取款金额数,能提示用户重新输入。 余额数大于或等于取款金额数,能够在表2中添加一条记录,并写入相关信息,同时修改表1中“余额”字段的值。 (5分)在文本框中输入存款金额并按回车键后,在表2中添加相应的记录,同时修改表1中该帐号的“余额”字段的值。 (5分)单击“查询存取记录”,能够在界面下部的栅格中显示该储户最近10次的存取记录,但不能修改。 (2分)单击“结束操作”,能够将界面还原成启动时的界面。 (1分)单击“退出系统”,结束程序的运行。 图3-2取款界面图3-3存款界面 十二、教师信息统计(25分) 1.界面设计(5分)参考图2-1设计初始界面。 图2-1程序启动后的初始界面 2.功能要求(20分) (1)(8分)在“职称”框中选择职称等级,在“年龄”框中选择年龄段,单击“输入信息”按钮,能够保存输入信息; (2)(6分)多次输入信息后,然后单击“显示”按钮,能够在统计结果框中正确显示输入的信息,如图2-2。 (3)(5分)再次运行程序后,单击“显示”按钮,能够在统计结果框中显示之前多次输入信息的统计结果。 (4)(1分)单击“退出”按钮,结束程序运行。 图2-2输入信息显示 十三、图像处理(30分)★其它语言代码 1.界面设计(3分) 程序的初始界面如图4-1所示。 窗体上主要包括两个图片框和四个命令按钮。 图4-1“图像处理”程序初始界面 2.功能要求(共27分) (1)(6分)单击“输入图像”按钮,能够弹出“打开”对话框,供用户选择图片文件,并将选中的图片文件显示在“原始图像”框中。 (2)(10分)单击“逆反处理”按钮,能够在“处理后的图像”框中显示对原始图像做逆反处理后的图像。 如图4-2所示。 彩色图像进行逆反处理的算法如下: 设r、g、b分别为源图像像素f(i,j)的红、绿、蓝分量值,rr、gg、bb分别为处理后该像素g(i,j)的红、绿、蓝分量值。 则 rr=255-rgg=255-gbb=255-b 图4-2逆反处理示例 (3)(10分)单击“边缘提取”按钮,能够在“处理后的图像”框中显示对原始图像做边缘提取处理后的图像。 如图4-3所示。 彩色图像边缘检测算法如下: 设f(i,j)为源图像像素(i,j)处的颜色值,g(i,j)为经过边缘提前处理后的图像像素(i,j)处的颜色值,则满足如下关系式: g(i,j)=|gx|+|gy| 其中: gx=f(i,j)-f(i+1,j+1) gy=f(i+1,j)-f(i,j+1) 图4-3边缘提取处理示例 (4)(1分)单击“退出”按钮,结束程序运行。 十四、二值(黑白)图像的膨胀和轮廓提取(25分) 算法说明 (1)八邻域膨胀 八邻域膨胀的原理是在3×3的图像块中,如果当前处理像素值f(i,j)为0,即黑色,则其相邻的8个像素f(i,j+1)、f(i,j-1)、f(i-1,j)、f(i+1,j)、f(i-1,j-1)、f(i+1,j-1)、f(i-1,j+1)、f(i+1,j+1)均置0。 如图4-1所示。 (a)当前像素(b)膨胀结果 图4-1八邻域膨胀算法示意图 (2)四邻域法轮廓提取 四邻域轮廓提取的原理是,对于像素f(i,j),如果它的四邻域像素f(i,j+1)、f(i,j-1)、f(i-1,j)、f(i+1,j)值均为0即黑色。 则目标像素f(i,j)被设置为白色。 如图4-2所示。 (a)当前像素(b)轮廓提取结果 图4-2四邻域轮廓提取算法示意图 1.界面设计(5分) 参照图4-3,在窗体上放置两个图片框和两个命令按钮。 左侧图片框放置处理前的原始图像(图片文件名为“二值图.bmp”),右侧图片框放置处理后图像;两个命令按钮标题文字分别是“膨胀”和“轮廓”。 其他控件根据需要自行添加。 2.设计要求(共20分) (10分)单击“膨胀”按钮,根据八邻域膨胀算法处理原始图像,在右侧框中显示膨胀处理后的图片,如图4-4所示。 图4-4膨胀处理后的界面 (10分)单击“轮廓”按钮,根据四邻域膨胀算法处理原始图像,在右侧框中显示膨胀处理后的图片,如图4-5所示。 图4-5轮廓提取处理后的界面 十五、图像的镜像处理(30分) 问题描述: 镜像变换又称为对称变换。 镜像变换包括: 以X轴为对称的镜像变换、以Y轴为对称的镜像变换、以原点为对称的镜像变换等。 算法如下。 (1)以X轴为对称的镜像变换(垂直翻转) 点(x,y)以x轴为对称的点(x',y')坐标为: x'=xy'=-y (2)以Y轴为对称的镜像变换(水平翻转) 点(x,y)以y轴为对称的点(x',y')坐标为: x'=-xy'=y (3)以原点为对称的镜像变换(水平垂直翻转) 点(x,y)以原点为对称的点(x',y')坐标为: x'=-xy'=-y 利用上述算法可实现图像的镜像处理。 1.界面设计(3分) 参考图3-1设计界面。 图3-1初始界面 2.功能要求(27分) (1)(9分)单击“垂直翻转”按钮后,在右侧框中显示图像垂直翻转(以X轴为对称)处理结果,如图3-2所示。 图3-2“垂直翻转”处理结果 (2)(9分)单击“水平翻转”按钮后,在右侧框中显示图像水平翻转(以Y轴为对称)处理结果。 (3)(9分)单击“水平垂直翻转”按钮后,在右侧框中显示图像水平垂直翻转(以原点为对称)处理结果。 十六、曲线的几何变换(30分) 说明: 三阶函数y=ax(x+x0)(x-x0)曲线的原理如图1-1所示。 当y=0时,此函数有三个解: x=0,x=x0,x=-x0,因而,曲线在(0,0),(x0,0),(-x0,0)三点与x轴相交。 图1-1三阶曲线 如果设右上角曲线顶点坐标为(x1,y1),代入后得: 可求得a为: 设: 分辨率640*480 x0=120x1=180y1=120 1.界面设计(5分) 设计菜单或按钮界面,项目为: 函数曲线、平移曲线、缩小1/2、旋转90度。 在图片框内或窗体绘图。 2.功能要求(共25分) 分别为菜单中的命令或按钮编写程序代码,实现下述功能。 (1)(10分)单击“函数曲线”,能够显示如图1-2所示的图形。 (2)(5分)单击“平移曲线”,能够显示如图1-3所示的图形。 (3)(5分)单击“缩小1/2”,能够显示如图1-4所示的图形。 (4)(5分)单击“旋转90度”,能够显示如图1-5所示的图形。 十七、绘图和文本输入(25分) 1.界面设计(5分) (1)初始状态时,“命令”选中直线,“颜色”选中红色,如图1-1; (2)在底部“当前数据”框中,x、y是鼠标在白色绘图区上移动时的坐标值;“命令”是用户选中的命令,“颜色”是用户选中的颜色。 2.功能要求(20分) (1)(4分)鼠标在绘图区移动时,鼠标指针的形状为十字型;并且在“当前数据”框中能够实时显示鼠标指针的坐标位置;用户改选了命令或颜色时,能够将选中的命令和颜色显示在“当前数据”框的对应位置。 (2)(5分)选中“直线”命令后,在绘图区单击,并随着鼠标的拖动,用当前颜色画一条直线。 (3)(5分)选中“矩形”命令后,在绘图区单击,并随着鼠标的拖动,用当前颜色画一个矩形。 (4)(2分)选中“文本命令后,在绘图区域单击鼠标左键,弹出“输入字符串”对话框,如图1-2所示。 图1-2 (5)(2分)在“输入字符串”对话框中单击“格式”按钮后,能够弹出“字体对话框”,并将输入的字符串的格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 选题