(共49张PPT)
3.2 算法及其描述
1.课堂导入
2.定义与特征
3.描述方法与控制结构
目录
4.课堂练习与总结
1.课堂导入
如何求出方程3x+2y=30的正整数解个数?
初步的想法:
把全部x和y逐一配对,数出全部的情况
x解的取值范围:x∈[1,9]
y解的取值范围:y∈[1,13]
一共117种配对
1.课堂导入
如何求出方程3x+2y=30的正整数解个数?
更加具体地说:
当x=1时,验证y=1至13的全部情况
当x=2时,验证y=1至13的全部情况
.。。。。
当x=9时,验证y=1至13的全部情况
计算机如何解决该问题?
2.定义与特征
算法的定义:
算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。
2.定义与特征
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
2.定义与特征
状态:t=0
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
2.定义与特征
状态:t=0,x=1
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
2.定义与特征
状态:t=0,x=1,y=1
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
2.定义与特征
状态:t=0,x=1,y=1
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
2.定义与特征
状态:t=0,x=1,y=2
2.定义与特征
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
状态:t=0,x=1,y=2
2.定义与特征
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
状态:t=0,x=1,y=2
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
2.定义与特征
状态:t=0,x=1,y=3
2.定义与特征
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
状态:t=0,x=1,y=3
2.定义与特征
循环11次之后。。。。
2.定义与特征
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
状态:t=0,x=1,y=14
2.定义与特征
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
状态:t=0,x=2,y=14
2.定义与特征
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
状态:t=0,x=2,y=14
2.定义与特征
1.t=0
2.x=1
3.y=1
4.如果满足式子3x+2y=30,则解得个数加1(即t=t+1,同时输出x,y)
5.y=y+1
6.如果y≤13跳转4,否则跳转7
7.x=x+1
8.如果x≤9跳转3,否则跳转9
9.结束
状态:t=0,x=2,y=1
2.定义与特征
算法的特征:
(1)有穷性
(2)确定性
(3)数据输入
(4)数据输出
(5)可行性
3.描述方法与控制结构
自然语言描述法
用人们日常所用的语言,如汉语、英语等来描述算法
缺点:描述容易产生歧义
3.描述方法与控制结构
流程图描述法
图形 名称 功能
开始/结束 表示算法的开始或结束
输入/输出 表示算法中变量的输入或输出
处理 表示算法中变量的计算与赋值
判断 表示算法中的条件判断
流程线 表示算法中的流向
连接点 表示算法中的转接
3.描述方法与控制结构
流程图描述法
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
状态:
t=0
3.描述方法与控制结构
流程图描述法
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
状态:
t=0
x=1
3.描述方法与控制结构
流程图描述法
状态:
t=0
x=1
y=1
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
流程图描述法
状态:
t=0
x=1
y=1
k=5
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
流程图描述法
状态:
t=0
x=1
y=1
k=5
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
流程图描述法
状态:
t=0
x=1
y=2
k=5
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
流程图描述法
状态:
t=0
x=1
y=2
k=5
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
流程图描述法
状态:
t=0
x=1
y=2
k=7
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
流程图描述法
状态:
t=0
x=1
y=2
k=7
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
流程图描述法
状态:
t=0
x=1
y=3
k=7
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
流程图描述法
状态:
t=0
x=1
y=3
k=7
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
循环11次之后。。。。
3.描述方法与控制结构
流程图描述法
状态:
t=0
x=1
y=14
k=29
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
流程图描述法
状态:
t=0
x=2
y=14
k=29
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
流程图描述法
状态:
t=0
x=2
y=14
k=29
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
流程图描述法
状态:
t=0
x=2
y=1
k=29
共循环13*9次后结束
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
顺序结构
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
选择结构
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
循环结构
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
3.描述方法与控制结构
控制结构 主要作用
顺序结构表示程序中的各步操作按出现的先后顺序执行。
选择结构表示程序的处理步骤出现了分支,需要根据某一特定的条件选择一个分支条件。选择结构有单选择,双选择和多选择三种。
循环结构表示程序反复执行某个或某些操作,直到判断条件为假(或为真)时才可终止循环。
代码段1
代码段1
顺序结构
选择结构
循环结构
代码段1
代码段1
条件
成立
不成立
代码段
条件
成立
不成立
3.描述方法与控制结构
伪代码描述法
t=0
for x in range(1,9):
for y in range(1,13):
if(x*3+y*2==30){
t=t+1;
给出解得个数t及对应的三个整数x,y}
5.课堂练习与总结
下面关于算法的描述,正确的是()
A.算法不可以用自然语言描述
B.算法只能用流程图来描述
C.一个算法必须保证他的执行步骤是有限的
D.算法的流程图表示法有零个或者多个输入,但只能有一个输出
5.课堂练习与总结
开始
输出x,y的值
结束
t=0
x=1
y=1
k=3x+2y
k=30
N
y≤13
y=y+1
x≤9
x=x+1
N
N
Y
Y
t=t+1
Y
请同学们找一下右图
有多少个循环结构?
5.课堂练习与总结
算法及其描述
定义与特征
描述方法
控制结构
定义:指在有限步骤内求解某一问题所使用
的一组定义明确的规则
特征:有穷性、确定性、数据输入/输出、
可行性
自然语言描述法
流程图描述法
伪代码描述法
顺序结构
选择结构
循环结构
感谢观看