程序设计语言与程序设计方法.ppt
《程序设计语言与程序设计方法.ppt》由会员分享,可在线阅读,更多相关《程序设计语言与程序设计方法.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第1章章 程序设计语言程序设计语言与程序设计方法与程序设计方法 制作者:钱瑛制作者:钱瑛本章的学习重点和难点本章的学习重点和难点程序设计的基本概念程序设计的基本概念 算法的概念和描述算法的概念和描述 结构化程序设计方法结构化程序设计方法 面向对象的程序设计概念和方法面向对象的程序设计概念和方法 1.1 程序设计语言简介程序设计语言简介 语言语言机器语言机器语言汇编语言汇编语言高级语言高级语言程序程序一个程序是完成某一一个程序是完成某一特定任务的一组指令特定任务的一组指令序列,或者说,为实序列,或者说,为实现某一算法的指令序现某一算法的指令序列称为列称为“程序程序”程序设计程序设计使用某种计算
2、机语言,使用某种计算机语言,按照某种算法,编写按照某种算法,编写程序的活动程序的活动程序程序=数据结构数据结构+算法算法程序程序=算法算法+数据结构数据结构+程序设计方法程序设计方法+语言工语言工具和环境具和环境 1.2 算法及其描述算法及其描述 1.2.1 算法的概念算法的概念 算法算法算法算法解决某个问题或处理某件事的方法和步骤,解决某个问题或处理某件事的方法和步骤,在这儿所讲的算法是专指在这儿所讲的算法是专指用计算机解决某一问题的用计算机解决某一问题的方法和步骤方法和步骤 计算机算法的分类计算机算法的分类数值计算算法数值计算算法 非数值计算算法非数值计算算法1.2.2 算法举例算法举例
3、例题例题1-1 例题例题1-2例题例题1-3 例题例题1-1有两个杯子有两个杯子A和和B,分别盛放茶和咖啡,要求将杯分别盛放茶和咖啡,要求将杯中的饮料互换,即中的饮料互换,即A中盛放咖啡,中盛放咖啡,B中盛放茶中盛放茶 增加一个空杯增加一个空杯C作为过渡作为过渡算法可以表示为:算法可以表示为:步骤步骤1:先将:先将A杯中的茶倒入杯中的茶倒入C杯中杯中步骤步骤2:再将:再将B杯中的咖啡倒入杯中的咖啡倒入A杯中杯中步骤步骤3:最后将:最后将C杯中的茶倒入杯中的茶倒入B杯中杯中ACB茶茶茶茶咖啡咖啡咖啡咖啡茶茶该算法常常被用于实现该算法常常被用于实现两个数据内容的互换两个数据内容的互换两个数据内容的
4、互换两个数据内容的互换(1)AC(2)BA(3)CB例题例题1-2求两个数求两个数A、B中的最大数中的最大数 算法可以表示为:算法可以表示为:步骤步骤1:将数将数A、B进行比较,如果进行比较,如果A大于大于B,则转向步则转向步骤骤2,否则转向步骤,否则转向步骤3。步骤步骤2:A是最大数是最大数 步骤步骤3:B是最大数是最大数 常常通过比较求最值或进行排序常常通过比较求最值或进行排序例题例题1-3求求n!分析:分析:如果如果n=4,则则4!=1*2*3*4,所以可以先假设,所以可以先假设S代表累乘之积,代表累乘之积,I代表累乘项代表累乘项算法可以表示为:算法可以表示为:步骤步骤1:S=1,I=1
5、步骤步骤2:如果:如果In,则执行步骤则执行步骤3,否则停止,否则停止,S中的值中的值即为所求的即为所求的n!步骤步骤3:将:将S与与I的乘积存入的乘积存入S中中步骤步骤4:使:使I增增1,转向执行步骤,转向执行步骤21.2 算法及其描述算法及其描述 1.2.3 算法的特征算法的特征 有穷性有穷性确定性确定性 有零个或多个输入有零个或多个输入 有一个或多个输出有一个或多个输出 有效性有效性1.2.4 1.2.4 算法的表示算法的表示自然语言自然语言伪代码伪代码流程图流程图流程图流程图 图形符号图形符号 名称名称 输入输入/输出输出 处理处理 判断判断 起止起止 特定过程特定过程 流程线流程线
6、连接点连接点 例题例题1-4A和和B数据互换数据互换增加一个增加一个C作为过渡作为过渡算法可以表示为:算法可以表示为:步骤步骤1:AC步骤步骤2:BA步骤步骤3:CB开始开始结束结束输入数据输入数据输入数据输入数据A A、B B输出数据输出数据输出数据输出数据A A、B BACBACB例题例题1-5求两个数求两个数A、B中的最大数中的最大数 算法可以表示为:算法可以表示为:步骤步骤1:将数将数A、B进行比较,进行比较,如果如果A大于大于B,则转向步骤则转向步骤2,否则转向步骤,否则转向步骤3。步骤步骤2:A是最大数是最大数 步骤步骤3:B是最大数是最大数开始开始结束结束输入数据输入数据A、B输
7、出最大数输出最大数MAXAMAXABABBMAXTrueFalse判断框判断框判断框判断框例题例题1-6求求n!算法可以表示为:算法可以表示为:步骤步骤1:S=1,I=1步骤步骤2:如果:如果In,则执行步骤则执行步骤3,否则停止,否则停止,S中的值即为所求中的值即为所求的的n!步骤步骤3:将:将S与与I的乘积存入的乘积存入S中中步骤步骤4:使:使I增增1,转向执行步骤,转向执行步骤2S*IS开始开始结束结束FalseTrue1S1IInIn输出输出n!的值的值SI+1I输入输入n例题例题1-5求两个数求两个数A、B中的最大数中的最大数 算法可以表示为:算法可以表示为:步骤步骤1:将数将数A、
8、B进行比较,如果进行比较,如果A大于大于B,则转向步骤则转向步骤2,否则转向,否则转向步骤步骤3。步骤步骤2:A是最大数是最大数 步骤步骤3:B是最大数是最大数Private Sub main()Dim A As Integer,B As Integer,max As Integer 变量定义变量定义A=InputBox(Please input number A:)输入变量输入变量AB=InputBox(Please input number B:)输入变量输入变量BIf A B Then比较比较A与与Bmax=AElsemax=BEnd IfDebug.Print max打印最大值打印最大
9、值End SubFalseTrue开始开始结束结束输入数据输入数据A、B输出最大数输出最大数MAXAMAXBMAXAB小结小结算法是解决问题的核心内容算法是解决问题的核心内容学会使用流程图来表示的算法,逻辑清楚,形象直学会使用流程图来表示的算法,逻辑清楚,形象直观,容易理解观,容易理解掌握相应语言掌握相应语言(如如VB)的组成要素及编写方法,容易的组成要素及编写方法,容易能编写出对应程序能编写出对应程序1.3 结构化程序设计结构化程序设计 1.3.1 基本算法结构基本算法结构结构化程序设计方法结构化程序设计方法算法的三种基本结构算法的三种基本结构顺序结构顺序结构顺序结构顺序结构分支结构分支结构
10、分支结构分支结构循环结构循环结构循环结构循环结构任何一个程序都是这三种基本控制结构的组合任何一个程序都是这三种基本控制结构的组合三种基本结构的共同特点三种基本结构的共同特点只有单一的入口和单一的出口只有单一的入口和单一的出口结构中的每个部分都有执行到的可能结构中的每个部分都有执行到的可能结构内不存在永不终止的死循环结构内不存在永不终止的死循环 顺序结构顺序结构每个处理步骤每个处理步骤(A和和B)顺序执行顺序执行顺序执行顺序执行 A AB BN N分支结构分支结构e为判决条件为判决条件进入分支结构,首先判断进入分支结构,首先判断e成立与否,再根据判断成立与否,再根据判断结果,选择执行处理结果,选
11、择执行处理A或或者处理者处理B后退出后退出 A Ae eTrueFalseB Be eTrueFalseA AB Be eTrueFalse循环结构循环结构当型循环当型循环当型循环当型循环“当当”条件条件e成立成立(即为即为True),就继续执行就继续执行A;否则否则(即条件为即条件为False)就结束循环。就结束循环。直到型循环直到型循环直到型循环直到型循环重复执行重复执行A,“直到直到”条件条件e成立成立(即为即为True),循环结束循环结束循环结构中的处理循环结构中的处理A A是要重复执行的操作,叫做是要重复执行的操作,叫做“循环体循环体循环体循环体”;e e是是控制循环执行的条件控制循
12、环执行的条件A Ae eTrueFalsee eA AFalseTrue1.3 结构化程序设计结构化程序设计 1.3.2 结构化程序设计方法结构化程序设计方法 自顶向下自顶向下逐步细化(核心)逐步细化(核心)逐步细化(核心)逐步细化(核心)模块化模块化应用举例应用举例例题例题1-7例题例题1-7对于对于100个正整数,输出其中的个正整数,输出其中的回文数回文数(所谓回文数是指左右数所谓回文数是指左右数字完全对称的自然数。例如:字完全对称的自然数。例如:11,121,1221等都是回文数等都是回文数)自顶向下、模块化:自顶向下、模块化:(1)输入输入100个正整数个正整数(2)把其中的回文数找出
13、把其中的回文数找出来来(3)输出这些回文数输出这些回文数逐步细化逐步细化逐步细化逐步细化分别对于每一部分分别对于每一部分进一步细化进一步细化找出找出回文数回文数输入输入100个正整数个正整数输出回文数输出回文数开始开始结束结束(1)输入)输入100个正整数个正整数考虑通过考虑通过a1a100来接收来接收这这100个数据个数据从第从第1个数据开始直到第个数据开始直到第100个个TrueFalsei100输入输入ai1ii+1i(2)找出回文数)找出回文数对于对于a1a100中每一个数逐中每一个数逐一判断,若判断它不是回一判断,若判断它不是回文数,则将它的值置为零,文数,则将它的值置为零,这样最后
14、留下的非零数,这样最后留下的非零数,即为回文数即为回文数那么如何判断是否为回文那么如何判断是否为回文数呢?于是进一步细化,数呢?于是进一步细化,将将ai逆序得到逆序得到x,若,若ai等于等于x,则说明它是回文数则说明它是回文数 Truei100将将ai逆序逆序xFalse1i0aiaixTruei+1iFalse(3)输出回文数)输出回文数根据第二部分,只要对根据第二部分,只要对于于a1a100中每一个数中每一个数逐一判断逐一判断ai不等于零不等于零(它是回文数它是回文数),即可输,即可输出出ai 输出回文数输出回文数aiai0i100False1iTruei+1iFalseTrue1.4 面
15、向对象的概念和方法面向对象的概念和方法 1.4.1 面向对象的概念面向对象的概念“面向对象程序设计面向对象程序设计”或或“面向对象编程面向对象编程”简称为简称为OOP(Object Oriented Programming)建立在传统结构化程序设计的基础上,其最重要的建立在传统结构化程序设计的基础上,其最重要的特色是特色是程序围绕被操作的对象来设计程序围绕被操作的对象来设计程序围绕被操作的对象来设计程序围绕被操作的对象来设计,而不是围绕,而不是围绕操作本身操作本身模块化模块化Visual Basic是一种采用面向对象的程序设计方法的是一种采用面向对象的程序设计方法的语言语言重要术语:重要术语:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计语言 程序设计 方法
限制150内