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