第七届蓝桥杯大赛单片机设计与开发项目模拟题

第七届蓝桥杯大赛单片机设计与开发项目模拟题
第七届蓝桥杯大赛单片机设计与开发项目模拟题

密 封 线

-----------------------------------------------------------------------------

全国软件和信息技术专业人才大赛模拟题

单片机设计与开发科目

“温度记录器”设计任务书

功能简述

设备按照用户通过按键设定的时间间隔自动采集并存储温度数据,并具有采集完成提醒、数码管显示等功能,系统硬件部分主要由按键电路、电源供电电路、RTC 时钟、传感器电路和显示电路组成。系统框图如图1所示:

图1. 系统框图

单总线驱动程序、DS1302芯片驱动程序、CT107D 单片机考试平台电路原理图以及本题所涉及到的芯片数据手册,可参考计算机上的电子文档。程序流程图及相关工程文件请以考生号命名,并保存在计算机上的考生文件夹中(文件夹名为考生准考证号,文件夹位于 Windows 桌面上)。

设计任务及要求

1.数码管显示

1.1设备上电后,自动进入参数设置界面(图1)此时,通过按键S4切换4个温度

图1. 参数设置界面(上电默认)

按下按键S5,确认采集间隔时间,并退出参数设置界面(图1),进入时钟显示界

图2. 时钟显示界面

要求:时钟显示界面(图2)下,提示符1、2以1秒为间隔闪烁

1.2 当设备按照用户设定的采集间隔采集到10个数据后,指示灯L1闪烁提示本

次温度采集已经完成,此时进入数码管温度采集显示界面(图3):

图3. 温度采集显示界面

此时,按下S6,L1熄灭,按照时间先后顺序,切换显示设备内存储的温度数据;

按下S7按键进入参数设置界面(图1),待用户输入温度采集间隔之后,可以进行下一次的温度采集工作。

说明:索引指的是当前显示的温度按照采集时间先后顺序的编号(00-09)。

2.温度检测功能

使用DS18B20温度传感器完成温度测量功能。

3.RTC

使用DS1302时钟芯片完成RTC的相关功能。

4.设备工作模式说明

(1)默认RTC时间:23时59分50秒;

(2)默认温度数据采集间隔为1秒;

(3)设备处在不同的显示界面下,与该界面无关的按键操作无效;

(4)温度数据最大存储容量:10个

5.电路原理图设计

使用基本阻容元器件、集成运算放大器设计硬件电路,完成如下功能:

已知某种类型的传感器输出4-20mA电流信号,设计电路将电流信号转换为0V-5V

的电压信号。简述所设计电路的工作原理,并绘制出电路原理图。

一. 电路原理图设计

根据设计任务要求,使用Protel 99se或Altium Designer Summer09软件设计电路原理图,标明元器件参数,说明电路工作原理。原理图文件保存在考生文件夹中(文件夹以考生的准考证号命名)。

二. 程序编写及流程图绘制

1.画出程序流程图,保存在考生文件夹中;

2.按照设计要求完成程序设计任务,并将工程文件保存在考生文件夹中。

三. 软、硬件统调

将编译通过的程序下载到单片机芯片中,进行软、硬件统调。

1.设备初始化状态;

2.LED指示功能;

3.数码管显示数据及显示界面切换功能;

4.按键的功能实现;

5.温度测量功能实现;

6.RTC实时时钟的功能实现。

第七届蓝桥杯大赛2016年蓝桥杯个人赛 (电子类) 省赛 单片机设计与开发科目

准考证号 工位号 注意:只填写准考证号和工位号,否则试卷作废 密 封 线 ----------------------------------------------------------------------------- 第七届蓝桥杯全国软件和信息技术专业人才大赛个人赛 (电子类)省赛 单片机设计与开发科目 竞赛时间:5小时 题 号 一 二 三 总 分 配 分 10 30 60 100分 得 分 “模拟风扇控制系统”设计任务书 功能简述 “模拟风扇控制系统”能够模拟电风扇工作,通过按键控制风扇的转动速度和定时时间, 数码管实时显示风扇的工作模式,动态倒计时显示剩余的定时时间,系统主要由数码管显示、单片机最小系统、按键输入和电机控制保护电路组成,系统框图如图1所示: 图1. 系统框图 单总线驱动程序、CT107D 单片机考试平台电路原理图以及本题所涉及到的芯片数据手册,可参考计算机上的电子文档。程序流程图及相关工程文件请以考生号命名,并保存在计算机上的考生文件夹中(文件夹名为考生准考证号,文件夹保存在监考员指定位置)。 DS18B20 MCU 按键输入 LED 指示灯 数码管显示 PWM 输出

