《程序设计初步PPT.ppt》由会员分享,可在线阅读,更多相关《程序设计初步PPT.ppt(19页珍藏版)》请在优知文库上搜索。
1、第一章第一章 程序和程序设计语言程序和程序设计语言 计算机是如何实现信息的自动处理呢?计算机是如何实现信息的自动处理呢? 首先首先,将我们要完成的任务通过一系列的指令去描述将我们要完成的任务通过一系列的指令去描述,这这一指令组称为一指令组称为程序程序.然后然后,将完成任务所需的数据和程序将完成任务所需的数据和程序输入输入到计算机到计算机,再由计算机根据程序中的指令自动对数据进行处再由计算机根据程序中的指令自动对数据进行处理理,得出得出结果结果.数数据据程程序序输入设备输入设备输出设备输出设备存储器存储器运算器运算器控制器控制器计算机计算机结结果果计算机进行信息处理的过程如下:计算机进行信息处理
2、的过程如下: 用户输入程序与数据用户输入程序与数据 计算机根据程序自动处理数据计算机根据程序自动处理数据输出结果数据输出结果数据 简单地说就是:输入简单地说就是:输入 处理处理 输出输出 1、如果你遇到一个需要计算机解决的问题而又没有合适的软件,、如果你遇到一个需要计算机解决的问题而又没有合适的软件,这时就需要根据任务设计相应的软件,这就要学习程序设计。这时就需要根据任务设计相应的软件,这就要学习程序设计。 2、如果你希望成为一个计算机的专业人才,为人们设计所需、如果你希望成为一个计算机的专业人才,为人们设计所需的软件,也发必须学习程序设计。的软件,也发必须学习程序设计。 3、通过学习程序设计
3、,可以提高我们分析问题的能力,培养、通过学习程序设计,可以提高我们分析问题的能力,培养严谨的思维习惯。严谨的思维习惯。 4、目前,软件业已成为世界上最大的产业之一,其中最缺乏、目前,软件业已成为世界上最大的产业之一,其中最缺乏的人才主要是软件设计人员。因此,学好程序设计,有助于为今后的人才主要是软件设计人员。因此,学好程序设计,有助于为今后的工作打下一良好的基础,有助于我们成为新时代有竞争能力的软的工作打下一良好的基础,有助于我们成为新时代有竞争能力的软件人才,有助于我们为祖国做出更大的贡献。件人才,有助于我们为祖国做出更大的贡献。二、为什么要学习程序设计二、为什么要学习程序设计二、程序设计语
4、言二、程序设计语言 如何进行程序设计呢?如何进行程序设计呢? (1)首先要对问题进行需求分析;)首先要对问题进行需求分析; (2)然后为问题设计一个正确的解题方法和步骤;)然后为问题设计一个正确的解题方法和步骤; (3)最后通过一种计算机可以理解并接受的语言描述完成操作所)最后通过一种计算机可以理解并接受的语言描述完成操作所需的步骤。这种语言我们称之为程序设计语言。需的步骤。这种语言我们称之为程序设计语言。人与人的交流通过人人与人的交流通过人的自然语言的自然语言人与计算机交人与计算机交流通过人设计流通过人设计的计算机语言的计算机语言关于计算机语言关于计算机语言w 第一代:第一代:机器语言机器语
5、言。完全由二进制的。完全由二进制的“0”,“1”组成的一些数字信组成的一些数字信息,只有计算机专业人员才能掌握它的编写规则,但计算机可以非息,只有计算机专业人员才能掌握它的编写规则,但计算机可以非常方便的读懂;常方便的读懂;w 第二代:第二代:汇编语言汇编语言。这种语言增加了一些容易记忆的英文缩写来表。这种语言增加了一些容易记忆的英文缩写来表示命令,它编制出来的程序计算机无法直接读懂,必须翻译成计算示命令,它编制出来的程序计算机无法直接读懂,必须翻译成计算机语言。虽然比机器语言容易掌握,仍需要大量的计算机知识;机语言。虽然比机器语言容易掌握,仍需要大量的计算机知识;w 第三代:第三代:高级语言
6、高级语言。高级语言是使用一些简单的英文单词。高级语言是使用一些简单的英文单词(或缩写符或缩写符号号)、号子和数学式子来描述命令。这些语言的编程规则比较接近人、号子和数学式子来描述命令。这些语言的编程规则比较接近人的自然思考规则,所以比较容易被一般人掌握,也需要翻译为机器的自然思考规则,所以比较容易被一般人掌握,也需要翻译为机器语言。常用的高级语言如:语言。常用的高级语言如:BASIC,C,FORTRAN,LISP,PROLOG,PASCAL,COBOL etc.计算机解题的一般过程计算机解题的一般过程用高级语言用高级语言编写程序编写程序翻翻 译译 成成机器语言机器语言执行程序执行程序源程序源程
7、序目标程序目标程序输出结果输出结果提出问题提出问题编写程序编写程序确定处理确定处理方案方案确定操作确定操作步骤步骤调试和运行调试和运行程序程序输出整理输出整理结果结果算法设算法设计计一、问题的算法表示一、问题的算法表示第二节第二节 算法和程序算法和程序w 解决一个问题要采取的步骤就是算法算法。几个算法的例子:?烧水喝:烧水烧水喝:烧水沏茶沏茶喝水喝水?一套太极拳的打法一套太极拳的打法有的算法目前计算机可以实现,有的则不能!有的算法目前计算机可以实现,有的则不能!一、问题的算法表示一、问题的算法表示第二节第二节 算法和程序算法和程序w 自然语言表示算法;w 用传统流程图表示算法等.w 用计算机语
8、言描述算法.第二节第二节 算法和程序算法和程序二、用自然语言描述算二、用自然语言描述算法法任务一任务一 输入圆的半径输入圆的半径,输出圆的面积输出圆的面积用自然语言描述算法如下用自然语言描述算法如下:(1)pi3.1415926; (2)输入输入r的值的值;(1)输入圆的半径输入圆的半径;(2)利用公式利用公式“圆的面积圆的面积=圆周率圆周率(圆的半径的平方)(圆的半径的平方)”计算圆的计算圆的面积;面积;(3)输出圆的面积。)输出圆的面积。注注:和数学一样和数学一样,为了能简明地描述算法为了能简明地描述算法,通常引入一些适当的通常引入一些适当的变量变量来来描述问题所涉及的数据描述问题所涉及的
9、数据.这里这里,以以R表示圆的半径表示圆的半径,以以S表示圆的面积表示圆的面积,以以PI表示圆周率表示圆周率,它是一个它是一个常数常数,值约为值约为3.1415926.则算法描述如下则算法描述如下:(3)S pir r; (4)输出输出S的值的值. 任务二任务二 设计房租收费程序设计房租收费程序,其要求是其要求是:住房面积住房面积80平方米以平方米以 内含内含80平方米平方米),每平方米收费每平方米收费3元元,住房面积超过住房面积超过80平方米时平方米时,超过部分超过部分,每平方米收费每平方米收费5元元.输入住房面积数输入住房面积数,输输出应付的房租出应付的房租. 用用S表示房面积数表示房面积
10、数,以以m表示应付的房租表示应付的房租,算法如下算法如下:任务三任务三 求和求和:1+2+3+100 算法一:算法一:(1)输入输入S的值的值;(2)如果如果“S=80”则则“mS3”,否则否则“m803+(S-80)5”;(3)输出输出m的值的值.(1)首数)首数1,尾数,尾数100,项数,项数100;(2)利用公式)利用公式“总和总和=(首数首数+尾数)尾数)项数项数/2”求和;求和;(3)输出求和结果。)输出求和结果。引入适当的变量引入适当的变量,可描述为可描述为:算法二:算法二:引入引入SUM为累加变量,为累加变量,I表示累加数据,可描述为:表示累加数据,可描述为:(1)T1,B100
11、,N100; (2)SUM(T+B)N/2;(3)输出)输出SUM(1)从从1开始将自然数开始将自然数1、2、 3、100逐个相加逐个相加;(2)输出累加结果。)输出累加结果。(1)SUM0(2)I0;(3)当)当“I100”时反复执行下列操作:时反复执行下列操作: 可以看出,算法具有多样性,同一问题可以有多种不同的可以看出,算法具有多样性,同一问题可以有多种不同的算法。算法。 II+1;SUMSUM+I;(4)输出)输出SUM 如果要计算如果要计算1到到50的平方和的平方和,算法一是否仍适算法一是否仍适用用?算法二应如何修改算法二应如何修改?探究探究 答案答案:算法一不适用算法一不适用. 算
12、法二应改成算法二应改成: (1)从从1开始将自然数开始将自然数1的平方、的平方、2的平方、的平方、 3的平方、的平方、 50的平方逐个相加;的平方逐个相加; (2)输出累加结果。)输出累加结果。 引入引入SUM为累加变量,为累加变量,I表示累加数据,可描述为:表示累加数据,可描述为: (1)SUM0 (2)i0; (3)当)当“i100”时反复执行下列操作:时反复执行下列操作: iI+1;SUMSUM+ii; (4)输出)输出SUM。起止框起止框一般处理框一般处理框判断框判断框流流程程线线输入输出框输入输出框开始Spirr输出输出s结束结束Pi3.1415926任务一的算法用流程图描述如图所示
13、任务一的算法用流程图描述如图所示:输入输入r优点:直观形象,优点:直观形象,流程清晰,各种操流程清晰,各种操作一目了然,不易作一目了然,不易产生歧义;产生歧义; 缺点:流程图占面缺点:流程图占面积大,由于允许使积大,由于允许使用流程线,使流程用流程线,使流程任意转移,容易使任意转移,容易使人弄不清流程的思人弄不清流程的思路。路。任务二的算法用流程图描述如图所示任务二的算法用流程图描述如图所示:是是mS3输出输出m否否S=80终止终止开始开始输入输入Sm803+(S-80)5开始开始T=1,B=100,N=100Sum=(T+B)N/2输出输出SUM结束结束任务三的算法用流程图描述如图所示任务三
14、的算法用流程图描述如图所示:SUM=0;i=0是是I100否否终止终止开始开始输出输出SUM任务三的算法用流程图描述如图所示任务三的算法用流程图描述如图所示:i=i+1;SUM=SUM+i变量变量:就是处理过程中可取不同的量就是处理过程中可取不同的量.变量名就是对应单元符号地址变量名就是对应单元符号地址,变量的值就是单元中存贮的内容变量的值就是单元中存贮的内容.命名的规则命名的规则:1、变量名由大写字母和数字组成,首字符中必须、变量名由大写字母和数字组成,首字符中必须 是字母;是字母;2、变量名的字符数最多可达、变量名的字符数最多可达238个,但计算机只能区分前两个字符。个,但计算机只能区分前
15、两个字符。3、不能用专用词(保留字)作变量名。、不能用专用词(保留字)作变量名。4、不允许希腊字母作为变量名或其中的一部分。、不允许希腊字母作为变量名或其中的一部分。常量(1)常量是指其值不发生变化的量。常量是指其值不发生变化的量。 (2)常量有两种类型:数值型常量和字符串型常量。)常量有两种类型:数值型常量和字符串型常量。 (3) 字符串型常量就是用双引号字符串型常量就是用双引号“ ”括起来的一串字符(字括起来的一串字符(字母、母、 数字等)。例如;数字等)。例如;“123”作为特定事物的代名词。作为特定事物的代名词。 (4)字符串长度不得超过)字符串长度不得超过255个字符,两个双引号之间没有任个字符,两个双引号之间没有任 何字符(空格也没有)的串,称为空串。空串的长度为何字符(空格也没有)的串,称为空串。空串的长度为0。