第六届蓝桥杯单片机设计与开发决赛试卷
- 格式:pdf
- 大小:349.90 KB
- 文档页数:4
第六届省赛1.方程整数解方程: a^2 + b^2 + c^2 = 1000(或参见【图1.jpg】)这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解。
你能算出另一组合适的解吗?请填写该解中最小的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
10#include<stdio.h>int main(){int a,b,c;for(a=1;a*a<=1000;a++){for(b=1;b*b<=1000;b++){for(c=1;c*c<=1000;c++){if(a*a+b*b+c*c==1000){printf("%d %d %d\n",a,b,c);}}}}return 0;}2.星系炸弹在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。
比如:2015-02-19 请严格按照格式书写。
不能出现其它文字或符号。
2017-08-05#include <stdio.h>int main(){int monthDays[12]={31,28,31,30,31,30,31,31,30,31,30,31};int days=1000;int year=2014, month=11, day=9;int i;for(i=0;i<days;i++){day++;if(day>monthDays[month-1]){day=1;month++;if(month>12){month=1;year++;if((year%400==0) ||(year%4==0 && year%100!=0))monthDays[1]=29;elsemonthDays[1]=28;}}}printf("%d-%d-%d\n",year,month,day);getchar();return 0;}3.奇妙的数字小明发现了一个奇妙的数字。
设计任务及要求1.过载监测与货物类型识别1.1 空载、过载监测使用电位器RB2输出电压V o模拟压力变送器输出,设备实时采集电位器输出电压,完成货物空载、过载监测功能。
1.1.1 当0 <V o<1V时,判断为空载,L1点亮;1.1.2 当1 ≤V o<4V时,判断为非空载,货物被填装到传送起始位置,L2点亮;1.1.3 当V o≥4V时,判断为过载状态,L3以0.5秒为间隔闪烁提醒,蜂鸣器报警提示。
说明:空载状态下,所有数码管熄灭。
1.2 货物类型判断货物被填装到传送起始位置后,系统启动超声波测距功能,完成货物类型判断,数码管显示界面如图2所示:1.2.1 当超声探头与货物之间的距离小于等于30cm时判断为I类货物;1.2.2 当超声探头与货物之间的距离大于30cm时判断为II类货物。
1 8 8 32 8 8 2界面编号熄灭距离:32cm 熄灭II类货物图2. 数码管显示界面1-货物类型显示说明:1. 货物类型显示格式:I类货物- 数字1、II类货物- 数字2;2. A3草稿纸短边接近30cm,可用于验证测距结果。
2.货物传送在非空载、非过载的前提下,通过按键控制继电器吸合,启动货物传送过程,并通过数码管实时显示剩余的传送时间,倒计时结束后,继电器自动断开,完成本次传送过程,数码管显示格式如图3所示:2 8 8 8 8 8 0 1界面编号熄灭剩余传送时间:1秒图3. 数码管显示界面2-剩余传送时间显示说明:继电器吸合时,指示灯L10点亮,断开时L10熄灭。
3.按键功能描述3.1 按键S4定义为“启动传送”按键,按键按下后,启动货物传送过程。
说明:按键S4在空载、过载、传送过程中无效。
3.2 按键S5定义为“紧急停止”按键,按键按下后,继电器立即断开,指示灯L4以0.5秒为间隔闪烁,剩余传送时间计时停止。
再次按下S5,传送过程恢复,L4熄灭,恢复倒计时功能,继电器吸合,直到本次传送完成。
说明:按键S5仅在传送过程中有效。
本科决赛1、数量周期【结果填空】(满分9分)复杂现象背后的推动力,可能是极其简单的原理。
科学的目标之一就是发现纷繁复杂的自然现象背后的简单法则。
爱因斯坦的相对论是这方面的典范例证。
很早的时候,生物学家观察某区域某种昆虫的数量(称为虫口数)之逐年变化规律,就十分迷惑:有的时候是逐渐增多达到一个平衡值。
有的时候在两个数字间周期跳动。
有的时候则进入一片混乱,类似随机数字一样变化(称为混沌现象)。
慢慢地,人们从数学中更清晰地观察到了这一现象,并因此开创了:符号动力学、非线性动力学等研究领域。
一个著名的虫口数目简化模型如下:x' = x * (1 - x) * r这里,x x' r 都是浮点数。
其中,x 表示当年的虫口数,x' 表示下一年的虫口数。
它们的取值范围在0 与1 之间,实际上表示的是:虫口的总数占环境所能支持的最大数量的比率。
r 是常数(环境参数),r的取值范围在[0,4]。
令人惊讶的是:这个简单的迭代公式有着不同寻常的神秘性质!一般来说,多次迭代后,虫口数的稳定模式与x的初始值无关,而与r 有关!例如:无论x初始值是多少,当r = 2.5 的时候,x 多次迭代后会趋向于0.6。
而当r = 3.2 的时候,x 的值会趋向于在0.799 与0.513 之间周期性摆动。
那么,r = 3.62 的时候,你观察到有什么周期现象发生吗?不需要提交源代码,只要写出你的结论即可!答案写在:“解答.txt”中,不要写在这里。
2、提取子串【代码填空】(满分12分)串“abcba”以字母“c”为中心左右对称;串“abba”是另一种模式的左右对称。
这两种情况我们都称这个串是镜像串。
特别地,只含有1个字母的串,可以看成是第一种模式的镜像串。
一个串可以含有许多镜像子串。
我们的目标是求一个串的最大镜像子串(最长的镜像子串),如果有多个最大镜像子串,对称中心靠左的优先选中。
例如:“abcdeefghhgfeiieje444k444lmn”的最大镜像子串是:“efghhgfe”下面的静态方法实现了该功能,请仔细阅读并分析代码,填写空白处的代码,使得程序的逻辑合理,结果正确。
蓝桥杯软件开发大赛的试题种类繁多,包括算法题、设计题、应用题等,考察的范围广泛且深入。
以下我将以一个可能的试题为例,阐述我的回答思路和解答过程。
题目:设计一个软件,用户能够输入一串字符并找到重复的字符,将这些重复的字符标记出来。
解题思路:1. 首先需要理解用户需求。
本题中用户需要我们设计的软件能够帮助他们找到并标记重复的字符。
这意味着我们需要创建一个输入界面让用户输入字符,还需要设计一个算法来查找重复的字符并标记它们。
2. 根据用户需求,我们可以设计一个简单的输入界面,使用户能够输入一串字符。
对于字符的输入,可以使用输入框和文本编辑器来实现。
用户可以通过键盘或鼠标输入字符。
3. 对于查找重复字符的算法,我们可以使用哈希表或排序来实现。
哈希表能够在常数时间内实现查找操作,因此是处理这类问题的理想选择。
我们将用户输入的字符串作为键值,使用哈希表来存储字符串及其出现次数。
如果一个字符在哈希表中已经存在,则我们将其计数加一;如果不存在,则将其计数为第一次出现。
4. 当我们完成哈希表的构建后,就可以遍历哈希表,查找出现次数超过一次的字符。
对于每个出现次数大于一的字符,我们在用户界面上将其显示出来,并使用特殊标记(例如颜色或字体)将其突出显示。
具体实现过程:1. 创建输入框和文本编辑器,让用户输入一串字符。
2. 将用户输入的字符串存储在哈希表中,并统计每个字符的出现次数。
3. 遍历哈希表,对于每个出现次数大于一的字符,在用户界面上显示该字符及其出现次数,并使用特殊标记突出显示。
4. 完成软件后,将界面展示给用户,并等待用户反馈。
以上就是我对这个问题的解答思路和实现过程。
当然这只是个示例,蓝桥杯软件开发大赛的试题可能涉及到的内容会更加复杂和深入。
希望这个回答能对你有所帮助!。
蓝桥杯训练试题及答案1. 单项选择题请从以下选项中选择最符合题意的答案。
(1) 以下哪个选项是Python语言的解释器?A. JavaB. Node.jsC. PythonD. Ruby答案:C(2) 在HTML中,用于定义最重要的标题的标签是什么?A. <h1>B. <h6>C. <p>D. <div>答案:A2. 多项选择题请从以下选项中选择所有符合题意的答案。
(1) 以下哪些是数据结构中的基本概念?A. 栈B. 队列C. 树D. 循环答案:A, B, C(2) 在JavaScript中,哪些关键字用于声明变量?A. varB. letC. constD. function答案:A, B, C3. 判断题请判断以下陈述是否正确。
(1) 在C语言中,数组的索引从1开始。
答案:错误(2) 在数据库中,主键用于唯一标识表中的每条记录。
答案:正确4. 填空题请根据题目要求填写适当的内容。
(1) 在Python中,用于定义函数的关键字是____。
答案:def(2) 在HTML中,用于插入图片的标签是____。
答案:<img>5. 简答题请简要回答以下问题。
(1) 什么是算法的时间复杂度?答案:算法的时间复杂度是指算法执行时间随输入规模增长的变化趋势,通常用大O表示法来描述。
(2) 请简述面向对象编程的三大特性。
答案:面向对象编程的三大特性包括封装性、继承性和多态性。
6. 编程题请编写一个函数,实现将输入的字符串反转。
(1) 编程语言:Python答案:```pythondef reverse_string(s):return s[::-1]```(2) 编程语言:JavaScript答案:```javascriptfunction reverseString(s) {return s.split('').reverse().join('');}```。
蓝桥杯第六届c语言试题及答案蓝桥杯第六届C语言试题及答案1. 选择题1.1. 以下哪个选项是C语言中的关键字?A. intB. integerC. varD. string答案: A1.2. C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案: A2. 填空题2.1. 在C语言中,用于定义一个整型变量的关键字是____。
答案: int2.2. C语言中,用于数组定义的关键字是____。
答案: array3. 编程题3.1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```3.2. 编写一个C语言程序,实现字符串反转。
答案:```c#include <stdio.h>#include <string.h>void reverseString(char* str) {int length = strlen(str);for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```4. 简答题4.1. 简述C语言中指针的概念及其用途。
蓝桥杯软件开发大赛试题全文共四篇示例,供读者参考第一篇示例:蓝桥杯软件开发大赛是一项举办多年的IT技术比赛,旨在激发青少年对软件开发的兴趣,培养他们的编程能力和创新思维。
每年举办的蓝桥杯软件开发大赛都吸引了众多热爱编程的学生参与,展示他们的才华和技能。
本文将介绍蓝桥杯软件开发大赛的试题设置和一些参赛注意事项,希望对准备参加比赛的同学有所帮助。
蓝桥杯软件开发大赛的试题种类多样,涉及算法设计、数据结构、数据库应用、Web开发、移动应用等多个领域。
比赛分为初赛和决赛两个阶段,初赛主要是在线笔试,考察学生的编程基础和思维能力;决赛则是现场编程比赛,要求参赛选手根据赛题要求设计和实现一个完整的软件项目。
在蓝桥杯软件开发大赛的初赛中,通常会涉及一些常见的编程题目,比如求最大公约数、字符串匹配、图遍历等。
参赛选手需要在规定的时间内完成这些题目,通过分析问题、设计解决方案、编写代码,并最终得到正确的结果。
初赛中还会有一些开放性的编程题目,要求参赛选手自行设计算法和数据结构,解决现实生活中的问题,展现自己的创新能力和实践能力。
而蓝桥杯软件开发大赛的决赛阶段则更加具有挑战性,参赛选手需要在有限的时间内完成一个完整的软件项目,包括需求分析、系统设计、代码实现、测试调试等环节。
在决赛中,参赛选手还需要展示出团队协作和沟通能力,完成一个协作开发的软件项目,从而全面展现出自己的技术水平和综合素质。
在参加蓝桥杯软件开发大赛时,选手需要注意一些事项。
要认真准备,掌握扎实的编程基础和工程实践能力,熟悉各种编程语言和开发工具。
要多练习,解决更多的编程题目,提升自己的编程技能和解决问题的能力。
要注意团队合作,能够有效沟通和协作,充分发挥每个团队成员的优势,共同完成比赛任务。
蓝桥杯软件开发大赛是一个很好的展示自己技能、学习交流的平台,能够锻炼参赛选手的编程能力和团队协作能力。
希望更多的学生能够参加这样的比赛,挑战自我,不断提高,追求卓越。
准考证号
工位号
注意:只填写准考证号和工位号,否则试卷作废
密 封 线
----------------------------------------------------------------------------- 2015年“蓝桥杯” 第六届全国软件和信息技术专业人才大赛个人赛
(电子类)决赛单片机设计与开发项目
竞赛时间:5小时
题 号 一 二 三 总分 配 分 10分 30分 60分 100分 得 分
“智能物料传送系统”设计任务书
功能简述
智能物料传送系统能够实现货物类型判断、过载监测、紧急停止和系统参数存储记录等功能。
系统硬件部分主要由按键电路、显示电路、数据存储电路、传感器检测电路及单片机系统组成,系统框图如图1所示:
图1. 系统框图
I2C 总线驱动程序、CT107D 单片机考试平台电路原理图以及本题所涉及到的芯片数据手册,可参考计算机上的电子文档。
原理图文件、程序流程图及相关工程文件请以考生号命名,并保存在计算机上的考生文件夹中(文件夹名为考生准考证号,文件夹位于 Windows 桌面上)。
设计任务及要求
1.过载监测与货物类型识别
1.1 空载、过载监测
使用电位器RB2输出电压V o模拟压力变送器输出,设备实时采集电位器输出电压,完成货物空载、过载监测功能。
1.1.1 当0 <V o<1V时,判断为空载,L1点亮;
1.1.2 当1 ≤V o<4V时,判断为非空载,货物被填装到传送起始位置,L2点亮;
1.1.3 当V o≥4V时,判断为过载状态,L3以0.5秒为间隔闪烁提醒,蜂鸣器报警
提示。
说明:空载状态下,所有数码管熄灭。
1.2 货物类型判断
货物被填装到传送起始位置后,系统启动超声波测距功能,完成货物类型判断,数
码管显示界面如图2所示:
1.2.1 当超声探头与货物之间的距离小于等于30cm时判断为I类货物;
1.2.2 当超声探头与货物之间的距离大于30cm时判断为II类货物。
1 8 8 3
2 8 8 2
界面编号熄灭距离:32cm 熄灭II类货物
图2. 数码管显示界面1-货物类型显示
说明:
1. 货物类型显示格式:I类货物- 数字1、II类货物- 数字2;
2. A3草稿纸短边接近30cm,可用于验证测距结果。
2.货物传送
在非空载、非过载的前提下,通过按键控制继电器吸合,启动货物传送过程,并通
过数码管实时显示剩余的传送时间,倒计时结束后,继电器自动断开,完成本次传
送过程,数码管显示格式如图3所示:
2 8 8 8 8 8 0 1
界面编号熄灭剩余传送时间:1秒
图3. 数码管显示界面2-剩余传送时间显示
说明:继电器吸合时,指示灯L10点亮,断开时L10熄灭。
3.按键功能描述
3.1 按键S4定义为“启动传送”按键,按键按下后,启动货物传送过程。
说明:按键S4在空载、过载、传送过程中无效。
3.2 按键S5定义为“紧急停止”按键,按键按下后,继电器立即断开,指示灯L4
以0.5秒为间隔闪烁,剩余传送时间计时停止。
再次按下S5,传送过程恢复,
L4熄灭,恢复倒计时功能,继电器吸合,直到本次传送完成。
说明:按键S5仅在传送过程中有效。
3.3 按键S6定义为“设置”按键,按下S6按键,调整I类货物传送时间,再次按
下S6按键,调整II类货物传送时间,第三次按下S6,保存调整后的传送时间
到E2PROM,并关闭数码管显示。
设置过程中数码管显示界面如图4所示:
3 8 8 0 2 8 0 4
界面编号熄灭I类:传送时间2秒熄灭II类:传送时间4秒
图4. 数码管显示界面3-传送时间设置界面
说明:
1. 货物传送时间可设定范围为1-10秒,通过按键S7调整;
2. “设置”按键S6、“调整”按键S7仅在空载状态下有效;
3. 通过按键S6切换选择到不同货物类型的传送时间时,显示该类货物传送
时间的数码管闪烁。
4.数据存储
I、II类型货物的传送时间在设置完成后需要保存到E2PROM中,设备重新上电后,
能够恢复最近一次的传送时间配置信息。
5.上电初始化状态与工作流程说明
5.1 I类设备默认传送时间为2秒,II类设备为4秒;
5.2 最终作品提交前,将RB2输出电压调整到最小值,确保设备处于空载状态;
6.其它
建立一个准考证号命名的txt文档,写出作品设定的单片机内部振荡器频率。
7.电路原理图设计
假定设备使用压力感应电阻R FS完成过载监测功能,压力变化与压力感应电阻阻值之间的关系如图5所示,使用简单阻容元器件、三极管、运算放大器等设计电路,当货物重量小于1000g时,电路驱动继电器吸合,否则继电器断开,设计电路原理图并说明电路工作原理。
图5. 压力-电阻值关系曲线
项目名称得分评卷人
电路设计
一. 电路原理图设计
根据设计任务要求,使用Protel 99se或Altium Designer Summer09软件设计电路原理图,标明元器件参数,说明电路工作原理。
原理图文件保存在考生文件夹中(文件夹以考生的准考证号命名)。
项目名称得分评卷人
程序设计
二. 程序编写及流程图绘制
1.画出程序流程图,保存在考生文件夹中;
2.按照设计要求完成程序设计任务,并将工程文件保存在考生文件夹中。
项目名称得分评卷人
硬件调试
三. 软、硬件统调
将编译通过的程序下载到单片机芯片中,进行软、硬件统调。
1.系统初始化状态;
2.LED、蜂鸣器报警指示功能;
3.数码管显示数据及显示界面切换功能;
4.继电器时序控制功能;
5.货物空载、过载判断功能;
6.货物类型判断功能;
7.按键控制与不同状态下的按键功能锁定;
8.EEPROM参数存储功能。