设计任务及要求 1.工作模式 设备具有“睡眠风”、“自然风”和“常风”三种工作模式可以通过按键切换,通过单片机P34引脚输出脉宽调制信号控制电机运行状态,信号频率为1KHz。 1.1“睡眠风”模式下,对应PWM占空比为20%; 1.2“自然风”模式下,对应PWM占空比为30%; 1.3“常风”模式下,对应PWM占空比为70%; 2.数码管显示 数码管实时显示设备当前工作模式和剩余工作时间(倒计时),如图2所示。 - 1 - 80 0 5 0 工作模式:睡眠风熄灭剩余工作时间:50秒 图2.工作模式和剩余工作时间显示 “睡眠风”状态下,对应数码管显示数值为1,自然风模式下,显示数值为2,常风模式下,显示数值为3。 3.按键控制 使用S4、S5、S6、S7四个按键完成按键控制功能。 2.1 按键S4定义为工作模式切换按键,每次按下S4,设备循环切换三种工作模式。 工作过程如下: 睡眠风自然风常风 2.2 按键S5定义为“定时按键”每次按下S5,定时时间增加1分钟,设备的剩余 工作时间重置为当前定时时间,重新开始倒计时,工作过程如下: 0分钟1分钟2分钟 设备剩余工作时间为0时,停止PWM信号输出。 2.3 按键S6定义为“停止”按键,按下S6按键,立即清零剩余工作时间,PWM 信号停止输出,直到通过S5重新设置定时时间。 2.4 按键S7定义为“室温”按键,按下S7,通过数码管显示当前室温,数码管显 示格式如图3所示,再次按下S7,返回图2所示的工作模式和剩余工作时间

蓝桥杯c c 省赛试题及答案解析

2016蓝桥杯c-c++B组省赛试题及解析 第一题 煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

答案:171700 #include<> int main() { int a[101] ={0}; for(int i = 1 ; i < 101 ; i ++) a[i] = a[i-1] + i; int ans = 0; for(int j = 1 ; j < 101 ; j ++) ans += a[j]; printf("%d\n",ans); return 0; }

第二题 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。 现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 答案:26 #include<> int main()

