资源预览内容
第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
第9页 / 共41页
第10页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,1,章程序设计基础知识,程序设计基础知识,第,1,章,1.1 程序设计,1.3 程序设计语言,1.4,程序开发环境,1.2 程序设计方法,1.1 程序设计,利用,计算机解决问题,使用程序设计语言将问题的求解过程描述成计算机能够识别的方式,程序,程序设计,先从问题描述开始,经过分析问题确定解决方案、设计解决问题的算法、依据算法编写程序、测试、运行维护等一系列过程,最终得到解决问题的计算机程序整个过程,(1),分析问题,明确要解决什么问题,(2),设计算法,数据结构和算法,(3),编写程序,将算法用程序设计语言描述出来,(4),调试运行,语法错误、语义错误、异常,1.1.1 程序设计步骤,算法就是解决问题所需的操作步骤的集合。,1.1.2 算法,求最大数的算法:,(1),将第,1,个数赋值给,max,;,(2),初始化计数变量,i,为,1,;,(3)in,时,重复执行以下操作,否则转到第,(4),步:,比较,ai,与,max,,若,ai,大于,max,,则将,ai,赋值给,max,;,i,自增,1,;,(4),返回,max,的值。,1.1.3 数据结构,数据:,用来描述现实世界的数字、字符、图像、声音以及能够输入到计算机中,并能被计算机处理的符号集合。例如,整数、图书馆中书目。,数据元素:,数据集合中的个体,是数据的基本单位,数据项:,一个数据元素可以由若干个数据项组成。数据项是数据不可分割的最小标识单位。,数据对象:,具有相同性质的数据元素的集合,是数据的一个子集。,数据结构:,相互之间存在一种或多种特定关系的数据元素的集合。,数据的逻辑结构:,数据元素之间存在的固有的逻辑关系。常简称为数据结构。,(1),集合,(2),线性结构,(3),树形结构,(4),图状结构,(1),集合:结构中的数据元素之间除了“同属于一个集合”的关系以外,没有其它关系。,草原中的草,(2),线性结构:结构中的数据元素之间存在“一对一”的关系。,(3),树形结构:结构中的数据元素之间存在“一对多”的关系。,(4),图状结构:结构中的数据元素之间存在“多对多”的关系。,数据的存储结构:,数据元素及其关系在计算机内的表示,(1),顺序存储结构:,把逻辑上相邻的数据元素存储在物理位置也相邻的存储单元中,借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。,(2),链式存储结构:,用指针或引用表达数据元素之间的逻辑关系。,(3),索引存储结构:,在存储数据元素的同时,还建立附加的索引表。通过索引表,可以找到存储数据元素的节点,(4),散列存储结构:,根据散列函数和处理冲突的方法确定数据元素的存储位置。,数据的操作:,在数据的逻辑结构上定义的操作算法。例如,插入、删除、检索等。,逻辑结构和存储结构的关系:,是一个事物的两个方面,相辅相成,不可分割;,一种逻辑结构可以映射为多种存储结构。,算法与数据结构的关系:,算法由各种数据及其操作构成,算法构成依赖于数据结构;,算法设计和选择制约数据结构的确定;,对数据结构所能施加的操作需要相应的算法。,1.2程序设计方法,结构化程序设计,面向对象程序设计,函数式程序设计,事件驱动程序设计。,基本思想:,采用,“,自顶向下,逐步求精,”,的程序设计方法和,“,单入口单出口,”,的控制结构。,1.2.1 结构化程序设计,强调先考虑总体,再考虑细节。经过对问题的逐步细化,将问题分解为基本程序模块,从而将原来较为复杂的问题化简为一系列简单的模块。,任何复杂的程序都由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,从而形成一个单入口单出口的程序。,开发一个银行系统:,该系统能够对账户进行存款、取款和转账操作。,进行存款操作时,需要提供“账号”、“存款日期”、“存入金额”等参数信息。,进行取款操作时,需要,。,long accountID=Convert.ToInt64(Console.ReadLine();,double amount=Convert.ToDouble(Console.ReadLine();,DateTime date=DateTime.Today;,double balance=Acount.MakeDeposit(accountID,date,amount);,Console.WriteLine(你存入了0元,账户上现有余额1元,amount,balance);,有现金账户,还要有基金账户!,if(acountType=现金),else,还要有支票账户!,基本思想:,以人类的自然思维方式建立问题域模型。以抽象、封装、继承、多态等方式认识问题和解决问题。强调以现实世界中的客观事物为中心,而不是以功能为中心。用对象来描述现实世界中的客观事物,使得解空间与问题空间具有自然的对应关系,有利于对复杂问题给出解决方案。,1.2.2 面向对象程序设计,开发一个银行系统:,每个账户具有账号、账户类型、明细等,可以对账户进行存款、取款和转账操作,abstract class Account,protected long acountID;,protected double balance;,protected List items=null;,public double MakeDeposit();,public double WithDraw();,public double Transform();,有现金账户,还要有基金账户!,派生出CashAcount、ChequeAccount与FundAccount类,分别表示现金账户、支票账户和基金账户。,还要有支票账户!,围绕函数进行,计算过程体现为一系列的函数应用。,函数式程序由一些原始函数、定义函数和函数型组成的函数表达式。,1.2.3 函数式程序设计,LISP是一种最早的函数式程序设计语言,在人工智能领域应用较多。,编写一个函数,它能够生成累加器,即这个函数接受一个参数,n,,然后返回另一个函数(这个函数接受参数,i,,然后返回,n,加,i,的值),Lisp,的写法:,(defun foo(n)(lambda(i)(incf n i),Javascript,的写法:,function foo(n),return function(i)return n+=i,事件:,是一个对象能够识别的一个动作,比如鼠标事件、键盘事件等。,1.2.4 事件驱动程序设计,事件驱动程序设计主要应用在Windows应用程序上,Windows程序以一种非顺序的方式运行。运行后,就进入等待状态,等待事件的发生。一旦有事件发生,程序就被激活并运行相应的事件处理过程,1.3程序设计语言,1.3.1 语言分类,机器语言:,是用二进制代码表示的机器指令的集合,是计算机能够直接识别和执行的一种语言,是一种面向机器的语言。,内存占用少、直接执行和速度快;通用性较差,不易阅读和记忆,编程工作量大,难以维护。,10100000 00000001 00000000,00000010 00000110 00000010 00000000,10100010 00000011 00000000,11110100,1.3.1 语言分类,汇编语言:,用助记符表示的面向机器的计算机语言,MOV AL,X,ADD AL,Y,MOV SUM,AL,HLT,1.3.1 语言分类,高级语言:,与自然语言相近并为计算机所接受和执行的计算机语言,int sum;,sum=x+y;,翻译有两种方式:编译和解释。,编译是指将高级语言程序整个翻译成用机器语言表示的与之等价的机器语言程序,(,称为目标程序,),,然后再执行该目标程序,从而完成高级语言程序所要完成的任务;,解释是指对高级语言作逐句输入、逐句翻译,并逐句执行,当翻译完成时程序也执行完毕,这种翻译方式并不产生目标程序。,高级语言与汇编语言的比较:,如果要在高级语言中比较两个值,那么可以使用“,IF Quantity-A=Quantity-B”,。在汇编语言中,要将这两个量移到两个,CPU,寄存器中,然后进行比较,汇编语言没有类似于,while.do,、,repeat.Until,或,if.then.else,的指令。汇编语言提供了条件和非条件跳转指令,用于模拟与,if.then.else,类似的指令。,所以,从严格意义上讲,使用,汇编语言,编写一个结构化程序是不可能的。,1.3.2 主流程序设计语言,1.C#,语言,特色:,(1),完全面向对象:具有面向对象语言的一切特性,(2),简单易学:熟悉,C,、,C+,或,Java,即可掌握,C#,语言,(3),安全:避免使用指针;自动内存管理和垃圾回收;使用委托取代函数指针。,(4),跨平台:可以运行在不同操作系统上。,(5),跨语言:与任何支持,.NET,的语言互相交换信息,(6),强大的,Web,编程能力:,ASP.NET Web,应用程序,2.Java语言,特色:,(1),面向对象:是一种纯粹面向对象的编程语言。,(2),平台无关性:可以运行于不同的软硬件平台。,(3),分布式:支持,Internet,应用的开发。,(4),安全性:提供了一个安全机制以防恶意代码的攻击,以及程序的非法访问。,(5),键壮性:强类型机制、异常处理、垃圾收集、安全检查机制等可保证,Java,程序的健壮性。,3.C+语言,特色:,(1),完美地体现了面向对象的各种特性,如封装性、继承性、多态性等。,(2),生成的代码质量高,运行效率仅比汇编语言代码片段慢,10%20%,。,(3),保持与,C,语言兼容。,4.C语言,特色:,(1),简洁紧凑、灵活方便。,(2),数据类型丰富。,(3),运算符丰富。,(4),语法限制不严格,程序设计自由度大。,(5),可以直接对硬件进行操作。,(6),代码质量高,程序执行效率高。,1.4,程序开发环境,1.4.1 集成开发环境概览,工具箱,属性窗口,设计器,解决方案资源管理器,解决方案:,一个容器,用于包含多个项目。,项目:,一组源文件以及相关元数据的集合。,解决方案资源管理器:,是对解决方案所包含的项目和各种文件进行管理的工具。,通过解决方案资源管理器可以向解决方案中添加新项目、编辑已有项目,也可以向项目中添加新项或编辑已有项。,1.4.2 解决方案资源管理器,窗体设计器:可以以可视化的方式设计,Windows,应用程序和,Web,应用程序的界面,1.4.3 设计器窗口,用于容纳可用的控件,使用户在应用程序中方便快捷地使用这些控件。工具箱中的控件按照功能分门别类组织在一起。,1.4.4 工具箱,使用属性窗口可以编辑和查看文件、项目和解决方案的属性,也可以在设计时查看和修改设计器中被选中控件属性和事件。,1.4.5 属性窗口,是编写应用程序源代码的工具。,1.4.6 代码编辑器,
点击显示更多内容>>

最新DOC

最新PPT

最新RAR

收藏 下载该资源
网站客服QQ:3392350380
装配图网版权所有
苏ICP备12009002号-6