书签 分享 收藏 举报 版权申诉 / 34
上传文档赚钱

类型最新计算机第10章程序设计基础讲述课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4591254
  • 上传时间:2022-12-22
  • 格式:PPT
  • 页数:34
  • 大小:406.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《最新计算机第10章程序设计基础讲述课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    最新 计算机 10 章程 设计 基础 讲述 课件
    资源描述:

    1、1第第10章章 程序设计基础程序设计基础10.1 程序设计的概念程序设计的概念10.2 算法算法10.3 程序设计语言程序设计语言10.4 程序设计方法程序设计方法210.1 程序设计的概念程序设计的概念v程序:是解题方法和步骤的描述,是供计算机执行程序:是解题方法和步骤的描述,是供计算机执行并能完成特定功能的指令序列。并能完成特定功能的指令序列。v程序的核心:数据结构和算法。程序的核心:数据结构和算法。v程序设计(程序设计(Programming):先对问题进行分析并):先对问题进行分析并建立数学模型,然后考虑数据的组织方式和算法,建立数学模型,然后考虑数据的组织方式和算法,并用某一种程序设

    2、计语言编写程序,最后调试程序,并用某一种程序设计语言编写程序,最后调试程序,使之运行后能产生预期的结果。使之运行后能产生预期的结果。3v程序设计的基本步骤:程序设计的基本步骤:(1)分析问题,确定数学模型或方法。分析问题,确定数学模型或方法。(2)设计算法,画出流程图。设计算法,画出流程图。(3)选择编程工具,按算法编写程序。选择编程工具,按算法编写程序。(4)调试程序,分析输出结果。调试程序,分析输出结果。4 10.2 算算 法法 10.2.1 算法的概念算法的概念计算机解决问题的方法和步骤,就是计算机解题计算机解决问题的方法和步骤,就是计算机解题的算法的算法(Algorithm)。算法举例

    3、:算法举例:(1)将两个变量的值互换将两个变量的值互换。(2)欧几里德()欧几里德(Euclid)算法求两个正整数)算法求两个正整数m和和n的最大公约数。的最大公约数。(3)非数值计算算法:有)非数值计算算法:有9枚铜币,其中有枚铜币,其中有1枚略枚略轻的是假币,用一台没有砝码的天平将假币找出轻的是假币,用一台没有砝码的天平将假币找出来,应怎样找称来,应怎样找称。510.2.2 算法的特性算法的特性(1)有穷性。算法中执行的步骤总是有限次数的,不有穷性。算法中执行的步骤总是有限次数的,不能无止境地执行下去。能无止境地执行下去。(2)确定性。算法中的每一步操作必须具有确切的含确定性。算法中的每一

    4、步操作必须具有确切的含义,不能有二义性。义,不能有二义性。(3)有效性。算法中的每一步操作必须是可执行的。有效性。算法中的每一步操作必须是可执行的。(4)要有数据输入。算法中操作的对象是数据,因此要有数据输入。算法中操作的对象是数据,因此应提供有关数据。应提供有关数据。(5)要有结果输出。要有结果输出。610.2.3 算法的评价算法的评价1算法评价标准算法评价标准(1)正确性。)正确性。(2)可读性。)可读性。(3)通用性。)通用性。(4)高效率。)高效率。2.算法效率的度量算法效率的度量(1)时间度量)时间度量(2)空间度量)空间度量710.2.4 算法的描述算法的描述1.用传统的流程图描述

    5、算法用传统的流程图描述算法传统的流程图是用一些几何框图、传统的流程图是用一些几何框图、流程线和文字说明表示各种类型流程线和文字说明表示各种类型的操作。一般用矩形框表示进行的操作。一般用矩形框表示进行某种处理,有一个入口,一个出某种处理,有一个入口,一个出口。用菱形框表示判断,有一个口。用菱形框表示判断,有一个入口,两个出口。在框内写上简入口,两个出口。在框内写上简明的文字或符号表示具体的操作,明的文字或符号表示具体的操作,用带箭头的流向线表示操作的先用带箭头的流向线表示操作的先后顺序。后顺序。8 2.用结构化流程图描述算法用结构化流程图描述算法(1)程序的三种基本结构:顺序结)程序的三种基本结

    6、构:顺序结构、选择结构和循环结构。构、选择结构和循环结构。(2)结构化流程图()结构化流程图(N-S图)图)93用伪代码描述算法用伪代码描述算法计算计算2+4+100并输出,设计算法并用并输出,设计算法并用Visual Basic伪代码描述如下:伪代码描述如下:0sum1iDo While i100 If i/2的余数为的余数为0 THEN sum+isum i+1iLoopPrint sum 1010.2.5 算法示例算法示例1迭代算法迭代算法 迭代是一种建立在循环基础上的算法。在数学中,迭代是一种建立在循环基础上的算法。在数学中,迭代经常被用来进行数值计算,例如求方程的解,迭代经常被用来进

    7、行数值计算,例如求方程的解,不断用变量原来的值递推求新的值的过程。不断用变量原来的值递推求新的值的过程。讨论求若干个数之和或乘积的问题。讨论求若干个数之和或乘积的问题。1110.2.5 算法示例算法示例1迭代算法迭代算法 迭代是一种建立在循环基础上的算法。在数学中,迭代是一种建立在循环基础上的算法。在数学中,迭代经常被用来进行数值计算,例如求方程的解,迭代经常被用来进行数值计算,例如求方程的解,不断用变量原来的值递推求新的值的过程。不断用变量原来的值递推求新的值的过程。讨论求若干个数之和或乘积的问题。讨论求若干个数之和或乘积的问题。122穷举算法穷举算法 穷举法也叫枚举法,它的基本思路是对众多

    8、可能穷举法也叫枚举法,它的基本思路是对众多可能解,按某种顺序进行逐一枚举和检验,并从中找解,按某种顺序进行逐一枚举和检验,并从中找出那些符合要求的可能解,作为问题的解。穷举出那些符合要求的可能解,作为问题的解。穷举的计算量是相当大的,但对于计算机来说,做起的计算量是相当大的,但对于计算机来说,做起来很容易。穷举算法是一种重要的算法设计策略,来很容易。穷举算法是一种重要的算法设计策略,可以说是计算机解题的一大特点。可以说是计算机解题的一大特点。求方程求方程x+2y+5z=100的整数解。的整数解。133排序算法排序算法所谓排序,就是将一组数据元素按照某个关键字所谓排序,就是将一组数据元素按照某个

    9、关键字递增或递减的次序排列起来。递增或递减的次序排列起来。(1)选择排序)选择排序(Selection Sort)选择排序法的实现过程是:首先找出表中关键字选择排序法的实现过程是:首先找出表中关键字最小的元素,将其与第一个元素进行交换,然后,最小的元素,将其与第一个元素进行交换,然后,再在其余元素中找出关键字最小的元素,将其与再在其余元素中找出关键字最小的元素,将其与第二个元素进行交换。依次类推,直到将表中所第二个元素进行交换。依次类推,直到将表中所有关键字按由小到大的顺序排列好为止。有关键字按由小到大的顺序排列好为止。14(2)冒泡排序)冒泡排序(Bubble Sort)冒泡法排序法是每趟将

    10、相邻的两个数两两进行比冒泡法排序法是每趟将相邻的两个数两两进行比较,若满足升序次序,则进行下一次比较,若不较,若满足升序次序,则进行下一次比较,若不满足升序次序,则交换这两个数,直到最后。总满足升序次序,则交换这两个数,直到最后。总的比较次数为的比较次数为n-1次,此时最后的元素为最大数,次,此时最后的元素为最大数,此为一趟排序。接着进行第二趟排序,方法同前,此为一趟排序。接着进行第二趟排序,方法同前,只是这次最后一个元素不再参与比较,比较次数只是这次最后一个元素不再参与比较,比较次数为为n-2次,依次类推。次,依次类推。15 4查找算法查找算法查找是根据给定的某个值,在查找表中确定一个查找是

    11、根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素,若表中存在这其关键字等于给定值的数据元素,若表中存在这样的数据元素,称此查找是成功的。若表中不存样的数据元素,称此查找是成功的。若表中不存在关键字等于给定值的数据元素,称此查找是不在关键字等于给定值的数据元素,称此查找是不成功的。成功的。(1)顺序查找)顺序查找顺序查找是最常用的查找方法,其查找过程为:顺序查找是最常用的查找方法,其查找过程为:从第一个元素起,逐个将给定值与数据元素的关从第一个元素起,逐个将给定值与数据元素的关键字进行比较,若某个元素的关键字与给定值相键字进行比较,若某个元素的关键字与给定值相等,则认为查找是成功

    12、的,否则,查找失败。等,则认为查找是成功的,否则,查找失败。16 (2)折半查找)折半查找作为折半查找的表必须是顺序存储的有序表,即表采作为折半查找的表必须是顺序存储的有序表,即表采用顺序结构存储,表中的元素按关键字值递增(或递减)用顺序结构存储,表中的元素按关键字值递增(或递减)排列。排列。假设表中的关键字值递增排列,则折半查找的实现方假设表中的关键字值递增排列,则折半查找的实现方法是:首先取整个有序表的中间元素法是:首先取整个有序表的中间元素Am的关键字同给定的关键字同给定值值x比较,若相等,则查找成功;否则,若比较,若相等,则查找成功;否则,若Am的关键字小的关键字小于于x,则说明待查元

    13、素只可能落在表的后半部分中,接着,则说明待查元素只可能落在表的后半部分中,接着只要在表的后半部分子表中查找即可;若只要在表的后半部分子表中查找即可;若 Am的关键字大的关键字大于于x,则说明待查元素只可能落在表的前半部分中,接着,则说明待查元素只可能落在表的前半部分中,接着只要在表的前半部分子表中查找即可。这样,经过一次关只要在表的前半部分子表中查找即可。这样,经过一次关键字的比较,就缩小一半的查找空间,重复进行下去,直键字的比较,就缩小一半的查找空间,重复进行下去,直到找到关键字为到找到关键字为x的元素,或者表中没有待查元素(此时的元素,或者表中没有待查元素(此时查找区间为空)为止。查找区间

    14、为空)为止。1710.3 程序设计语言程序设计语言10.3.1 程序设计语言的分类程序设计语言的分类机器语言机器语言汇编语言汇编语言高级语言高级语言面向过程面向过程面向对象面向对象181机器语言(机器语言(Machine language)机器语言:机器指令的总称。机器语言:机器指令的总称。特点:繁琐冗长、不直观、容易出错、程序不通特点:繁琐冗长、不直观、容易出错、程序不通用。用。2汇编语言(汇编语言(Assembly language)用助记符表示的机器指令。用助记符表示的机器指令。特点:直观性增强了,但与机器指令一一对应。特点:直观性增强了,但与机器指令一一对应。3高级语言(高级语言(Hi

    15、gh level language)高级语言:接近自然语言和数学表达式的一种语高级语言:接近自然语言和数学表达式的一种语言。言。特点:直观、通用性,便于推广交流。特点:直观、通用性,便于推广交流。两种执行方式:编译方式和解释方式。两种执行方式:编译方式和解释方式。19高级语言程序的编译执行过程:高级语言程序的编译执行过程:编译程序工作过程编译程序工作过程:2010.3.2 高级语言的基本特征高级语言的基本特征1数据类型数据类型各种高级语言都提供了丰富的数据类型,这些数据各种高级语言都提供了丰富的数据类型,这些数据类型可以分为两大类:简单类型和构造类型。其中类型可以分为两大类:简单类型和构造类型

    16、。其中简单类型一般有整型、实型、字符型、逻辑型、指简单类型一般有整型、实型、字符型、逻辑型、指针类型等,构造类型有数组类型、集合类型、记录针类型等,构造类型有数组类型、集合类型、记录类型、文件类型等。类型、文件类型等。212运算与表达式运算与表达式(1)常量)常量(2)变量)变量(3)表达式)表达式3语句语句(1)赋值语句)赋值语句(2)输入输出语句)输入输出语句(3)程序的控制结构语句)程序的控制结构语句4子程序、函数与过程子程序、函数与过程2210.3.3 常用高级语言常用高级语言1.传统高级语言传统高级语言(1)FORTRAN语言:语言:FORTRAN 66、FORTRAN 77、FOR

    17、TRAN 90。(2)BASIC语言:语言:BASIC、Visual Basic、Visual Basic.NET。(3)PASCAL语言语言(4)C语言:语言:C、C+、C。(5)COBOL语言语言232网络编程语言网络编程语言(1)Java语言语言(2)脚本语言()脚本语言(Scripting Language):):JavaScript、VBScript、Perl、PHP。3科学计算语言:科学计算语言:MATLAB讨论:讨论:如何学习一种高级语言?如何选择高级语言?如何学习一种高级语言?如何选择高级语言?24 10.4.1 结构化程序设计结构化程序设计结构化程序设计采用自顶向下、逐步求精

    18、和模块结构化程序设计采用自顶向下、逐步求精和模块化的分析方法,从而有效地将一个较复杂的程序化的分析方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子程系统设计任务分解成许多易于控制和处理的子程序,便于开发和维护。序,便于开发和维护。10.4 程序设计方法程序设计方法2510.4.2 面向对象程序设计面向对象程序设计(Object-Oriented Programming,OOP)传统的程序设计是基于求解过程来组织程序流程。传统的程序设计是基于求解过程来组织程序流程。在这类程序中,数据和施加于数据的操作是独立设在这类程序中,数据和施加于数据的操作是独立设计的,以对数据进行

    19、操作的过程作为程序的主体。计的,以对数据进行操作的过程作为程序的主体。面向对象程序设计则以对象作为程序的主体。对象面向对象程序设计则以对象作为程序的主体。对象是数据和操作的是数据和操作的“封装体封装体”,封装在对象内的程序,封装在对象内的程序通过通过“消息消息”来驱动运行。在图形用户界面上,消来驱动运行。在图形用户界面上,消息可通过键盘或鼠标的某种操作来传递。息可通过键盘或鼠标的某种操作来传递。26(1)对象)对象(Object)对象是指现实世界中具体存对象是指现实世界中具体存在的实体。每一个对象都有自己的属性(包括自在的实体。每一个对象都有自己的属性(包括自己特有的属性和同类对象的共同属性)

    20、。属性反己特有的属性和同类对象的共同属性)。属性反映对象自身状态变化,表现为当前的属性值。映对象自身状态变化,表现为当前的属性值。方法是用来描述对象动态特征的一个操作序列。方法是用来描述对象动态特征的一个操作序列。(2)类类(Class)类是具有相同属性和方法的一组类是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统对象的集合,它为属于该类的全部对象提供了统一的抽象描述。一的抽象描述。27OPP与与OOP比较比较输入一个整数输入一个整数,判断奇偶,判断奇偶判断判断重置重置2810.4.3 可视化程序设计可视化程序设计让程序设计人员利用语言工具本身所提供的各让程序设计人员利用语

    21、言工具本身所提供的各种控件,像搭积木式地构造应用程序的各种界种控件,像搭积木式地构造应用程序的各种界面,使得整个界面设计是在面,使得整个界面设计是在“所见即所得所见即所得”的的可视化状态下完成。相对于编写代码方式的程可视化状态下完成。相对于编写代码方式的程序设计而言的,可视化程序设计具有直观形象序设计而言的,可视化程序设计具有直观形象、方便高效等优点。、方便高效等优点。29VB程序设计程序设计1.VB 6.0集成开发环境集成开发环境302.创建创建VB应用程序的主要步骤应用程序的主要步骤(1)创建应用程序界面。)创建应用程序界面。(2)设置界面上各个对象的属性。)设置界面上各个对象的属性。(3

    22、)编写对象响应的程序代码。)编写对象响应的程序代码。(4)保存工程。)保存工程。(5)运行和调试程序。)运行和调试程序。(6)生成可执行程序。)生成可执行程序。313.创建简单程序实例创建简单程序实例 例例1 窗体界面由一个文窗体界面由一个文本框和一个命令按钮组本框和一个命令按钮组成,在运行时,单击命成,在运行时,单击命令按钮,文本框中会出令按钮,文本框中会出现现“VB程序设计程序设计”,运行结果如图所示。运行结果如图所示。例例2 输入半径,计算圆输入半径,计算圆面积和圆周长,如图所面积和圆周长,如图所示。示。32通过以上两个例子,可以看到通过以上两个例子,可以看到VB的一些基本特点:的一些基本特点:(1)具有基于对象的可视化设计工具)具有基于对象的可视化设计工具(2)事件驱动的编程机制)事件驱动的编程机制(3)提供了易学易用的应用程序集成开发环境)提供了易学易用的应用程序集成开发环境(4)结构化的程序设计语言)结构化的程序设计语言人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:最新计算机第10章程序设计基础讲述课件.ppt
    链接地址:https://www.163wenku.com/p-4591254.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库