电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

程序中的编程思想

  • 资源ID:456667500       资源大小:779.01KB        全文页数:17页
  • 资源格式: DOC        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

程序中的编程思想

编程思想程序设计通俗地说就是完成一件事情时对步骤的安排。人们平时做每一件事情,其实都使用了程序设计的思想。比如要举行一次会议就要有筹划、安排会议的步骤,这就是程序设计。程序设计思想就是这样的,而计算机程序设计则是指在计算机上完成一件事情的过程。通常人们说完成一件事情,就是解决问题。这里所说的问题,不是平时所说的问题,而是指要解决的一个任务,要完成的一件事情。也就是说,计算机程序设计就是通过计算机解决问题的过程。这里面实际上有两个层面的问题,首先是解决问题的方法和步骤;其次是如何把解决问题的方法和步骤通过计算机实现。要想在计算机上完成这个任务,得用计算机语言来完成,就如同和英国人说话要用英语,和日本人说话要用日语一样,和计算机说话要用计算机语言。有一个著名的计算机程序设计(以后简称程序设计)的公式:程序设计 = 算法+数据结构+计算机语言其实,初学者要想更容易上手的话,可以从算法和计算机语言两个方面来掌握程序设计。也就是说,初学者只要了解算法和计算机语言,就可以进行程序设计工作了。1.1 程序设计思想程序设计(programming)是指设计、编制、调试程序的方法和过程。上面已经说过,对于初学者,了解程序设计可以把解决问题的方法与步骤和在计算机上实现这个过程分开来考虑。解决问题的方法与步骤就是人们所说的算法。把算法在计算机上实现也就完成了程序设计的过程。从这个过程来看,算法是程序的核心,是程序设计要完成的任务的“灵魂”。初学者可以只考虑这样的公式:程序设计=算法+计算机语言 程序设计的基本步骤程序设计最终要利用计算机来解决问题,完成任务,其基本步骤如下。(1)设计完成解决问题的方法与步骤,即完成算法设计。(2)在计算机上用计算机语言把算法中的方法与步骤实现。(3)调试编辑好的程序。这也是程序设计思想之一,人们完成的程序设计不可能一次成功,就是再天才的人,思维再缜密的人,也不可能保证自己编的程序没有错误。 程序设计的学习方法从程序设计的基本步骤上可以看出,要想学好程序设计,首先要了解和掌握算法的概念,然后再学习一门计算机语言,这样,才可以初步完成在计算机上进行程序设计的工作。本章主要介绍算法的概念和思想。从第2章开始详细介绍C语言(计算机语言)的基本知识,通过学习并使用C语言来完成计算机程序设计的工作。学习计算机语言的最终目的是要进行程序设计,而学习计算机语言的语法、规则的目的是为了更好地掌握计算机语言。目前的计算机语言已经从低级语言发展成为高级语言了,高级语言更方便用户使用,它的源代码都是文本型的,但是,计算机本身只能接受二进制编码的程序,不能直接运行这种文本型的代码,因此需要通过翻译把高级语言源程序代码转换成计算机能识别的二进制代码,这样计算机才能执行,而这个翻译,在这里把它称做编译系统,也可以看成是计算机语言的编程界面。本章接下来首先介绍算法的概念和思想,然后再介绍计算机语言的上机环境,也就是C语言的编译系统。目前大家比较喜欢使用的C语言编译系统有Turbo C和VC+两种上机环境。Turbo C简单灵活,适合初学者掌握,VC+是Windows系统下的编程环境,界面友好。1.2 算法算法是解决问题的方法与步骤,比人们平时理解的数学中算法的概念要广义一些。算法是程序的核心,是程序设计要完成的任务的“灵魂”。不论是简单还是复杂的程序,都是由算法组成的。算法不仅构成了程序运行的要素,更是推动程序正确运行、实现程序设计目标的关键。 算法的概念当人们要买东西时,就会先设定目标,然后到合适的商店挑选想要的物品,最后结账、拿发票(收据)、离开商店;当要理发时,就会先到一家理发店与理发师商量好发型,然后理发、结账;当要使用计算机时,就会先打开显示器、开机、输入密码,然后使用。不论人们做什么事情,都有一定的步骤。算法(algorithm),简单来说就是解题的步骤,可以把算法定义成解决某一特定类型问题的任意一种特殊的方法。算法是程序设计的“灵魂”,它独立于任何具体的程序设计语言,一个算法可以用多种编程语言来实现。算法是一组有穷的规则,它们规定了解决某一特定类型问题的一系列运算,是对解题方案准确、完整的描述。在程序设计中,算法要用计算机算法语言描述出来,算法代表用计算机解决某一类问题的精确、有效的方法。【例1.1】 输入3个互不相同的数,求其中的最小值。首先设置一个变量min,用于存放最小值。当输入a、b、c 3个不相同的数后,先将a与b进行比较,把相对小的数放入min,再把c与min进行比较,若c小于min,则将c的值放入min替换min中的原值,若c大于min,则min值保持不变,最后min中就是3个数中的最小值。详细步骤如下。 先将a与b进行比较,若a<b,则amin,否则bmin; 再将c与min进行比较,若c<min,则cmin。这样,min中存放的就是3个数中的最小值。求解一个给定的、可计算或可解的问题,不同的人可以编写出不同的算法来解决同一个问题。例如计算1999299939999999,也许有的人会选择一个一个加起来,当然也有人会选择(20001)+(30001)+(100001)的算法。理论上,不论使用哪种算法,只要逻辑正确并能够得出正确的结论就可以,但是,为了节约时间、运算资源等,当然提倡简单易行的算法。制定一个算法,一般要经过设计、确认、分析、编码、测试、调试、计时等阶段。对算法的研究主要包括5个方面的内容。(1)设计算法。算法设计工作的完全自动化是不现实的,算法的设计最终还是要人们自己来完成,应学习和了解已经被实践证明可行的一些基本的算法设计方法,这些基本的设计方法不仅适用于计算机科学,而且适用于电气工程、运筹学等任何算法相关的其他 领域。(2)表示算法。算法的类型不同、解决的问题不同、解决问题的步骤不同,表示算法的方法也自然有很多种形式,例如自然语言、图形、算法语言等。这些表示方式各有特色,也分别有适用的环境和特点。(3)认证算法。算法认证其实就是确认这种算法是否能够正确的工作,是否达到解决问题的目的,即确认该算法具有可行性。正确的算法用计算机算法语言描述,构成计算机程序,计算机程序在计算机上运行,得到算法运算的结果。(4)分析算法。对算法进行分析,确认这个算法解决问题所需要的计算时间和存储空间,并对其进行定量分析。对一个算法的分析可以很好地预测一种算法适合的运行环境,从而判断出其适合解决的问题。(5)验证算法。用计算机语言将算法描述出来,进行运行、测试、调试,客观地判断算法的实际应用性、合理性。 算法的特性一个算法应当具有以下5方面性质。(1)确定性。与我们日常的行为不同,算法绝对不能有含糊其辞的步骤,像“请把那天的书带来!”,这种无法明确哪一天、哪一本书、带到哪里的语句是不能够出现在算法中的,否则,算法的运行将变得无所适从。算法的每一步都应当是意义明确、毫不模糊的。 (2)可行性。算法的基本目的是解决问题,所以要求算法至少是可以运行并能够得到确定的结果的,不能存在违反基本逻辑的步骤。(3)输入。一个算法有0个或多个输入,在算法运算开始之前给出算法所需数据的初值,这些输入取自特定的对象集合。(4)输出。作为算法运算的结果,一个算法产生一个或多个输出,输出是同输入有某种特定关系的量。(5)有穷性。一个算法应包含有限个操作步骤,而不能是无限的。一个算法总是在执行了有穷步的运算后终止,即该算法是可达的。满足前4个特性的一组规则不能称为算法,只能称为计算过程。操作系统是计算过程的一个例子,操作系统用来管理计算机资源、控制作业的运行,没有作业运行时,计算过程并不停止,而是处于等待状态。 算法的表示由于算法的步骤繁简不同、解决的问题不同,算法的表示方法也有许多种,一般可以归纳为以下几种。1自然语言表示自然语言,简单来说就是人们日常生活中应用的语言。相对于计算机语言来说,自然语言更容易被接受,也更容易学习和表达,但是自然语言往往冗长烦琐,而且容易产生歧义。例如:“他看到我很高兴。”便不清楚是他高兴,还是我高兴。尤其是在描述分支、循环算法时,用自然语言十分不方便。所以,除了一些十分简单的算法外,我们一般不采用自然语言来表示算法。2图形表示用图形表示算法即用一些有特殊意义的几何图形来表示算法的各个步骤和功能。使用图形表示算法是一种很好的方法,因为千言万语不如一张图明了易懂,图形的表示方法比较直观、清晰,易于掌握,有利于检查程序错误,在表达上也克服了产生歧义的可能。一般我们使用得比较多的有传统流程图、N-S流程图、PAD流程图等。本书只介绍传统流程图,其他流程图请参看其他程序设计书籍。传统的流程图一般由图1.1所示的几种基本图形组成。开始或结束框处 理 框输入/输出框判 断 框连接点流程线图1.1 流程图的基本图形【例1.2】 输入两个整数给变量x和y,交换x和y的值后再输出x和y的值。分析:完成本题需要3个步骤,首先输入两个整数给x和y;之后交换x和y的值;最后输出x和y。根据以上分析,画出程序的流程图(见图1.2),并根据流程图写出程序:main() int w,x,y; printf("请输入两个整数:"); scanf("%d%d",&x,&y); w=x; x=y; y=w; printf("交换后:x=%dy=%dn",x,y);说明: scanf()函数为输入函数,可以用来输入数据;输出数据可以使用printf()函数。 引入第3个变量w,先把变量x的值赋给w,再把变量y的值赋给x,最后把变量w的值赋给y,最终达到交换变量x和y的值的目的。引入w的作用是交换变量x和y的值。交换x和y的值不能简单地用x=y;和y=x;这两个语句,如果没有把x的值保存到其他变量就执行x=y;语句,把y的值赋给x,将使x和y具有相同的值,丢失x原来的值,也就无法实现两个值的交换。假如输入3和9,运行程序时,屏幕可能显示如下信息:请输入两个整数:3 9交换后:x=9 y=3【例1.3】 输入a、b、c 共3个数,把最小的值输出,流程图如图1.3所示。 图1.2 例1.2流程图 图1.3 例1.3流程图先将a与b进行比较,若a<b,则将a存入min,否则将b存入min;再将c与min进行比较,若c<min,则将c存入min,然后输出min,否则直接输出min。根据以上几个例子可以看出,使用传统的流程图主要由带箭头的线、文字说明和不同形状的框构成。采用传统的流程图可以清晰直观地反映出整个算法的步骤和每一步的先后顺序。因此,在相当长的一段时间内,传统流程图成为很流行的一种算法描述方式,但是当算法相当复杂,篇幅很长时,使用传统的流程图就会显得费时又费力。随着结构化程序设计思想的推行与发展,渐渐的衍生出N-S结构化流程图。3伪代码伪代码(pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal、C、Java等)实现。因此,伪代码必须结构清晰、代码简单、可读性好并且类似自然语言。用各种算法描述方法所描述的同一算法,只要该算法实现的功能不变,就允许在算法的描述和实现方法上有所不同。 算法的复杂度找到求解一个问题的算法后,接着就是该算法的实现,至于是否可以找到实现的方法,取决于算法的可计算性和计算的复杂度,该问题是否存在求解算法,能否提供算法所需要的时间资源和空间资源。算法的复杂度是对算法运算所需时间和空间的一种度量。在评价算法性能时,复杂度是一个重要的依据。算法

注意事项

本文(程序中的编程思想)为本站会员(壹****1)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.