{ int start,end; for(start = 1 ; start < 236 ; start ++) { for( end = start ; end < 236 ; end ++ ) { int sum = 0; for(int i = start; i <= end; i ++) sum += i; if( sum == 236) { printf("start : %d end : %d\n",start,end); } } }

【IT专家】第四届全国蓝桥杯软件设计大赛 java软件开发本科B组 题目及答案

第四届全国蓝桥杯软件设计大赛java软件开发本科B组题目及答案2013/05/26 0 1.世纪末的星期 ?曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。还有人称今后的某个世纪末的12月31日,如果是星期一则会....有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!!于是,“谣言制造商”又修改为星期日......1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?请回答该年份(只写这个4位整数,不要写12月31等多余信息) ?参考代码: ?import java.util.Calendar;import java.util.Date;public class 世纪末的星期{public static void main(String[] args){for(int i=1999;;i+=100){Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date(i-1900,11,31));if(calendar.get(Calendar.DAY_OF_WEEK)- 1==0){System.out.println(i);return;}}}} ?标题: 马虎的算式小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。有一次,老师出的题目是:36 x 495 = ?他却给抄成了:396 x 45 = ?但结果却很戏剧性,他的答案竟然是对的!!因为36 * 495 = 396 * 45 = 17820类这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)能满足形如:ab * cde = adb * ce 这样的算式一共有多少种呢?请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。满足乘法交换律的算式计为不同的种类,因此答案肯定是个偶数。 ?参考代码: ?public class 马虎的算式{static int kinds=0;static int a[]=new int[6];static boolean vis[]=new boolean[10];static void check(int a[]){int num1=a[1]*10+a[2];int num2=a[3]*100+a[4]*10+a[5];int num3=a[1]*100+a[4]*10+a[2];int num4=a[3]*10+a[5];if(num1*num2==num3*num4)kinds++;}static void dfs(int start,int

第十一届蓝桥杯大赛软件类省赛第三场 CC++

第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组 第十一届蓝桥杯大赛软件类省赛第三场 C/C++大学B组 【考生须知】 考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。 考试时间为4小时。考试期间选手可浏览自己已经提交的答案,被浏览的答案允许拷贝。时间截止后,将无法继续提交或浏览答案。 对同一题目,选手可多次提交答案,以最后一次提交的答案为准。 选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。 试题包含“结果填空”和“程序设计”两种题型。 结果填空题:要求选手根据题目描述直接填写结果。求解方式不限。不要求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容。 程序设计题:要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果才有机会得分。 注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。 对于编程题目,要求选手给出的解答完全符合GNU C/C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。 代码中允许使用STL类库。 注意:main函数结束必须返回0 注意:所有依赖的函数必须明确地在源文件中#include,不能通过工程设置而省略常用头文件。 所有源码必须在同一文件中。调试通过后,拷贝提交。 提交时,注意选择所期望的编译器类型。 第十一届蓝桥杯大赛软件类省赛第三场1

第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组 试题A:数青蛙 本题总分:5分 【问题描述】 “一只青蛙一张嘴,两只眼睛四条腿。两只青蛙两张嘴,四只眼睛八条腿。三只青蛙三张嘴,六只眼睛十二条腿。……二十只青蛙二十张嘴,四十只眼睛八十条腿。” 请问上面这段文字,如果完全不省略,全部写出来,从1到20只青蛙,总共有多少个汉字。 约定:数字2单独出现读成“两”,在其他数里面读成“二”,例如“十二”。10读作“十”,11读作“十一”,22读作“二十二”。 请只计算汉字的个数,标点符号不计算。 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 试题A:数青蛙2

蓝桥杯比赛要求

七、奖项设置及评选办法 7.1 省赛 1.参赛选手奖 省赛每个组别设置一、二、三等奖,比例分别为10%、20%、30%,总比例为实际参赛人数的60%,零分卷不得奖。省赛一等奖选手获得直接进入全国总决赛资格。所有获奖选手均可获得由工业和信息化部人才交流中心及大赛组委会联合颁发的获奖证书。 2.指导教师奖 省赛中获奖的参赛选手的指导教师将获得“蓝桥杯全国软件和信息技术专业人才大赛(××赛区)优秀指导教师”称号。 3.参赛学校奖 参赛组织工作表现突出、经审批符合相关条件的单位,将获得“蓝桥杯全国软件和信息技术专业人才大赛(××赛区)优秀组织单位”称号; 参赛选手成绩优异,经审批符合相关条件的学校将获得“蓝桥杯全国软件和信息技术专业人才大赛(××赛区)优胜学校”称号。 7.2 总决赛 全国总决赛按参赛项目和成绩,为获奖学生、教师和组织单位颁发相应证书和奖 励。其中: 1.参赛选手奖 个人赛根据相应组别分别设立特、一、二、三等奖及优秀奖。在决赛奖项设置中, 每个组别设置特等奖1名,一等奖不高于5%,二等奖占20%,三等奖不低于25%,优秀奖 不超过50%,零分卷不得奖。 所有获奖选手均可获得由工业和信息化部人才交流中心及大赛组委会联合颁发的获 奖证书。 大学组总决赛三等奖及以上选手,如果获得本校免试推研资格,将获得北京大学软 件与微电子学院等院校的面试资格,并优先录取为该院普通硕士研究生。 大学组总决赛三等奖及以上选手,可免除笔试,直接获得百度、IBM等企业在员工 招聘及实习生招聘中的面试机会。 2.指导教师奖 所有获奖选手的指导教师,均可获得“蓝桥杯全国软件和信息技术专业人才大赛优秀 指导教师”证书。 3.参赛学校奖 参赛组织工作成绩突出、经审批符合相关条件的单位,获“蓝桥杯全国软件和信息技 术专业人才大赛优秀组织单位”称号; 参赛选手成绩优异、经审批符合相关条件的学校,获“蓝桥杯全国软件和信息技术专 业人才大赛优胜学校”称号。

蓝桥杯软件设计大赛自测评分标准

2013模拟赛自测评分标准 1.结果填空题 得分或不得分,没有中间结果。 结果必须完全正确才能得分。 结果中含有引导或尾随的空白将被忽略,不扣分。 但,结果中含有中文空白字符或标点符号,按错误处理。 结果中含有不必要的多余内容(说明文字、标点符号等),按错误处理。 2.代码填空题 得分或不得分,没有中间结果。 取出首尾空白,若与参考答案完全一致,则得分。 把自己的答案带入到“评分标准”提供的验证代码中,运行程序得到期望结果的,得分。 其它情况不得分。例如: 因为使用了中文符号或空白而不通过的,按错误处理。 因为多写了已有代码或符号而不通过的,按错误处理。 因为拷贝过程中漏掉字符而不通过的,按错误处理。 因为只针对考题中的数据而使用验证代码中的数据不通过的,按错误处理。 运行超过10秒钟没有停止的,按错误处理。 3.编程大题 每个测试用例单独计分。 本次比赛各个用例均分题目的分值。四舍五入保留小数后3位。统计总分时,四舍五入保留到小数后1位。 首先编译自己的代码。编译发生错误则本题0分。 编译通过的程序采用控制台命令进行输入输出重定向测试。 例如,c组的程序执行文件为a.exe 则: a < in1.txt > out.txt 然后比较out.txt 与out1.txt 若相同则本用例得分。 如果是java组,编译后的文件为:A.class 则: java A < in1.txt > out.txt 然后比较out.txt 与out1.txt 若相同则本用例得分。 注意: 因为选择编程环境错误而编译不通过的,按0分处理。 输出文件格式与参考标准不一致的,本用例0分。 运行时间超过1分钟未出结果的,本用例0 分。 第1/1 页

蓝桥杯哦2010第一届大赛试题

第一题,以下函数的功能是将任意整数进行因式分解, 请完成该程序的空缺使函数能够正常运算 void f(int n) { for(int i=2; i1) printf(“%d\n”, n); } 第二题,以下函数的功能是将给定字符串进行倒序输出,请完成该函数空缺部分。 char* p = “abcdef”; char* q = (char*)malloc(strlen(p)+1); for(int i=0, int len=strlen(p); i

第三题,(这题的题目到底是要干啥,本人到现在沿未明了,数学学统计好,但可以确定原题给出的代码就是如此) int f(int m, int n) { int a = 1; int m1 = m; //—–(3)—- a *= m1–; int b = 1; while(n>1) b *= n–; return a / b; } 第四题,任意给出一个四位数, 把它重新组成一个四位的最大数和一个最小数, 算出两者间的差。 例如:3721这个数,可以重组成:7321和1237,相数之差为7321-1237 请完善下面这个函数,以实现此功能 int f(int n) { int N[4]; for(int i=0; i<4; i++) { N[3-i] = n % 10;

2016第七届蓝桥杯CC++-B组题解

第一题 煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 这道题坑死了,第一次看堆成三角棱锥形,草稿本画半天都没画出个三角棱锥。后来单独看每句话才知道每层一个三角形叠起来就是三角棱锥。我去。 看懂题目这个题目就很简单了,每层的个数是上层的个数加上层数,意思就是An = An-1 + n,然而题目是求的前100层一共多少煤球。所以是Sn.代码双重for循环就出来了。答案是:171700 1.#include 2.int main() 3.{ 4.int a[101] ={0}; 5.for(int i = 1 ; i < 101 ; i ++) 6. a[i] = a[i-1] + i; 7.int ans = 0; 8.for(int j = 1 ; j < 101 ; j ++) 9. ans += a[j]; 10. printf("%d\n",ans); 11.return 0; 12.} 第二题: 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。 现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 呵呵,水题,但是出题人不严谨啊!!!怎么就不能考虑万一他今年236岁呢....好了不说了强迫症犯了。 蓝桥杯这种不像acm的题目的,能暴力直接暴力。不用想太多。直接从1~236 枚举start, end 分别表示他开始过生日的年龄和今年的年龄,然后计算之间吹蜡烛的总和如果等于236就输出start ,end. 答案是:26 1.#include 2.int main()

2018蓝桥杯试题

2018蓝桥杯C语言b组国赛真题 1.标题:换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种。 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱。 小明有点强迫症,他坚持要求200元换出的零钞中2元的张数刚好是1元的张数的10倍, 剩下的当然都是5元面额的。 银行的工作人员有点为难,你能帮助算出:在满足小明要求的前提下,最少要换给他多少张钞票吗? (5元,2元,1元面额的必须都有,不能是0) 注意,需要提交的是一个整数,不要填写任何多余的内容。 手算都可以。。。下面是代码,答案74 1.#include https://www.360docs.net/doc/fc18374157.html,ing namespace std; 3.int main(){ 4.for(int i=1;i<40;i++){ 5.for(int j=1;j<200;j++){ 6.if(5*i+2*10*j+1*j==200) 7. cout<<"5*"<

12.2.标题:激光样式 x星球的盛大节日为增加气氛,用30台机光器一字排开,向太空中打出光柱。 安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开! 国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果? 显然,如果只有3台机器,一共可以成5种样式,即: 全都关上(sorry, 此时无声胜有声,这也算一种) 开一台,共3种 开两台,只1种 30台就不好算了,国王只好请你帮忙了。 要求提交一个整数,表示30台激光器能形成的样式种数。 注意,只提交一个整数,不要填写任何多余的内容。 思路很简单,暴力搜索,30个灯光从左到右,从左边第一个开始,第一个可以开关,第二个要根据左边的灯光是否开启来取值,以此类推。。。答案2178309 1.#include 2.#include https://www.360docs.net/doc/fc18374157.html,ing namespace std; 4.int ans = 0; 5.int x[31];//0代表关,1代表开 6. 7.void dfs(int index){ 8.if(index == 30){ 9.ans++; 10.return; 11.} 12.if(index == 0 || x[index-1] == 0){ //第一个灯光可以取0或1,当前灯 光左边要是没开,那当前灯光可以取0和1 13.for(int i=0;i<=1;i++){ 14.x[index] = i;

(完整)蓝桥杯大赛青少年创意编程Scratch初级组模拟题(3)

一、单选题(每题20分) 1、(难度系数1)在舞台添加小猫角色,它的所有设置均为默认设置。舞台布局和程序运行舞台布局程序运行结果 运行以下哪段程序后,可以得到以上结果。() A B C D以上程序都不对 2、(难度系数2)小猫看到远处好久不见的朋友,于是跳起来说“你好!”想引起朋友的注意,执行以下程序后,小猫说“你好!”一共几秒?() A 0 B 2 C4 D 8

3、(难度系数3)当角色执行完这段程序后,舞台可能出现的图形是?() A、正三角形 B、正四边形 C、正六边形 D、正八边形 4、(难度系数4)执行完这段程序后,变量b的值可能是?() A、11 B、65 C、130 D、6065

5、(难度系数5)小红想做一个月亮围绕地球旋转的动画,如图,舞台有两个角色:“地球”“月球”,并写如下程序,小红希望运行程序后,月球以地球为中心做圆周运动。() A、B、 B、D、

1、难度系数2,满分50分 准备工作:导入背景库中的“bedroom2”,并导入角色库中的“Abby”“Candy”角色。 编程实现: Abby打扫完房间,房间停电了,Abby点上了一根蜡烛。想象停电后,点上蜡烛的效果。 图1.“关灯以前” 图2.“关灯后”

1、程序开始运行时,显示如图1.“关灯以前” 2、2秒以后,背景变暗,屏幕左边的墙上出现比小猫自身还要大的影子,如图2.“关灯后”。 3、之后一直保持图2效果 4、蜡烛、Abby、影子之间和大小应大致正确。 将程序保存在桌面,命名为“1.sb2” 评判标准: 10分:程序运行后,按图1的效果显示并保持至少2秒钟; 30分:在10分的基础上,能按图2的要求背景变暗,出现Abby阴影; 50分:在30分的基础上,背景中的圣诞树仍可见,蜡烛、Abby、影子之间的位置关系 基本正确,Abby和影子的大小关系符号逻辑。 2、难度系数3,满分50分 编程实现:今天天气多云,小熊在海边散步,他的头顶飘来一朵云,一阵风吹来,云飘走了,越飘越远,最后消失在空中。 具体要求: 1、舞台背景选择图示背景,增加云朵、小熊角色。 2、程序开始运行时,“小熊”“云朵”角色出现在图1所示的位置。 3、“云朵”角色能实现“从小熊头顶飘离,并向右上角平滑地漂移,越飘越高,越飘越小,直到最后消失”的动画效果。 将程序保存在桌面,命名为“2.sb2” 图1 图2 图3 图4

蓝桥杯第一届初赛题目

第一届蓝桥杯预赛试题 c 本科 第一题,以下函数的功能是将任意整数进行因式分解, 请完成该程序的空缺使函数能够正常运算 void f(int n) { for(int i=2; i1) printf(“%d\n”, n); } 第二题,以下函数的功能是将给定字符串进行倒序输出,请完成该函数空缺部分。 char* p = “abcdef”; char* q = (char*)malloc(strlen(p)+1); for(int i=0, int len=strlen(p); i

q__1__ = p[i+1]; q[len-1] = p[0]; —–(2)—-; prin tf(“%s\n”, q); 第三题, int f(int m, int n) { int a = 1; int m1 = m; //—–(3)—- a *= m1–; int b = 1; while(n>1) b *= n–; return a / b; } 第四题,任意给出一个四位数, 把它重新组成一个四位的最大数和一个最小数, 算出两者间的差。 例如:3721这个数,可以重组成:7321和1237,相数之差为7321-1237 请完善下面这个函数,以实现此功能 int f(int n) { int N[4];

for(int i=0; i<4; i++) { N[3-i] = n % 10; —-(4)—- } for(i=0; i<3; i++) for(int j=0; j<3-i; j++) if(N[j]>N[j+1]) { int t = N[j+1]; N[j+1] = N[j]; N[j] = t; } int n_min=0; for(i=0; i<4; i++) n_min = n_min * 10 + N[i] ; int n_max = 0; for(i=3; i>=0; i–) n_max = n_max * 10 + N[i]; return n_max-n_min; } 第五题,假设有m+n个人,其中, m个人手持面额为5角的硬币, n个人手持面额为1元的硬币,

第七届蓝桥杯C++程序设计大学B组省赛题目

第七届蓝桥杯程序设计大学B组省赛题目 第一题:煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 第二题:生日蜡烛 某君从某年开始每年都举办一次生日,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日的? 请填写他开始过生日的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 第三题:凑算式 B A + + = 10 C (如果显示有问题,可以参见【图1】) 这个算式中代表1~9的数字,不同的字母代表不同的数字。 比如: 6+8/3+952/714 就是一种解法, 5+3/1+972/486 是另一种解法。 这个算式一共有多少种解法?

注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。 第四题:快速排序 排序在各种场合经常被用到。 快速排序是十分常用的高效率的算法。 其思想是:先选一个“标尺”, 用它把整个队列过一遍筛子, 以保证:其左边的元素都不大于它,其右边的元素都不小于它。 这样,排序问题就被分割为两个子区间。 再分别对子区间排序就可以了。 下面的代码是一种实现,请分析并填写划线部分缺少的代码。 <> ( a[], i, j) { t = a[i]; a[i] = a[j]; a[j] = t; } ( a[], p, r) { i = p; j = r + 1; x = a[p]; (1){ (i

蓝桥杯软件设计大赛习题

1.语法知识vs 任务型 int i = 0; while(i>3) ++i; // 循环几次? 10! 共有几位数字? 100! 呢? 2.描述性vs 确定性 c语言宏定义与内联函数有什么区别? Java static 可否修饰内部类? 一幅随机排列的扑克牌(52张),随机抽取5张,含有“对子”的概率是多少?“同花顺”的概率呢? 3.二阶魔方旋转 魔方可以对它的6个面自由旋转。 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系。 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向:红 y轴反向:橙 z轴正向:白 z轴反向:黄 假设我们规定,只能对该魔方进行3种操作。分别标记为:

x 表示在x轴正向做顺时针旋转y 表示在y轴正向做顺时针旋转z 表示在z轴正向做顺时针旋转 xyz 则表示顺序执行x,y,z 3个操作

题目的要求是: 从标准输入获得一个串,表示操作序列。 程序输出:距离我们最近的那个小方块的3个面的颜色。 顺序是:x面,y面,z面。 例如:在初始状态,应该输出: 绿红白 初始状态下,如果用户输入: x 则应该输出: 绿白橙 初始状态下,如果用户输入: zyx 则应该输出: 红白绿 4.连通单体面积统计 BMP是常见的图像存储格式。 如果用来存黑白图像(颜色深度=1),则其信息比较容易读取。 与之相关的数据: (以下偏移均是从文件头开始) 偏移:10字节, 长度4字节:图像数据真正开始的位置。

偏移:18字节, 长度4字节:位图的宽度,单位是像素。 偏移:22字节, 长度4字节:位图的高度,单位是像素。 从图像数据开始处,每个像素用1个二进制位表示。 从图片的底行开始,一行一行向上存储。 Windows规定图像文件中一个扫描行所占的字节数必须是4字节的倍数,不足的位均以0 填充。例如,图片宽度为45像素,实际上每行会占用 8个字节。 可以通过Windows自带的画图工具生成和编辑二进制图像。 需要在“属性”中选择“黑白”,指定为二值图像。 可能需要通过查看| 缩放| 自定义... 把图像变大比例一些, 更易于操作。 图像的左下角为图像数据的开始位置。白色对应1,黑色对应0 我们可以定义:两个点距离如果小于2个像素,则认为这两个点连通。 也就是说:以一个点为中心的九宫格中,围绕它的8个点与它都是连通的。如:t1.bmp 所示,左下角的点组成一个连通的群体; 而右上角的点都是孤立的。 程序的目标是:根据给定的黑白位图,分析出所有独立连通的群体, 输出每个连通群体的面积。所谓面积,就是它含有的像素的个数。 输入数据固定存在in.bmp中。 如示例的in.bmp, 程序应该输出: 12 81 52 133 该输出表示:共有4个连通群体。 输出的连通体面积间的顺序可以随意。

蓝桥杯七届单片机开发组决赛试题

第七届蓝桥杯单片机设计与开发组总决赛试题 “电压、频率采集设备任务书” 功能简述 “电压、频率采集设备”能够实现测量信号频率和电压,修改、储存工作参数,记录、查询事件等功能,系统由按键单元、ADC 采集单元、显示单元、储存单元组成,系统框图如图1所示: 图1.系统框图 I2C 总线、DS1302时钟芯片时序控制程序、CT107D 单片机考试平台电路原理图以及本题涉及到的芯片数据手册,可参考计算机上的电子文档。原理图文件、程序流程图及相关工程文件请以考生号命名,并保存在计算机上的考生文件夹中(文件夹名为考生准考证号,文件夹位于Windows 桌面上)。单片机 数码管显示 电压测量频率测量E2PROM 实时时钟 矩阵键盘

任务设计及要求 1.频率信号测量 使用竞赛板NE555方波信号发生器产生用于频率测量功能测试的方波信号,信号频率范围为500Hz --20KHz,电位器RB3调节信号频率,可使用“跳线帽”将单片机P34引脚与方波信号发生器输出引脚NET_SIG 短接。 2.电压信号测量 使用竞赛板上RB2电位器输出测试电压信号,信号输出范围0V-5V。 3.实时时钟功能 读取DS1302实时时钟芯片,并通过数码管显示时间数据,设备上电后初始化时间配置为23时59分55秒。 4.记录与输出功能 根据给定硬件的性能参数,设计合理的采样周期,当电压低于电压下线V L 或高于电压上线V H 时,将事件类型和发生时间保存到E2PROM 中。设备中 只需要保存最近一次发生的电压波动情况,数据储存格式可自定义。 上图例,电压连续变化过程中,在T1和T2时刻会触发事件记录功能。 5.显示与按键控制 5.14x4矩阵键盘按键功能定义图2所示: 图2.按键功能定义S7 S11S15S19S6 S10S14S18S5 S9S13S17S4S8S12S16时钟加电压减频率查询功能空

蓝桥杯试题标准答案(练习)

1、亲密数:假设有a、b两个数,若a的所有因子之和等于b,b的所有因子之和等于a,并且a不等于b,则称a和b是一对亲密数。如284和220就是一对亲密数。 #include int main() { int a,b,i,n; for(a=1;a<=10000;a++) { for(b=0,i=1;i<=a/2;i++) if(a%i==0) b+=i; for(n=0,i=1;i<=b/2;i++) if(b%i==0) n+=i; if(n==a&&a!=b&&a

int main() { long days = 5; /*1999年的最后一天为周5,把下一年加上5天对7取余为0的,则是周日*/ int i = 2000; for(;;) /*无循环终止条件,可以利用break语句终止循环*/ { if(i%4==0&&i%100!=0||i%400==0) { days = days%7+366; } else { days = days%7+365; } if(days%7==0&&i%100==99) { printf("%d",i); break; } i++; } return 0; } 3、马虎的算式:小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。

第十届蓝桥杯全国软件和信息技术专业人才大赛

第十届蓝桥杯全国软件和信息技术专业人才大赛 报名指南 一、学生: 1.参赛学生须登录大赛官网https://www.360docs.net/doc/fc18374157.html,完成如下报名流程(每个步骤不可省 略): (1)注册账号(已注册学生用原账号登录)。 (2)学籍身份认证(验证学生实名信息和所属院校信息)。 a) 学生实名认证信息包括:姓名、证件号码、2寸彩色证件照电子版(证件照如不规范将会审核失败,须重新上传)及身份证正反面照片;

b)学生填写所在院系认证:学校、学历、入学及毕业时间、所在院系以及学生证照片等;如学生教育经历发生变更,可以通过“添加更多教育经历”提交审核进行重新认证。

(3)选择报名科目和组别。 (4)选择院校缴费或个人缴费(如确定由院校组织报名和缴费的学生请选择院校缴费,学生相关报名信息将会出现在院校账号中,由院校老师统一完成后续筛选、报名及缴费工作。如学生不确定是否院校给统一报名缴费,请联系院校老师确认。如院校不统一组织报名或者未给学生报名,学生可选择个人报名并缴费,非211院校个人报名缴费功能将在院校报名工作完成后开放,预计在12月中旬开放,211院校不受此时间限制)。 (5)院校缴费/个人缴费成功后,学生报名工作完成。 (6)准考证下载(赛前一周可登录报名系统下载准考证并打印,按照准考证上的比赛时间和地点准时参加比赛)。 (7)奖项查询(赛后在报名系统内查询)。 2.证书申领:学生获奖后不仅将获得大赛获奖证书(不用申领),学生和其指导教师还 可自愿申领由工业和信息化部人才交流中心颁发的全国软件/电子行业人才证书,以及由IBM公司颁发的IBM国际认证证书,详情请登录大赛官网查询。 3.蓝桥招聘:依托于工业和信息化部人才交流中心,致力于打造以(专/本/硕/博)应 届高校毕业生为中心的专业互联网招聘平台,创新「人才经纪人」服务模式为每位求

第七届蓝桥杯程序设计大赛题目及答案

第七届省赛 1.网友年龄 某君新认识一网友。 当问及年龄时,他的网友说: “我的年龄是个2位数,我比儿子大27岁, 如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄” 请你计算:网友的年龄一共有多少种可能情况? 提示:30岁就是其中一种可能哦. 请填写表示可能情况的种数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 7 x-y=3 2.生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 26 #include using namespace std; int main(){ int i,j; int sum=0; for(i=1;i<=100;i++){ //年龄 sum=0; for(j=i;j<=100;j++){ //蜡烛数 sum=sum+j; if(sum==236){ cout<

3.方格填数 如下的10个格子 填入0~9的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 //用dfs求 #include #include #include using namespace std; const int maxn=4; int mp[maxn][maxn]; int flag[10]; int ans=0; int init() { memset(mp,-10, sizeof mp); memset(flag,0, sizeof flag); } int fx[4]= {0,-1,-1,-1},fy[4]= {-1,-1,0,1}; int check(int i,int j) { for(int f=0; f<4; f++) { if(abs(mp[i][j]-mp[i+fx[f]][j+fy[f]])!=1||i+fx[f]<1||j+fy[f]>4||j+fy[f]<1 ) continue; else return 0; } return 1; } void dfs(int i,int j) {

2016蓝桥杯c-c++省赛试题及答案解析

2016蓝桥杯c-c++B组省赛试题及解析第一题 煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 答案:171700 #include int main() { int a[101] ={0}; for(int i = 1 ; i < 101 ; i ++) a[i] = a[i-1] + i; int ans = 0; for(int j = 1 ; j < 101 ; j ++) ans += a[j]; printf("%d\n",ans); return 0; } 第二题 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。

请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 答案:26 #include int main() { int start,end; for(start = 1 ; start < 236 ; start ++) { for( end = start ; end < 236 ; end ++ ) { int sum = 0; for(int i = start; i <= end; i ++) sum += i; if( sum == 236) { printf("start : %d end : %d\n",start,end); } } } return 0; } 第三题 凑算式 B DEF A + --- + ------- = 10 C GHI (如果显示有问题,可以参见【图1.jpg】) 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。 比如: 6+8/3+952/714 就是一种解法, 5+3/1+972/486 是另一种解法。

第七届蓝桥杯嵌入式比赛决赛赛题

密 封 线 ----------------------------------------------------------------------------- 2016年“蓝桥杯” 第七届全国软件和信息技术专业人才大赛个人赛 (电子类)决赛嵌入式设计与开发项目 “温湿度监控设备”设计任务书 功能简述 “温湿度监控设备”通过采集传感器输出电压信号和信号频率得到环境温湿度数据,并 能够根据设定的温湿度阈值执行相应动作,系统框图如图1所示: 图1 系统框图 CT117E 考试板电路原理图与使用说明、I2C 总线驱动、LCD 驱动程序及本题涉及到的芯片资料可参考计算机上的电子文档。电路原理图、程序流程图及相关工程文件请以考生准考证命名,并保存在指定文件夹中(文件夹名为考生准考证号,文件夹保存在监考员指定位置)。

设计任务及要求 1.温度测量功能 通过竞赛板上电位器R37输出电压模拟温度传感器输出信号,温度测量范围为-20℃ ~60℃,电压温度关系为如下式所示: T = k*V R37 + b,其中T代表环境温度,V R37为电位器输出信号,k、b 为常数,0V 时对应温度为-20℃,3.3V对应60℃。 2.湿度测量功能 通过竞赛板PA7引脚检测输入信号频率,相对湿度测量范围为10%~90%,频率湿度关系如下式所示: H = m*F + n,其中H代表环境湿度,F为传感器输入到设备信号频率,m、n 为常 数,1KHz对应相对湿度为10%,10KHz对应90%。 3.测试信号 通过竞赛板PA1引脚输出频率1KHz到10KHz方波,模拟湿度传感器输出信号。 4.参数设置与数据记录功能 可以通过按键设定温、湿度上限和数据采样间隔,温湿度数据记录间隔可设置为1 - 5秒,要求至少保存60组数据,数据不需要写入FLASH或E2PROM存储器。 5.RTC功能 通过单片机片内RTC设计实现实时时钟功能。 6.按键功能定义 设备上电后,通过LCD显示实时温、湿度数据和数据记录次数,显示格式如图2所示: 图2. LCD显示界面参考图(实时数据显示) B1按键:“功能”按键,按下后进入功能设定界面(如图3所示),再次按下B1按键时退出设置界面,保存用户设定的结果到E2PROM,并返回图2所示的实时数据显示界 面。 参数设置 温度上限:40℃ 湿度上限:80% 采样间隔:1S 测试信号: 1.5KHz 图3. LCD显示界面参考图(阈值设置界面)

相关文档
最新文档