程序的三种基本逻辑结构

合集下载

1.1.2程序框图与算法的基本逻辑结构(循环结构)

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.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)

知识讲解_高考总复习:算法与程序框图

知识讲解_高考总复习:算法与程序框图

高考总复习:算法与程序框图【考纲要求】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编程基础知识--程序控制结构

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 循环正常结束
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学习目标
在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.
学习过程
提出问题
(1)请大家再次观察上节课中所画的一些程序框图例子.
(2)回答什么是顺序结构?什么是条件分支结构?什么是循环结构、循环体?
(3)试用程序框图表示循环结构.
(4)指出三种基本逻辑结构结构的相同点和不同点.
讨论结果:
很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构. 三种逻辑结构可以用如下程序框图表示:
顺序结构条件结构循环结构
应用示例
例1 阅读以下程序框图,分析其所实现的算法功能?.
算法分析:通常,我们按照下列过程计算1+2+……+100的值.
第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)能用循环结构画出求和等实际问题的程序框图,进一步理解学习算法的意义.。

相关文档
最新文档