网站大量收购独家精品文档,联系QQ:2885784924

第2章 程序设计数据基础.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 程序设计数据基础

数据输入输出和顺序程序设计 算法的基本结构 顺序结构 顺序结构是一种简单而基础的算法基本结构,其主要特点是:各个操作按其出现的先后次序依次顺序执行一遍。 选择(分支)结构 选择结构是算法在描述稍复杂问题时所必不可少的基本结构,其主要特点是:根据给定条件的成立与否来选择执行不同的操作。 循环结构 在算法中若要描述某些操作反复执行的概念,就要使用循环结构。循环结构的特点是:根据所给定的条件来判断是否需要重复地执行一组操作,当所给条件为真时执行,否则退出。 数据输入输出和顺序程序设计 算法的描述方法 程序流程图 流程图又称为程序框图,使用一些图形符号表示算法中的各个执行或判断过程,使用流程线(有向线段)来表示算法执行中每一个步骤在执行上的时间顺序。流程图可以非常清楚地描述整个算法执行的过程,但由于流程线画法十分灵活自由,使用不当会造成算法清晰性差以及理解上的困惑。 伪语言 在用伪语言描述算法时,一般用某种计算机程序设计语言的控制结构来描述算法中的控制含义,用近似自然语言的方式来描述算法中的操作。 数据输入输出和顺序程序设计 用伪语言描述的算法的基本结构 顺序结构 处理S1 处理S2 选择结构 If(条件)then [ 处理序列1 ] Else [ 处理序列2 ] 数据输入输出和顺序程序设计 用伪语言描述的算法的基本结构 多分支选择结构 Switch(条件) [ 情况1:处理S1 情况2:处理S2 … 情况n:处理Sn ] 数据输入输出和顺序程序设计 用伪语言描述的算法的基本结构 当型循环结构 While(条件) [ 处理序列(循环体) ] 直到型循环结构 Do [ 处理序列(循环体) ]While(条件) 数据输入输出和顺序程序设计 算法描述示例 根据圆锥体的底面半径r和高h求其体积。 问题分析:对于简单几何体的体积,根据其基本参数按照几何体的体积计算公式计算即可,此问题是一个简单的顺序结构问题。 算法:SF-01 算法开始 输入半径r和高h 圆锥体积←3.14*r*r*h/3 输出圆锥体积 算法结束 数据输入输出和顺序程序设计 算法描述示例 设计能判断任意输入年份是否闰年的算法。 问题分析:闰年的判断规则是:1)年份数能够被4整除同时不能被100整除;2)年份数能够被400整除;根据规则可知闰年判断方法:规则1的两个条件必须同时满足,规则1与规则2只需要满足一个即可。 算法:SF-02 算法开始 输入年份数year If((year MOD 400=0)或者 (year MOD 4=0)并且(year MOD 100≠0))then [ 输出year是闰年信息 ] Else [ 输出year不是闰年信息 ] 算法结束 数据输入输出和顺序程序设计 算法描述示例 设计算法实现查询星期的英文表示法功能。 问题分析:若用一个整数(取值在1~7之间)来对应英文的星期一到星期日,使用多分支选择结构即可实现查找。 算法:SF-03 算法开始 输入欲查找的周日数w Switch (w) [ w=1: 输出”Monday” w=2: 输出”Tuesday” w=3: 输出”Wednesday” w=4: 输出”Thursday” w=5: 输出”Friday” w=6: 输出”Saturday” w=7: 输出”Sunday” ] 算法结束 数据输入输出和顺序程序设计 算法描述示例 给定自然数n,求n!。 问题分析:由数学知识可知,求一个数的阶乘就是从1开始连续累乘到该数为止。算法中主要解决两个问题: 产生1~n之间的自然数; 将所产生自然数累乘; 算法:SF-04 算法开始 输入自然数n 产生连续自然输的计算器k←0 存放累乘结果的累乘器p ← 1 While(k<n) [ k ← k+1 p ← p*k ] 输出n! 值p 算法结束 数据输入输出和顺序程序设计 算法描述示例 任意给定一个整数,设计求其反序数的算法。一个数的反序数即是将其从低位到高位顺序完全颠倒的数。例如,1234的反序数为4321。 问题分析:求自然数的反序数关键是将该数的各位数字从数中分离开,方法两种: 从高位到底位分离; 从低位到高位分离;从低位到高位分离的具体方法为: 1)该数对10取余数 (以10进制为例),取出最低位 数字 2)去掉最低位 3)返回1) 算法:SF-05

您可能关注的文档

文档评论(0)

bokegood + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档