你也能够上程序咖(https://meta.chengxuka.com),关上大学幕题板块,岂但有答案,解说,还能够在线答题。
题目1:什么是算法?试从日常生活中找3个例子,形容它们的算法。
答:
算法:算法是计算机解决信息的实质,因为计算机程序实质上是一个算法来通知计算机确切的步骤来执行一个指定的工作。个别地,当算法在解决信息时,会从输出设施或数据的存储地址读取数据,把后果写入输出设备或某个存储地址供当前再调用。
算法是独立存在的一种解决问题的办法和思维。
对于算法而言,实现的语言并不重要,重要的是思维。
例如:
1、自驾去新疆游览
筹备好车,而后筹备游览路线等,开车登程,一路游山玩水。
2、网上买一部手机
首先选好网购平台(某宝,某东,某猫等),而后抉择想要的品牌和型号,下单,期待到货。
3、相亲
首先有七大姑八大姨等(如果没有能够抉择一些交友网站或其余媒婆),而后获取对方的联系方式和根本信息,登程达到目的地,相见,称心或不称心,决定了是否能够再约。
4、把大象放进冰箱
先关上冰箱门,而后将大象放进冰箱,关冰箱。
题目2:什么叫结构化的算法?为什么要提倡结构化的算法?
答:
结构化算法:由一些程序、抉择、循环等根本构造依照程序组成,流程的转移只存在于一个根本的范畴之内。
结构化算法便于编写,可读性高,批改和保护起来简略,能够缩小程序出错的机会,进步了程序的可靠性,保障了程序的品质,因而提倡结构化的算法。
题目3:试述3种根本构造的特点,请另外设计两种根本构造(要合乎根本构造的特点)。
解:
结构化程序设计办法次要由以下三种根本构造组成:
程序构造:程序构造是一种线性、有序的构造,它顺次执行各语句模块
抉择构造:抉择构造是依据条件成立与否抉择程序执行的通路。
循环构造:循环构造是反复执行一个或几个模块,直到满足某一条件地位
从新设计根本构造要满足以下几点:
只有一个入口
只有一个进口
构造内的每一部分都有机会执行到
构造内不存在死循环
见图2.1和图2.2。
题目4:用传统流程图示意求解以下问题的算法。
(1)有两个瓶子A 和 B,别离盛放醋和酱油,要求将它们调换(即 A 瓶原来盛醋,现改盛酱油,B 瓶则相同)。
解:显然,如果只有两个瓶子,必定不能实现此工作,必须有一个空瓶C作为过渡,其步骤见图 2.3。
(2)顺次将10个数输人,要求输入其中最大的数。
解:流程图见图 2.4。
(3)有3个数a,b,c,要求按大小程序把它们输入。
解:流程图见图2.5。
(4)求1+2+3+……+ 100。
解:流程图见图 2.6。
(5)判断一个数n是否同时被3和5整除。
解:流程图见图 2.7(a)或图 2.7(b)。
(6)将100~200之间的素数输入。
解:流程图见图 2.8。
(7)求两个数m和n的最大公约数。
解:流程图见图 2.9。
(8)求方程式ax2+ bx+c=0的根。别离思考:
①有两个不等的实根;
②有两个相等的实根。
解:流程图见图 2.10。
题目5:用N-S图示意第4题中各题的算法。
(1)有两个瓶子A 和 B,别离盛放醋和酱油,要求将它们调换(即 A 瓶原来盛醋,现改盛酱油,B 瓶则相同)。
解:N-S流程图见图 2.11。
(2)顺次将10个数输人,要求输入其中最大的数。
解:N-S流程图见图 2.12。
(3)有3个数a,b,c,要求按大小程序把它们输入。
解:N-S流程图见图 2.13。
(4)求1+2+3+……+ 100。
解:N-S流程图见图 2.14。
(5)判断一个数n是否同时被3和5整除。
解:N-S流程图见图 2.15。
(6)将100~200之间的素数输入。
解:N-S流程图见图 2.16。
(7)求两个数m和n的最大公约数。
解:N-S流程图见图 2.17。
(8)求方程式ax2+ bx+c=0的根。别离思考:
①有两个不等的实根;
②有两个相等的实根。
解:N-S流程图见图 2.18。
题目6:用伪代码示意第4题中各题的算法。
(1)有两个瓶子A 和 B,别离盛放醋和酱油,要求将它们调换(即 A 瓶原来盛醋,现改盛酱油,B 瓶则相同)。
解:
c = aa = bb = c
(2)顺次将10个数输人,要求输入其中最大的数。
解:
n= 1input max while n<10 do input a if a>max then max= a n=n+1end doprint max
(3)有3个数a,b,c,要求按大小程序把它们输入。
解:
input a,b,cif a<b then swap a,b (swap a,b示意a和b互換)if a<c then print c,a,belse if c>b then print a,c,b else print a,b,c end ifend if
(4)求1+2+3+……+ 100。
解:
sum = 0n= 1while n≤100 do sum = sumt+n n=n+1end doprint sum
(5)判断一个数n是否同时被3和5整除。
解:
input nflag=0if mod(n,3)≠ 0 then flag=- 1if mod(n,5)≠ 0 then flag= 1if flag=0 then print n "能被 3 和 5 整除"else print n "不能同时被 3 和 5 整除end if
(6)将100~200之间的素数输入。
解:
n= 100 while n≤200 do i=2 while i≤ √n if mod(n,i)=0 then i=n else i=i+1 end if end do if i<√n then print n n=m+1 end do
(7)求两个数m和n的最大公约数。
解:
input m,nif m<n then swap m,n t= mod(m,n)while r≠=0 do m= n n=r r= mod(m,n)end do print n
(8)求方程式ax2+ bx+c=0的根。别离思考:
①有两个不等的实根;
②有两个相等的实根。
解:
int a,b,c disc= b2-4ac if disc≥0 then if disc=0 then xl,x2=-b/(2a) else xl=(-b+√disc)/(2a) x2=(-b-√disc)/(2a) end if print x1,x2 else p=-b/(2a) q= √(dis/(2a) print p+q,"+",p-q,"i"end if
题目7:什么叫结构化程序设计?它的次要内容是什么?
答:
结构化程序设计(structured programming,简称SP)是进行以模块性能和处理过程设计为主的具体设计的根本准则。其概念最早由E.W.Dijikstra在1965年提出的。结构化程序设计思维的确使程序执行效率进步 ,是软件倒退的一个重要的里程碑,它的次要观点是采纳自顶向下、逐步求精的程序设计办法;各个模块通过“程序、抉择、循环”的控制结构进行连贯,并且只有一个入口、一个进口 。
题目8:用自顶向下、逐渐细化的办法进行以下算法的设计:
(1)输入1900- 2000 年中是平年的年份,合乎上面两个条件之一的年 份是平年:
①能被4整除但不能被100整除;
②能被100整除且能被400整除。
解:先画出图 2.19(a),对它细化得图 2.19(b);对图 2.19(b)中的 S1.1细化得图2.19(c)。
(2)求ax2+bx+c=0的根。别离思考d=b°-4ac大于0、等于0和小于0这3种状况。
解:先画出图2.20(a),对其中的 S3细化为图2.20(b),对图2.20(b)中的 S3.1细化为图2.20(c),对图2.20(c)中的S3.1.1细化为图2.20(d),对图2.20(c)中的 S3.1.2细化为图 2.20(e),再对图 2.20(b)中的 S3.2细化为图 2.20(f)。请读者将它们合成一个总的 N-S图。
(3)输人10个数,输入其中最大的一个数。
解:先初步画出图 2.21(a)。思考到还没有学习数组的常识,因此不能做到将 10个数全副输出给数组中各个元素,而后再从中找最大者。因为不采纳数组这种数据结构,算法也应与采纳数组时有所不同。当初只用一般变量,一一读入数据,将过后各数中的最大者保留下来寄存在 max中,以便再与前面读入的数比拟。将图 2.21(a)细化为图 2.21(b),再细化为图2.21(c)。