资源简介
专题3 算法的表示之流程图
学 业 要 求 知 识 点 学业水平等级
1.能从生活和学习中发现实际问题中的算法,并结合实际问题理解算法的内涵和外延 2
2.初步掌握从真实项目的情境中界定关键问题的方法,能根据项目实际界定问题并建立求解模型 1
3.能根据问题求解模型设计算法,选择合适的方式正确地描述算法。 2
知识点 用流程图表示算法
【知识梳理】
1.算法指解决问题或完成任务的一系列________和步骤。计算机算法就是为了解决问题而需要让计算机有序执行的、无歧义的、有限步骤的集合。
2.算法的特征:________性(处理步骤有限的)、________性(操作是可行的)和确定性(每一步描述明确的)。
3.一个算法可以有0个或多个输入,但必须________有1个输出。
4.描述算法的方法:自然语言、________、伪代码、程序设计语言。
5.算法的三种控制结构:顺序结构、分支结构、________结构。
6.编程解决问题的一般过程:1-抽象与________;2-设计算法;3-编写程序;4-________程序。
【经典案例】
流程图表示算法能直观反映内部控制的特征,结构清晰简洁,容易理解。流程框图有输入输出框、处理框和判断框三种,输入输出框表示数据的输入和输出,处理框表示对数据进行运算,判断框表示条件是否成立,是流程图的核心,有两个出口,表示条件是否成立的结果,数据有两种流向。选择结构的两个出口将汇集在一起,若判断框的入口有两个,是循环结构的特征。
【例1】 某算法的部分流程图如图所示,执行这部分流程,若输入y的值为28,则输出s,n的值分别是( )
A.4 26 B.8 32
C.9 29 D.10 29
思维点拨
明考向 本题考查用流程图表示算法
精点拨 n=20时,满足条件n%7==6,因此s=6,当n=23时,不满足条件,即s=6-2==4,当n=26时,满足条件n%7==5,因此s=4+5=9,n=29时结束循环,输出s和n的值
听课笔记:____________________________________________________________
______________________________________________________________________
【变式1】 某算法的部分流程图如图所示,执行这部分流程,依次输入4、5、
-2、11、-9、8、3、-15、8、9、-2、0,则输出ans的值是( )
A.9 B.11
C.17 D.24
【例2】 将一个字符翻转过来和原来的字符串是相同的,该字符串称为回文字符串,如″A″、″AA″、″ABA″等。判断一个非空字符串s是否是回文的算法如下:
则判断框中条件①和②分别是( )
A.①s[i]=s[len(s)-i]? ②i=n
B.①s[i]=s[len(s)-i] ②i=n+1
C.①s[i]=s[len(s)-i-1] ②i=n
D.①s[i]=s[len(s)-i-1] ②i=n+1
思维点拨
明考向 本题考查算法表示和字符串处理
精点拨 回文字符串只要判断到一半的位置len(s)//2,由于i的索引位置从0开始,因此判断的结束索引为len(s)//2-1。索引位置0的对称位置为len(s)-1,位置1的对称位置为len(s)-2,可以得到索引位置i的对称位置为len(s)-i-1
听课笔记:____________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
【变式2】 为了编写程序计算表达式“2-4+6-8+…-100”的值,小李设计的算法部分流程图如图所示。在流程图中①、②处分别应填入的是( )
A.①i=i+1 ②k=-k*2 B.①i=i+2 ②k=-k
C.①k=-k ②i=i+2 D.①k=-k*2 ②i=i+2
1.用Python语言实现的某算法的部分流程图如图所示,若输入n的值为127,则输出sum的值为( )
A.5 B.6
C.7 D.8
2.某算法的部分流程图如图所示,执行这部分流程,若输入n的值为“32”(不包含引号),则输出的结果是( )
A.15 B.54
C.55 D.583
3.某算法的部分流程图如图所示。执行这部分流程,输出s和i的值分别是( )
A.30 11 B.30 9
C.28 11 D.26 9
4.某算法的部分流程图如图所示,执行这部分流程,依次输入9、4、1、-3,则输出s的值是( )
A.-3 B.0
C.6 D.3
5.某算法的部分流程图如图所示,已知a=[1,0,2,-1,3],执行这部分程序,则输出的s值为( )
A.27 B.108
C.147 D.436
6.某算法的流程图如图所示,执行这部分流程,若输入cur的值依次8,7,1,3,2,-1,则输出k的值是( )
A.1 B.2
C.3 D.4
7.某算法的部分流程图如图所示,执行这部分流程,若入输x的值为29,依次输入a的值为2,3,4,0,则输出c的值是( )
A.1 B.2
C.3 D.4
8.某算法的部分流程图如图所示,执行这部分流程,若输入x的值为60,则输出m的值是( )
A.2 B.3
C.4 D.5
9.某算法的部分流程图如图所示,执行这部分流程,输出sum的值为( )
A.5 B.7
C.8 D.9
10.某算法的部分流程图如图所示
执行流程图后,变量sum及i的值分别是( )
A.14 5 B.17 4
C.31 4 D.14 4
11.执行如图所示的流程图,若输入的x、y、p的值分别为:60、20、5,则输出的结果是( )
A.2 B.3
C.4 D.5
12.某算法的部分流程图如下图所示。执行这部分流程,则输出x的值为( )
A.16 B.32
C.64 D.128
13.解决某问题的算法流程图如图a所示,程序代码如图b所示,两者均不完整。
s1=input() s2=input() num=0;i=0 while i<=10: a=int(s1[i%len(s1)]) b=int(s2[i%len(s2)]) if________: num+=1 i+=1 print(num)
图b
若输入s1和s2的值分别为“012”,“121210”,结合流程图和程序代码,则输出的num的值为( )
A.3 B.5
C.7 D.11
14.某算法流程图如图所示,其对应的Python程序是( )
A.s=0
for i in range(1,101):
if i%5==0:
s=s+i
else:
i=i+2
print(s)
B.s=0;i=1
while i<=100:
if i%5==0:
s=s+i
else:
i=i+2
print(s)
C.s=0
for i in range(1,101):
if i%5==0:
s=s+i
i=i+2
print(s)
D.s=0;i=1
while i<=100:
if i%5==0:
s=s+i
i=i+2
print(s)
15.已知流程图a和图b的算法功能相同,则图b中①②③处应填入的内容是(x,y为不同的值)( )
A.①m←y-x ②xB.①m←x-y ②x>y ③m←y-x
C.①m←y-x ②x>y ③m←y-x
D.①m←x-y ②x专题3 算法的表示之流程图
知识点
知识梳理
1.方法 2.有穷 可行 3.至少 4.流程图 5.循环 6.建模 调试
经典案例
例1 C
变式1 B [本题考查算法的表示。s是一段数据的累加和,ans是累加和中的最大值。如果s>ans那么更新ans=s,否则s<=ans,那么s归零,ans的值应该是11。]
例2 C
变式2 B [本题考查用流程图表示算法。sum和i的初值均为0,表示第1项没有产生,因此先要进行i=i+2运算,使得i的值为2,进行累加后,得到第1项的和。接着k=-k,k的值为-1和1之间变换,依次进行相乘后累加。]
当堂过关检测
1.C 2.C 3.A 4.C 5.B 6.C 7.B 8.C 9.D 10.A 11.C 12.C 13.B 14.D 15.D
展开更多......
收起↑