文档介绍:第5章选择控制结构
本章学习内容
算法的描述方法
用于单分支控制的if语句
用于双分支控制的if-else语句
用于多路选择的switch语句
break语句在switch语句中的作用
关系运算符
条件运算符
逻辑运算符
分治策略("Divide and Conquer" Strategy )
Problem: 准备早餐( Prepare a Breakfast)
1. Start
2. 准备早餐
3. End
(Problem Solving Process)
1. Start
2. 准备早餐
准备一个金枪鱼三明治
准备一些薯条
冲一杯咖啡
3. End
分治策略("Divide and Conquer" Strategy )
1. Start
准备一个金枪鱼三明治
拿来两片面包
准备一些金枪鱼酱
准备一些薯条
冲一杯咖啡
3. End
分治策略("Divide and Conquer" Strategy )
1. Start
准备一个金枪鱼三明治
拿来两片面包
准备一些金枪鱼酱
准备一些薯条
将土豆切成条
油炸这些土豆条
冲一杯咖啡
3. End
分治策略("Divide and Conquer" Strategy )
分治策略
( "Divide and Conquer" Strategy )
1. Start
准备一个金枪鱼三明治
拿来两片面包
准备一些金枪鱼酱
准备一些薯条
将土豆切成条
油炸这些土豆条
冲一杯咖啡
烧些开水放入杯中
在水杯中加入一些咖啡和糖
3. End
面向对象程序= 对象+ 消息
面向过程的程序= 数据结构+ 算法
计算机中的算法( Algorithm )
为解决一个具体问题而采取的、确定的、有限的操作步骤,仅指计算机能执行的算法
A specific and step-by-step set of instructions for carrying out a procedure or solving a problem, usually with the requirement that the procedure terminate at some point
算法的特性
有穷性
在合理的时间内完成
确定性,无歧义
如果x≥0,则输出Yes;如果x≤0,则输出No
有效性
能有效执行
负数开平方
没有输入或有多个输入
有一个或多个输出
算法的描述方法
自然语言描述
传统流程图(Flowchart)
在1966年,Bohra 与 Jacopini 提出
N-S结构化流程图
1973年, 和 提出
伪码(Pseudocode)表示