版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
会计学1程序设计基础知识1.1程序设计第1页/共40页利用计算机解决问题使用程序设计语言将问题的求解过程描述成计算机能够识别的方式——程序程序设计先从问题描述开始,经过分析问题确定解决方案、设计解决问题的算法、依据算法编写程序、测试、运行维护等一系列过程,最终得到解决问题的计算机程序整个过程第2页/共40页(1)分析问题明确要解决什么问题
(2)设计算法数据结构和算法
(3)编写程序将算法用程序设计语言描述出来
(4)调试运行语法错误、语义错误、异常
1.1.1程序设计步骤第3页/共40页算法就是解决问题所需的操作步骤的集合。1.1.2算法求最大数的算法:(1)将第1个数赋值给max;(2)初始化计数变量i为1;(3)i<n时,重复执行以下操作,否则转到第(4)步:◆ 比较a[i]与max,若a[i]大于max,则将a[i]赋值给max;◆ i自增1;(4)返回max的值。第4页/共40页1.1.3数据结构数据:用来描述现实世界的数字、字符、图像、声音以及能够输入到计算机中,并能被计算机处理的符号集合。例如,整数、图书馆中书目。数据元素:数据集合中的个体,是数据的基本单位数据项:一个数据元素可以由若干个数据项组成。数据项是数据不可分割的最小标识单位。数据对象:具有相同性质的数据元素的集合,是数据的一个子集。第5页/共40页数据结构:相互之间存在一种或多种特定关系的数据元素的集合。数据的逻辑结构:数据元素之间存在的固有的逻辑关系。常简称为数据结构。(1)集合(2)线性结构(3)树形结构(4)图状结构第6页/共40页(1)集合:结构中的数据元素之间除了“同属于一个集合”的关系以外,没有其它关系。草原中的草第7页/共40页(2)线性结构:结构中的数据元素之间存在“一对一”的关系。第8页/共40页(3)树形结构:结构中的数据元素之间存在“一对多”的关系。第9页/共40页(4)图状结构:结构中的数据元素之间存在“多对多”的关系。第10页/共40页数据的存储结构:数据元素及其关系在计算机内的表示(1)顺序存储结构:把逻辑上相邻的数据元素存储在物理位置也相邻的存储单元中,借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。(2)链式存储结构:用指针或引用表达数据元素之间的逻辑关系。(3)索引存储结构:在存储数据元素的同时,还建立附加的索引表。通过索引表,可以找到存储数据元素的节点(4)散列存储结构:根据散列函数和处理冲突的方法确定数据元素的存储位置。第11页/共40页数据的操作:在数据的逻辑结构上定义的操作算法。例如,插入、删除、检索等。逻辑结构和存储结构的关系:是一个事物的两个方面,相辅相成,不可分割;一种逻辑结构可以映射为多种存储结构。算法与数据结构的关系:算法由各种数据及其操作构成,算法构成依赖于数据结构;算法设计和选择制约数据结构的确定;对数据结构所能施加的操作需要相应的算法。第12页/共40页1.2程序设计方法结构化程序设计面向对象程序设计函数式程序设计事件驱动程序设计。第13页/共40页基本思想:采用“自顶向下,逐步求精”的程序设计方法和“单入口单出口”的控制结构。1.2.1结构化程序设计强调先考虑总体,再考虑细节。经过对问题的逐步细化,将问题分解为基本程序模块,从而将原来较为复杂的问题化简为一系列简单的模块。任何复杂的程序都由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,从而形成一个单入口单出口的程序。第14页/共40页开发一个银行系统:该系统能够对账户进行存款、取款和转账操作。进行存款操作时,需要提供“账号”、“存款日期”、“存入金额”等参数信息。进行取款操作时,需要……。longaccountID=Convert.ToInt64(Console.ReadLine());doubleamount=Convert.ToDouble(Console.ReadLine());DateTimedate=DateTime.Today;doublebalance=Acount.MakeDeposit(accountID,date,amount);Console.WriteLine("你存入了{0}元,账户上现有余额{1}元",amount,balance);第15页/共40页有现金账户还要有基金账户!!if(acountType=="现金")…else…还要有支票账户!!第16页/共40页基本思想:以人类的自然思维方式建立问题域模型。以抽象、封装、继承、多态等方式认识问题和解决问题。强调以现实世界中的客观事物为中心,而不是以功能为中心。用对象来描述现实世界中的客观事物,使得解空间与问题空间具有自然的对应关系,有利于对复杂问题给出解决方案。1.2.2面向对象程序设计第17页/共40页开发一个银行系统:每个账户具有账号、账户类型、明细等,可以对账户进行存款、取款和转账操作abstractclassAccount{protectedlongacountID;protecteddoublebalance;protectedList<Item>items=null;publicdoubleMakeDeposit();publicdoubleWithDraw();publicdoubleTransform();}第18页/共40页有现金账户还要有基金账户!!派生出CashAcount、ChequeAccount与FundAccount类,分别表示现金账户、支票账户和基金账户。还要有支票账户!!第19页/共40页围绕函数进行,计算过程体现为一系列的函数应用。函数式程序由一些原始函数、定义函数和函数型组成的函数表达式。1.2.3函数式程序设计LISP是一种最早的函数式程序设计语言,在人工智能领域应用较多。第20页/共40页编写一个函数,它能够生成累加器,即这个函数接受一个参数n,然后返回另一个函数(这个函数接受参数i,然后返回n加i的值)Lisp的写法:
(defunfoo(n)(lambda(i)(incfni)))Javascript的写法:
functionfoo(n){returnfunction(i){returnn+=i}}第21页/共40页事件:是一个对象能够识别的一个动作,比如鼠标事件、键盘事件等。1.2.4事件驱动程序设计事件驱动程序设计主要应用在Windows应用程序上Windows程序以一种非顺序的方式运行。运行后,就进入等待状态,等待事件的发生。一旦有事件发生,程序就被激活并运行相应的事件处理过程第22页/共40页1.3程序设计语言第23页/共40页1.3.1语言分类机器语言:是用二进制代码表示的机器指令的集合,是计算机能够直接识别和执行的一种语言,是一种面向机器的语言。内存占用少、直接执行和速度快;通用性较差,不易阅读和记忆,编程工作量大,难以维护。101000000000000100000000 00000010000001100000001000000000 10100010000000110000000011110100 第24页/共40页1.3.1语言分类汇编语言:用助记符表示的面向机器的计算机语言MOVAL,X ADDAL,Y MOVSUM,ALHLT
第25页/共40页1.3.1语言分类高级语言:与自然语言相近并为计算机所接受和执行的计算机语言intsum;sum=x+y;
第26页/共40页翻译有两种方式:编译和解释。编译是指将高级语言程序整个翻译成用机器语言表示的与之等价的机器语言程序(称为目标程序),然后再执行该目标程序,从而完成高级语言程序所要完成的任务;解释是指对高级语言作逐句输入、逐句翻译,并逐句执行,当翻译完成时程序也执行完毕,这种翻译方式并不产生目标程序。第27页/共40页高级语言与汇编语言的比较:如果要在高级语言中比较两个值,那么可以使用“IFQuantity-A=Quantity-B”。在汇编语言中,要将这两个量移到两个CPU寄存器中,然后进行比较汇编语言没有类似于"while...do"、"repeat...Until"或"if...then...else"的指令。汇编语言提供了条件和非条件跳转指令,用于模拟与"if...then...else"类似的指令。所以,从严格意义上讲,使用汇编语言编写一个结构化程序是不可能的。第28页/共40页1.3.2主流程序设计语言1.C#语言特色:(1)完全面向对象:具有面向对象语言的一切特性(2)简单易学:熟悉C、C++或Java即可掌握C#语言(3)安全:避免使用指针;自动内存管理和垃圾回收;使用委托取代函数指针。(4)跨平台:可以运行在不同操作系统上。(5)跨语言:与任何支持.NET的语言互相交换信息(6)强大的Web编程能力:ASP.NETWeb应用程序第29页/共40页2.Java语言特色:(1)面向对象:是一种纯粹面向对象的编程语言。(2)平台无关性:可以运行于不同的软硬件平台。(3)分布式:支持Internet应用的开发。(4)安全性:提供了一个安全机制以防恶意代码的攻击,以及程序的非法访问。(5)键壮性:强类型机制、异常处理、垃圾收集、安全检查机制等可保证Java程序的健壮性。第30页/共40页3.C++语言特色:(1)完美地体现了面向对象的各种特性,如封装性、继承性、多态性等。(2)生成的代码质量高,运行效率仅比汇编语言代码片段慢10%~20%。(3)保持与C语言兼容。第31页/共40页4.C语言特色:(1)简洁紧凑、灵活方便。(2)数据类型丰富。(3)运算符丰富。(4)语法限制不严格,程序设计自由度大。(5)可以直接对硬件进行操作。(6)代码质量高,程序执行效率高。第32页/共40页1.4程序开发环境第33页/共40页1.4.1集成开发环境概览工具箱属性窗口设计器解决方案资源管理器第34页/共40页解决方案:一个容器,用于包含多个项目。项目:一组源文件以及相关元数据的集合。解决方案资源管理器:是对解决方案所包含的项目和各种文件进行管理的工具。通过解决方案资源管理器可
以向解决方案中添加新项目
、编辑已有项目,也可以向
项目中添加新项或编辑已有
项。1.4.2解决方案资源管理器第35页/共40页窗体设计器:可以以可视化的方式设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖北美思创药业招聘备考题库及答案详解一套
- 中山市博爱医院2026年人才招聘49人备考题库完整参考答案详解
- 2026年中国葛洲坝集团第一工程有限公司公开招聘备考题库及答案详解参考
- 2025年宣威市格宜镇公开招聘村级卫生室乡村医生备考题库及答案详解参考
- 2026年苏州工业园区胜浦实验小学教学辅助人员招聘备考题库有答案详解
- 2026年无锡市惠山区教育局招聘高层次人才12人备考题库(长期)完整答案详解
- 杭州市余杭区金成外国语小学2026年教师招聘备考题库含答案详解
- 河北省胸科医院2025年第二次公开招聘工作人员备考题库及答案详解(考点梳理)
- 宜宾市妇幼保健院2025年第二次招聘编外人员的备考题库带答案详解
- 2026年常山县人民检察院公开招聘1名编外人员备考题库及答案详解一套
- 职业卫生应急预案
- DB14∕T 1049.2-2021 《山西省用水定额第2部分:工业用水定额》
- 医院窗口服务8S管理规范
- 患者突发昏迷的应急预案演练脚本
- 高速辅警管理办法
- DB32∕T 4787-2024 城镇户外广告和店招标牌设施设置技术标准
- 学校vr室管理制度
- DBJ51T193-2022四川省金属与石材幕墙工程技术标准
- 家庭教育3000字论文范文
- 五小车辆安全教育
- 2025年江苏省南通市中考英语适应性试卷(A卷)
评论
0/150
提交评论