给新生的一点入门建议

前言:

快退役了, 给这届新生再“卖弄”下, 也算是”废物利用”。有兴趣的萌新听完宣讲就行动起来吧, 早为新生赛做准备。
authur : adrui
address:http://blog.youkuaiyun.com/ADjky/article/details/78115944


正文:

Question:
算法竞赛编程能力是基础, 但是对于新手来说熟悉语法需要一定的时间, 而且不确定自己什么时候能开始做题目练习。
how to do?

老狗建议:
边写题目边学语法, 为了解决问题而学习, 效率高而且能够明确问题和问题所需。

举个栗子: HDU 2006
这里写图片描述

Step 1:明确问题
要求: 输出n个数中奇数的乘积

Step2:明确输入输出要求:
输入:输入包含多组数据, 每组先输入一个n(整数数目), 紧跟着n个整数
输出:在一行中输出n个数中奇数的乘积

Step 3: 分析
1. 程序要满足多组输入(输入数据、输出一组数的奇数个数后还能继续输入输出)
2. 程序要能找出n个数中的奇数
3. 输入结果并且每组数据输出结果各占一行(加换行)

Step 4: 写代码:
1. 怎么多组读入?
solution: 百度 or 群里提问
上个干货: http://blog.youkuaiyun.com/adjky/article/details/52891611
2. scanf(“%d”, &n)读n之后怎么连续读n个数?
solution: for/while/do while(C/C++)循环(百度 or 群里提问)
3. 判奇数: 奇数对2取模为1, 怎么取模并且判断相等?
solution: %、== (百度 or 群里提问)
4. 输出换行:
printf(“%d\n”, ans);//ans存结果

Step 5: 提交
参见群里的ppt(ACM入门)
如果结果不是Accepted慢慢查找问题修改程序继续提交, 实在不会提问
如果是Accepted, 恭喜你, 开始下一题.
ps:C/C++注意提交代码要是

#include<stdio.h>
//solution code
int main()
{
    //solution code
    return 0;
}

结语:

整个过程, 读题分析问题务必独立完成而且要保证准确, 不会就提问。
先把HDOJ 11页刷完, 有余力做些其它题目, 新生赛范围之后会给出。
期待你们在新生赛的表现!

<think>好的,我现在需要帮助用户了解如何快速入门蓝桥杯嵌入式比赛的学习方法和资源。首先,我应该回顾用户提供的引用内容,确保信息准确。用户提到了三个引用,其中引用[1]提供了大量资料,包括真题、代码、原理图等;引用[2]强调了比赛的适合入门者,建议从51单片机开始;引用[3]则提到需要掌握C语言、电子技术基础和STM32编程。 接下来,我需要整理这些信息,形成一个结构清晰的回答。根据用户的要求,回答需要分步骤,结构清晰,并且引用对应的参考资料。此外,用户还要求生成相关问题,放在最后。 首先,确定回答的结构。可能分为几个部分:推荐学习路径、核心知识要点、推荐的资源、实战训练建议、注意事项。每个部分都需要结合引用内容,并添加正确的引用标记。 然后,检查是否有遗漏的关键点。例如,引用[2]提到大一新生可以从51单片机入手,这一点需要强调。引用[1]中的各种资源需要具体列出,如真题、代码、原理图等。引用[3]提到的C语言和电子技术基础也是重点。 接下来,确保每个建议都有对应的引用支持,并在段落末尾自然添加引用标识。例如,在建议学习STM32时,引用[3]提到需要掌握ARM Cortex M4的知识,所以需要标注[^3]。 生成相关问题部分需要考虑用户可能的后续疑问,例如如何备赛、如何优化代码、常见错误等。这些问题需要基于之前的回答内容,确保相关性。 最后,检查格式是否符合要求,包括数学表达式的使用、中文回答、代码块格式正确等。确保没有使用Markdown,所有LaTeX公式正确,如独立公式使用$$...$$。 现在,将这些思考整合成一个连贯的回答,确保每个部分都有逻辑性,并且引用正确。同时,注意语言简洁明了,帮助用户高效获取所需信息。</think>根据蓝桥杯嵌入式比赛的特点和参考资料,以下是快速入门的学习路径和资源推荐: ### 一、推荐学习路径 1. **基础硬件入门** - 建议从51单片机入手(如LED/按键控制),理解GPIO、中断等基础概念[^2] - 过渡到STM32平台(推荐使用CT117E竞赛板),学习CubeMX配置工具和HAL库开发流程[^1] 2. **核心知识模块** - 必须掌握:$GPIO \to 定时器 \to ADC \to UART \to I2C \to LCD$驱动链 - 重点突破:$$PWM_{占空比} = \frac{T_{高电平}}{T_{周期}} \times 100\%$$ 等关键公式应用 3. **开发环境搭建** ```c // STM32典型初始化代码结构 HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_ADC1_Init(); MX_USART1_UART_Init(); ``` ### 二、核心资源推荐 1. **官方资源包** - 包含历届真题(13-14届评分细则)、原理图(CT117E)、赛点资源数据包 - 参考代码库:国信长天/淘宝课程的模块化代码示例 2. **专项训练手册** - 模块化训练路线:按键扫描→LED呼吸灯→RTC时钟→EEPROM存储→LCD菜单系统 - 推荐使用《蓝桥杯实训指导书》中的项目案例 3. **速查资料** - STM32F103寄存器手册(重点关注TIM/ADC相关章节) - 硬件接口速查表:I2C地址分配、LCD指令集等 ### 三、实战训练建议 1. **真题训练法** - 完成近3年真题(建议每天1套),重点分析: $$ 代码得分 = 功能完整性 \times 0.7 + 代码规范度 \times 0.3 $$[^1] 2. **模块化开发** - 建立个人代码库(如:`BSP_LED`/`BSP_KEY`) - 使用CubeMX生成基础框架后添加业务逻辑 3. **调试技巧** - 必备工具:逻辑分析仪(分析I2C时序)、ST-Link(在线调试) - 常见问题库:LCD显示残影、ADC采样抖动等 ### 四、注意事项 1. 比赛提供标准驱动库,禁止使用寄存器直接操作 2. 代码规范占30%分值,需注意变量命名、注释完整性 3. 赛前重点复习《竞赛板原理图》的接口定义部分[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值