- 1
- 0
- 约2.3千字
- 约 14页
- 2019-09-27 发布于广东
- 举报
程序设计方法
\问题求解
步骤:问题分析T建立数据模型T设计算法T编辑T调试 和测试9文档整理
二、算法和二种基本程序结构
程序二数据结构+算法 数据结构:程序中(用到的)数据的类型和组织形式。(数
据描述)
算法:问题求解的方法和步骤。(操作描述)
三、算法的描述:
一个程序只能由(只需由)三种基本控制结构(顺序、选 择、循环结构)组成。
流程图:使用图形符号、数学语言和自然语言相结合 的方法表示的算法。
N—S图:每一种基本算法对应一个矩形框,矩形框的 上下排列作为执行的顺序。
PAD问题分析图:三种基本算法的图形由上下和左右 连线进行连接,形成一个树形图。执行过程为:从根 结点开始,对分枝结点从上到下,对每一个结点先向 右展开执行,即按“遍历树”的结点次序进行。
伪代码:用介于自然语言和计算机语言之间的文字符 号来描述算法。
四、 程序和程序设计语言
程序:是问题求解的指令系列。
程序设计语言:机器语言、汇编语言、算法语言(高 级语言)。
计算机能直接识别(执行)的语言是机器语言。
对于用汇编语言和高级语言编写的程序,必须先经过专 门的软件翻译成机器语言后,才能被计算机执行。
五、 程序设计方法
结构化程序设计(面向过程程序设计)
方法:自顶向下、逐步细化和模块化。
首先把求解的问题划分成几个尽可能大的部分(能划 分成两部分就不要划分成三部分),再对每一个部分进一步 划分,直至不能再分为止。各个部分按划分的次序连接就 形成一个层次结构,每个部分作为一个模块,对最底层的 模块用算法来描述。
任何问题都可以仅用三种基本的控制方法来实现: 顺序控制、选择控制、循环控制。
例:从三数中取大数。
① 输入三个数给 a, b, c scant
(“%d %d %cT,a, b, c);
②从a, b, c中找出最大的数赋给max max=max3(a, b, c);
③输出 max printf
(“max=%cT,max);
一般的算法我们都可以分为三大部分:
输入数据或初始化数据,
对数据进行运算和处理,
输出运算处理后的结果。
面向对象程序设计
面向过程:算法(程序)和数据结构是独立存在的。一个
数据(结构)可以被若干个程序进行运算和处理。
问题1:当其中的一个程序对数据的结构进行扩充,其他 的程序也必须修改程序以适应扩充了的数据结构。
问题2:如何确认与这个扩充了的数据结构有关的程序(当
这些程序不是同一个人编写的)。 面向对象:
1).把操作同一个数据(结构)的所有程序与这个数据
(结构)“封装在一起,作为“对象”来引用。
2) .当某个程序需扩充数据结构时,使用“继承的方 法既可以实现,不必修改与之有关的其他程序。
3) .多态性,使得程序设计更加灵活。
结论:
1.面向对象是面向过程的进一步扩展,而不是取代。即 面向过程是面向对象的一个组成部分。
2?“对象中的程序仍然需使用面向过程的方法进行设 计。
算法的描述:
例从中山路搭21路公交车回师院。
要求处理:1■避免搭错车2?已无班车3?车抛锚 用伪代码进行描述:
1 ?开始
2 ?等车
3上车
4 ?乘车
?抵达
?结束
处理避免搭错车和车抛锚
2 ?等车
2.1有车进站吗?有,转到3/I
2.2 (没车进站)转到2.1
3上车
3.1是21路车吗?不是,转到2?1
3.2 (是)上车
4 ?乘车
4.1半路抛锚?没,转到5?1
4.2 (抛锚)下车等待修理
4.3修好了吗?没,4.4 (修好)上车
4.3修好了吗?没,
4.4 (修好)上车
5.1抵达
处理已无班车的情况
2.1有车进站吗?有,转到3/I
22 (没进站)转到2?1
2.2.1已无班车了吗?还有,转到2?1
(已没了)打的
转到 5.1
3.1是21路车吗?不是,转到2/I
(是)上车
4.1半路抛锚?没,转到5?1
(抛锚)下车等待修理
4.2.1要换乘其他车吗?不,转到4.3
(要)打的
转到 5.1
4.3修好了吗?没,转到421
4.4 (修好)转到3.2
5.1抵达
例2:在食堂买饭菜坐着进食。
要求处理:1?钱不够2?没座位3?食间口渴4?没吃饱
用伪代码进行描述:
1 ?开始
?买菜
?找座位
?进食
?结束
处理1?钱不够
2 ?买菜
2.1点菜
2.2钱够吗?够,转到2.4
2?3(不够)借钱(卡充值),转到2?1
2.4付钱(刷卡)
处理2?没座位
3 ?找座位
3.1找座位
3.2有位?没有,转到3.1
④处理3?食间口渴4?没吃饱
4 ?进食
4.1进食
4.2 口渴?不是,转到4.5
4?3(是)有汤吗?有,转到4.5
4.4 (没)买汤
4.5吃完了吗?没,转到4?1
4.6没吃饱吗?是,转到2?1
5.1结束
流程图:
流程图:□
-—)
半座位N~^
您可能关注的文档
最近下载
- 新改版教科版四年级上册科学全册精编知识点(背诵用).pdf
- 武汉大学 2013 – 2014 学年第一学期《线性代数 B》(工科 54 学时) 期末试题.docx VIP
- 2024年邮政营业员高级技师资格证考试题库及答案2.docx VIP
- 温泉度假酒店员工培训手册.pdf VIP
- 铀矿石浓缩物分析方法第1部分硫酸亚铁还原重铬酸钾滴定法测定铀.pdf VIP
- 2024年邮政营业员高级技师资格证考试题库及答案6.docx VIP
- 自体输血管理制度与技术规范.docx
- 武汉大学 2012 – 2013 学年第二学期《线性代数 B》(工科 54 学时) 期末试题.docx VIP
- 皖2014J301民用建筑常用饰面.pdf VIP
- 2025年全国甲卷英语高考试题及答案.docx VIP
原创力文档

文档评论(0)