内容正文:
算法与Python基础专题梳理
算法的概念
1.定义
在计算机科学领域内,“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机有序执行的、无歧义的、有限步骤的集合。
2.特征
有穷性。算法的处理步骤必须是有限的。
可行性。算法中的每一步都是可以执行的,并能在有限时间内完成。
确定性。算法的每个步骤都具有确定的含义。
0个或多个输入. 所谓的0个输入是指算法本身给出了初始条件。
1个或多个输出.算法一定要有输出,一个算法可以有一个或多个输出。
强调:
1.算法需要在有限的时间、有限的步骤内产生有效的输出。
2.算法可以没有输入,但必须有输出
算法的描述
1.用自然语言描述算法(通俗易懂,容易出现歧义,比较繁琐)
3.用伪代码描述算法。(简洁直观、符号接近计算机程序代码)
2.用流程图描述算法。(结构清晰、寓意明确,分支增多时影响算法理解)
4.用计算机程序设计语言描述算法。(程序设计语言有很多种,可以根据问题特点选择合适的语言来描述算法)
提问:
请列举你所知道的程序设计语言?
流程图
图形 名称 功能
起止框 表示一个算法的开始和结束
输入/输出框 表示从外部输入数据到计算机内部或者从计算机内部输出数据到计算机外部
处理框 处理框:表示操作的内容
判断框 表示判断的条件。 满足条件, 执行标识为“是”的路径;不满足条件, 则执行标识为 "否" 的路径
流程线 指向算法运行的方向
连接符 表示流程图的接续。 在相互联系的流程图内, 流程线将在具有相同数字或字母的另一连接符处继续下去
典型例题
1.下列关于算法的概念及描述,说法正确的是( )
A.算法的一个步骤可以被执行多次
B.算法必须包括一个或多个输入
C.算法就是数学运算方法
D.算法只能用自然语言进行描述
A
解析:选项B,算法可以有0个或多个输入,选项错误;选项C,“算法”指的是解决问题或完成任务的一系列步骤,选项错误;选项D,常见的算法描述方式有自然语言、流程图、伪代码、计算机程序设计语言等,选项错误。
典型例题
2.以下案例中,不属于算法的是( )
A.解方程2x-6=0的过程是移项后将x的系数化为1
B.从合肥到温哥华要先乘高铁到北京再转乘飞机
C.解方程3×2+2x-6=0
D.利用公式S=πr2计算半径为3 的圆的面积时,计算π×32
C
解析:算法为解决问题的具体步骤,C选项错误。
典型例题
3.某一算法的描述如下:
①输入一个正整数x。
②判断x能否被2整除,若能则输出偶数,否则输出奇数。
③结束。
该算法采用的描述方法是( )
A.计算机程序设计语言 B.流程图
C.伪代码 D.自然语言
D
解析 文字语言描述属于自然语言。
典型例题
4.(2022·湖州三贤高二)某算法用伪代码描述如下:
输入两个互不相等的正整数A和B
10: if A<B then
(C←A,A←B,B←C)
输出A和B
Else
返回到标号10的行继续执行
下列有关上述算法的说法,正确的是( )
A.该算法违反了算法有穷性原则 B.该算法实现了找出A和B中的最大值A
C.该算法属于分支结构 D.该算法无法使用流程图来描述
A
功能:
如果A<B,则交换A、B中的数值,并输出
算法的控制结构
典型例题
5.使用算法解决实际问题时,首先应该做的是( )
A.分析问题
B.设计算法
C.调试与维护
D.编写程序
A
解析 算法解决问题的一般过程:分析问题→设计算法→编写程序→调试与维护,选项A正确。
典型例题
6.(2022·6月浙江选考)某算法的部分流程图如图所示,若输入n的值为17879,则输出s的值是( )
A.42 B.60
C.68 D.78
B
解析 从个位开始逐个拆取每个数字t,拆
取过程中,f值在1和0之间切换:当f=1时,
t=t*3;当f=0时,t保持不变。s累加每次的
t值,最终s=9+7*3+8+7*3+1=60,
选项B正确。
典型例题
7.(2022·浙江强基高二)为了编写程序计算表达式“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
C
解析 sum初始值为0,若i先加2,再累积到sum中时,会加上1