[从业资格考试]第1章 程序设计概述.ppt

上传人:sccc 文档编号:4604193 上传时间:2023-04-30 格式:PPT 页数:41 大小:322KB
返回 下载 相关 举报
[从业资格考试]第1章 程序设计概述.ppt_第1页
第1页 / 共41页
[从业资格考试]第1章 程序设计概述.ppt_第2页
第2页 / 共41页
[从业资格考试]第1章 程序设计概述.ppt_第3页
第3页 / 共41页
[从业资格考试]第1章 程序设计概述.ppt_第4页
第4页 / 共41页
[从业资格考试]第1章 程序设计概述.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《[从业资格考试]第1章 程序设计概述.ppt》由会员分享,可在线阅读,更多相关《[从业资格考试]第1章 程序设计概述.ppt(41页珍藏版)》请在三一办公上搜索。

1、本章教学内容和要求(4学时)1.1 计算机系统 1.2 问题求解1.3 算法和基本程序结构 1.4 程序和程序设计语言1.5 程序设计方法方法 1946年,美国研制成功了第一台计算机 ENIAC,至今仅50多年的历史。计算机发展速度迅猛,其应用已渗入到社会的各个领域。但是,二进制和“存储程序”思想一直应用到现今。,第1章 程序设计概述,应用计算机求解问题,首先必须设计程序并存入计算机,它才能快速准确地提供预期的信息。程序设计是一个复杂的过程。本章简单介绍程序设计方面的一些基本概念,包括计算机系统,应用计算机求解问题的过程,算法和三种基本程序结构,程序设计语言和程序设计方法。,结束,本章的内存特

2、性,以及算法和三种基本程序结构,要达到“理解”、“熟练掌握”程度。其余内容只要求“了解”和“掌握”。,1.1 计算机系统,1.1.1 硬件系统的组成 一台计算机一般有四大功能部件:中央处理器CPU,存储器,输入设备和输出设备。图1.1是计算机的基本组成部件。,控制器,运算器,存储器,外存储器,输入设备,输出设备,CPU,主机,图1.1 计算机的基本组成部件,程序和数据,程序和数据,存储器 学习高级程序设计语言不需要具备很多计算机硬件知识。但是,对内存储器的特性应有较深理解,并能在高级程序设计语言中灵活运用。内存储器是计算机的记忆设备,存储程序和数据。它常常涉及到以下术语:,位(bit)存储一个

3、二进制代码0或1的最小单元称为位,简写为b。,字节(byte)连续的8个位组成的存储单元称为字节,简写为B。,字(word)连续多个字节组成的存储单元称为字。,以十六位机为例,并设有一存储单元存储一个十进制整数515。图1.2显示了这三个术语的含义和相互关系。,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,位,字,字节,字节,地址和值存储单元的编号称为该存储单元的地址。它可以字节或字编号。内存储器的单元很多,一般以字节计算;1K=1024B,1M=10241024B。目前,标准的内存配置为128MB或256MB。存储单元中的内容称该存储单元的值。要严格区分存储单元的地址和存储

4、单元的值概念,例如,图1.2 存储单元的值是整数515。,图1.2 位、字节和字,存储单元 在计算机内存储器中存储的数据是严格区分数据类型的。在高级程序设计语言中,数据总是与该语言已定义的数据类型或用户定义的数据类型相联系的。随数据类型不同,该数据占用内存的字节数也是不同的。以后把存放任何数据类型的内存空间,简单用一个矩形表示存储单元,如图1.3所示。,下面以存放整型数据的存储单元n为例,讨论存数和取数的特点,图1.4。,图 1.4 存数和取数,?,3,10,10,10,n,n,n,n,n,开辟一个n存储单元,其值不确定,n不能参加运算,向n存储单元存3,n的值修改为3,向n存储单元存10,n

5、的值修改为10,从n存储单元取数,取出的值是10,再从n存储单元取数,取出的值还是10,1.1.2 软件系统的组成,软件使人们不必过多地去了解计算机本身结构与原理,就能方便灵活使用计算机。也就是说,软件在用户和计算机之间架起了一座桥梁。按软件功能划分,软件可分为系统软件和应用软件两大类。系统软件包括操作系统、语言处理系统、数据库管理系统、支撑工具等。其中操作系统是计算机所有系统软件的核心。应用软件包括各种各样用途的应用软件包和用户程序。,结束,1.2 问题求解,应用计算机求解问题是一个复杂的过程,包括问题分析,建立数据模型,设计算法,编程,调试和测试,整理文挡等。学习程序设计,要按这个步骤一步

