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

抱着欣欣看月亮 2021-09-22 23:07:57
这个作业属于哪个课程构建之法-2021秋-福州大学软件工程
这个作业要求在哪里2021秋软工实践第一次个人编程作业
这个作业的目标实现一个程序功能,它可以对读入的C或C++代码文件进行不同等级的关键字提取。
学号021900619

 

 

psp表格

Personal software process stages预估耗时(分钟)预估耗时(分钟)
Planning 计划4030
Estimate 估计这个任务需要多少时间  
Development开发  
Analysis 需求分析 (包括学习新技术)1010
Design Spec生成设计文档4090
Design Review 设计复审2020
Coding Standard 代码规范 (为目前的开发制定合适的规范)3030
Design具体设计6040
Coding具体编码3040
Code Review代码复审6090
Test测试(自我测试,修改代码,提交修改)2020
Reporting报告  
Test Report 测试报告2030
Size Measurement计算工作量3030
Postmortem & Process Improvement Plan事后总结, 并提出过程改进计划4040
Total合计300510

 

解题思路

    打算用Python语言进行编程,任务分解成三部分:1.文件读取  2.关键词匹配 3.统计信息.由于该作业难度不是很大,因此免去了查资料,直接而进行代码编写。

 

代码设计

1.文件读取

     读取文件并除去换行符

def readFile(path):
    with open(path, 'r', encoding='utf-8') as f:
        return f.read().replace("\n", "")

2.初始化关键词匹配表及结果保存容器

keyWords = ["auto", "break", "case", "char", "const", "continue", "default", "do", "double", "else", "enum", "extern",
            "float", "for", "goto", "if", "int", "long", "register", "return", "short", "signed", "sizeof", "static",
            "struct", "switch", "typedef", "union", "unsigned", "void", "volatile", "while"]

3.编写正则表达式

def countKeyWords(text, key_words):
    '''计算关键词个数'''
    return len(re.findall(f"(?:{'|'.join(key_words)})", text))

def countSwitch(text):
    '''计算switch case结构个数'''
    return [str(len(re.findall(r"case ",i))) for i in re.findall(r"switch(.*?)\}", text)]

def countIfElse(text):
    '''计算if else'''
    return len(re.findall(r"if\(.*?\){.*?}.*?else{.*?}",text))

def countIfElseifElse(text):
    '''计算if-elseif-else'''
    return len(re.findall(r"if.*?\{.*?\}.*?(?:else if.*?\{.*?\}.*?)+else.*?\{.*?\}",text))

 

 

...全文
1595 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
a1164520408 2021-09-29
  • 打赏
  • 举报
回复

缺乏性能分析等要求

SoftwareTeacher 2021-09-23
  • 打赏
  • 举报
回复

没有写完所有要求的部分。

打开链接下载源码: https://pan.quark.cn/s/05da658a2377 在信息技术领域中,输入法作为操作系统的一个核心构成部分,赋予了用户利用键盘输入多语种文字的能力。"ime-日语输入法安装必须文件"这一资源是一套为日语输入法部署而设计、包含全部必要元素的集成包,对于那些需要在个人计算机上执行日语文字输入的操作者而言具有不可替代的作用。接下来将深入剖析其中所包含的核心概念。 IME(Input Method Editor,输入法编辑器)是操作系统内的一种软件支持服务,其功能在于为非拉丁字符环境提文字输入方案,例如中文、日文、韩文等文字系统。在日本地区,IME通常被用来将罗马字(罗马拼音)形式的输入转换为平假名、片假名乃至汉字。此压缩文件内含的日语IME文件夹即为执行这一转换功能的关键要素。 kbdjpn.dll被视为一个关键的系统性文件,其意指“Japanese Keyboard Layout”(日语键盘布局)。该动态链接库文件负责设定日语键盘的排列方式及快捷操作组合,使用户能够借助常规的QWERTY键盘输入日语文字。倘若缺少这一文件,即便已经安装了日语输入法,依然无法正常显示及输入日语字符。 另外,imjp81k.dll同样是一个重要的系统性构成,它属于日语IME的范畴,全称为“Input Method Japanese for Windows 8.1 and later, Katakana mode”(适用于Windows 8.1及更新版本的日语输入法,片假名模式)。该文件支持日语的片假名输入,是处理日语输入的核心组成部分。在安装或升级日语输入法的过程中,保证imjp81k.dll的准确性与完整性显得尤为关键。 压缩包所含的"Window...
内容概要:本文研究了基于DPWMA调制与正负序分离的ANPC三电平并网逆变器前馈控制策略,旨在解决传统三电平逆变器在谐波抑制、电网不平衡适应性及动态响应方面的技术瓶颈。通过构建融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相控制与电网电压前馈的一体化控制体系,全面优化逆变器的输出波形质量、相位同步精度与抗扰能力。文章深入分析了ANPC三电平拓扑的结构优势,如开关损耗均衡、中点电位可控性强和电压利用率高等特点,并设计了包含信号采集、核心控制与调制驱动三层架构的完整控制系统。通过Simulink仿真平台对稳态运行、电网不平衡及动态扰动等多种工况进行验证,结果表明该策略显著降低了总谐波畸变率,提升了锁相精度与系统动态稳定性,有效增强了逆变器在复杂电网环境下的适应能力和运行可靠性。; 适合人群:具备电力电子、自动控制及新能源并网相关基础知识,从事新能源发电、微电网、电力系统仿真等领域的科研人员与工程技术人员,特别适合研究生及以上层次的研究者。; 使用场景及目标:①用于提升大功率并网逆变器在电网电压不平衡、谐波干扰和动态扰动等复杂工况下的运行性能;②为高电能质量要求的应用场景提先进控制解决方案;③支持科研仿真、论文复现与实际工程项目中的高性能并网控制系统设计与优化。; 阅读建议:建议结合提的Simulink仿真模型进行实践操作,重点理解DPWMA调制机制、正负序分离锁相算法与电网电压前馈控制之间的协同作用,按照文档结构系统学习,并与传统控制策略进行对比分析,以深入掌握改进策略的技术优势与实现细节。

189

社区成员

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

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