资源描述
C+,面向对象程序设计 第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,编程基础介绍,C+,面向对象程序设计课件下载,-,样章,.ppt,本章知识要点,计算机的组成,计算机的工作模式,程序、编程语言、编译器,算法和流程图,存储器、变量,结构化程序设计,实现模块化编程,1,计算机是如何工作的,计算机的组成,计算机硬件系统由,3,种类型的组件组成,:,(1),输入设备:将数据输入到计算机中。,(2),中央处理器,(,CPU,):,负责处理数据。,(3),输出设备:显示或记录最终结果,。,计算机的工作模式,背景:,以宽带数据公司的客户服务管理系统为例,当想要得到某一个客户的详细资料时,可以键入客户代码到计算机中,计算机进行相应的处理后,在屏幕上会显示出有关该客户的详细信息。,计算机的工作模式,为了理解在把客户代码键入到计算机时所发生的事,可以把整个的活动分成三个步骤:,1),输入:把客户代码键入计算机系统。,2),处理:计算机处理此客户代码信息,检查是否有此客户存在。,3),输出:结果显示在计算机屏幕上,列出客户的详细资料。,(学生管理系统:学号 学生信息),程序,任何计算机系统都有两个重要组成部分,硬件和软件。,硬件是计算机的设备装置,对计算机而言,更重要的是指令(软件)。,告诉计算机怎么做的指令集合称为软件,或者是程序。,可以说程序是计算机的灵魂,离开了计算机程序,计算机将一事无成。(思维 行动),设计程序并不依赖于对计算机的非常复杂结构知识的了解。,编程语言,大体上,程序设计语言分为以下几类:,(1),机器语言,(2),汇编语言,(3),高级语言,编程语言,从对客观系统的描述角度,可以将高级语言分为以下两类:,(1),面向过程语言(例:,C,语言、,Pascal,、,FORTRAN,),数据结构,+,算法,(2),面向对象语言(例:,Delphi,、,Visual Basic,、,Java,、,C+,、,C#,),对象,+,消息,编译器,编译器是一个特殊的程序,它处理用一种特定的编程语言编写的程序,并将其转换成机器语言。,输入高级语言 输出机器语言,编译过程,对于每种编程语言,都有不同的编译器。,转换处理,2,算法和流程图,算法,算法是一套完成某一任务或解决某一问题的规则或指令。,算法是一系列承上启下的指令,其中每个后续的步骤是由上一步骤的结果来决定的。,算法,下面是计算机查询客户资料的算法描述:,1,)接收客户代码。,2,)检查此客户是否存在。,3,)如果客户存在,则显示此客户的详细信息(客户姓名、性别、地址、电话、邮箱、身份证号码),否则停止。,对于计算机编程来说,算法常常是使用被称为流程图的框图来设计的。,流程图,流程图是一种图形化工具,使用流程图将使得逻辑的沟通和表达变得更容易。,流程图是算法的图形表示形式。,流程图包含一系列符号。每个符号表示算法中描述的一个特定活动。,流程图中常用的符号表示如下:,起止,I/O,判定,处理,连接,预定义处理,条件符号,换页连接,如何画一个流程图,制作咖啡的流程图之一:,加入水、咖啡粉、糖和牛奶,煮沸混合物,咖啡准备好了,开始,结束,制作咖啡的流程图之二:,煮沸混合物,结束,加入糖,加入牛奶,搅拌混合物,咖啡准备好,加入水和咖啡粉,开始,计算一个数平方的流程图:,Start,Input a number,Compute square,Stop,Print the result,存储器,存储分为两类,:,1,),内部存储器:临时和不稳定,2,),外部存储器:永久存储,在程序运行之前,必须将程序的指令装入内存中。,如果需要多次使用一个程序,那么需要在一些稳定的介质(外存储器)上将程序保存下来。,命名和使用变量,计算机内存由数百万个存储数据的可编址存储单元组成。,程序一般通过变量来引用内存单元。,一个变量对应一个内存单元,内存单元的内容在程序运行期间是可以改变的。,每个编程语言都有自己的变量命名规则。,常量就像一个变量一样对应内存的一个单元,不同的是,在程序中,常量是不会改变的。,数据类型,计算机可以处理两种基本数据类型:,1,)数值型,数值常量和数值变量,2,)字符型,字符常量和字符变量,单元练习,1.,为以下的动词选择流程图中对应的符号,:,Get,Write,Stop,Add,Start,Multiply,Read,Subtract,Divide,Display,Input,Output,If.,2.,以正确的顺序重新排列下面给出的步骤并画出对应的流程图,实现将一个数加,5,以后的结果进行输出。,1),得到一个数,(Get a number),2),显示结果,(Display the result),3),结束,(Stop),4),将数加,5(Add 5 to the number),5),开始,(Start),3.,识别以下情形中变量和常量:报刊亭每天卖出的报纸数目是不同的,卖出一份报纸的利润是人民币¥,0.2,,不管卖出多少份报纸,报刊亭每月的租金都是人民币¥,300,。,变量:,常量:,4.,假设,myAge,和,salePrice,是数值变量,,employeeCode,是字符变量,下列语句哪些是非法的语句,为什么?,1),myAge,=20,2),myAge,=,“,salePrice,”,3),myAge,=,salePrice,4),salePrice,=,employeeCode,5),myAge,=,“,15,”,6)12=,myAge,7),employeeCode,=100,8),employeeCode,=,myAge,9)“211”=,employeeCode,10),employeeCode,=,“,123,”,5.,画一流程图,接受物品名称、单价和数量。需要按单价和数量的乘积来计算总价,并使用变量显示计算的总价和物品名称,。,3,结构化程序设计,顺序,结构,使用顺序结构,程序可以依次执行每一个动作。,A,B,选择结构,现实生活中的大多数问题需要根据条件做出选择。,运用选择结构,程序将根据条件选择两者之一的动作执行,。,下图分别表示:二元选择和一元选择,Question,B,A,Question,A,Yes,No,Yes,No,例如:某公司员工的基本工作量是每周,40,小时,薪金是每小时,50,元,每周工作超过,40,小时认为是超工作量,对于超工作量公司将支付,2,倍的酬劳(即平时每小时工作酬劳的,2,倍)。下图的流程图片段表明这个分支结构。,hoursWorked,40?,totalPay,=,hoursWorked,*50,totalPay,=40*50+,(hoursWored-40),*2*50,True,False,如果员工有缺席现象,则每周总的薪水将减少,100,元。若员工全勤,则不执行此过程。,absence=Y?,totalPay,=totalPay-100,No,Yes,计算一个正数的平方,的流程图,calculatedAnswer,=,inputNumber,*,inputNumber,Start,Input,inputNumber,Output,calculatedAnswer,Stop,InputNumber,0?,True,False,比较两个数,输出较小数的流程图,Start,Input nNum1,Stop,Input nNum2,nNum1=nNum2?,nNum1nNum2?,Display,“The numbers are equal”,Display,nNum1,Display,nNum2,True,False,True,False,循环结构,计算机的一个重要特性就是能够重复地执行一串指令。,循环是一种周而复始的逻辑结构。它使一系列的步骤不断重复。,有两类循环:固定的循环(循环次数已知)和可变的循环(循环次数未知),Question,A,True,False,例子:已知公司某个员工的月收入,计算他的年收入。在这个过程中有些事件是被重复执行的,为了求解此问题,可以使用循环的概念。,Start,Stop,Input,monthPay,counter=0,yearPay,=0,yearPay,=,yearPay+monthPay,counter=counter+1,counter90?,score60?,Display“Good”,Display“Ok”,Display“Reject”,No,Yes,No,2.,画出流程图:接收,100,个数,并且分别显示其中奇数和偶数的个数。,3.,学生档案包含,ID,号、,LastName,和,FirstName,、,专业。创建一个能够列出所有计算机专业学生的,ID,号及姓名的程序流程图。,4.,设计一个流程图,其表示的程序能输入,NAME,和,COST,,,打印价格大于¥,1000,的每种货品的名称及价格大于¥,1000,的货物的平均价格。,4,模块化编程思想,模块,程序员将一个程序分解成许多合理的单元,然后再组合成一个完整的程序。这些合理的单元成为模块,有时也称子程序、过程、函数或者方法。,模块化编程的思想是将一个大的应用程序分解为很多小模块。,主程序可以调用每个模块,在子模块中又可以调用其他的模块。,在某一特定模块执行结束后,控制转回到调用处的下一条指令。,模块化的优点,模块化程序更有助于程序员理解程序逻辑结构,让程序设计者把注意力集中在改善整体性能上。,模块化的一个好处在于支持并行工作。,使用模块化的思想编写程序的另一个好处是支持软件重用。,模块化设计,使用模块化的思想设计的流程图叫模块化流程图。,模块化流程图包含,控制模块(或主模块),和一系列子模块。,控制模块,描述程序的总体结构并包含程序的,Start,和,Stop,终止符。,每个子模块较为详细地描述了由条状过程符号指明的过程。,例如,要接收两个数并显示它们的平均值。,Stop,Start,Input num1,num2,avg,Average,Print,avg,Average,avg,=(num1+,num2)/2,Return,单元练习,1.,打印前,10,个奇数乘积的流程图。,2.,一个班级有,50,名学生。每位学生参加,5,门考试。每门考试的总分是,100,分。计算并显示每位学生的平均分数。,提示:创建一个计算平均分数的模块。,
展开阅读全文