当前位置:文档之家› 第八届蓝桥杯省赛嵌入式程序设计题

第八届蓝桥杯省赛嵌入式程序设计题

第八届蓝桥杯省赛嵌入式程序设计题
第八届蓝桥杯省赛嵌入式程序设计题

“模拟升降控制器”的程序与调试(70分)

一、 基本要求

1.1 使用CT117E 嵌入式竞赛板,完成试题功能的程序设计与调试;

1.2 设计与调试过程中,可参考组委会提供的“资源数据包”;

1.3 Keil 工程文件以准考证号命名,完成设计后,提交完整、可编译的Keil 工程文件到服务器。

二、 硬件框图

“模拟升降控制器”模拟升降机的运行过程。通过按键设定到达目标平台,双路PWM 输出分别模拟控制上下行电机和开关门电机,LED 流水灯模拟运行方向。系统框图如图1所示:

图1 系统框图

三、 功能描述

1. LCD 显示

LCD 显示时钟和当前所在平台。当升降机运行到目标平台时,平台数字在1秒内闪烁2次。系统上电后升降机默认位于平台1,升降机门默认为打开状态。

图2. LCD 显示界面参考图

LCD 显示 MCU 按键控制 LED 流水指示 方向控制 PA6-7 当前平台 1 12:50:55

PA4-5

2.按键功能

4个按键分别代表4个平台。按下后通过点亮LED指示要到达的平台(LD1-LD4,LD1对应平台1,依此类推),当升降机到达目标平台时,对应LED灯熄灭。按下当前平台对应的按键无效。一次可以设定多个目标平台,上下平台都有按键时,运行顺序是先上后下。

在最后一次按键按完1秒之后,模拟电机开始运行:升降机先关门,运行到下一层后开门;如果还有目标平台,则开门后停留2秒,然后关门,继续运行到下一个目标平台,直到没有目标平台。

当设置多个目标平台时,升降机的升降顺序与按键顺序无关,先按从低到高的顺序走完设定的上行平台,再按从高到低的顺序走完设定的下行平台。

电机运转期间按键无效。

3.PWM输出

两路PWM输出分别控制上下行电机(PA6)和开关门电机(PA7),并分别用一路方向控制信号控制电机的运转方向。PA4高电平表示升降机上行,反之表示升降机下行。PA5高电平表示升降机开门,反之表示关门。

上下每层平台的电机运行时间为6秒,升降机开关门时间为4秒。

上下行电机控制信号的频率为1KHz。升降机上行时,PWM信号占空比为80%;

升降机下行时,PWM信号占空比为60%。

开关门电机控制信号的频率为2KHz。升降机开门时,PWM信号占空比为60%;

升降机关门时,PWM信号占空比为50%。

4.LED流水指示

升降机上下行时,4个LED(LD5-LD8)组成流水灯用来表示升降机的运行方向。合理选择流水灯的流水方式和时间间隔。

5.RTC功能

通过单片机片内RTC设计实现时钟功能。

蓝桥杯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); } } }

蓝桥杯_C-校内选拔题

