程序的三种基本逻辑结构
1.1.2程序框图与算法的基本逻辑结构(循环结构)
变式训练(1): 编写程序求:12 +22 +32 +42 +……+1002的值.
开始
i=1 S=0
如何修改?
开始
i=1 S=0 i=i+1
否 i≤100?
S=S+i S=S+i 2
i=i+1
直到 型循 环结 构
i>100? 是
输出S
是
2 S=S+i S=S+i
否 输出S
结束
结束
当型循环 结构
变式训练(2): 1 1 1 1 编写程序求: 1 2 3 4 100 的值. 开始 如何修改? 开始
S=S*i 否 i≤6? 否 是
i=i+1 i>6?
是 输出S 结束
输出S
结束
变式训练(1): 编写程序求:12 +22 +32 +42 +……+1002的值. 变式训练(2): 1 1 1 1 编写程序求: 1 的值. 2 3 4 100 变式训练(3): 编写程序求:1+2+3+4+5+……+n的值. 变式训练(4): 编写程序求:n!=1×2×3×4×5×……×n的值. 变式训练(5): 编写程序求:1×3×5×7×……×101的值.
知识回顾
1、算法的概念
在数学上, “算法”通常是指可以用计算机来 解决的某一类问题的程序或步骤,这些程序或 步骤必须是明确和有效的,而且能够在有限步 之内完成.
2、算法最重要的特征: (1).有序性 (2).确定性 (3).有限性
3、程序框图的三种基本的逻辑结构
结构化程序的三种基本结构
结构化程序的三种基本结构1 结构化程序结构化程序是指使用一定的结构来控制程序执行的编程方法。
它的出现是由于普通的程序的条件判断和控制循环的结构性太弱,容易造成程序臃肿不便于修改。
结构化程序正是为了解决这一问题,也就是为了使程序结构清晰明了而提出的。
2 三种基本结构结构化程序的基本结构有顺序结构、分支结构、循环结构三大类。
顺序结构指程序是按照一定顺序执行,语句逐个执行,任何一个语句都要按照指定的顺序执行。
分支结构是常用的程序结构,当满足一定的条件的时候,多个次执行的情况就要使用该结构。
逻辑分支有 if-then-else、switch等,例如根据输出的结果进行不同的操作,然后执行不同的程序。
循环结构最典型就是 for 循环,实现需要多次执行某一段程序的情况,以便最终达到预期的效果。
3 常用结构结构化程序的三种基本结构之外,还有其他用得多的结构,如函数结构、框架结构、程序子集结构等。
函数结构提供了一种将一段程序的模块化的方法,函数的调用实现了程序的分离,使程序变得更加简单易懂。
框架结构能够将程序中共用的部分抽取出来,形成独立的程序模块,可以应用到多个程序中,从而实现代码重用性。
程序子集结构可以用来实现大型程序,将程序分拆成多个子程序,每个子程序单独完成一部分的任务,便于编写和管理大型程序。
4 结语结构化程序是一种利用各种结构来控制程序执行的编程方法,它解决了普通程序结构性太弱而造成程序臃肿不便于修改的问题。
其最基本的结构有顺序结构、分支结构和循环结构,结合函数结构、框架结构和程序子集结构,能够构成一个完整的程序结构,从而实现复杂任务的完成。
程序设计选择题1.doc
计算机理论部分复习资料(一)程序设计部分1.程序的三种基本控制结构是顺序、条件和循环,它们的共同点是................................. (A)A.只有一个入口和一个出口B.只能用来写简单的程序C.已经用硬件实现D.不能嵌套使用2.下面描述屮,符合结构化程序设计风格的是................................................... (A)A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个岀口C.不使用goto语句D.注重提高程序的执行效率3.I960年Dijkstra提倡的(D )是一种有效的提高程序设计效率的方法,把程序的基本控制结构限于顺序、选择和循环三种,同时避免使用GOTO语句,这样使程序结构易于理解。
................................ (D )A.模块化程序设计B.标准化程序设计C.多道程序设计D.结构化程序设计4.程序设计语言的基本成分是数据成分、运算成分、控制成分和.................................... (D)A.对象成分B.变量成分C.语句成分D.传输成分5.在结构化程序设计思想提出来之前,在程序设计中曾强调程序的效率,现在,与程序的效率相比,人们更重视程序的........................................................................ (D)A.安全性B.—致性C.合理性D.可理解性6.对建立良好的程序设计风格,下面描述正确的是................................................ (D)A.程序的注释町有可无B.符号名的命名要符合语法C.充分考虑程序的执行效率D.程序应简单、清晰、可读性好7.提高程序可读性的有力手段是............................................................... (C )A.给程序加注释B.显式说明一切变量C.使用三种标准控制语句D.选好一种程序设计语言& 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图通常也把这种图称为(B )A.PAD图B.N-S图C.数据流图D.结构图9.结构化程序设计主要强调的是................................................................ (B )A.程序的执行效率B.程序的易读性C.程序的规模D.程序的可移植性10.有关参数传递叙述止确的是 ................................................................. (D )A.接收参数的个数必须正好等于发送参数的个数B.参数接收时与发送的顺序相反C.接收参数的个数必须少于发送参数的个数D.参数接收时与发送的顺序相同11.FoxPro是结构化程序设计语言,下列不属于分支执行结构的是 .................................. (A)A、DO WHILE...ENDDOB、IF ... ENDIFC、DO CASE...ENDCASED、IF ... ELSE ... ENDIF12.FoxPro提供的语言体现了—特征,用FoxPro编写的程序是结构化的程序。
程序流程有三种最基本的控制结构,即顺序结构、选择结构和讲解
布尔表达式练习
?-3<-2<-1 False a=3:b=4:c=5 ?a=b=c False 表示一个数x是能被3整除的奇数 x Mod 3=0 and x Mod 2< >0 x Mod 2=1 and x Mod 2< >0 表示一个数x∈[2,5] x>=2 and x<=5 表示一个数x不在[2,5]区间内 x<2 or x>5
(y Mod 4=0 AND y Mod 100<>0 ) OR 400=0 AND y Mod 100=0 )
(y Mod
(y Mod 4=0 AND y Mod 100<>0 ) OR y Mod 400=0
地球公转一周的时间为:365天5小时48分56秒
判断闰年的科学依据
每经过4年,剩余的时间为:5小时48分56秒×4=23小时15分44秒 则每4年都要多加24小时- 23小时15分44秒=44分16秒
每经过100年,就会多加44分16秒×25=18小时26分40秒
比较接近一天,所以每到100年,就将这多加的近似一天的时间减去, 即停止追加一天 而实际上又少加了24小时- 18小时26分40秒=5小时33分20秒 每经过400年,就会少加4 × 5小时33分20秒≈24小时 所以每过400年,就应该再补加一天 故:每4年闰年出现一次;每400年,闰年再出现一次 其它的整100年,闰年停止出现一次
每400年闰年再出现一次其它的整100年闰年停止出现一次12选择控制结构选择控制结构又称分支结构它体现了程序运行过程中的自我判断能力程序可以根据当前执行的某个条件进行比较判断并依据判断的结果成立与否来决定下一步做什么不做什么在两条或多条程序路径中选择一条来执行即只执行程序中的一部分语句可见在此结构的程序运行过程中有些语句会执行一次有些语句在此次程序运行过程中没有机会执行
程序的基本结构
输入两个数(均不为零)及一个算术运算符,输出其运算的结果 程序代码: program ex3(input,output); var x,y,s:real; ch:char; begin writeln(‘input x & y & ch:’); readln(x,y); readln(ch); case ch of ‘+’:s:=x+y; ‘-‘:s:=x-y; ‘*’:s:=x*y; ‘/’:s:=x/y end; writeln(x,ch,y,’=’,s) end.
IF语句的嵌套 在if语句中,如果then子句或else子句仍是一个if语 句, 则称为if语句的嵌套。
例3:已知方程:
ax2+bx+c=0
输入系数a,b,c,a<>0,输出方程的解(考虑各种情况)。保留两位 小数。 (1):如果无实数解输出:’no answer’; (2):相同的实数解:输出一个即可。 (3):两个不同的实数解:分别输出。 如: 输入: 输入: 1 3 2 1 2 1 输出: X1=-1.00 输出: X2=-2.00 X=-1.00
如:a:=1;b:=2; 则表达式:a<=b的值是TRUE;a>b的值是FALSE; a+1=b的值是TRUE; Var f:boolean; f:=a>b; Write(f); 输出:FALSE
2、逻辑运算 (布尔运算)
运算符 not and or xor 运算 逻辑非(取反) 逻辑与(并且) 逻辑或(或者) 逻辑异或 运算对象 布尔型 布尔型 布尔型 布尔型 结果类型 布尔型 布尔型 布尔型 布尔型
Xor:异或其实就是对应的位, 不同就取1,想同就取0 21 二进制码: 0001 0101 2 二进制码: 0000 0010 xor: 0001 0111 (23)
C语言程序设计教程第2章程序流程
流程图
算法
确定
程序结构
变量类型
程序语句
(7)调试
调试
C语言程序设计
第二章 程序设计和程序结构
良好的程序编写风格会大大缩 短调试过程,附录4介绍了C语言程 序的一般书写风格,附录11介绍了 一些常见的错误。
C语言程序设计
第二章 程序设计和程序结构
2.1.2 算法
在实际的编程过程中要注意:
1、避免拿起题目就开始写程序的 2、应该先设计出合适的算法
第二章 程序设计和程序结构
本章概述
2.3程序结构 2.1程序设计与算法 2.4流程图及程序例子 2.2流程图
C语言程序设计
第二章 程序设计和程序结构
本章概述
• 本章主要介绍了C语言的程序结构、 流程图的绘制和程序设计的过程。 • 学习目标: • 1、理解程序的开发、设计过程 • 2、掌握C语言程序结构
C语言程序设计
第二章 程序设计和程序结构
其中最后一行的“Press any key to
continue”是VC6.0自动添加在每个
程序运行结果后面的一句提示信息,它
表示当程序执行结束时,操作者可以按
任意键返回到编辑界面。在后面的程序 运行结果中,将不再给出这一信息。
C语言程序设计
第二章 程序设计和程序结构
scanf("%d",&num1);
printf("Input the 2nd integer number: "); scanf("%d",&num2); sum=num1+num2; printf("sum=%d\n",sum); }
C语言程序设计
知识讲解_高考总复习:算法与程序框图
高考总复习:算法与程序框图【考纲要求】1.算法的含义、程序框图(1)了解算法的含义,了解算法的思想;(2)理解程序框图的三种基本逻辑结构:顺序、条件、循环。
2.基本算法语句理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义。
【知识网络】【考点梳理】考点一、算法1.算法的概念(1)古代定义:指的是用阿拉伯数字进行算术运算的过程。
(2)现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。
(3)应用:算法通常可以编成计算机程序,让计算机执行并解决问题。
2.算法的特征:①指向性:能解决某一个或某一类问题;②精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.④构造性:一个问题可以构造多个算法,算法有优劣之分。
3.算法的表示方法:(1) 用自然语言表示算法: 优点是使用日常用语, 通俗易懂;缺点是文字冗长, 容易出现歧义;(2) 用程序框图表示算法:用图框表示各种操作,优点是直观形象, 易于理解。
要点诠释:泛泛地谈算法是没有意义的,算法一定以问题为载体。
考点二:程序框图1. 程序框图的概念:程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。
2.程序框图常用符号:连接点用于连接另一页或另一部分的框图注释框框中内容是对某部分流程图做的解释说明3.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。
算法与程序框图
算法与程序框图一、基础知识1.算法(1)算法通常是指按照一定规则解决某一类问题的明确和有限的步骤. (2)应用:算法通常可以编成计算机程序,让计算机执行并解决问题. 2.程序框图程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形. 3.三种基本逻辑结构 (1)顺序结构(2)条件结构(3)循环结构三种基本逻辑结构的适用情境(1)顺序结构:要解决的问题不需要分类讨论. (2)条件结构:要解决的问题需要分类讨论.(3)循环结构:要解决的问题要进行许多重复的步骤,且这些步骤之间有相同的规律.考点一 顺序结构和条件结构[例1] (2019·沈阳质检)已知一个算法的程序框图如图所示,当输出的结果为0时,输入的实数x 的值为( )A .-3B .-3或9C .3或-9D .-3或-9[解析] 当x ≤0时,y =⎝⎛⎭⎫12x -8=0,x =-3;当x >0时,y =2-log 3x =0,x =9.故x =-3或x =9,选B.[答案] B[例2] 某程序框图如图所示,现输入如下四个函数,则可以输出的函数为( )A .f (x )=cos x x ⎝⎛⎭⎫-π2<x <π2,且x ≠0 B .f (x )=2x -12x +1C .f (x )=|x |xD .f (x )=x 2ln(x 2+1)[解析] 由程序框图知该程序输出的是存在零点的奇函数,选项A 、C 中的函数虽然是奇函数,但在给定区间上不存在零点,故排除A 、C.选项D 中的函数是偶函数,故排除D.选B.[答案] B[解题技法] 顺序结构和条件结构的运算方法(1)顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.解决此类问题,只需分清运算步骤,赋值量及其范围进行逐步运算即可.(2)条件结构中条件的判断关键是明确条件结构的功能,然后根据“是”的分支成立的条件进行判断.(3)对于条件结构,无论判断框中的条件是否成立,都只能执行两个分支中的一个,不能同时执行两个分支.[题组训练]1.半径为r 的圆的面积公式为S =πr 2,当r =5时,计算面积的流程图为( )解析:选D 因为输入和输出框是平行四边形,故计算面积的流程图为D. 2.运行如图所示的程序框图,可输出B =______,C =______.解析:若直线x+By+C=0与直线x+3y-2=0平行,则B=3,且C≠-2,若直线x+3y+C=0与圆x2+y2=1相切,则|C|12+(3)2=1,解得C=±2,又C≠-2,所以C=2.答案:3 2考点二循环结构考法(一)由程序框图求输出(输入)结果[例1](2018·天津高考)阅读如图所示的程序框图,运行相应的程序,若输入N的值为20,则输出T的值为()A.1B.2C.3 D.4[解析]输入N的值为20,第一次执行条件语句,N=20,i =2,Ni =10是整数,∴T =0+1=1,i =3<5;第二次执行条件语句,N =20,i =3,N i =203不是整数,∴i =4<5;第三次执行条件语句,N =20,i =4,Ni =5是整数,∴T =1+1=2,i =5,此时i ≥5成立,∴输出T =2. [答案] B[例2] (2019·安徽知名示范高中联考)执行如图所示的程序框图,如果输出的n =2,那么输入的 a 的值可以为( )A .4B .5C .6D .7[解析] 执行程序框图,输入a ,P =0,Q =1,n =0,此时P ≤Q 成立,P =1,Q =3,n =1,此时P ≤Q 成立,P =1+a ,Q =7,n =2.因为输出的n 的值为2,所以应该退出循环,即P >Q ,所以1+a >7,结合选项,可知a 的值可以为7,故选D.[答案] D[解题技法] 循环结构的一般思维分析过程 (1)分析进入或退出循环体的条件,确定循环次数.(2)结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.(3)辨析循环结构的功能. 考法(二) 完善程序框图[例1] (2018·武昌调研考试)执行如图所示的程序框图,如果输入的a 依次为2,2,5时,输出的s 为17,那么在判断框中可以填入( )A .k <n?B .k >n?C .k ≥n?D .k ≤n?[解析] 执行程序框图,输入的a =2,s =0×2+2=2,k =1;输入的a =2,s =2×2+2=6,k =2;输入的a =5,s =2×6+5=17,k =3,此时结束循环,又n =2,所以判断框中可以填“k >n ?”,故选B.[答案] B[例2] (2018·全国卷Ⅱ)为计算S =1-12+13-14+…+199-1100,设计了如图所示的程序框图,则在空白框中应填入( )A .i =i +1B .i =i +2C .i =i +3D .i =i +4[解析] 由题意可将S 变形为S =⎝⎛⎭⎫1+13+…+199-⎝⎛⎭⎫12+14+…+1100,则由S =N -T ,得N =1+13+…+199,T =12+14+…+1100.据此,结合N =N +1i ,T =T +1i +1易知在空白框中应填入i =i +2.故选B.[答案] B[解题技法] 程序框图完善问题的求解方法(1)先假设参数的判断条件满足或不满足;(2)运行循环结构,一直到运行结果与题目要求的输出结果相同为止; (3)根据此时各个变量的值,补全程序框图.[题组训练]1.(2018·凉山质检)执行如图所示的程序框图,设输出的数据构成的集合为A ,从集合A 中任取一个元素a ,则函数y =x a ,x ∈[0,+∞)是增函数的概率为( )A.47B.45C.35D.34解析:选C 执行程序框图,x =-3,y =3;x =-2,y =0;x =-1,y =-1;x =0,y =0;x =1,y =3;x =2,y =8;x =3,y =15;x =4,退出循环.则集合A 中的元素有-1,0,3,8,15,共5个,若函数y =x a ,x ∈[0,+∞)为增函数,则a >0,所以所求的概率为35.2.(2019·珠海三校联考)执行如图所示的程序框图,若输出的n 的值为4,则p 的取值范围是( )A.⎝⎛⎦⎤34,78B.⎝⎛⎭⎫516,+∞C.⎣⎡⎭⎫516,78D.⎝⎛⎦⎤516,78解析:选A S =0,n =1;S =12,n =2;S =12+122=34,n =3;满足条件,所以p >34,继续执行循环体;S =34+123=78,n =4;不满足条件,所以p ≤78.输出的n 的值为4,所以34<p ≤78,故选A.3.(2019·贵阳适应性考试)某程序框图如图所示,若该程序运行后输出的值是137,则整数a 的值为( )A .6B .7C .8D .9解析:选A 先不管a 的取值,直接运行程序.首先给变量S ,k 赋值,S =1,k =1,执行S =S +1k (k +1),得S =1+11×2,k =2;执行S =1+11×2+12×3,k =3;……继续执行,得S =1+11×2+12×3+…+1k (k +1)=1+⎝⎛⎭⎫1-12+⎝⎛⎭⎫12-13+…+⎝⎛⎭⎫1k -1k +1=2-1k +1,由2-1k +1=137得k =6,所以整数a =6,故选A.考点三 基本算法语句[典例] 执行如图程序语句,输入a =2cos 2 019π3,b =2tan 2 019π4,则输出y 的值是( )A .3B .4C .6D .-1[解析] 根据条件语句可知程序运行后是计算y =⎩⎪⎨⎪⎧a (a +b ),a <b ,a 2-b ,a ≥b ,且a =2cos 2 019π3=2cos π=-2,b =2tan 2 019π4=2tan 3π4=-2.因为a ≥b ,所以y =a 2-b =(-2)2-(-2)=6, 即输出y 的值是6. [答案] C[变透练清]1. 执行如图所示的程序,输出的结果是________.i =11S =1DOS =S*ii =i -1LOOP UNTIL i<9PRINT S END解析:程序反映出的算法过程为 i =11⇒S =11×1,i =10; i =10⇒S =11×10,i =9; i =9⇒S =11×10×9,i =8;i =8<9退出循环,执行“PRINT S ”. 故S =990. 答案:9902.阅读如图所示的程序.a 的值是________. 解析:由题意可得程序的功能是计算并输出a =⎩⎪⎨⎪⎧2+a ,a >2,a ×a ,a ≤2的值, 当a >2时,由2+a =9得a =7; 当a ≤2时,由a 2=9得a =-3, 综上知,a =7或a =-3. 答案:-3或7[课时跟踪检测]1.(2019·湖北八校联考)对任意非零实数a ,b ,定义a *b 的运算原理如图所示,则(log222)*⎝⎛⎭⎫18-23=( )A .1B .2C .3D .4解析:选A 因为log222=3,⎝⎛⎭⎫18-23=4,3<4,所以输出4-13=1,故选A. 2.执行如图所示的程序框图,则输出的x ,y 分别为( )A .90,86B .94,82C .98,78D .102,74解析:选C 第一次执行循环体,y =90,s =867+15,不满足退出循环的条件,故x =90;第二次执行循环体,y =86,s =907+433,不满足退出循环的条件,故x =94;第三次执行循环体,y =82,s =947+413,不满足退出循环的条件,故x =98;第四次执行循环体,y =78,s =27,满足退出循环的条件,故x =98,y =78.3.(2018·云南民族大学附属中学二模)执行如图所示的程序框图,若输出的k 的值为6,则判断框内可填入的条件是( )A .s >12?B .s >710?C .s >35?D .s >45?解析:选B s =1,k =9,满足条件;s =910,k =8,满足条件;s =45,k =7,满足条件;s =710,k =6,不满足条件.输出的k =6,所以判断框内可填入的条件是“s >710?”.故选B.4.(2019·合肥质检)执行如图所示的程序框图,如果输出的k 的值为3,则输入的a 的值可以是( )A .20B .21C .22D .23解析:选A 根据程序框图可知,若输出的k =3,则此时程序框图中的循环结构执行了3次,执行第1次时,S =2×0+3=3,执行第2次时,S =2×3+3=9,执行第3次时,S =2×9+3=21,因此符合题意的实数a 的取值范围是9≤a <21,故选A.5.(2019·重庆质检)执行如图所示的程序框图,如果输入的x =0,y =-1,n =1,则输出x ,y 的值满足( )A .y =-2xB .y =-3xC .y =-4xD .y =-8x解析:选C 初始值x =0,y =-1,n =1,x =0,y =-1,x 2+y 2<36,n =2,x =12,y=-2,x 2+y 2<36,n =3,x =32,y =-6,x 2+y 2>36,退出循环,输出x =32,y =-6,此时x ,y 满足y =-4x ,故选C.6.(2018·南宁二中、柳州高中联考)执行如图所示的程序框图,若输出的结果s =132,则判断框中可以填( )A.i≥10? B.i≥11?C.i≤11? D.i≥12?解析:选B执行程序框图,i=12,s=1;s=12×1=12,i=11;s=12×11=132,i =10.此时输出的s=132,则判断框中可以填“i≥11?”.7.(2019·漳州八校联考)执行如图所示的程序,若输出的y的值为1,则输入的x的值为() INPUT xIF x>=1THENy=x2ELSEy=-x2+1END IFPRINT yENDA.0 B.1C.0或1 D.-1,0或1解析:选C当x≥1时,由x2=1得x=1或x=-1(舍去);当x<1时,由-x2+1=1得x=0.∴输入的x的值为0或1.)8.执行如图所示的程序框图,若输入的n=4,则输出的s=(C.20 D.35解析:选C执行程序框图,第一次循环,得s=4,i=2;第二次循环,得s =10,i =3; 第三次循环,得s =16,i =4; 第四次循环,得s =20,i =5.不满足i ≤n ,退出循环,输出的s =20.9.(2018·洛阳第一次统考)已知某算法的程序框图如图所示,则该算法的功能是( )A .求首项为1,公差为2的等差数列的前2 018项和B .求首项为1,公差为2的等差数列的前2 019项和C .求首项为1,公差为4的等差数列的前1 009项和D .求首项为1,公差为4的等差数列的前1 010项和解析:选D 由程序框图得,输出的S =(2×1-1)+(2×3-1)+(2×5-1)+…+(2×2 019-1),可看作数列{2n -1}的前2 019项中所有奇数项的和,即首项为1,公差为4的等差数列的前1 010项和.故选D.10.(2018·郑州第一次质量测试)执行如图所示的程序框图,若输出的结果是7,则判断框内m 的取值范围是( )A .(30,42]B .(30,42)C .(42,56]D .(42,56)解析:选A k =1,S =2,k =2;S =2+4=6,k =3;S =6+6=12,k =4;S =12+8=20,k =5;S =20+10=30,k =6;S =30+12=42,k =7,此时不满足S =42<m ,退出循环,所以30<m ≤42,故选A.11.(2019·石家庄调研)20世纪70年代,流行一种游戏——角谷猜想,规则如下:任意写出一个自然数n ,按照以下的规律进行变换,如果n 是奇数,则下一步变成3n +1;如果n 是偶数,则下一步变成n2.这种游戏的魅力在于无论你写出一个多么庞大的数字,最后必然会落在谷底,更准确地说是落入底部的4-2-1循环,而永远也跳不出这个圈子,下列程序框图就是根据这个游戏而设计的,如果输出的i 值为6,则输入的n 值为( )A .5或16B .16C .5或32D .4或5或32解析:选C 若n =5,执行程序框图,n =16,i =2;n =8,i =3;n =4,i =4;n =2,i =5;n =1,i =6,结束循环,输出的i =6.若n =32,执行程序框图,n =16,i =2;n =8,i =3;n =4,i =4;n =2,i =5;n =1,i =6,结束循环,输出的i =6.当n =4或16时,检验可知不正确,故输入的n =5或32,故选C.12.(2018·贵阳第一学期检测)我国明朝数学家程大位著的《算法统宗》里有一道闻名世界的题目:“一百馒头一百僧,大僧三个更无争.小僧三人分一个,大小和尚各几丁?”如图所示的程序框图反映了对此题的一个求解算法,则输出的n 的值为( )A .20B .25C .30D .35解析:选B 法一:执行程序框图,n =20,m =80,S =60+803=8623≠100;n =21,m =79,S =63+793=8913≠100;n =22,m =78,S =66+783=92≠100;n =23,m =77,S =69+773=9423≠100;n =24,m =76,S =72+763=9713≠100;n =25,m =75,S =75+753=100,退出循环.所以输出的n =25.法二:设大和尚有x 个,小和尚有y 个, 则⎩⎪⎨⎪⎧x +y =100,3x +13y =100,解得⎩⎪⎨⎪⎧x =25,y =75, 根据程序框图可知,n 的值即大和尚的人数,所以n =25.13.已知函数y =lg|x -3|,如图所示程序框图表示的是给定x 值,求其相应函数值y 的算法.请将该程序框图补充完整.其中①处应填________,②处应填________.解析:由y =lg|x -3|=⎩⎪⎨⎪⎧lg (x -3),x >3,lg (3-x ),x <3及程序框图知,①处应填x <3?,②处应填y=lg(x -3).答案:x <3? y =lg(x -3)14.执行如图所示的程序框图,若输入的N =20,则输出的S =________.解析:依题意,结合题中的程序框图知,当输入的N =20时,输出S 的值是数列{2k -1}的前19项和,即19(1+37)2=361.答案:36115.执行如图所示的程序框图,则输出的λ是________.解析:依题意,若λa +b 与b 垂直,则有(λa +b )·b =4(λ+4)-2(-3λ-2)=0,解得λ=-2;若λa +b 与b 平行,则有-2(λ+4)=4(-3λ-2),解得λ=0.结合题中的程序框图可知,输出的λ是-2.答案:-216.执行如图所示的程序框图,如果输入的x ,y ∈R ,那么输出的S 的最大值为________.解析:当条件x ≥0,y ≥0,x +y ≤1不成立时,输出S 的值为1,当条件x ≥0,y ≥0,x +y ≤1成立时,输出S =2x +y ,下面用线性规划的方法求此时S 的最大值.作出不等式组⎩⎪⎨⎪⎧x ≥0,y ≥0,x +y ≤1表示的平面区域如图中阴影部分所示,由图可知当直线S =2x +y 经过点M (1,0)时S 最大,其最大值为2×1+0=2,故输出S 的最大值为2.答案:2。
ppt2-2 python编程基础知识--程序控制结构
1
R = eval(input(" 请输入正整数 :"))
输入:正整数R 处理:
2 3 4 5 6
i, S = 0, 0
while (i<=R): S = S + i i = i + 1 print("累加求和",S)
S=1+2+3+…+R
输出:输出S
(a) 问题IPO描述
(b) 流程图描述
(c) Python代码描述
遍历循环: for语句
遍历循环:
根据循环执行次数的确定性,循环可以分为确定次数循 环和非确定次数循环。确定次数循环指循环体对循环次数 有明确的定义循环次数采用遍历结构中元素个数来体现 Python通过保留字for实现“遍历循环” :
for <循环变量> in <遍历结构>:
<语句块>
遍历循环: for语句
常退出")
>>> PYHON正常退出
>>> PY
小练习:求能同时被7和5整除的数字
求1~100之间能被7整除,但不能同时 被5整除的所有整数 。
for i in range(1,101): if i % 7 == 0 and i % 5 != 0: print(i)
while <条件>:
<语句块>语句块
无限循环: while语句
• 无限循环也有一种使用保留字else的扩展模式: while <条件>: <语句块1> else: <语句块2>
1 2 3 4 5 6 7 s, idx = "BIT", 0 while idx < len(s): print("循环进行中: " + s[idx]) idx += 1 else: s = "循环正常结束" print(s) >>> 循环进行中: B 循环进行中: I 循环进行中: T 循环正常结束
程序的三种结构关系运算符和关系表达式逻辑运算符和逻辑表
6
• 四、 选择型程序设计
– if语句(条件选择语句)
• if语句的三种形式 – 形式一: »格式:if (expression) statement »执行过程:
expr 非0 statement =0
例: if (x>y) 形式二 : 非0 printf(“%d”,x); 格式:if (expression) statement1 statement1 else statement2 执行过程: 例:if (x>y) max=x; else max=y;
expr
=0 statement2
7
– 形式三: »格式: 执行过程:
=0
if ( expr1 )
else if (expr2 ) else if (expr3 )
statement1
statement2 statement3
…...
[ else statement n ]
例:if (salary>1000) index=0.4; 非 0 if (salary>800) =0 index=0.3; else expr2 else if (salary>600) index=0.2; =0 非0 else if (salary>400) expr3 index=0.1; else 非0 index=0;
5
三、逻辑运算符和逻辑表达式
1、逻辑运算符: &&:与 ||:或 ! :非 (注意:三个运算符之间的优先级) 注意特例: !0 !2 2||3 2&&3
2、逻辑表达式举例:判断一年为润年的条件是: 年数可以被4整除但不能被100整除 或者 年数可以被400整除。 ( year % 4 ==0 && year % 100 !=0 )||( year % 400 ==0 )
程序设计3(3种基本结构)
流程图:
3.2.5 条件运算符(了解即可) 若if语句中,在表达式为“真”和“假”时,且都 只执行一个赋值语句给同一个变量赋值时,可以用 简单的条件运算符来处理。例如,若有以下if语句: if (a>b) max=a; else max=b; 可以用下面的条件运算符来处理: max=(a>b)?a∶b; 其中“(a>b)?a∶b”是一个“条件表达式”。它是 这样执行的:如果(a>b)条件为真,则条件表达式 取值a,否则取值b。
3.3.5 示例:
4பைடு நூலகம்
1
1 3 1 5 1 7
例:多项式如下:π/4 =1 - 1/3 + 1/5 - 1/7 + 1/9 ... 计算的项数n由键盘输入,求π。结果保留2位小数。 #include <iomanip> int main(){ int n, sign=1; double sum=0.0; cin>>n; for(int i=1; i<=n; i+=2) { sum = sum + sign*1.0/i; sign = -sign; } // 设置浮点数的小数个数2位 cout<<fixed<<setprecision(2)<<4*sum<<endl; return 0; }
3.3.3 for
for语句使用最为灵活,不仅可以用于循 环次数已经确定的情况,而且可以用于循环 次数不确定而只给出循环结束条件的情况, 它完全可以代替while语句。一般形式为: for(表达式1;表达式2;表达式3) 语句
它的执行过程如下: (1) 先求解表达式1。 (2) 求解表达式2,若其值为真, 则执行for语句中指定的内嵌语句, 然后执行下面第(3)步。若为假, 则结束循环。 (3) 求解表达式3。 (4) 转回上面第(2)步骤继续执 行。
3、三种基本逻辑结构和框图
P P
P P
(1)
(2) 图3
条件分支结构理解: (1)条件分支结构是根据判断结果进行不同的处理的一种算法结构. (2)条件分支结构中至少有一个判断框,判断框是条件分支结构中的一个主 要部件. (3)条件分支结构中根据对条件 P 的判断决定执行哪一分支,一定要执行 “是”或“否”中的一个分支,不能两个都执行,也不能两个都不执行. (4)一个判断框有两个出口,但是一个条件分支只有一个出口,注意区分. (5)条件分支结构的两个分支中,有一个可以是空的,如图 3(2) ,但是不 能两个都空. (6)当一个算法中有多个判断框时,称作“条件嵌套” ,可以画成如图 4.
否则执行 S3. S3 如果 b 0 , 则输出 “方 无实根” ; 否则输出 “方程的根 是全体实数”. (2)程序框图:如图 6
b0
输 出
x
输出“方程 无实根”
结束 图6 注:在本题中用到两个判断框,这就是“条件嵌套” ,根据实际情况也可以做更 多的嵌套. 循环结构: 根据指定条件决定是否重复执行一条或多条指令的控制结构称为 循环结构. 循环结构示意图:如图 7
i 10
是
S S i i i 1
i 11
是 输出 S 结束
S S i i i 1
(1)
(2) 图8
小结:
反 馈 练 习 教 学 后 记
课题
算法的三种基本逻辑结构和框图表示
课时 课型
1 新
教 学 目 标
知识与技能: 理解算法的程序框图的三种基本逻辑结构:顺序结构、条件分支结构、循环结 构,并能结合三种逻辑结构设计简单的程序框图。
过程方法与能力: 通过设计程序框图来体会解决问题的过程,培养学生的逻辑思维能力及语言表 达能力。 情感态度与价值观: 通过学生参与设计程序框图的过程,培养学生的合作意识,增进学生学习数学的 信心。
C语言判断题
C语言判断题1.每一个C语言程序都必须有一个main函数。
答案: 正确2.C语言程序的三种基本结构是顺序结构、选择结构和递归结构。
答案: 错误,C语言程序的三种基本结构是顺序结构、选择结构和循环结构。
3.在程序设计中,经常用选择(又称分支)、循环和函数3种控制结构。
答案: 错误,程序设计中经常用选择(又称分支)、循环和函数3种控制结构。
4.用C语言编写的源程序必须经过编译连接后生成可执行程序,才能运行。
答案: 正确5.C程序主函数中的一个变量可以被定义为两个或多个不同的类型。
答案: 错误,C程序主函数中的一个变量只能被定义为一种类型。
6.在C源程序中,/*与*/之间的注释信息也被编译,但对程序运行结果不发生影响。
答案: 错误,/*与*/之间的注释信息在编译时会被忽略,不会被编译。
7.C程序是由函数构成的,每一个函数完成相对独立的功能。
答案: 正确8.一个C语言程序中,有且只能有一个main函数。
答案: 正确9.C程序总是从程序的第一条语句开始执行。
答案: 错误,C程序总是从main函数开始执行。
10.C语言标识符由字母、数字和下划线组成,其中第一个字符必须是字母。
答案: 错误,C语言标识符由字母、数字和下划线组成,其中第一个字符可以是字母或下划线。
11.C语言规定:在一个源程序中,main函数的位置必须在最开始。
答案: 错误,C语言规定:在一个源程序中,main函数可以出现在任意位置。
12.C语言程序的基本单位是语句。
答案: 错误,C语言程序的基本单位是函数。
13.对于C程序中的逻辑错误,编译器是可以发现的。
答案: 错误,编译器只能检查语法错误,不能检查逻辑错误。
14.一系列计算机指令的有序组合就构成了程序。
答案: 正确15.C程序由函数所组成。
答案: 正确16.在C程序中,每行只能写一条语句。
答案: 错误,在C程序中,一行可以写多条语句,但是每条语句必须以分号结束。
17.C程序中能直接让机器执行的文件是编辑后的.c源文件。
C语言基础的知识点
C语言最重要的知识点总体上必须清楚的:1)程序结构是三种:顺序结构、选择结构(分支结构)、循环结构。
2)读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3)计算机的数据在电脑中保存是以二进制的形式•数据存放的位置就是他的地址•4) bit是位是指为0或者1。
byte是指字节,一个字节=八个位.概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
误的,一定不能出现分号。
3、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
第一章C语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。
3、一个C语言程序有且只有一个main函数,是程序运行的起点。
第二节、2、每个C语言程序写完后,都是先编译,后链接,最后运行。
(.c---(.obj---(.exe )这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。
(常考!)(程序编辑-程序编译-程序连接-程序运行)第三节、标识符1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了预定义标识符:背诵define scanf printf 2 include。
记住预定义标识符可以做为用户标识符。
第五节:整数与实数1)C语言只有八、十、十六进制,没有二进制。
但是运行时候,所有的进制都要转换成二进制来进行处理。
(考过两次)a、C语言中的八进制规定要以0开头。
(数码取值0-7)018的数值是非法的,八进制是没有8的,逢8进1。
b、C语言中的十六进制规定要以0x(X)开头。
vfp8.1-三种程序结构
&&初始化,打开表
ACCE '输入姓名: ' TO XM LOCA FOR 学生.姓名=XM
&&处理
DISP USE
&&恢复、结束
程序的三种基本结构
* TEST4.PRG
关联查询学生选课成绩
&& 初始化部分
CLEA
&& 清屏
SELE 1 USE 选课 ALIAS XK
&& 选择1号工作区 && 打开选课表
算法: (1) 输入年份; INPUT ‘输入年份’ TO Y (2)判断是否闰年,并输出结果;
程序的三种基本结构
程序:
CLEA INPUT ‘输入年:’ TO Y
TJ=MOD(Y,4)=0 AND MOD(Y,100)!=0 ;
OR MOD(Y,400)=0
IF TJ ?Y,’是闰年’
ELSE ?Y,’不是闰年’ ENDIF
2)双分支结构
输入4 7 输入5 2
【例】输出两数X,Y中大的 一个(IF …ELSE… ENDIF) INPUT ‘输入X’ TO X
输入X 输入Y
INPUT ‘输入Y’ TO Y
IF X>Y
S=X
?X else
?Y endif
.T. Y> .F.
X
输出Y
输出X
cancel
输出 7
结束
输出5
程序的三种基本结构
&& 输出与结束部分
CANCEL
程序的三种基本结构
2、选择结构
根据某逻辑表达式的值,判断与决定程序的走向。
算法逻辑结构--程序框图
(1)程序框图的概念:
(2)构成程序框图的图形符号及其作用
(3)画流程图的规则
1、程序框图: 、程序框图:
程序框图又称流程图, 程序框图又称流程图,是一种用程序 又称流程图 框图、流程线及文字说明来准确、 框图、流程线及文字说明来准确、直 观地表示算法的图形。 观地表示算法的图形。 三种基本的逻辑结构: 三种基本的逻辑结构:
r=0?
否
i=i+1
i=2
否 i≥n或r=0? 或 是
n不是质数 不是质数
n是质数 是质数
尽管不同的算法千差万别, 尽管不同的算法千差万别 , 但它们都是由 三种基本的逻辑结构构成的, 三种基本的逻辑结构构成的 , 这三种逻辑结构 就是顺序结构、 循环结构、 选择结构. 就是顺序结构 、 循环结构 、 选择结构 . 以后分 别介绍这三种结构. 别介绍这三种结构.
二、顺序结构 1、顺序结构 由若干个依次执行的处理步骤组成的。 、
2.顺序结构的流程图 顺序结构的流程图 顺序结构是最简单、 顺序结构是最简单 、 最基本的算法结构 的算法结构, 最基本的算法结构,语句与 语句之间, 语句之间,框与框之间是按 从上到下的顺序进行的. 从上到下的顺序进行的.它 是由若干个处理步骤组成 的,这是任何一个算法都离 不开的基本结构. 不开的基本结构.
顺序结构 条件结构 循环结构
二、常用流程图符号
终端框 输入输出框
表示一个算法的起始和结束 表示一个算法输入和输出的信息 赋值、计算在 出口处标明“是”或“Y”;不成立时 标明“否”或“N”. 表示流程的路径和方向
流程线
3.画流程图的规则 画流程图的规则 为了使大家彼此之间能够读懂各自画出 的框图,必须遵守一些共同的规则, 的框图,必须遵守一些共同的规则,下面对一些 常用的规则作一简单的介绍. 常用的规则作一简单的介绍. 使用标准的框图符号. (1)使用标准的框图符号. 框图一般按从上到下、从左到右的方向画. (2)框图一般按从上到下、从左到右的方向画. 除判断框外, (3) 除判断框外 , 大多数程序框图符号只有一 个进入点和一个退出点, 个进入点和一个退出点,判断框是具有超过一 个退出点的唯一符号. 个退出点的唯一符号. 一类判断框是“ (4) 一类判断框是 “ 是 ” 与 “ 否 ” 两分支的判 而且有且仅有两个结果; 断,而且有且仅有两个结果;另一类是多分支判 有几种不同的结果. 断,有几种不同的结果.
软件工程练习题
软件工程练习题一、填空或选择题1、程序的三种基本结构是(A),它们的共同特点是(B),结构程序设计的一种基本方法是(C)。
软件测试的目的是(D),软件排错的目的是(E)。
A(1)过程,子程序,分程序(2)顺序,条件,循环(3)递归,堆栈,队列(4)调用,返回,转移B(1)不能嵌套使用(2)只能用来写简单程序(3)已经用硬件实现(4)只有一个入口和一个出口C(1)筛选法(2)递归法(3)归纳法(4)逐步求精法D(1)证明程序中没有错误(2)发现程序中的错误(3)测量程序的动态特性(4)检查程序中的语法错误E(1)找出错误所在改正之(2)排除存在错误的可能性(3)对错误性质进行分析(4)统计出错的次数2、软件测试的目的是(A)。
为提高测试的效率,应该(B)。
使用白盒测试方法时,测试数据应根据(C)和指定的覆盖标准。
一般说来,与设计测试数据无关的文档是(D),软件集成测试最好由(E)承担,以提高集成测试的效果。
A(1)评价软件质量(2)发现软件的错误(3)找出软件中的所有错误(4)证明软件是正确的B(1)随机地选取测试数据(2)取一切可能的输入数据作为测试数据(3)在完成编码以后制定软件测试计划(4)选择发现错误的可能性大的数据作为测试数据C(1)程序内部逻辑(2)程序的复杂程序(3)使用说明书(4)程序的功能D(1)需求规格说明书(2)总体设计说明书(3)源程序(4)项目开发计划E(1)该程序的设计人员(2)该软件开发组的负责人(3)该软件的编程人员(4)不属于该软件开发组的软件设计人员3、软件测试中常用的静态测试分析方法是(A)和(B)。
(B)用来检查模块或子程序间的调用是否正确。
分析方法(白盒法)中常用的方法是(C)方法。
非分析方法(黑盒法)中常用的方法是(D)方法和(E)方法。
(E)在单元测试后进行。
A,B(1)引用分析(2)算法分析(3)可靠性分析(4)效率分析(5)接口分析(6)操作性分析C,D,E(1)路径测试(2)等价类(3)边界值分析(4)归纳测试(5)综合测试(6)追踪(7)深度优待(8)排错(9)相对图4、原型法是用户和设计者之间执行的一种交互过程,适用于(A)系统。
程序的三种基本结构
程序的三种基本结构程序通常由三种基本结构组成,包括顺序结构、选择结构和循环结构。
1.顺序结构:顺序结构是程序中最基本的结构,它按照代码在程序中的顺序一步一步地执行。
在顺序结构中,代码会从上到下顺序执行,每个语句都会按照编写顺序被执行一遍。
例如,下面是一个简单的顺序结构的示例代码:```x=5y=10z=x+yprint(z)```2.选择结构:选择结构根据给定的条件选择要执行的代码块。
如果条件满足,将执行一个代码块;如果不满足,将执行另一个代码块或跳过执行。
常见的选择结构有if语句、if-else语句和switch语句。
以下是一个使用if语句的示例:```x=5if x > 0:print("x is positive")```在这个示例中,如果x大于0,那么if后面的代码块就会被执行,输出"X是正数"。
3.循环结构:循环结构允许程序多次执行同一段代码,直到满足一些条件才停止。
循环结构可分为for循环和while循环两种常见的类型。
以下是一个使用for循环的示例:```for i in range(5):print(i)```在这个示例中,循环将执行5次,每次输出一个从0到4的数字。
除了这三种基本结构外,还可以通过嵌套结构来组合使用这些结构以实现更复杂的逻辑。
嵌套结构是指将一个结构内部再加上另一个结构,以形成新的逻辑单元。
例如,可以在循环结构中嵌套选择结构,或在选择结构中嵌套循环结构。
综上所述,这三种基本结构(顺序结构、选择结构和循环结构)是编写程序时最常用的结构,在编写复杂程序时,可以根据实际需求灵活组合使用这些结构来实现所需的功能。
计算机程序设计基础_精讲多练CC++_第3章
// 累加求和
22
例 3-7:制作乘法表---多重循环结构(循环的嵌套)
#include <iostream> using namespace std; int main() { int i, j; for(i=1; i<10; i++) { for(j=1; j<=i; j++) cout << j <<"*"<< i <<"="<<i*j <<"\t"; cout << endl; } return 0; }
算法分析:
取一个百分成绩经过运算得到5级制成绩。构造什么 样的表达式呢?
“百分成绩/10 =” ?
共有5个分数档,选择分支大于2,因此用多路开关语 句switch。 计算结果应该是唯一的。转换后应从switch中break 出来。
15
#include <iostream> using namespace std; int main() { int grade; cout<<"请输入(百分制)分数:"; cin >>grade; switch (grade/10) // 根据转换值进行分支选择 { case 10: case 9: cout<<"优秀"<<endl; break; case 8: cout<<"良好"<<endl; break; case 7: cout<<"中等"<<endl; break; case 6: cout<<"及格"<<endl; break; default: cout<<"不及格"<<endl; } return 0; }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序的三种基本逻辑结
构
Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT
学习目标
在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.
学习过程
提出问题
(1)请大家再次观察上节课中所画的一些程序框图例子.
(2)回答什么是顺序结构什么是条件分支结构什么是循环结构、循环体
(3)试用程序框图表示循环结构.
(4)指出三种基本逻辑结构结构的相同点和不同点.
讨论结果:
很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构. 三种逻辑结构可以用如下程序框图表示:
顺序结构 条件结构 循环结构
应用示例
例1 阅读以下程序框图,分析其所实现的算法功能.
算法分析:第1步,0+1=1.
第2步,1+2=3.
第3步,3+3=6.
第4步,6+4=10.
……
第100步,4 950+100=5 050.
步都可以表示为第(i-1)步的结果+i=第i 步的结果.
为了方便、有效地表示上述过程,我们用一个累加
变量S 来表示第一步的计算结果,即把S+i 的结果
仍记为S ,从而把第i 步表示为S=S+i ,
其中S 的初始值为0,i 依次取1,2,…,100,由
于i 同时记录了循环的次数,所以也称为计数变量.
解决这一问题的算法是:
第一步,令i=1,S=0.
第二步,若i≤100成立,则执行第三步;否则,输
出S ,结束算法.
第三步,S=S+i.
第四步,i=i+1,返回第二步.
程序框图如右:
(1)(2)
点评:在数学计算中,i=i+1不成立,S=S+i 只有在i=0时才能成立.在计算机程序中,它们被赋予了其他的功能,不再是数学中的“相等”关系,而是赋值关系.变量i 用来作计数器,i=i+1的含义是:将变量i 的值加1,然后把计算结果再存贮到变量i 中,即计数器i 在原值的基础上又增加了1.变量S 作为累加器,来计算所求数据之和.如累加器的初值为0,当第一个数据送到变量i 中时,累加的动作为S=S+i ,即把S 的值与变量i 的值相加,结果再送到累加器S 中,如此循环,则可实现数的累加求和.
变式训练
已知有一列数
1
,,43,32,21 n n ,设计框图实现求该列数前20项的和.
练习1:设计框图实现1+3+5+7的算法.
练习2:高中某班一共有40名学生,设计算法流程图,统计班级数学成绩良好(分数>80)和优秀(分数>90)的人数.
课堂小结
(1)熟练掌握三种基本逻辑结构的特点及功能.
(2)能用循环结构画出求和等实际问题的程序框图,进一步理解学习算法的意义.。