版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计2程序的简单算法指定1 C语言程序设计语言程序设计 第二章 程序的简单算法制定 C语言程序设计2程序的简单算法指定2 o2.1 结构化程序的算法制定 o2.2 结构化程序的算法描述 o2.3 算法制定的范例 C语言程序设计2程序的简单算法指定3 2.1 结构化程序的算法制定 o利用计算机处理问题简述 C语言程序设计2程序的简单算法指定4 2.1 结构化程序的算法制定结构化程序的算法制定 o例2.1 从键盘输入3个数,找出其中最小的那个数。 o分析:1、需变量的个数-3个 o 2、先比较a,b的值,把小的存在min中。 o 3、再用min与c比较,把数值小的存放在min中。 o 如
2、果 ab 则 min=a,否则min=b; o 如果c0 -4ac0(双实根)(双实根) X1=X1= X2= X2= 如果如果 b b2 2 -4ac=0 -4ac=0(单实根)(单实根) X1=X2=X1=X2= 如果如果 b b2 2 -4ac0 -4ac=60) printf(“Passed!”); else printf(“Failed”); 算法可采用自然语言、流程图、N-S图、PAD图、伪代码等 方法来描述。 示 例:根据学生成绩输出评定结果。 一、算法(algorithm) C语言程序设计2程序的简单算法指定9 二、算法与流程图二、算法与流程图传统流程图 o特点: o 直观形象
3、; o 使用流线。 o缺点: o 占面积大,使用流 线任意转移,易出现 “乱麻”现象,造成 编程与阅读程序困难。 C语言程序设计2程序的简单算法指定10 二、算法与流程图二、算法与流程图N-S结构化流程图 o 77年美学者I.Nassi和B.Scheiderman提出。 o特点 o 取消流线 o 不允许流程任意转移,只能从上而下顺序执行 o 规定三种基本结构的流程图单元,由这些基本结构象搭积木似的 组成各种算法(结构化设计)。 o优点 o 算法清晰,流程不会无规律乱转移。 C语言程序设计2程序的简单算法指定11 二、算法与流程图二、算法与流程图三种基本结构 o通常情况下,程序中的语句是以所编写
4、的顺序一句接一句地执行,通常情况下,程序中的语句是以所编写的顺序一句接一句地执行, 这种执行方法称为这种执行方法称为“顺序执行顺序执行”。许多。许多C C语句能够让程序员指定语句能够让程序员指定 不按编写顺序执行下一条执行语句,这种执行方法称为不按编写顺序执行下一条执行语句,这种执行方法称为“控制转控制转 移移”。 oBohmBohm和和JacopiniJacopini的研究证实,所有的程序都能够只用三种控制结的研究证实,所有的程序都能够只用三种控制结 构编写,即构编写,即 o 顺序结构顺序结构 o 选择结构(选择结构(selection structureselection structur
5、e) o 循环结构(循环结构(repetition structurerepetition structure) o 顺序结构是顺序结构是C C语言的基本结构,除非指示转移,否则计算机自语言的基本结构,除非指示转移,否则计算机自 动以语句编写的顺序一句一句地执行动以语句编写的顺序一句一句地执行C C语句。语句。 o任何任何C C语言程序都是由七种控制结构(顺序结构、三种选择结构语言程序都是由七种控制结构(顺序结构、三种选择结构 和三种循环结构)构成的。和三种循环结构)构成的。 C语言程序设计2程序的简单算法指定12 二、算法与流程图二、算法与流程图三种基本结构 o顺序结构 o A块、B块顺序执
6、行(每块代表一个或一组操作) C语言程序设计2程序的简单算法指定13 二、算法与流程图二、算法与流程图三种基本结构 o选择结构 o 条件p成立时执行a块(否则 执行b块) uif 选择结构选择结构 条件为真时执 行某个指定的操作,条件为 假时跳过该操作(单路选择) uififelseelse选择结构选择结构 条件为 真时执行某个指定的操作,为 假时执行另一个指定的操作 (双路选择) uswitchswitch选择结构选择结构 根据表达 式的值执行众多不同操作中 的某个指定的操作(多路选 择) C语言程序设计2程序的简单算法指定14 二、算法与流程图二、算法与流程图三种基本结构 o循环结构 o
7、分当型和直到型两类。 o 当型 先判断,只要条 件为真就反复执行A块,为 假则结束循环。 o 直到型 先执行A块,再 判断条件是否为真,为真 则继续执行循环体,为假 则结束循环。 oC语言提供了三种循环结构, 即while循环结构, dowhile循环结构和for 循环结构。 C语言程序设计2程序的简单算法指定15 2.2.3 PAD图 PAD(Problem Analysis Diagram)另一种被广泛使用的 一种算法的图形表示法。 PAD图可以看成是二维的,它能展现算法的层次结 构。(顺序结构很简单,在此未画图。) C语言程序设计2程序的简单算法指定16 2.3 算法制定范例 o例例2.
8、4 把从键盘输入的大写字母转换成小写把从键盘输入的大写字母转换成小写 字母,输出结果。字母,输出结果。 o问题:问题: o1、描述算法、描述算法 o2、根据算法编写、根据算法编写C程序程序 o3、运行检查程序是否正确。、运行检查程序是否正确。 o o 演示演示ex202 C语言程序设计2程序的简单算法指定17 2.3 算法制定范例 o例2.5 已知实数a和b,计算u的值:u=(r+s)2。 其中,当ab时,r=a2-b2,s=a/b;当ab时, r=b2-a2,s=a/b+4。 o算法(算法(自然语言描述自然语言描述):): 从键盘输入实数从键盘输入实数a和和b。 如果如果ab,则,则r=a2
9、-b2,s=a/b;否则,否则,r=b2-a2,s=a/b+4。 计算计算u的值:的值: u=(r+s)2。 输出输出u的值。的值。 C语言程序设计2程序的简单算法指定18 开始 输入a,b ab T F r=a*a-b*b s=a/b r=b*b-a*a s=a/b+4 结束 u=(r+s)*(r+s) 输出u的值 流程图 C语言程序设计2程序的简单算法指定19 输入实数a,b ab FT r=a*a-b*b s=a/b r=b*b-a*a s=a/b+4 计算的值:u=(r+s)*(r+s) 输出u的值 N-S图 C语言程序设计2程序的简单算法指定20 输入实数a,b ab r=a*a-b
10、*b s=a/b r=b*b-a*a s=a/b+4 计算u=(r+s)*(r+s) 输出u的值 PAD图 C语言程序设计2程序的简单算法指定21 o/*例例2.5*/ o#include omain() o ofloat a,b,r,s,u; oprintf(请输入变量请输入变量a、b的值:的值:); oscanf(%f %f, oif(ab) o or=a*a-b*b; os=a/b; o oelse o or=b*b-a*a; os=a/b+4; o ou=(r+s)*(r+s); oprintf(所计算的所计算的u的值为:的值为:%f,u); o C语言描 述 C语言程序设计2程序的简单算法指定22 o小结:小结: o 本章主要介绍了程序算法的制定方法:自然语言、本章主要介绍了程序算法的制定方法:自然语言、 流程图、流程图、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度软件开发项目外包合同
- 2024年库房电子信息存储服务合同
- 解读储能技术在绿色能源中的应用
- 2024乙丙双方关于生物制药研发与生产的合同
- 航运AR培训与仿真系统
- 2024年度企业咨询服务与管理合同
- 2024年城市轨道交通设备维护保养合同
- 2024年度水电施工班组承包合同
- 解读公共交通优化
- 2024年建设公司工程劳务分包合同
- 政府消防专职队合同范本
- 土木工程大学生未来职业规划课件
- 监狱安全生产研究论文
- 《湖南省医疗保险“双通道”管理药品使用申请表》
- 建筑抗震设计标准 DG-TJ08-9-2023
- 少年宫物业管理整体服务设想和总体目标设定
- MOOC 宪法学-西南政法大学 中国大学慕课答案
- 学生的权利与义务-学生的法律地位及权利保护
- 【教案】心灵的幻象+教学设计-高一美术湘美版(2019)美术鉴赏
- 人教版2022-2023学年三年级语文上册期中试卷及答案
- GB/T 20001.1-2024标准起草规则第1部分:术语
评论
0/150
提交评论