- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.2.6 算法举例 (2)小明数了数圈在一起的鸡和兔共有30个头,他又数了数脚有90个,那么究竟在这个圈里鸡和兔各有多少只? 数学模型: 设鸡和兔的总头数为T,总脚数为J, x为鸡数,y为兔数 列出方程式: 算法分析与设计: 设X为鸡数,Y为兔数,则Y=30-X,2*X+4*Y=90,令X为循环变量,初值为1,步长为1,共循环30次,在循环体内判断2*X+4*Y=90是否成立,成立则输出X和Y 的值,即为满足条件的鸡和兔的数量。 N_S图: 程序: #include stdio.h int main() { int x, y; x=1; while(i=30) { y=30-x; if(x*2+4*y==90) printf(鸡:%d,兔:%d\n, x, y); x=x+1; } return 0; } X=1 5.3 程序设计 5.3.1 程序设计原则与过程 (1)原则 自顶向下 逐步细化 模块化设计 限制使用GOTO语句 (2)步骤 分析问题 设计算法 编写程序 对源程序进行编辑、编译和连接 运行程序,分析结果 编写程序文档 5.3.2 程序的基本结构 顺序结构 选择结构 循环结构 5.3.3 程序的执行方式 解释方式 每执行一句就翻译一句,即边执行边解释。 编译方式 在程序第一次执行前先将其翻译成二进制程序,然后每次执行的时候就可以直接执行这个翻译好的二进制程序了。 5.3.4 程序设计语言 机器语言 汇编语言 高级语言 结构化程序设计语言 面向对象程序设计语言 可视化程序设计语言 人工智能程序设计语言 学习语言是设计程序的基础 (1)机器语言 由二进制编码指令构成的语言。 是一种依附于机器硬件的语言。 机器语言程序可以直接执行。 0001 0101 //把地址内存单元中的数装入0101号寄存器 0001 0110 //把地址内存单元中的数装入0110号寄存器 0101 0000 //01101101中的数相加,结果存入0000号寄存器 0011 0000 //把0000号寄存器中的数存入地址内存单元中 (2)汇编语言 由助记符指令构成的语言。 也是一种依附于机器硬件的语言。 汇编语言源程序需要汇编后才能执行。 MOV R5, X //把内存单元X中的数装入R5寄存器。 ADD R5, Y //把R5中的数与Y单元中的数相加,结果存入R5 。 MOV Z, R5 //把R5中的数存入Z单元中 。 (3)高级语言 由自然语言和数学公式表示的语言。 是一种独立于机器硬件的语言。 高级语言程序需要编译后才能执行。 Z=X + Y //把内存单元X中的数与Y中的数相加,结果存入Z单元 常用高级语言 FORTRAN语言 FORTRAN是FORmula TRANslator(公式翻译器)的缩写。 主要用于复杂的科学计算领域。 ALGOL语言 ALGOL是ALGOrithm Language(算法语言)的缩写。 主要用于数学与科学计算。 COBOL语言 COBOL是COmmon Business-Oriented Language(面向商业的通用语言)的缩写。 主要用于企业管理和事务处理。 BASIC语言 BASIC是Beginner’s All-purpose Symbolic Instruction Code(初学者通用符号指令码)的缩写。 主要用于初学者和较小规模的程序开发。 (4)结构化程序设计语言 早期程序设计方法的不足 注重功能的实现/注重内存的节省/注重执行效率的提高。 不注重程序结构的清晰性。 不注重程序的可理解性和可修改性。 结构化程序设计语言的特点 注重程序结构的清晰性。 注重程序的可理解性和可修改性。 采用模块化程序设计方法。 常用结构化程序设计语言 PASCAL语言 是在ALGOL语言的基础上发展起来的。 以法国著名科学家帕斯卡的名字命名。 严格的语法格式与结构化形式。 C语言 是在ALGOL60语言的基础上发展起来的。 兼具低级语言和高级语言的特点。 是最为流行的程序设计语言之一。 (5)面向对象程序设计语言 结构化程序设计方法的不足 面向过程的设计方法与人们习惯的思维方式仍然存在一定的
文档评论(0)