2021秋软工实践第一次个人编程作业

REP1USONE 线下助教 2021-09-14 00:41:47
加精

第一次个人编程作业

Deadline: 2021-09-21 00:00am

作业提交在这里https://bbs.csdn.net/topics/600840299

实现一个程序功能,它可以对读入的C或C++代码文件进行不同等级的关键字提取。

题目要求

  • 基础要求:输出关键字统计信息

  • 进阶要求:输出有几组switch case结构,同时输出每组对应的case个数

  • 拔高要求:输出有几组if else结构

  • 终极要求:输出有几组if,else if,else结构

在完成更高要求的情况前,需完成前置的要求。

编码要求

  • 使用 C++、Java、Python 中任一种完成任务。

  • 制定合适的代码规范,进行测试。

  • 使用 Git 进行版本控制。

前置要求

GitHub 初使用

为了保证你的代码能够帮助更多的人,并且能得到有效的管理和开源共享,请先学习 GitHub 使用:

  • 下载 Git。

  • 学习基础 Git 命令。

  • 在GitHub上创建仓库并上传本次作业,完成基本需求,并至少进行10次以上的 commit。

代码规范制定

为了其他同仁可以轻松的阅读你的代码,请制定属于你的代码规范,要求不能偏离主流代码规范:请参照 《码出高效_阿里巴巴Java开发手册》/《谷歌C++开源项目风格指南》/《Python PEP8》,从以下几个角度制定你的编程规范,并撰写成 Markdown 文件,请牢记你制定的编码规范,并在此次作业中严格执行。

  • 缩进

  • 变量命名

  • 每行最多字符数

  • 函数最大行数

  • 函数、类命名

  • 常量

  • 空行规则

  • 注释规则

  • 操作符前后空格

  • 其他规则

作业步骤

  • 创建作业的GitHub仓库。

  • 编写程序,积极 commit。

  • 迭代更新,优化代码。

  • 编写博客,完成作业。

博客要求

  • 给出此次作业的 PSP 表格。

  • 解题思路描述。即刚开始拿到题目后,如何思考,如何找资料的过程。

  • 设计实现过程。设计包括代码如何组织,关键函数的流程图。

  • 代码说明。展示出项目关键代码,并解释思路。

  • 单元测试截图和描述。

  • 单元测试覆盖率优化和性能测试,性能优化截图和描述。

  • 总结本次作业。

评分标准(150)

  • Git 部分(15)

    • commit 信息规范(5)

    • 文件规范(5)

    • 其他(5)

  • 代码部分(20)

    • 代码风格(5)

    • 代码规范(5)

    • 单元测试(10)

  • 博客部分(65)

    • 任务分解(10)

    • PSP 表格(5)

    • 迭代过程描述(10)

    • 困难描述及解决办法寻找(15)

    • 其他(10)

  • 程序评测(45)

    • 正确性(20)

    • 运行速度(25)

  • 提交时间(5)

附录

C语言文件样例:

#include <stdio.h>
int main(){
    int i=1;
    double j=0;
    long f;
    switch(i){
        case 0:
            break;
        case 1:
            break;
        case 2:
            break;
        default:
            break;
    }
    switch(i){
        case 0:
            break;
        case 1:
            break;
        default:
            break;
    }
    if(i<0){
        if(i<-1){}
        else{}
    }
    else if(i>0){
        if (i>2){}
        else if (i==2) {}
        else if (i>1) {}
        else {}
    }
    else{
        if(j!=0){}
        else{}
    }
    return 0;
}

格式要求

  • 输入格式:执行时,需向程序传入两个参数,第一个参数是代码文件的路径,第二个参数是完成等级(从低到高为1,2,3,4)

    如 python keyCount.py data/key.c 4

  • 输出格式:上面的代码作为样例

    total num: 35
    switch num: 2
    case num: 3 2
    if-else num: 2
    if-elseif-else num: 2

    关键字共定义为32个:

autobreakcasecharconstcontinuedefaultdo
doubleelseenumexternfloatforgotoif
intlongregisterreturnshortsignedsizeofstatic
structswitchtypedefunionunsignedvoidvolatilewhile
...全文
3565 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
随着通信电子技术的迅速发展,信息技术给家居行业产生了深远的影响,家居环境的智能化监控已经成为智能家居的一个重要的发展方向。人们逐渐对自己的生活提出一种更高的要求,他们需要一种智能化、可交互,并且融合现代创新科技的产品来改善他们的生活环境,使他们生活更加安全、舒适、便捷、智能。本文根据智能家居的发展背景和研究现状,并且从实用性和可行性角度出发,研究设计了一种基于STM32单片机的智能家居系统。该系统由一个多功能综合的技术系统组成,各个多功能子系统间具有协同配合能力。基于STM32单片机实现的功能子系统包括:智能温度检测,智能湿度检测,智能烟雾/火灾检测智能检测,无线传输,人机交互机构,风扇调节,报警模块。 整个系统分为前端51单片机采集板和后端STM32单片机接收板。 采集板使用DHT11温湿度传感器、MQ烟雾传感器完成室内家居环境的采集。然后通过nRFL24L01将采集到的数据发送给后端。接收板使用LCD1602完成数据显示、使用蜂鸣器模块报警,使用风扇驱动模块调节室内家居环境。本文完成了智能家居控制系统前端、后端软硬件的设计,使用Altium designer绘制了电路原理图,使用Keil C完成了51单片机和STM32单片机的编程与调试。 最后,对本文设计的基于STM32的智能家居控制系统进行部署调试。试验结果表明,该系统可成功应用在智能家居环境检测调节和火灾安全防护的领域,可提高家居生活智能化水平。

189

社区成员

发帖
与我相关
我的任务
社区描述
福州大学软件工程教学,推行邹欣老师“构建之法”。
软件工程 高校
社区管理员
  • Dawnfox
  • REP1USONE
  • 纪华裕
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