华清远见“第一届职业杯程序设计演讲大赛”题目公布
时间:2017-08-16来源:济南中心
智能恋爱配对(嵌入式组A题) 一、任务: 智能恋爱配对 二、要求: 1、基本要求 建立一个模型,来模拟推导社会男女恋爱择偶过程。 为了模型简化,一个人的特性指标有三个,这里假设为财富、样貌、品格,每个指标均可取值1-100之间任意数字。同样也对这3项指标有自己的需求。这3个需求值取值范围都在1-98间,当然三者的和必须为100.所以任意一个人可以用以下数组来表述: G(A、B、C、A1、B1、C1)G代表男,M代表女。 举例G2(92、65、45、25、35、40),表示男2号,拥有财富92、样貌65、品格45,对异性品格的偏好为:财富在乎程度百分之25、样貌在乎程度百分之35、品格在乎程度百分之40。 同样为了模型简化,假设信息是完全对称的,即是说,每个人都能一眼就能看清楚任意一个人的财富、样貌、品格。 还是为了模型简化,建模所用样本为男女各100个,即男女人数相同。 每个人对异性的满意度将如下定义:每个偏好指标与异性的对应的禀赋指标相乘,三个指标的乘积再相加,即他(她)对某个异性的满意度。 举例G11(80、50、40、10、30、60)对M(50、60、80、40、10、50)的满意度为: (10*50+30*60+60*80)= 7100分 相对的 MM 对 GG的满意度则为: (40*80+10*50+50*40) = 5700分 好了,配对活动开始,设计的配对法则如下: 1、100个男方,顺序,轮流从0号到99号女方中挑选自己满意的一位,然后向她发出配对邀请。 2、接受邀请多的女方开始行动,对这些邀请的男性中,选择满意的一位。 3、那么这两位配对成功,剔除出样本,剩下的99对继续这样配对。 4、循环该配对法则,直到后一对男女配对成功。 2、发挥部分 界面美观,操作方便,有必要的信息提示 三、说明: 1、编程语言为C++或C语言;运行环境windows或linux。 2、能让用户输入自己的参数以及对各项数值的偏好,然后随机生成100位男性100位女性(包括用户在内。如果用为男性则为99男100女),数值全部随机但需满足题设限制。按照上述规则给出一个匹配结果呈现给用户。 3、要输出可执行程序; 4、在匹配时,如果发现有多个满意度相同的对象,要求自身三个属性(财富,外貌,品格)总和大的优先,如果再相同则id小的优先。如果有2位女士的选票相同,优先级规则同上。请把主角的id置为小值,以便在前2个条件相同情况下,主角可以优先选择。 5、程序读取指定的配置文件,获取样本,然后根据指定的输入,输出结果。同时会给出一组源数据和标准答案给学生自测。后再让学生根据不同的,指定的输入,给出考试答案。 请参考附件,附件中,male.txt,female.txt,players.txt 分别是男士样本、女士样本和主角样本各 100位。 男女样本中,每行都代表一位男士或女士的基本属性,从左到右依次是ID, 样貌,品格,财富 , 期望样貌,期望品格,期望财富,没有加入性别,需要在解析时手动添加,每个txt文本的性别都是一样的,请注意。另外,主角样本中没有ID属性,换成了性别属性,其中 0表示女性,1表示男性,其余属性依次为样貌,品格,财富,期望样貌 ,期望品格,期望财富。建议把主角的id都设置为 -1,以便满足优先选择的条件。 给出标准答案2组,用于考生自测: 1号主角(文本第一行),选择的对象属性为(6,18,82,87,3,10) 2号主角(文本第二行),选择的对象属性为(27,74,22,22,58,20) 同时要求考生输出9号主角(0,72,55,53,8,87,5),19号主角(0,11,4,63,22,60,18),47号主角(1,19,8,21,1,53,46),83号主角(1,23,11,17,58,31,11),99号主角(1,26,66,1,78,11,11)以及100号主角(0,68,28,19,43,11,46)的选择结果。 四、评分标准:
一、任务:由于很多的企业使用NOR FLASH(8M居多)作为产品的存储芯片,所以导致整个嵌入式系统放在NOR FLASH上空间不足,也就必须做出小型化方案来解决。 二、要求: 1、基本要求 目前FS4412单板使用的NAND FLASH,需要在有NAND支持的基础上,让自己的系统尽可能的小,boot参考大小192k以内,kernel2M以内,根文件系统4M,总共大小不能超过8M。并且完成单板上电蜂鸣器响一声,进行根文件系统后4个LED灯为轮闪(跑马灯效果)。 2、发挥部分 智能检测单板的倾斜幅度,当x,y,z轴的值变动幅度大小100时,蜂鸣器长鸣 三、说明: 1、根据实现的功能编写文档。 2、发挥部分可以通过网络方查找相关资料,倾斜幅度由MPU6050检测。 3、上电蜂鸣器响一声需要在boot下完成,使用C语言实现。 4、系统小型化之后基本的网络功能和烧写功能需要是正常可以使用的。 四、评分标准:
一、任务:系统用户管理是许多应用软件里不可缺少的部分,请使用C语言为某软件开发一个简单的用户管理子系统 二、要求: 1、基本要求 (1)添加新用户: 在系统中为新用户创建一个访问系统的账户,其中用户名的长度限制在1-6个字符之间且不区分大小写;用户密码的长度限制在6-10个字符之间,注意密码区分大小写。在输入新用户名时,需要判定输入的用户名是否已经存在,若已经存在则提示用户重新输入;在输入用户密码时,需要分别输入“用户密码”和“确认密码”,若两者不一致则提示用户并让用户全部重新输入;用户在输入密码时,不允许直接在屏幕上显示用户键盘敲入的字符,必须用“*”号代替(下面输入密码时,与此要求相同);系统中所有用户的账户存储在一个数据文件里 (2)系统登录: 在用户登录时对用户身份进行确认。当输入了用户名和密码后,判断输入的用户是否存在且密码相同,若用户合法,则提示“登录成功”;否则,提示“用户名或密码错误”,让用户重新输入;注意:只允许用户尝试3次,超过3次则显示“非法用户”并退出模块。 (3)密码修改: 在修改用户密码时,需要输入用户名和原始密码,以及新密码和确认密码;当用户名和原始密码正确以及新密码和确认密码一致时,更新用户的密码,否则提示用户错误原因,即“用户名或密码错误”或“新密码和确认密码不一致”。 (4)用户查询: 为用户管理提供模糊查询功能。当输入检索词后,查询出所有用户名中包含该检索词的用户。例如:假设当前系统中包含的用户包括abc、bab、cab、cba,如果用户输入的检索词是ab或AB,则检索出来的用户应该包括abc、bab和cab 2、发挥部分 通过文件实现项目功能 三、说明: (1)为了验证上述模块是否开发正确,可在main函数中编写一个菜单完成对上述功能模块的选择调用。另外,以上任务在字符模式底下完成就可以了,不需要采用图形界面模式。 (2)项目中不可使用数据库进行编程。 四、评分标准:
一、任务:编写2048游戏 二、要求: 在linux系统下实现游戏2048游戏功能 三、说明: 什么是2048游戏:
每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方乱数出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。不断的叠加终拼凑出2048这个数字就算成功。(摘自百度) 必须在linux系统下实现2048游戏的功能。 终项目得分由以下评分标准构成。 参赛者需要对整个代码的功能和逻辑进行讲解。 四、评分标准:
一、任务:天气预报App 二、要求: 1. 基本要求 1、联网更新当前的天气信息 2、能切换不同的城市 3、不同的天气要有不同的显示页面 4、能适配常见的分辨率 2. 发挥部分 1、可以有前后几天的天气显示 2、可以添加天气效果动画 三、说明: 1、天气的服务API自己从网上找 2、城市要求为范围 四、评分标准:
一、任务:课程表App 二、要求: 1. 基本要求 1、通过表格的方式显示课程 2、 用户可以自定义课程表的时间和课程 3、增加课程查询功能 2. 发挥部分 提醒功能可以有弹窗和声音等提示效果 App中有Service服务用来做提醒功能 三、说明: 使用数据库完成 提醒功能要求使用Service常驻后台提醒 四、评分标准:
一、 任务:学生管理系统App 二、 要求: 1. 基本要求 1、以班级为单位录入学生的信息 2、有使用者权限管理的功能 3、拥有增删改查功能 2. 发挥部分 1、学生信息可以增加图片等 2、App中有Service服务用来做提醒功能 3、增加各种查询(省份证、籍贯、各种条件过滤等) 三、说明: 使用数据库完成 权限管理包括不同用户的密码,不同用户的读写等权限,以及不同用户对不同班级的访问权限 四、评分标准:
相关资讯
发表评论
|