6、一步地解决问题。掌握和学会问题求解方法,是学习程序设计语言的重点,也是最大难点。它将贯穿于教学的整个过程,渗透到各个教学环节。问题求解过程如图1.5所示。,问题分析,建立数据模型,设计算法,编程,调试和测试,整理文挡,图1.5 问题求解,结束,一个C程序包含两方面描述:对数据描述和对操作描述。数据描述是指程序中数据的数据类型和数据组织形式,称为数据结构(date structure)。操作描述是指问题求解方法和步骤,称为算法(algorithm)。编程前必须先分析问题,建立数据模型,设计算法,然后才能进行编程。没有正确的算法,编不出正确的程序。算法可采用多种方法表示,如用自然语言、流程图、伪代

7、码等。本节介绍三种基本程序结构,并以一种结构和一个例题方式,用自然语言和流程图两种方法描述算法。,1.3 算法和三种基本程序结构,1.3.1 流程图 流程图是采用图形符号、数学语言和自然语言结合的方法表示算法。常用的图形符号如图1.6所示。,图1.6 图形符号,算法可用顺序结构、选择结构和重复结构等三种基本程序结构描述。C语言是结构化程序设计语言,具有与这三种基本程序结构相对应的语句。,A,起止框,输入输出框,处理框,判断框,FOR框,函数框,流程线,连接点,1.3.2 顺序结构,顺序结构是一种最简单的结构。它以图1.7中的步骤顺序执行,即先执行A,再执行B。在C语言中对应的语句是表达式语句和

8、函数语句。,A,B,入口,出口,图1.7 顺序结构,例1.1 描述交换a和b两整数的算法。交换a和b两整数就像交换一杯白酒和一杯红酒一样。用自然语言和流程图(图1.8)两种方法描述如下:第一步 读入数据存入a,b。第二步 交换a,b。实现交换,见图1.8。第三步 输出a,b。,图1.8 例1.1流程图,1.3.3 选择结构,选择结构是判断条件p(表达式值)是否成立来选定执行一种操作或一组操作的结构。它有一选一、二选一、多选一等三种基本形式。,1一选一选择结构 图1.9是一选一选择结构。若条件p(表达式值为1或非0)成立时执行A,否则不做操作。然后结束选择结构。,p,A,入口,出口,图1.9 一

9、选一选择结构,非0,0,1.3.3 选择结构,选择结构是判断条件p(表达式值)是否成立来选定执行一种操作或一组操作的结构。它有一选一、二选一、多选一等三种基本形式。,1一选一选择结构 图1.9是一选一选择结构。若条件p(表达式值为1或非0)成立时执行A,否则不做操作。然后结束选择结构。,p,A,入口,出口,图1.9 一选一选择结构,非0,0,1.3.3 选择结构,选择结构是判断条件p(表达式值)是否成立来选定执行一种操作或一组操作的结构。它有一选一、二选一、多选一等三种基本形式。,1一选一选择结构 图1.9是一选一选择结构。若条件p(表达式值为1或非0)成立时执行A,否则不做操作。然后结束选择

10、结构。,p,入口,出口,图1.9 一选一选择结构,0,A,非0,例1.2 描述当ab时,交换a 和b两整数的算法。用自然语言和流程图(图1.10)两种方法描述如下:,开始,输入a,b,ab,Temp=aa=bb=temp,输出a,b,结束,非0,0,第一步 读入数据存入a,b。第二步 判断 如果ab,交换a和b;否则不交换a和b。第三步 输出a,b。,图1.10 例1.2流程图,输入a,b:1 5 输出a,b:1 5,输入a,b:9 5 输出a,b:5 9,例1.2 描述当ab时,交换a 和b两整数的算法。用自然语言和流程图(图1.10)两种方法描述如下:,开始,输入a,b,ab,Temp=a

