- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章程序设计基础.
第1章 程序设计基础
1.1程序设计基本概念
计算机作为一种智能工具正广泛地应用于人类社会的各行各业,它由硬件和软件组成。本节将介绍软件的一些基本概念。
1.程序
要利用计算机来处理问题,就必须要事先编写出使计算机按照人的意愿工作的应用程序。所谓程序,就是一系列遵循一定规则和思想并能正确完成指定工作的代码(也称为指令序列)。通常,一个计算机程序主要描述两部分内容,第一部分是描述问题的每个对象及它们之间的关系,第二部分是描述对这些对象进行处理的规则。其中关于对象及它们之间的关系涉及数据结构的内容,而处理规则是指求解某个问题的算法。因此,对程序的描述有如下等式:
程序=数据结构+算法
一个设计合理的数据结构往往可以简化算法,而一个好的程序有可靠性、易读性、可维护性等良好特性。
2.程序设计
所谓程序设计,就是根据计算机要完成的任务提出相应的需求,并在此基础上设计数据结构和算法,然后再编写相应的程序代码并测试该代码运行的正确性,直到能够得到正确的运行结果为止。通常,程序设计是很讲究方法的,一个良好的设计思想能够大大提高程序的高效性和合理性。因此有人提出如下关系:
程序设计=数据结构+算法+程序设计方法学
任何一个程序必须包含这三方面的内容。
3.算法
所谓算法,就是问题的求解方法。通常,一个算法由一系列求解步骤组成。正确的算法要求组成算法的规则和步骤的意义是唯一确定的,不能存在二义性,而且这些规则指定的操作是有序的,按算法指定的操作顺序执行能够在有限的执行步骤后给出正确的结果。
上面提到,算法不允许存在二义性,这是非常重要的,如果算法存在二义性,那么程序的编码工作将无法进行,同时,算法也不允许存在模糊的概念,因为二义性和模糊性都是不可操作的。如“加一吨的水”有明确的概念,这在程序的计算或控制中是可以操作的,但是如果说“加一些水”,那就无法操作了,因为日常生活中,多少才认为是“一些”呢?这就没有明确的意义,毕竟程序是根据人的具体要求来完成相应工作的。
通常算法的建立过程是逐步求精的,一般是先给出粗略的计算步骤框架,然后再对框架中的具体内容进行逐步细化,添加必要的细节,使之成为较为详细的描述,当然,细化可能做不到一步到位,因此还要进行更进一步的细化,直到能够把需求通过编程语言完全描述为止。
描述算法的常用工具是流程图,也称为程序框图,流程图是算法的图形描述,它往往比程序更直观,更容易阅读和理解。不过它只是一种表现工具,计算机并不能直接识别和运行流程图。
4.数据结构
数据结构是指数据对象及其相互关系和构造方法,程序中的数据结构描述了程序中的数据间的组织形式和结构关系。
数据结构与算法密不可分,一个良好的数据结构将使算法简单化;只有明确了问题的算法,才能较好地设计出数据结构,因此两者是相辅相成的。对于计算机程序而言,其构成与数据结构关系密切,程序在实现算法的同时,还必须完整地体现作为算法操作对象的数据结构。对于复杂问题的求解,常常会发现由于对数据的表示方式和结构的差异,对该问题的抽象求解算法也会完全不同。前面已经提到,对同一个问题求解,当然允许有不同的算法,也允许存在不同的数据结构,而依不同算法编写的操作代码,其执行效率也就不一样。
5.语言
算法不仅要通过具体的语言来表述,还要采用合适的方法来表达,才能够形成程序。可以这样说,算法是程序的灵魂,是解决“做什么”和“怎样做”的问题。一个好的程序必须要有一个合理、高效的算法,数据结构是程序要处理的具体对象,语言是描述算法过程的工具。
6.程序设计的方法
程序设计方法分为两大类:面向过程的程序设计方法和面向对象的程序设计方法。
面向过程的程序设计方法是将完成某项工作的每一个步骤和具体要求都考虑在内来设计程序,程序主要用于描述完成这项工作所涉及的数据对象和具体操作规则,如先做什么、后做什么、怎样做、如何做。C语言是一种面向过程的程序设计语言。
面向对象的程序设计方法是将任何事物都看成一个对象,它们之间通过一定的渠道相互联系,对象是活动的、相互对立的,是可以激发的,每个对象都是由数据和操作规则构成的。在进行程序设计时,主要针对一个个对象,所有数据分别属于不同的对象,并被封装在对象内,只要激发每个对象完成相对独立的操作功能,整个程序就会自然完成全部操作。
1.2算法和结构化程序设计
1.2.1算法的概念
做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。
计算机算法:计算机能够执行的算法。
当设计一个程序时,通常先分析程序中需要的数据并对数据进行描述,即数据结构设计,然后再根据功能要求设计解决问题的方法,即算法设计,最后用某种计算机语言将其描述出来;同时,为了保证程序有很高的正确性、可靠性、可读性、可理解性、可修改性和可维护性,在整个设计过程中,还必须采用科学的程序设
您可能关注的文档
- 私募基金管理公司章程..doc
- 私募大佬徐翔的股市生涯..docx
- 离合器课程设计..doc
- 私募股权投资流程及项目..doc
- 秋2015闽文化概论任务1..docx
- 秋季养生小常识..doc
- 种子生产学..docx
- 种植体与基台之间的微动对骨吸收的影响机制..doc
- 种植练习题..doc
- 科三考试项目和动作标准..doc
- 区委书记、市国资委党委领导班子2025年组织生活会对照“四个带头”含反面典型案例举一反三剖析方面检查材料【两篇文】.docx
- 局党组书记、市国资委党委领导班子2025年组织生活会对照“四个带头”含反面典型案例举一反三剖析方面个人检查材料2篇文.docx
- 市交通运输局局长2025年专题生活会对照“四个带头”含落实意识形态工作责任制方面个人对照检查发言提纲与检察院领导班子“四个带头”检查材料【2篇文】.docx
- 市投资促进局党支部书记2025年组织生活会对照“四个带头”个人对照检查发言材料与党组书记“四个带头”个人对照检查材料(内蒙古地区四个对照,反面典型案例检视剖析)【2篇文】.docx
- 市教育局党委副书记、市国资委党委领导班子2025年“四个带头”个人对照检查发言材料(上年度整改+个人事项+典型事例剖析)2篇文.docx
- 2025年专题生活会“四个带头”方面对照检视材料(问题+原因+措施+意识形态)与纪检委员专题生活会“四个带头”方面个人对照检查材料【2篇文】.docx
- 检察院领导班子2025年专题生活会对照“四个带头”检查材料与县司法局专题生活会党组书记个人对照“四个带头”对照检查材料(含反面典型案例全面剖析)2篇文.docx
- 市机关事务局党支部书记、局党组书记2025年组织生活会对照“四个带头”含反面典型案例举一反三剖析方面个人发言材料、检查材料【2篇文】.docx
- 2025年领导干部专题生活会“四个带头”对照检查材料与市审计局领导班子专题生活会“四个带头”含反面典型案例剖析对照检查材料2篇文.docx
- 2025年县司法局专题民主生活会班子围绕“4个带头”对照检查材料与反面典型案例回顾与剖析对照检查发言材料2篇文.docx
最近下载
- 2022_2023 学年度泉州市初中教学质量监测 (二)英语试卷.pdf VIP
- 无人机技术助力油气管道巡检.pptx
- 2022-2023学年度泉州市初中教学质量监测答案.doc VIP
- 人教版(川教版)二年级(含上、下册)生命生态安全教学设计附教学计划.pdf VIP
- 2025届江苏省泰州市多校高三7月联合统一调研模拟考试数学试卷.doc VIP
- 工业分析 教学课件 作者 李广超 编 3石油产品分析.ppt
- 三副见习记录簿附页.doc
- 2022-2023学年度泉州市初中教学质量监测.doc VIP
- 人教部编语文二年级下册全册同步类文阅读含答案.docx VIP
- 数学丨江苏省泰州中学2025届高三1月模拟考试一(泰中一模)数学试卷及答案.pdf VIP
文档评论(0)