算法与流程图完整版PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)顺序结构
A
B
5.3 三种基本结构对应流程图
(2)选择结构
是
否
p
A
B
5.3 三种基本结构对应流程图
(3)循环结构:当型 while (p) { B; }
否
p
是
B
5.3 三种基本结构对应流程图
(3)循环结构:直到型 do { B; } while (p);
B
否
p
是
5.4 作业
(1)用流程图表示判断闰年的算法。
第二章 算法与流程图
1、程序=数据结构+算法 2、简单算法举例 3、算法特性 4、算法的自然语言表示 5、算法的流程图表示 6、算法Leabharlann Baidu伪代码表示
1、程序=数据结构+算法
Niklaus Wirth, designer of Pascal Turing Award, 1984
程序:为计算机解题编制的 一组指令集 算法:处理问题的策略 数据结构:处理信息的表示
4、算法的自然语言表示
• 优点
• 通俗易懂
• 缺点
• 文字冗长、不直 观
• 不适合描述分支 循环结构
从3个数A、B、C中找出最大的数。 S1: 如果A>B,执行S2;否则执行S3 S2: 如果A>C,执行S4;否则执行S6 S3: 如果B>C,执行S5;否则执行S6 S4: 输出A S5: 输出B S6: 输出C
3、算法的特性
“好” 算法的特点:
• 正确性 (Correctness):满足问题的需求。 • 易读性(Readability):便于理解、测试和修改。 • 健壮性(Robustness):输入非法数据时,算法能
做出适当处理,不会产生难以预料的结果。 • 时空效率 (Efficiency):执行时间短,低存储。
5、算法的流程图表示
• 从3个数A、B、 C中找出最大 的数。
开始 输入A,B,C
是 A>B
否 是
C>B
是 A>C
否
否
输出B
输出C
输出A
结束
5.1 流程图基本单元
起止框
输入/输出框
处理框
判断框
流程线
5.2 流程图绘制例
• 输入50个学生的姓名 和成绩,输出不及格 学生的名单。
开始
i=1
输入ni, si
S1: 初始化sum=0, i=1 S2: 如果i ≤ 100,执行S3;否则执行S5 S3: sum = sum+1/i S4: i=i+1,跳转到S2 S5: 输出sum,算法结束
2、简单算法举例
从3个数A、B、C中找出最大的数。 算法1:
S1: 如果A>B,执行S2;否则执行S3 S2: 如果A>C,执行S4;否则执行S6 S3: 如果B>C,执行S5;否则执行S6 S4: 输出A S5: 输出B S6: 输出C
Wirth, Niklaus (1976) (in English). Algorithms + Data Structures = Program. Prentice Hall. 0130224189. ISBN 87
2、简单算法举例
求和:1+1/2+1/3+1/4+1/5+…+1/100 蛮力法:
i=i+1 否
i>50 是
i=1
是 si<60
否
输出ni
i=i+1
否 i>50 是 结束
5.2 流程图绘制例
• 输入50个学生的姓名 和成绩,输出不及格 学生的名单。
开始
i=1
输入ni, si
i=i+1 否
i>50 是
i=1
是 si<60
否
输出ni
i=i+1
否 i>50 是 结束
5.3 三种基本结构对应流程图
21.25a, a 10
【解析】试题分析:根据题意写出分段函数,根据分段函数写出程序框图,注意分段函数需要条件分支结构实现,根据框图再写出程序. 试题解析:
由题意得C=
程序如下:
以下是某次考试中某班15名同学的数学成绩:
72,91,58,63,84,88,90,55,61,73,64,77,82,94,60. 要求将80分以上的同学的平均分求出来.画出程 序框图.
S1: 先计算1/2=0.5,再与1相加得1.5 S2: 计算1/3=0.33333,与1.5相加得1.83333 S3: 计算1/4=0.25,与1.83333相加得2.08333
… S99: 计算1/100=0.01,与5.177378相加得5.187378。
2、简单算法举例
求和:1+1/2+1/3+1/4+1/5+…+1/100 改进的算法:
2、简单算法举例
从3个数A、B、C中找出最大的数。 算法2:
S1: 初始化max=A S2: 如果A>B,执行S3;否则max=B,执行S3 S3: 如果max>C,执行S4;否则max=C,执行S4 S4: 输出max
3、算法的特性
算法的五个特点:
Turing Award, 1974
• 有输入 (Input):零个或多个输入。
1+1/2+1/3+1/4+1/5+…+1/100
begin sum=0 i=1 while (i ≤ 100) begin sum = sum + 1/i i = i+1 end
print sum end
本章小结
• “好”算法的特点
• 算法的流程图表示
如图所示是一算法
的伪代码,执行此
算法时,输出的结
(2)用流程图表示判断一个正整数是否是素 数的算法。
5.5 用伪代码表示算法
• 用介于自然语言和计算机语言之间的文字和 符号表示算法
• 无固定严格的语法规则
• begin…end • if…else… • do…while • while… • =,== • input, print
例如:求和算法的伪代码
• 有输出 (Output):一个或多个输出。
• 有穷性 (Finiteness):对于任意一组合法的输 入值,在执行有穷步骤之后一定能结束。
• 可行性 (Effectiveness):所有操作都可通过已 经实现的基本操作运算有限次来实现。
• 确定性 (Definiteness):算法中每一步的描述 都无二义性,只要输入相同,初始状态相同, 无论执行多少遍,结果都应该相同。
果是
.
在音乐唱片超市里,每张唱片售 价25元,顾客购买5张(含 5张)以 上但不足10张唱片,则按九折收 费,顾客购买10张以上(含10张) 唱片,则按八五折收费,编写程 序,输入顾客购买唱片的数量a, 输出顾客要缴纳的金额C.并画出 程序框图.
25a, a 5 C {22.5a, 5 a 10
A
B
5.3 三种基本结构对应流程图
(2)选择结构
是
否
p
A
B
5.3 三种基本结构对应流程图
(3)循环结构:当型 while (p) { B; }
否
p
是
B
5.3 三种基本结构对应流程图
(3)循环结构:直到型 do { B; } while (p);
B
否
p
是
5.4 作业
(1)用流程图表示判断闰年的算法。
第二章 算法与流程图
1、程序=数据结构+算法 2、简单算法举例 3、算法特性 4、算法的自然语言表示 5、算法的流程图表示 6、算法Leabharlann Baidu伪代码表示
1、程序=数据结构+算法
Niklaus Wirth, designer of Pascal Turing Award, 1984
程序:为计算机解题编制的 一组指令集 算法:处理问题的策略 数据结构:处理信息的表示
4、算法的自然语言表示
• 优点
• 通俗易懂
• 缺点
• 文字冗长、不直 观
• 不适合描述分支 循环结构
从3个数A、B、C中找出最大的数。 S1: 如果A>B,执行S2;否则执行S3 S2: 如果A>C,执行S4;否则执行S6 S3: 如果B>C,执行S5;否则执行S6 S4: 输出A S5: 输出B S6: 输出C
3、算法的特性
“好” 算法的特点:
• 正确性 (Correctness):满足问题的需求。 • 易读性(Readability):便于理解、测试和修改。 • 健壮性(Robustness):输入非法数据时,算法能
做出适当处理,不会产生难以预料的结果。 • 时空效率 (Efficiency):执行时间短,低存储。
5、算法的流程图表示
• 从3个数A、B、 C中找出最大 的数。
开始 输入A,B,C
是 A>B
否 是
C>B
是 A>C
否
否
输出B
输出C
输出A
结束
5.1 流程图基本单元
起止框
输入/输出框
处理框
判断框
流程线
5.2 流程图绘制例
• 输入50个学生的姓名 和成绩,输出不及格 学生的名单。
开始
i=1
输入ni, si
S1: 初始化sum=0, i=1 S2: 如果i ≤ 100,执行S3;否则执行S5 S3: sum = sum+1/i S4: i=i+1,跳转到S2 S5: 输出sum,算法结束
2、简单算法举例
从3个数A、B、C中找出最大的数。 算法1:
S1: 如果A>B,执行S2;否则执行S3 S2: 如果A>C,执行S4;否则执行S6 S3: 如果B>C,执行S5;否则执行S6 S4: 输出A S5: 输出B S6: 输出C
Wirth, Niklaus (1976) (in English). Algorithms + Data Structures = Program. Prentice Hall. 0130224189. ISBN 87
2、简单算法举例
求和:1+1/2+1/3+1/4+1/5+…+1/100 蛮力法:
i=i+1 否
i>50 是
i=1
是 si<60
否
输出ni
i=i+1
否 i>50 是 结束
5.2 流程图绘制例
• 输入50个学生的姓名 和成绩,输出不及格 学生的名单。
开始
i=1
输入ni, si
i=i+1 否
i>50 是
i=1
是 si<60
否
输出ni
i=i+1
否 i>50 是 结束
5.3 三种基本结构对应流程图
21.25a, a 10
【解析】试题分析:根据题意写出分段函数,根据分段函数写出程序框图,注意分段函数需要条件分支结构实现,根据框图再写出程序. 试题解析:
由题意得C=
程序如下:
以下是某次考试中某班15名同学的数学成绩:
72,91,58,63,84,88,90,55,61,73,64,77,82,94,60. 要求将80分以上的同学的平均分求出来.画出程 序框图.
S1: 先计算1/2=0.5,再与1相加得1.5 S2: 计算1/3=0.33333,与1.5相加得1.83333 S3: 计算1/4=0.25,与1.83333相加得2.08333
… S99: 计算1/100=0.01,与5.177378相加得5.187378。
2、简单算法举例
求和:1+1/2+1/3+1/4+1/5+…+1/100 改进的算法:
2、简单算法举例
从3个数A、B、C中找出最大的数。 算法2:
S1: 初始化max=A S2: 如果A>B,执行S3;否则max=B,执行S3 S3: 如果max>C,执行S4;否则max=C,执行S4 S4: 输出max
3、算法的特性
算法的五个特点:
Turing Award, 1974
• 有输入 (Input):零个或多个输入。
1+1/2+1/3+1/4+1/5+…+1/100
begin sum=0 i=1 while (i ≤ 100) begin sum = sum + 1/i i = i+1 end
print sum end
本章小结
• “好”算法的特点
• 算法的流程图表示
如图所示是一算法
的伪代码,执行此
算法时,输出的结
(2)用流程图表示判断一个正整数是否是素 数的算法。
5.5 用伪代码表示算法
• 用介于自然语言和计算机语言之间的文字和 符号表示算法
• 无固定严格的语法规则
• begin…end • if…else… • do…while • while… • =,== • input, print
例如:求和算法的伪代码
• 有输出 (Output):一个或多个输出。
• 有穷性 (Finiteness):对于任意一组合法的输 入值,在执行有穷步骤之后一定能结束。
• 可行性 (Effectiveness):所有操作都可通过已 经实现的基本操作运算有限次来实现。
• 确定性 (Definiteness):算法中每一步的描述 都无二义性,只要输入相同,初始状态相同, 无论执行多少遍,结果都应该相同。
果是
.
在音乐唱片超市里,每张唱片售 价25元,顾客购买5张(含 5张)以 上但不足10张唱片,则按九折收 费,顾客购买10张以上(含10张) 唱片,则按八五折收费,编写程 序,输入顾客购买唱片的数量a, 输出顾客要缴纳的金额C.并画出 程序框图.
25a, a 5 C {22.5a, 5 a 10