public static int findLast(int[]x,int y){ for(int i = x.length-1;i>0;i--){//i>=0 if(x[i] == y){ return i; } } return -1; } a)Identify the fault For循环中的i>0应该为i>=0 b)If possible,identify a test case that does not execute the fault 空数组,此时抛出空指针异常…
项目 内容 课程班级博客链接 19级信计班 这个作业要求链接 https://www.cnblogs.com/thelovelybugfly/p/9641367.html 我的课程学习目标 1. 学习博客园更多使用技巧 2. 通过作业实践熟练与熟悉掌握MarkDown的排版与工具功能 这个作业在哪些方面帮助我实现学习目标 1. 发布第二个博客 2.进一步了解MarkDown的排版和工具功能 实验内容: 任务一:编写代码输出以下图形                            *   …
2-1删除字符串中数字字符 1.设计思路 (1)主要描述题目算法 第一步:遍历指针s所指的s数组. 第二步:如果 * (s+i)在0至9之间的话,则跳过此 * (s+i). 第三步:如果* (s+i)不在0至9之间的话,使得 * (s+j) = * (s+i),j++. 第四步:千万不要忘记最后 * (s+j) = '\0. (2)流程图 2.实验代码 void delnum(char *s) { int i=0,j=0; for(i=0;*(s+i) != '\0';i++) { if(*(s…
目录 总 架构 controller model view 优化算法 Look 算法 多种算法取优 预测未来 多线程 第五次作业 第六次作业 第七次作业 代码静态分析 UML 类图 类复杂度 类总代码规模 属性个数 方法复杂度 方法个数 方法规模 控制分支数目 优缺点 优点 缺点 SOLID 原则 单一职责原则(SRP) 开放封闭原则(OCP) 里氏替换原则(LSP) 接口隔离原则(ISP) 依赖倒置原则(DIP) 多线程协作 UML 图 分析 线程间通信 并行任务的独立性 坑 多线程错误 Ma…
相关博文目录: 第一次作业点评 第二次作业点评 第三次作业点评 说明:随机挑选20组点评,大家可以看看blog名字,github项目名字,看看那种是更好的,可以学习,每个小组都会反应出一些问题,希望能取长补短,改进自己的项目,所有贴出来的各种信息都可以自己做下横向对比,自(主动)学(别人好的地方)哈 第一组:取款机项目 组员 1121:负责功能代码编写 blog:取款机项目实验报告 code:joanyy/ATM 1125:负责单元测试编写 blog:结对项目:ATM code:tpp53185…
面向对象程序设计第二次作业<1> Github 链接:https://github.com/Wasdns/object-oriented 题目: <1>第一次尝试 我立马认识到这是典型的a+b题目,这里我注意到了第一个点:-1000000<=a,b<=1000000 但是令我困惑的是,在编写过程中好像并没有什么作用. 代码: #include<stdio.h> int main() { int a,b,c,m=0,n=0; scanf("%d %d…
第二单元作业总结 ——电梯恐惧症患者的极限自救 一.   第一次作业程序分析 1.     设计策略简略分析 线程:主线程.输入线程和电梯线程,另有一个持有请求队列的调度器,一个对输入进行处理的Request类,主要采用生产者-消费者模型. 分工:输入线程负责接收控制台输入,处理后存入调度器队列. 电梯线程负责向调度器申请请求.运送请求,并输出相关状态信息,本次作业采用轮询方式进行等待. 调度器负责对请求进行调度,在电梯申请请求时将队列内第一个请求发送给电梯. Request类负责处理输入,主要…
前言 这一单元关于线程安全的作业结束了,在助教提供的接口的帮助以及老师提供的设计模型的指导下,这三次作业还是相对轻松地完成了,中间也没有出现什么bug,可能就是因为简单的逻辑不容易出错吧,可惜两次都由于性能分与a组失之交臂,或许在后续作业中还是应该多在性能优化下做一些工作. 第一次作业 设计思路 这次参考了老师所给的生产者消费者问题,主要设计了电梯类,控制器类,输入器类,主类,电梯类只负责向调度器请求指令,并根据接收到的指令进行上下楼接送人操作,输入器类只负责接受指令并向调度器塞入指令,控制器类…
OO~第二次作业总结 连续三周的电梯作业结束了,总的来说这三次作业做的还算平稳,既没有被刀,也没有刀中别人.那么接下来开始谈谈我对这三次作业的认识. 一.设计策略 我三次作业的设计思路基本上是相同的,电梯主要分成了三个线程,即Input(输入线程).Scheduler(调度器).Elevator(电梯).在这三个线程之间通过两个不同的托盘进行数据交互,即把输入线程输入的电梯指令放入调度器的ArrayList中,然后再用傻瓜调度算法/可稍带算法将相应指令传给电梯,最后电梯执行指令并输出相应结果.…
 GIT地址  我的地址  GIT用户名  995020892w  学号后五位  81105  博客地址  我的博客  作业链接  第二次作业 一.环境配置过程 安装vs2017 因为以前学习C#相关课程中就需要用到vs2017,所以以前就已经安装好了,也没有遇到什么问题,安装的时候跟着流程选择自己需要的安装组件即可,这是我最终安装完成的环境图: 安装GIT 打开GIT官方网站(如下图):下载链接 然后根据自己的电脑操作系统位数选择性下载,但是我下载的时候速度很慢,并不是网速的问题,到后来下载进…
作业描述 这个作业属于哪个课程 福州大学2020年春软工实践W班 这个作业要求在哪里 寒假作业(2/2) 这个作业的目标 开发一个疫情统计程序 作业正文 福州大学2020年春软工实践W班第二次作业 其他参考文献 <码出高效_阿里巴巴Java开发手册>/<腾讯c++代码规范>/<Python PEP8> 1.Github仓库地址 在博客中提供github链接. GitHub仓库 点击进入 2.PSP表格 阅读<构建之法>第一章至第三章的内容,并在下方作业里体现…
在经过第一单元初步认识面向对象编程思想后,本蒟蒻开始了第二单元--多线程部分的学习.本单元的作业是构造符合条件的"目的选层电梯"模型,自行设计调度算法,进行合理调度,完成所有乘客的需求.由于电梯请求与运行均为实时操作,因此需要采用多线程设计. 第一次作业 1.构造阶段 本次作业的需求是设计单部可捎带的目的选层电梯,电梯楼层为1~15层,捎带策略可自行设计,电梯容量没有限制.我在综合比较多种电梯调度算法后,采取了以下的调度策略:当电梯内无人时,采用LOOK算法:当电梯内有人时,采用指导书…
oo第二单元作业总结 一.设计策略与质量分析 第一次作业 设计策略 在第一次作业之前,我首先确定了生产者--消费者模式的大体架构,即由输入线程(可与主线程合并)充当生产者,电梯线程充当消费者,二者不直接交互,而是在Controller类的成员变量等待队列中不断取出或放入请求以达到交互的目的.而对于调度器位置的考虑,我将其与电梯线程合并,即从宏观上来看,电梯本身不断与请求队列交互,并按照自己的策略决定是否移动.开关门等(这一架构正是后两次作业中无为而治的基础).在此基础上,添加一些线程结束的判断以…
我罗斯方块第二次作业 我的任务 完成player类的编写 player类的测试 我的计划 类的设计: Player类作为一个玩家类,需要处理和玩家有关的所有信息,以及维护玩家的游戏页面map.关于玩家信息,需要设置玩家姓名.玩家目前分数.玩家是否失败等等的存入获取接口.Player类中含有两个Block类的实例化,分别存储现在的方块和下一个方块,需要设置方块旋转和生成新方块的接口.关于和游戏控制Game类的对接,需要提供方块左移.右移.下移以及碰撞检测等,还有方块消行以及增加行数接口.对于Int…
<Linux内核原理与分析>第二周作业 这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?由于本科对相关知识的不熟悉,所以感觉有的知识理解起来了有一定的难度,不过多查查资料,看看别人的解答,慢慢的也就理解了,最终形成自己的知识脉络. 实验分析 先创建文件,通过vim将C代码写到文件中去,如图. 再编译成可执行程序和反编译成汇编代码.为什么反编译是这个代码呢? gcc -S -o main.s main.c 原来gcc命令中 -S 参数表示仅仅汇编而不进行编译及链接,也就是将源…
<Linux内核原理与分析>第二周作业 本周作业分为两部分:第一部分为观看学习视频并完成实验楼实验一:第二部分为看<Linux内核设计与实现>1.2.18章并安装配置内核. 第一部分 本部分主要是观看孟老师的学习视频,学习计算机是如何工作的,并根据提示完成实验. 寄存器 通用寄存器: AX:累加器 BX:基地址寄存器 CX:计数寄存器 DX:数据寄存器 BP:堆栈基址针 SI.DI:变址寄存器 SP:堆栈顶指针 段寄存器: CS:代码段寄存器,指向包含程序指令的段. SS:栈段寄存…
第二次作业,从4月7号开始,陆续开始提交作业.根据同学们提交的作业报告,相比第一次作业,已经有了巨大改变,大家开始有了完整的实践,对那些抽象的名词也开始有了直观的感受,这很好.然后有一些普遍存在的问题,在这里做一下小结,大家可以PK下各自的思考和想法.此处主要从几个方面说: 作业雷同.抄袭问题 排版和代码插入的问题 需求分析和设计太抽象,应该如何理解和实践的建议 手工测试和单元测试的区别,以及单元测试的使用等 作业反馈和迭代改进,做中学. 作业雷同问题 作业雷同的问题.对于作业,我希望大家一定要…
本人github地址:  https://github.com/wenthehandsome23 psp阶段 预估耗时 (分钟) 实际耗时 (分钟) 计划 30 10 估计这个任务需要多少时间 20 20 开发 600 660 需求分析 (包括学习新技术) 40 60 生成设计文档 60 30 设计复审 (和同事审核设计文档) 30 20 代码规范  10 0 具体设计 50 30 具体编码 500 600 基本功能实现 150 200 扩展功能实现 350 400 测试(自我测试,修改代码,提…
作业要求一 PTA作业的提交列表 作业要求二 题目1.删除字符串中数字字符(函数题) 1.设计思路 - (1)算法 第一步:调用定义的函数. 第二步:定义i=0.j=0,i为原字符数组角标,j为删除后字符数组角标.使用循环语句读取字符数组元素,当字符数组元素为数字字符'0'~'9'时不进行操作,当字符数组元素为其它字符元素时,吧s[i]赋值给s[j],并让j加一.当s[i]为结束字符'\0'时,循环结束,并添加结束字符. 第三步:结果返回主函数. - (2)流程图 2.实验代码 void del…
前言 转眼已是第九周,第二单元的电梯系列作业已经结束,终于体验了一番多线程电梯之旅. 第一次作业是单电梯的傻瓜调度,虽然是第一次写多线程,但在课程PPT的指引下,写起来还是非常容易:第二次作业是单电梯的捎带调度,并加入了负层电梯,写起来也相对容易,不过在写捎带策略时容易出很多BUG:第三次作业是多电梯协作调度,不同电梯有不同的停靠楼层.容量等,看起来好像比较难,但其实只要将请求拆分,并且有第二次作业的代码基础,需要大改的也基本上只有调度器而已. 相比于第一单元借助延时才完成作业,这一单元的作业我…
第二次作业,从4月7号开始,陆续开始提交作业.根据同学们提交的作业报告,相比第一次作业,已经有了巨大改变,大家开始有了完整的实践,对那些抽象的名词也开始有了直观的感受,这很好.然后有一些普遍存在的问题,在这里做一下小结,大家可以PK下各自的思考和想法.此处主要从几个方面说: 作业雷同.抄袭问题 排版和代码插入的问题 需求分析和设计太抽象,应该如何理解和实践的建议 手工测试和单元测试的区别,以及单元测试的使用等 作业反馈和迭代改进,做中学. 作业雷同问题 作业雷同的问题.对于作业,我希望大家一定要…
第二单元作业的完成史,就是一部心酸的血泪史…… 多线程的出现为我(们)打开一片广阔的天地,我也在这方天地摸爬滚打,不断成长!如果说第一单元之前还对Java语法有所了解的话,那么这单元学习多线程则完全是从0积累的一个过程.每一步,都走得很艰难!虽然我犯过很多错,但我很庆幸,我坚持到了最后! 写在前面 单线程:Java程序在虚拟机上运行,一个Java程序对应一个JVM实例,同时对应一个主线程(即main),程序入口从main进入,运行完毕从main退出. 多线程:顾名思义,即不止一个main线程,m…
OO第二单元作业总结——多线程 单元任务 本单元主要的内容是通过模拟电梯的运行来熟悉多线程的实现,从简单的单部FAFS电梯开始,ALS电梯,到最后的多部ALS电梯. 一.设计策略分析总结 1.1 多线程协同 这三次的作业都需要通过多线程来实现输入和电梯执行的并发.因为吸取了第一单元的教训,在最开始设计的时候,就尽量考虑到之后的可扩展性,尽量使每个部分各司其职,相互之间减少关联性. 第五次作业 第五次作业主要分为四个模块:主线程.输入线程.调度器即请求队列.电梯线程. 主线程主要是控制整体程序执行…
OO第二单元作业总结 在第二单元作业中,我们通过多线程的手段实现了电梯调度,前两次作业是单电梯调度,第三次作业是多电梯调度.这个单元中的性能分要求是完成所有请求的时间最短,因此在简单实现电梯调度的基础上,我还使用了一些调度算法来追求性能分,但是效果上不是很理想,只能勉强获得90分,在这里我想把我自己的做法写出了,供大家参考. 本次作业分为以下部分,三次作业实现介绍(包括调度方法), 总结作业.请读者各取所需. (注:本次电梯的全部调度算法仅针对作业题目,对实际情况并不相符) 三次作业实现 第一次…
OO第二单元的作业主题是模拟电梯. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------…
写在前面 这三次电梯调度作业,主要是学习多线程并行操作,对于各个线程的时间轴的把握,互相的配合与影响,通过使用锁来解决访问冲突等方面. 个人在学会Thread相关操作之外,写出来一些奇怪结构的诡异操作,而这些操作是在已有方法学习不精的情况下意外获得,虽然后期证明效率不高,但也是扩宽了代码思路,将在下文一一说明. 另外有一些经验教训作为后鉴. 作业要求与代码结构 第一次作业 作业要求:单部单人电梯,目的选层调度,一到十五层运行. 代码结构: 此次作业我写的极其简单只有六十余行,同时拓展性也几乎为0…
20162311 编写Android程序测试查找排序算法 一.设置图形界面 因为是测试查找和排序算法,所以先要有一个目标数组.为了得到一个目标数组,我设置一个EditText和一个Button来添加数据 <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="2" android…
第二次作业:MathExam 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 30 • Estimate • 估计这个任务需要多少时间 240 Development 开发 120 240 • Analysis • 需求分析 (包括学习新技术) 60 60 • Design Spec • 生成设计文档 60 60 • Design Review • 设计复审 10 10 • Codi…
结队第二次作业--WordCount进阶需求 博客地址 051601135 岳冠宇 博客地址 051604103 陈思孝 博客地址 Github地址 具体分工 队友实现了爬虫功能,我实现了wordcount代码部分 PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 35 · Estimate · 估计这个任务需要多少时间 30 35 Development 开发 910 870 · Ana…
第二次作业--个人项目实战(sudoku) 一.作业要求地址 第二次作业--个人项目实战 二.Github项目地址 softengineering1--sudoku 三.PSP表格估计耗时 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 40 · Estimate · 估计这个任务需要多少时间 60 40 Development 开发 1080 1150 · Analysis · 需求分析 (包括学…