第1章程序设计语言和程序设计方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章程序设计语言
与程序设计方法
制作者:钱瑛
本章的学习重点和难点
程序设计的基本概念
算法的概念和描述
结构化程序设计方法
面向对象的程序设计概念和方法
1.1 程序设计语言简介
语言
机器语言
汇编语言
高级语言
程序
一个程序是完成某一
特定任务的一组指令
序列,或者说,为实
现某一算法的指令序
列称为“程序”程序设计
使用某种计算机语言,
按照某种算法,编写
程序的活动
程序=数据结构+算法
程序=算法+数据结构+
程序设计方法+语言工
具和环境
1.2 算法及其描述
1.2.1 算法的概念
算法——解决某个问题或处理某件事的方法和步骤,在这儿所讲的算法是专指用计算机解决某一问题的方法和步骤
计算机算法的分类
数值计算算法
非数值计算算法
1.2.2 算法举例
[例题1-1]
[例题1-2]
[例题1-3]
有两个杯子A 和B ,分别盛放茶和咖啡,要求将杯中的饮料互换,即A 中盛放咖啡,B 中盛放茶
增加一个空杯C 作为过渡算法可以表示为:
步骤1:先将A 杯中的茶倒入C 杯中步骤2:再将B 杯中的咖啡倒入A 杯中步骤3:最后将C 杯中的茶倒入B 杯中
A C
B
①③
②茶
茶咖啡咖啡茶
该算法常常被用于实现两个数据内容的互换
(1)A→C (2)B→A (3)C→B
求两个数A、B中的最大数
算法可以表示为:
步骤1:将数A、B进行比较,如果A大于B,则转向步骤2,否则转向步骤3。
步骤2:A是最大数
步骤3:B是最大数
常常通过比较求最值或进行排序
求n!
分析:如果n=4,则4!=1*2*3*4,所以可以先假设S代表累乘之积,I代表累乘项
算法可以表示为:
步骤1:S=1,I=1
步骤2:如果I≤n,则执行步骤3,否则停止,S中的值即为所求的n!
步骤3:将S与I的乘积存入S中
步骤4:使I增1,转向执行步骤2
1.2 算法及其描述
1.2.3 算法的特征
有穷性
确定性
有零个或多个输入
有一个或多个输出
有效性
1.2.4 算法的表示
自然语言
伪代码
流程图图形符号名称
输入/输出
处理
判断
起止
特定过程
流程线
连接点
A 和
B 数据互换
增加一个C 作为过渡算法可以表示为:步骤1:A→C 步骤2:B→A 步骤3:C→B
开始结束
输入数据A 、B
输出数据A 、B
A→C B→A C→B
求两个数A 、B 中的最大数
算法可以表示为:
步骤1:将数A 、B 进行比较,
如果A 大于B ,则转向步骤2,否则转向步骤3。步骤2:A 是最大数步骤3:B 是最大数
开始
结束
输入数据A 、B
输出最大数MAX
A→MAX A>B
B→MAX True
False 判断框
求n!
算法可以表示为:
步骤1:S=1,I=1
步骤2:如果I≤n,则执行步骤3,否则停止,S中的值即为所求
的n!
步骤3:将S与I的乘积存入S中步骤4:使I增1,转向执行步骤2
S*I→S
开始
结束
False True
1→S
1→I
I≤n
输出n!的值S
I+1→I
输入n
求两个数A 、B 中的最大数
算法可以表示为:
步骤1:将数A 、B 进行比较,如果A 大于B ,则转向步骤2,否则转向步骤3。
步骤2:A 是最大数步骤3:B 是最大数
Private Sub main()
Dim A As Integer, B As Integer, max As Integer '变量定义A = InputBox("Please input number A:")'输入变量A B = InputBox("Please input number B:")'输入变量B If A > B Then '比较A 与B
max = A Else
max = B
End If
Debug.Print max '打印最大值
End Sub
False
True 开始结束
输入数据A 、B 输出最大数MAX
A→MAX B→MAX
A>B
小结
算法是解决问题的核心内容
学会使用流程图来表示的算法,逻辑清楚,形象直观,容易理解
掌握相应语言(如VB)的组成要素及编写方法,容易能编写出对应程序
1.3 结构化程序设计
1.3.1 基本算法结构
结构化程序设计方法
算法的三种基本结构
顺序结构
分支结构
循环结构
任何一个程序都是这三种基本控制结构的组合
三种基本结构的共同特点
只有单一的入口和单一的出口
结构中的每个部分都有执行到的可能
结构内不存在永不终止的死循环