11、a=bb=temp,输出a,b,结束,非0,0,第一步 读入数据存入a,b。第二步 判断 如果ab,交换a和b;否则不交换a和b。第三步 输出a,b。,图1.10 例1.2流程图,输入a,b:1 5 输出a,b:1 5,输入a,b:9 5 输出a,b:5 9,1二选一选择结构 图1.11是一选一选择结构。若条件p(表达式值为1或非0)成立时执行A,不执行B;否则执行B,不执行A。然后结束选择结构。,p,A,入口,出口,图1.11 二选一选择结构,非0,0,B,例1.3 描写下述功能的算法:当x0时,y=1;否则,y=-1。用自然语言和流程图(图1.12)两种方法描述如下:第一步 读入数据存入x

12、。第二步 判断。如果x0,y置为1;否则y置为-1。第三步 输出y。,1二选一选择结构 图1.11是一选一选择结构。若条件p(表达式值为1或非0)成立时执行A,不执行B;否则执行B,不执行A。然后结束选择结构。,p,A,入口,出口,图1.11 二选一选择结构,非0,0,B,例1.3 描写下述功能的算法:当x0时,y=1;否则,y=-1。用自然语言和流程图(图1.12)两种方法描述如下:第一步 读入数据存入x。第二步 判断。如果x0,y置为1;否则y置为-1。第三步 输出y。,开始,输入x,x=0,y=1,输出y,结束,非0,0,图1.12 例1.3流程图,y=-1,x,y,-1,1,输入x:1

13、7.5 输出y:1输入x:-17 输出y:-1,开始,输入x,x=0,y=1,输出y,结束,非0,0,图1.12 例1.3流程图,y=-1,x,y,-1,1,输入x:17.5 输出y:1输入x:-17 输出y:-1,3多选一选择结构 图1.13 是多选一选择结构。它依次判断条件p1、p2、pn-1,如果pi成立时执行i。如果p1、p2、pn-1均不成立,且有pn条件(其他)时执行n;而无pn条件(其他)时则不执行任何操作。然后结束选择结构。,p,2,1,i,n-1,n,p1,p2,pi,入口,出口,图1.13 多选一结构,Pn-1,Pn,3多选一选择结构 图1.13 是多选一选择结构。它依次判

14、断条件p1、p2、pn-1,如果pi成立时执行i。如果p1、p2、pn-1均不成立,且有pn条件(其他)时执行n;而无pn条件(其他)时则不执行任何操作。然后结束选择结构。,p,2,1,i,n-1,n,p1,p2,pi,入口,出口,图1.13 多选一结构,Pn-1,Pn,3多选一选择结构 图1.13 是多选一选择结构。它依次判断条件p1、p2、pn-1,如果pi成立时执行i。如果p1、p2、pn-1均不成立,且有pn条件(其他)时执行n;而无pn条件(其他)时则不执行任何操作。然后结束选择结构。,p,2,1,i,n-1,n,p1,p2,pi,入口,出口,图1.13 多选一结构有pn条件(其他)

15、,Pn-1,Pn,3多选一选择结构 图1.13 是多选一选择结构。它依次判断条件p1、p2、pn-1,如果pi成立时执行i。如果p1、p2、pn-1均不成立,且有pn条件(其他)时执行n;而无pn条件(其他)时则不执行任何操作。然后结束选择结构。,p,2,1,i,n-1,p1,p2,pi,入口,出口,图1.13 多选一结构无pn条件(其他),Pn-1,例1.4 描写下述功能算法:当x0,y=1;x=0,y=0;x0,y=-1。用自然语言和流程图(图1.14)两种方法描述如下:第一步 读入数据存入x。第二步 判断 x0,y置为1 x0,y置为0 x0,y置为-1 第三步 输出 y。,开始,输入x

16、,x,y=0,y=1,y=-1,输出y,结束,图1.14 例1.4流程图,x,y,-1,1,输入x:9.5 输出y:1输入x:0 输出y:0输入x:-5 输出y:-1,x0,x=0,x0,0,开始,输入x,x,y=0,y=1,y=-1,输出y,结束,图1.14 例1.4流程图,x,y,-1,1,输入x:9.5 输出y:1输入x:0 输出y:0输入x:-5 输出y:-1,x0,x=0,x0,0,开始,输入x,x,y=0,y=1,y=-1,输出y,结束,图1.14 例1.4流程图,x,y,-1,1,输入x:9.5 输出y:1输入x:0 输出y:0输入x:-5 输出y:-1,x0,x=0,x0,0,