第六届“蓝桥杯”校内选拔考试(C/C++)1、Problem A: 求和(20分) Description 输入一个十进制数,计算它转化成四进制数后各个位数的和。Input 输入有多个实例,输入一个十进制数n。(0

2、Problem B: 多少种方法(20分) Description 听说大一的小伙伴们刷题特别crazy,LM大魔王也有点按耐不住了,也开始刷题啊。于是他找了下面一道题开始做,但这道题好难啊,听说LM大魔王用了好久好久好久好久好久。。。的时间才做出来。题目如下:一些正整数都可以被连续的一个或多个素数之和表示。例如,整数53有两种表示5 + 7 + 11 + 13 + 17和53。41有三种表示2 + 3 + 5 + 7 + 11 + 13、11 + 13 + 17和41。3只有一种表示3。整数20没有这样表示。注意,被加数必须为连续的素数,所以整数20不可以表示为7+13也不可表示为3+5+5+7。你的任务是编写一个程序,计算出给定的正整数能有多少连续素数之和表示方法。 Crazy and clever的小伙伴们你们能用多长时间A掉呢? Input 有多组输入。每行输入一个正整数N(2<=N<=10000). Output 对应每组输入的数据N,输出有多少种连续素数之和表示N的方法。

Sample Input 2 3 17 41 20 666 12 53 Sample Output 1 1 2 3 1 2

2012.C语言‘蓝桥杯“预赛.真题.高职

2011年选拔赛c 高职 考生须知: 考试时间为4小时。 本试卷包含两种题型:“代码填空”与“程序设计”。总计100分。 其中代码填空:3+3+3+5+7+9+12 = 42 分 程序设计:14+17+27 = 58分 填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不超过一条语句(即不能出现分号)。 把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。 编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果的时候才有机会得分。注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。 对每个题目,要求考生把所有函数写在一个文件中。调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。 对于编程题目,要求选手给出的解答完全符合ANSI C标准,不能使用c++特性;不能使用诸如绘图、中断调用等硬件相关或操作系统相关的API。 1.代码填空(满分3分) 利息计算 小李年初在银行存款1千元(一年定期)。他计划每年年底取出100元救助失学儿童。假设银行的存款利率不变,年利率为3%,年底利息自动计入本金。下面的代码计算5年后,该账户上有多少存款。试填写缺失的代码。 把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。 double money = 1000; int n = 5; int i; for(i=0; i

2014蓝桥杯湖师校内选拔赛试题及参考代码

2014蓝桥杯湖师校内选拔赛试题及参考代码 1.神秘的数 是这样的一个整数,组成这个数的各位数字阶乘之和正好等于它本身。 例如:对于一个三位数abc,如果abc=a!+b!+c!, 则该数是神秘的数。 对于一个四位数abcd,如果abcd=a!+b!+c!+d!, 则该数是神秘的数。 要求输出范围在100~50000之间的所有的神秘的数。每个数输出一行,每行从第1列输出,不要输出空行。 结果: 145 40585 参考代码: #include int main() { int i,j,a,b,t,s; for(i=100;i<=50000;i++) { s=0; a=i; while(a!=0) { t=1; b=a%10; for(j=1;j<=b;j++) t=t*j; s=s+t; a=a/10; } if(s==i) printf("%d\n",i); } return 0; } 2 轮转数(每个字符依次向右循环移动) 有一字符串(小写a-z): abcdefghijklmnopqrstuvwxyz 经过1次向右循环移动,得到字符串zabcdefghijklmnopqrstuvwxy 经过2次向右循环移动,得到字符串yzabcdefghijklmnopqrstuvwx 经过3次向右循环移动,得到字符串xyzabcdefghijklmnopqrstuvw 编写程序,输入向右移动次数n(n为int类型), 输出向右移动n次数后得到的字符串。 样例输入 4 样例输出 wxyzabcdefghijklmnopqrstuv 样例输入

8 样例输出 stuvwxyzabcdefghijklmnopqr 测试数据: 输入6 输出uvwxyzabcdefghijklmnopqrst 输入523 输出xyzabcdefghijklmnopqrstuvw 参考代码 #include int main() { int i,n,j=0; scanf("%d",&n); for(i=26-n%26;j<26;i=(i+1)%26,++j) printf("%c",'a'+i); return 0; } 3.将十进制数转换成十六进制数 输入要求: 包括多组测试数据。输入一个不超过10位正整数,无前导零。输入以0结束。输出要求: 输出其十六进制表示(不打印前导零,A~F字母大写)。 输入样例: 12 20 123456789 0 输出样例: C 14 75BCD15 提示:输入以0结束,不要打印多余字符! 测试数据 输入 234 1234 9123456780 0 输出 EA 4D2 21FCCE70C 参考代码: #include int main() { int i,j,dnum,t; char xnum[100]; while(1) { scanf("%d",&dnum);

2013蓝桥杯 预赛-C高职高专组真题资料

第四届“蓝桥杯”全国软件专业人才设计与创业大赛选拔赛 C/C++高职高专组 考生须知: ●考试开始后,选手首先下载题目到本机不被还原的盘符,并使用考场现场公布的解压密码解压试题。 ●考试时间为9:00-13:00,共4个小时。13点整时间截止时,将无法提交答案。选手因考试结束不能提交答案的,责任由选手自负。 ●在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。 ●选手可浏览自己已经提交的答案。 ●对同一题目,选手可多次提交答案,以最后一次提交的答案为准。 ●选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。 ●选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。 ●试题包含三种类型:“结果填空”、“代码填空”与“程序设计”。 结果填空题:要求选手根据题目描述直接填写结果。求解方式不限。不要求源代码。 把结果填空的答案直接通过网页提交即可,不要书写多余的内容。 代码填空题:要求选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不超过一条语句(即中间不能出现分号)。 把代码填空的答案(仅填空处的答案,不包括题面已存在的代码或符号)直接通过网页提交即可,不要书写多余的内容。 注意选择自己使用的编译环境。 使用ANSI C/ANSI C++ 标准,不要依赖操作系统或编译器提供的特殊函数。 程序设计题目:要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果才有机会得分。 注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。 对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。 代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI C++标准的类库。例如,不能使用CString类型(属于MFC类库)。 注意: main函数需要返回0 注意: 所有依赖的函数必须明确地在源文件中#include ,不能通过工程设置而省略常用头文件。 所有源码必须在同一文件中。调试通过后,拷贝提交。 提交时,注意选择所期望的编译器类型。 1.结果填空(满分3分) 问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目

2015年蓝桥杯A组试题及答案

2015蓝桥杯A组试题 方程整数解 方程: a^2 + b^2 + c^2 = 1000 (或参见【图1.jpg】) 这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解。 你能算出另一组合适的解吗? 请填写该解中最小的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 #include"stdio.h" #include"windows.h" int main() { int a, b, c; for (a = 1; a < 31;a++) for (b= 1; b < 31; b++) for (c = 1; c < 31; c++) { if (a*a + b*b + c*c == 1000) printf("%d %d %d\n", a, b, c); } printf("%d %d %d",a,b,c); system("pause"); return 0; } 星系炸弹 在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。 请填写该日期,格式为yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19

请严格按照格式书写。不能出现其它文字或符号。 21+31(2014年)+365(2015年)+366(2016年)=783;1000-783=217(2017年的第217天爆炸);31+28+31+30+31+30+31=212(2017年前七个月的天数);217-212=5(2017年第8个月的第五天爆炸) 大牛有用excel直接拖,用vbs算,路漫漫其修远兮...... 奇妙的数字 小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。你能猜出这个数字是多少吗? 请填写该数字,不要填写任何多余的内容。 69,一个个试吧。 格子中输出 StringInGrid函数会在一个指定大小的格子中打印指定的字符串。 要求字符串在水平、垂直两个方向上都居中。 如果字符串太长,就截断。 如果不能恰好居中,可以稍稍偏左或者偏上一点。 下面的程序实现这个逻辑,请填写划线部分缺少的代码。 #include #include void StringInGrid(int width, int height, const char* s) { int i,k; char buf[1000]; strcpy(buf, s); if(strlen(s)>width-2) buf[width-2]=0; printf("+"); for(i=0;i

蓝桥杯哦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;

蓝桥杯练习系统题目汇总

蓝桥杯练习系统题目汇总: 入门训练 1. Fibonacci数列 问题描述 Fibonacci数列的递推公式为:F n=F n-1+F n-2,其中F1=F2=1。 当n比较大时,F n也非常大,现在我们想知道,F n除以10007的余数是多少。 输入格式 输入包含一个整数n。 输出格式 输出一行,包含一个整数,表示F n除以10007的余数。 说明:在本题中,答案是要求F n除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出F n的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。 样例输入 10 样例输出 55 样例输入 22 样例输出 7704 数据规模与约定 1 <= n <= 1,000,000。 参考代码:c++ 1.#include 2.#include 3.#define MOD 10007 4.#define MAXN 1000001 5.int n, i, F[MAXN]; 6.int main() 7.{ 8.scanf("%d", &n); 9.F[1] = 1; 10.F[2] = 1; 11.for(i = 3; i <= n; ++i) 12.F[i] = (F[i-1] + F[i-2]) % MOD; 13.printf("%d\n", F[n]); 14.return0; 15.}

java: 1.import java.util.Scanner; 2.public class Main{ 3.public static void main(String[] args) { 4.Scanner scanner = new Scanner(System.in) ; 5.int num = scanner.nextInt() ; 6.int[] a = new int[num+2] ; 7.a[1] = a[2] = 1; 8.if(num == 1) { 9.a[num] = 1 ; 10.}else if(num == 2) { 11.a[num] = 1 ; 12.}else{ 13.for(int i = 3; i <= num; i++) { 14.a[i] = (a[i - 1] + a[i - 2] ) % 10007 ; 15.} 16.} 17.System.out.println(a[num]); 18.} 19.} 2. 实数输出 问题描述 给定圆的半径r,求圆的面积。 输入格式 输入包含一个整数r,表示圆的半径。 输出格式 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。 说明:在本题中,输入是一个整数,但是输出是一个实数。 对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。 实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。 样例输入 4 样例输出 50.2654825 数据规模与约定

第十一届蓝桥杯校内赛校内选拔赛(2020蓝桥杯校选1-javac.)

第十一届蓝桥杯校内赛/校内选拔赛(2020蓝桥杯校选1-java/c) 一、问题描述 请问十六进制数1949对应的十进制数是多少?请特别注意给定的是十六进制,求的是十进制。 答案提交: 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分. 二、问题描述 两个二进制数11110011101和1111101001的和是多少?请用二进制表示,注意在提交的时候不要提交前导0。 答案提交: 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个二进制数,在提交答案时只填写这个二进制数,填写多余的内容将无法得分。 三、问题描述 将LANQIAO中的字母重新排列,可以得到不同的单词,如LANQIAO、AAILNOQ等,注意这7个字母都要被用上,单词不一定有具体的英文意义。 请问,总共能排列如多少个不同的单词。 答案提交: 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 四、问题描述 在2019个有区别的球中选3个球放在一个盘子里,请问有多少种选法? 答案提交: 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 五、问题描述 小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,第四段由一个或多个元音字母组成。 给定一个单词,请判断这个单词是否也是这种单词,如果是请输出yes,否则请输出no。 元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。 输入格式: 输入一行,包含一个单词,单词中只包含小写英文字母。

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.doczj.com/doc/da12018319.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.doczj.com/doc/da12018319.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;

蓝桥杯Java试题汇总-共48页

1. 历届试题核桃的数量 问题描述 小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是: 1. 各组的核桃数量必须相同 2. 各组内必须能平分核桃(当然是不能打碎的) 3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式 输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30) 输出格式 输出一个正整数,表示每袋核桃的数量。 样例输入1 2 4 5 样例输出1 20

样例输入2 3 1 1 样例输出2 3 JAVA 源代码 1import java.util.Scanner; 2public class Main { 3 4public static void main(String[] args){ 5 Scanner sc=new Scanner(System.in); 6int a=sc.nextInt(); 7int b=sc.nextInt(); 8int c=sc.nextInt(); 9int i; 10for(i=1;;i++){ 11if(i%a==0&&i%b==0&&i%c==0) 12 13break; 14 } 15 System.out.println(i); 16 }} 2.基础练习Sine之舞 时间限制:1.0s 内存限制:512.0MB 问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学

好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。 不妨设 An=sin(1–sin(2+sin(3–sin(4+...sin(n))...) Sn=(...(A1+n)A2+n-1)A3+...+2)An+1 FJ想让奶牛们计算Sn的值,请你帮助FJ打印出Sn的完整表达式,以方便奶牛们做题。 输入格式 仅有一个数:N<201。 输出格式 请输出相应的表达式Sn,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。 样例输入 3 样例输出 ((sin(1)+3)sin(1–sin(2))+2)sin(1–sin(2+sin( 3)))+1 语言JAVA 源代码17import java.util.Scanner; 18public class Main { 19private static int m; 20public static void main(String[] args){ 21 Scanner sc=new Scanner(System.in); 22 m=sc.nextInt(); 23for(int i=0;i

2017年蓝桥杯省赛赛前集训题(共14题)

第1题:星系炸弹(2015年省赛C/C++B组第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 ?解决方法:用Excel拖 这个题会了的同学们把上课讲过的,课件上的,其他几道Excel拖动题都做一遍。 第2题:(2015年校内选拔赛C/C++B组第3题)如果x的x次幂结果为10(参见【图1.png】),你能计算出x的近似值吗? 显然,这个值是介于2和3之间的一个数字。 请把x的值计算到小数后6位(四舍五入),并填写这个小数值。 注意:只填写一个小数,不要写任何多余的符号或说明。 #include #include

#include using namespace std; int main() { double x; for(x=2;x<=3;x+=1e-7) { if (abs(pow(x,x)-10)<1e-6) cout<

蓝桥杯第一届初赛题目

第一届蓝桥杯预赛试题 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元的硬币,

蓝桥杯java模拟试题

本试卷包含两种题型:“代码填空”与“程序设计”。 填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不多于一条语句(即不能出现分号)。 编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。1.代码填空(满分3分) 以下程序打印出0~9的数字,请补充缺少的代码。 public class MyTest { public static void f(int begin, int end) { __________________; System.out.println(begin); f(begin+1, end); } public static void main(String[] args) { f(0,9); } } if(begin>end) return;//相当于退出循环的条件。return 无返回值根据void 2.代码填空(满分4分) 如果要把两个整型变量a、b的值交换,一般要采用一个中间变量做过渡,但也可以在不借助任何其它变量的情况下完成。试填写缺失的代码。 a = a ^ b; b = _________; a = _________; a^b a^b 3.代码填空(满分3分) 许多人都曾经玩过“拍七”游戏。规则是:大家依次从1开始顺序数数,数到含有7或7的倍数的要拍手或其它规定的方式表示越过(比如:7,14,17,71等都不能数出),下一人继续数下面的数字。违反规则者受罚。下面的程序模拟这个过程,拍7的情况输出“*”,请完善之。 for(int i=1; i<100; i++) { if(i % 7 == 0) System.out.println("*"); else if(___________________) System.out.println("*"); else System.out.println(i); } (i-7)%10==0||i/10==7 // i/10==7||i%10==7 4.代码填空(满分5分)

2017年蓝桥杯省赛赛前集训题(共14题)

2017年蓝桥杯省赛赛前集训题(共14题)

第1题:星系炸弹(2015年省赛C/C++B组第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 ?解决方法:用Excel拖 这个题会了的同学们把上课讲过的,课件上的,其他几道Excel拖动题都做一遍。 第2题:(2015年校内选拔赛C/C++B组第3题)如果x的x次幂结果为10(参见【图1.png】),你能计算出x的近似值吗? 显然,这个值是介于2和3之间的一个数字。 请把x的值计算到小数后6位(四舍五入),并填写这个小数值。 注意:只填写一个小数,不要写任何多余的符号或说明。

答案:14 解法1:next_permutation的解法 #include #include using namespace std; int main() { int p[15]={1,1,1,1,1,2,2,2,2,2,2,2,2,2,2};//1是店,2是花 int sum,cnt=0; do { sum=2; for(int i=0;i<15;i++) if(p[i]==1) sum<<=1; else if(p[i]==2) sum--; if(sum==0) cnt++; } while(next_permutation(p,p+14));//因为最后一次遇到的肯定是花,所以只排前14个数,不排最后一个 cout< using namespace std; #define N 14//因为最后一次肯定是花,所以只排14个数 int cnt; bool ok(int p[],int begin,int end) { for (int i = begin; i < end; i++) if (p[i] == p[end]) return false; return true; } void perms(int p[],int start) { int i; if(start==N-1)

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

一、单选题(每题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

蓝桥杯原理图设计试题

电路原理图设计 根据设计任务要求,使用Protel 99se或Altium Designer Summer09软件设计电路原理图,设计必须使用给定的元器件,标明元器件参数。原理图文件保存在考生文件夹中(文件夹以考生的准考证号命名)。 取分要点 原理图设计部分(一般分值:10 分) 元器件标号、参数合理【2 】 其他模块【8 】 1、假定一个光敏电阻,在光线充足的状态下,阻值为5 KΩ,挡光状态下阻值≥45KΩ,使用简单阻容元件、晶体管、运算放大器等设计一个光敏电阻开关电路,挡光状态下电路驱动5V 继电器K1 吸合,反之,继电器断开。设计过程中,需要考虑信号抖动等因素,简述电路的工作原理与设计思路,并绘制出电路原理图。 2、使用基本逻辑电路及阻容元件设计一个硬件四倍频电路,使得输出方波信号的频率是输入方波信号频率的 4 倍。 3、电路原理图设计部分 电容式湿度传感器接口电路

4、使用PTC热敏电阻、场效应管、继电器及简单阻容元件设计“智能灌溉系统”中置于电机内部的过热保护电路,当电机内部温度超过70℃,断开电机电源,设计电路原理图并简述设计思路与电路工作原理。PTC热敏电阻参数说明:当温度小于68℃时,热敏电阻阻值小于100欧姆;温度超过68℃后,电阻值随温度升高呈阶跃性增高,温度到达70℃后,热敏电阻阻值接近10kΩ。 5、设计市电和锂电池供电电路原理图:

假定自动售水机中存在一出水量检测传感器,输出信号为4mA 到20mA 直流信号, 使用运算放大器设计接口电路,使得输入4mA,输出0V;输入20mA,输出5V。输入 与输出满足线性关系。 我的理解这是要考你加减运算电路应用 输入电流接个电阻到地转化成电压,同向输入,4毫安对应的电压值反向端输入,构成加减运算,不需要放大,放大倍数设置为1就可以。 原理就是把0到20毫安变化产生的电压值的0到4毫安那一部分剪掉。 具体电路因为单位不能上网暂时不能给你了,很简单相信你算算看看书就能连好。注意输入电阻,反馈电阻,同向端接地电阻早比采样电阻大很多很多,而且输入电阻对称 原理图 (哦!这方便,把它的输出口接到一个电阻回路中。然后你再用运算放大器来检测这电阻回路端头的电压并进行想相应的放大就行了。如你这输出电流的功率有足够的大,那只要算好了电阻阻值甚至不要放大器就直从它端头就可得到你所需的这线性电压。并这还更线性的了,没有放大器中那非线性了嘛。为了得到0V可在电阻回路下端用一只431做一个相应的4V的稳压电路好扣除4MA和你电阻那点所产生的电压, ) 设计并制作一个模拟工序控制系统,系统以时基芯片 555电路为信号发生器,产生秒脉冲,为计数器模块和控制 电路提供时钟信号。上电后,计数器模块自动预置数,开始 周期15秒的循环倒计数,并通过数码管显示;控制电路利用 计数器模块提供的计数脉冲信号,模拟工序的三个阶段及其 转换过程,各阶段以点亮相应的指示灯表示;同时,系统 还有制停功能及重启功能。

关于印发《湘潭大学学生学科竞赛管理办法补充规定》的通知.doc

关于印发《<湘潭大学学生学科竞赛管理 办法>补充规定》的通知 校属各单位: 为进一步规范学生学科竞赛管理,保证重点、调整结构,有序的开展各级各类学生学科竞赛,学校对学生学科竞赛进行分类分级管理,在《湘潭大学学生学科竞赛管理办法》(湘大教发〔2014〕37号)的基础上,制定此补充规定。 一、学科竞赛分为A类重点赛事、B类重要赛事和C类一般赛事三个类别。 A类重点赛事:指教育部倡导主办或国际国内有重大影响及学校传统经典赛事。B类重要赛事:(1)省教育厅主办的赛事;(2)教育部专业教学指导委员会主办过一次以上并有地域选拔赛且覆盖面宽的全国性重要赛事;(3)由国外国家级学术组织举办的重要赛事;(4)学校传统重要赛事。C类一般赛事:指教育部专业教学指导委员会或其他教学指导委员会、行业主办的一般性赛事。学科竞赛A类竞赛设置适当兼顾院系平衡,B类竞赛设置适当兼顾学科专业大类平衡。 学校每年控制参赛总数不超过100个赛事项目,其中A类和B类赛事每年各不超过25个项目,C类赛事每年不超过50个项目(具体赛事分类认定见附表:湘潭大学学生学科竞赛项目分类认定一览表)。 二、各类赛事组织工作归口职能部门或院系,组织赛事单位要在相关专业学生中进行广泛发动,尽量扩大校内赛事覆盖面,并认真组织校内选拔赛,每个类别的校内评审后,A类赛事规模推荐不超过50支队(人或作品)、B类赛事推荐不超过25支队(人或作品)、C类赛事推荐不超过10支队(人或作品)

参加地区或省级赛事。校内竞赛按照不超过5%、15%、25%的比例评出一等奖、二等奖、三等奖,学生只颁发奖励证书。省级以上竞赛校内选拔赛的命题费、评审费、监考费、阅卷费,从院系相应竞赛业绩津贴中支出。未计算竞赛业绩津贴的学科竞赛校内赛事相关费用从教务处支出,单项赛事年支出总额不超过3000元。 每支队(每个人或每件作品)的参赛报名费原则上不超过1000元,超过部分由竞赛组织院系承担。 三、A类赛事参赛获奖按照《湘潭大学学生学科竞赛管理办法》第十八条发放奖励,B类赛事按A类赛事对应级别的50%奖励,C类赛事按A类赛事对应级别的30%奖励。 列为A、B、C三类赛事项目的省级(地区)晋级赛奖励对应相应的A、B、C三类奖励。 四、每年10月底各院系上报第二年赛事计划,教务处在11月底以前审定立项项目。 五、学科竞赛仅针对本科生为主的赛事,研究生获奖不纳入我校学科竞赛资 助奖励范畴。

相关主题
文本预览
相关文档 最新文档