现代软件工程第一章概论习题第1题李艳薇

author author     2022-08-04     226

关键词:

实现自动出题功能:

程序并没有实现全部要求,后续将会继续改进。

  实现结果:

技术分享

技术分享

程序代码:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <time.h>

using namespace std;

#define N 100


bool createProblem()
{
int i,op,x;
char st[100];
int dt[100];
int ct[2];
memset(dt,-1,sizeof(dt));
i=0;
ct[0]=ct[1]=0;

op=rand()%7;
if(op==0) {
st[i++]=‘(‘;
ct[op]++;
}
dt[i++]=rand()%N;

int count=0;
while(count<100)
{
op=rand()%7;
if(op==6)
{
st[i++]=‘=‘;
if(ct[0]!=ct[1]) {
return false;
}
break;
}
else if(op==0 || op==1)
{
if(op==0) {
if(dt[i-1]==-1&&st[i-1]!=‘)‘) { // ‘(‘前没有整数,即‘(‘前是个运算符号或者是‘(‘
st[i++]=‘(‘;
ct[op]++;
} else {
return false;
}
} else if(op==1&&ct[0]>ct[1]) {
if(dt[i-1]!=-1 || st[i-1]==‘(‘) {
st[i++]=‘)‘;
ct[op]++;
} else {
return false;
}
}
}
else
{
if(dt[i-1]!=-1||st[i-1]==‘(‘) {
if(op==2) {
st[i++]=‘+‘;
} else if(op==3) {
st[i++]=‘-‘;
} else if(op==4) {
st[i++]=‘*‘;
} else if(op==5){
st[i++]=‘/‘; //除数为0的情况暂时不判断
} else {
return false;
}

x=rand()%N;
int m=N/5;
while(x<=m) {
st[i++]=‘(‘;
ct[0]++;
x=rand()%N;
}

dt[i++]=rand()%N;
}


}

count++;

}

if(count==100) {
return false;
}

int n=i;
st[n]=‘?‘;
for(i=0;i<=n;i++)
{
if(dt[i]==-1) {
cout<<st[i];
} else {
cout<<dt[i];
}
}
return true;
}


int main()
{
int i;
srand(time(NULL));
//srand((unsigned)time(NULL));

for(i=1;i<=20;i++)
{
while(1) {
if(createProblem()) {
cout<<endl;
break;
}
}
}
return 0;
}

 

现代软件工程第一章概论第4题——张功

第4题:Dijkstra曾经提到:“Softwareengineering,ofcourse,presentsitselfasanotherworthycause,butthatiseyewash:ifyoucarefullyreaditsliteratureandanalysewhatitsdevoteesactuallydo,youwilldiscoverthatsoftwaree 查看详情

现代软件工程第一章概论第1题——孙雪莹张功

第一步:像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行“软件”,分别满足下面的各种需求。下面这些需求都可以用命令行参数的形式来指定:   a)除了整数以外,还要支持真分数的四... 查看详情

现代软件工程第一章概论第10题——张功

10.Software, SoftwareEngineering,waterfall(瀑布模型),CodeComplete,...等名词的来源http://en.wikipedia.org/wiki/John_Tukey请问“软件”,“软件工程”,瀑布模型,CodeComplete,AgileMethodology这些词汇是如何出现的-何时 查看详情

现代软件工程第一章概论第12题——原旭莹

12.我们不是在真空里谈软件工程,软件要运行在硬件芯片上面,下面看看一个计算机芯片的发展历史http://perspectives.mvdirona.com/2014/09/august-21-2014-computer-history-museum-presentation/http://mvdirona.com/jrh/TalksAndPapers/DileepBhandarkarAmazin 查看详情

现代软件工程第一章概论第10题——孙雪莹

10.2:现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:                -当时的项目... 查看详情

现代软件工程第一章概论第11-15题(白文俊)

...oftwareEngineering等名词的来源,请问“软件”和“软件工程”这些词汇是如何出现的-何时、何地、何人在看过给的链接原文之后我得出这样的结论:”software”即“软件”这一名词的使用最早是在1953年8月... 查看详情

现代软件工程第一章概论第6题——原旭莹

...火车票。这些软件合法么?符合道德规范么?是在“软件工程”的研究范围么?请大家讨论。      我认为这些软件的合法性是存在一定问题的,也并不符合道 查看详情

现代软件工程第一章概论第3题——张晓丽

第3题目前流行的源程序版本管理软件和项目管理软件都有哪些,各有什么优缺点?参照http://www.cnblogs.com/WJ1234/p/5285595.html   http://www.360doc.com/content/12/0712/11/4565_223745448.shtml1、Microsoft TFS的优缺点:优点:是对敏捷,m... 查看详情

现代软件工程第一章概论第4题——邓琨

...,这并不叫会写程序,只能说是管中窥豹,略见一斑。而软件工程是从宏观和微观两个角度教一个人怎么写程序。一是教怎么使用程序语言,怎么设计算法,怎么通过使用语句的组合构成一个可运行的程序;另一方面是怎么进行... 查看详情

现代软件工程第一章概论第13题——张功

13.这么多作业,似乎压力很大啊!请看TED的演讲,谈谈你对压力的看法,以及怎么和别人合作,帮助别人,把压力转化为动力,在互相帮助的环境中成长。     我们可以将压力看作生命的一部分,我们接受来自... 查看详情

现代软件工程第一章概论第9题——邓琨

 我采访了一只开发了天津8890便民服务网站系统的团队。 -当时的项目有多少用户,给用户多少价值?现在还有人用吗?答:当时项目有近万用户,为天津市民提供便民服务平台,例如联系修理家电、水电气、咨询服务、中... 查看详情

现代软件工程第一章概论第2题——孙雪莹(还未完成)

2. 软件有很多种,也有各种分类办法:    ShrinkWrap(在包装盒子里面的软件,软件在软盘/CD/DVD上);  WebAPP(基于网页的软件);  InternalSoftware(企业或学校或某组织内部的软件);   &n... 查看详情

现代软件工程第一章概论第14题——张晓丽

14、开发软件有很多种方式,从软件运行的平台来看,可以在下面的平台运行:网页(只要有浏览器就可以访问软件或服务)Windows平台(例如最新的Windows10支持PC,Surface,Mobile,甚至Xbox运行)安卓平台iOS平台(Mac和iPhone)请找一... 查看详情

现代软件工程第一章概论第7题——张星星

 综合多方面考虑,我认为,”中文编程”并不是一个”银弹”,并不能提高中国程序员的编程效率。 首先,中文编程指的是使用中文书写关键字,如类名、函数名、变量名、常量名等。对编程语言来说,语... 查看详情

现代软件工程第一章概论练习与讨论——范鹏宸(371113)

第三题问题描述: 上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些,各有什么优缺点?答:目前流行的原程序版本管理软件和项目管理软件有MicrosoftTFS、GitHub、Trac、Bugzilla、Rationale,AppleXCode这几种比... 查看详情

现代软件工程第一章概论练习与讨论

题目1解答:开发环境选择的是c++,开发工具使用的是Visualc++6.0。首先,先完成一个最简单的工能,随机产生一个只有两个操作数一个运算符的式子,接受输入并判断输入答案是否正确:代码如下:#include<iostream.h>#include<std... 查看详情

现代软件工程第一章概论练习与讨论

1、像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的“软件”,和同学们比较一下各自程序的功能、实现方法的异同等等。(苏志华)7、有人认为,"中文编程",是解决中国程序员编程效率一个秘密武器,请... 查看详情

现代软件工程第一章概论练习与讨论第6题邓杰

...火车票。这些软件合法么?符合道德规范么?是在“软件工程”的研究范围么?请大家讨论。  首先说说类似于抢票软件的合法性,在目前来看,国家政府并没有采取强硬的手段和法律措施来制止这种行为,抢票软件也... 查看详情