17、1.3.4 重复结构重复结构是判断条件是否成立来决定重复执行一种操作或一组操作的结构。它有while型、do while型和for型等三种基本结构。,1.while型重复结构图1.15 是while型重复结构。它重复判断条件p来决定是否进入和执行循环体;当每次判定条件p成立时执行循环体一次,一旦条件p不成立,即刻退出while型重复结构。在while型重复结构外要给循环体中的某些变量赋初值,否则会造成不确定值参加运算。在循环体中必须有修改p值的语句,使p值从非0改变为0,否则会造成死循环。,赋初值,p,循环体,出口,入口,非0,0,图1.15 while型重复结构,例1.15 描写下述功能的算

18、法:应用while型求sum=1+2+3+4+9+10的和。用自然语言和流程图(图1.16)两种方法描述如下:第一步 将存和单元sum与存整数单元n置0,即sum=0,n=0。第二步 执行while结构。如果n10,执行循环体一次 第二步(1):n加1,即 n=n+1。第二步(2):sum加n,即 sum=sum+n。然后转至第二步。如果n等于10,退出while结构,执行第三步。第三步 输出sum中的值(和保留在sum中)。,开始,n=0,sum=0,n10,n=n+1Sum=sum+n,输sum,结束,非0,0,图1.16 例1.15流程图,while重复过程,循环 n10 n=n+1 s

19、um=sum+n,2.do while型重复结构,图1.17是do while型重复结构。它先执行循环体一次,再重复判断条件p来决定是否执行循环体;当每次判定条件p成立时执行循环体一次,一旦条件p不成立,即刻退出do while型重复结构。在do while型重复结构外必须给循环体中的某些变量赋初值(为什么?)。在循环体中必须有修改p值的语句,使p值从非0改变为0(为什么?)。,赋初值,p,循环体,出口,入口,非0,0,图1.17 do while型重复结构,例1.16 描写下述功能的算法:应用do while型求sum=1+2+3+4+9+10的和。用自然语言和流程图(图1.18)两种方法描

20、述如下:,第一步 将存和单元sum和存数单元n置0,即 sum=0,n=0。第二步 进入do while型重复结构,执行循环体一次 第二步(1):n加1,即n=n+1。第二步(2):sum加n,即sum=sum+n。第三步 判断。如果n10,转至第二步,重复执 行循环体一次。如果n等于10,退出do while型重复结构,转至第四步。第四步 输出sum中的值(和保留在sum中)。,开始,n=0,sum=0,n10,n=n+1Sum=sum+n,输sum,结束,非0,0,图1.18 例1.16流程图,do while重复过程,循环 n=n+1 sum=sum+n n10,3.for型重复结构,图

21、 1.19是for型重复结构。其中表达式1,为循环体中的某些变量赋初值;表达式2,控制循环退出;表达式3,修改循环体中的某些变量的值。,循环体,p1,p2,p3,非0,0,for型重复结构的执行步骤如下:第一步 计算表达式1的值,为循环体中的某些变量赋初值,只执行一次。第二步 计算表达式2的值,如果其值为非0,执行循环体一次,然后转至第三步;如果其值为0,转至第四步。第三步 计算表达式3的值,转至第二步。第四步 退出for型重复结构。,图1.19 for 型重复结构,入口,出口,例 1.17 描写下述功能的算法:应用for型求sum=1+2+3+4+9+10的和。用自然语言和流程图(图1.20

22、)两种方法描述如下:第一步 计算表达式1,为循环体中的某些变量赋初值(sum=0,n=0)。第二步 计算表达式2,如果其值(n=10)为非0,执行 循环体一次(sum=sum+n)然后转至第三步;如 果其值为0,转至第四步。第三步 计算表达式3(n=n+1)的值,转至第二步。第四步 退出for型重复结构。第五步 输出sum中的值(和保留在sum中)。,p1;p2;p3,开始,sum=sum+n,输出sum,结束,非0,0,图1.20 例1.17流程图,for 重复过程,循环 n=10 sum=sum+n n=n+1,n=1,sum=0;n=10;n=n+1,将上述例1.15和例1.16的循环体改为:sum=sum+n n=n+1应如何修改算法?,应用重复结构,最关键的问题是构造循环体和确定退出循环的条件。,!,?,应用以上三种基本结构,能设计出完美的、风格良好的程序。这是结构化程序设计方法最重要的原则之一。尚未学习C语言,但是能描述算法。,!,结束,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号