预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共89页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第1章VisualBasic程序设计概述第1章VisualBasic程序设计概述1.1计算机程序设计概述计算机程序就是计算机解决某些特定问题所需的符号化指令序列,或者说是用计算机语言描述的特定问题的解决步骤。编写程序的过程称为程序设计,在程序设计时离不开程序设计语言。通常把给计算机编制程序的符号系统及规则称为计算机的程序设计语言。这些符号系统及规则构成了计算机的指令系统。当我们利用计算机完成一项工作时,只需要告诉计算机什么时候、在什么条件下干什么,计算机便根据指令一条一条地执行,并返回结果。1.1.1程序设计语言简介任何一个计算机系统都是按照人们用某种程序设计语言编写的程序进行工作的,人们通过程序设计语言编写的程序来指挥和控制计算机运行。程序设计语言是人与计算机进行交流的有效工具,在计算机科学技术的发展过程中,发挥了巨大作用。程序设计语言经历了从低级到高级的发展阶段。1.机器语言计算机能直接识别的程序设计语言只有机器语言。机器语言是计算机能执行的指令代码,这种语言是由若干0和1的序列组成的指令,也就是人们常说的二进制代码。用机器语言设计的程序,称为机器语言程序。这是一种最低级的计算机语言程序。2.汇编语言汇编语言用比较直观、便于记忆的指令符号来代替二进制数字的机器指令代码,汇编语言的每条指令通常使用英文单词的缩写形式表示,也叫助记符。3.高级语言高级语言接近人们熟悉的自然语言(主要指英语),掌握与使用都十分方便。高级语言具有通用性,在其初始阶段是面向过程的语言。高级语言与具体的计算机指令系统没有直接关系,因此用高级语言设计的程序可以在各种类型的计算机上运行。计算机并不能识别与执行用高级语言设计的程序,因此,必须将高级语言程序转换为机器语言程序,才能在计算机上得以执行,这种转换的过程叫“翻译”。任何一种高级语言系统都包含有专门用于“翻译”的程序。对高级语言的“翻译”有两种方式,一种是“解释”方式,即“翻译”一句执行一句,负责这种“翻译”方式的程序叫解释程序;另一种是“编译”方式,是将整个程序“翻译”完毕后再予以执行,负责这种“翻译”方式的程序叫编译程序。“翻译”前的程序叫源程序或源代码,源代码通常是文本形式;“翻译”后的程序叫目标程序或目标代码,目标代码是二进制形式。用解释程序“翻译”执行程序比编译程序“翻译”执行程序慢得多。不论是解释还是编译,在“翻译”过程中都会自动检查源程序中的语法错误。1.1.2算法及其描述1.算法的概念什么是算法?当代著名计算机科学家D.E.Knuth称:“一个算法,就是一个有穷规则(指令)的集合。其中之规则规定了一个解决某一特定类型的问题的运算序列。”简单地说,任何解决问题的过程都是由一定的步骤组成的,把解决问题确定的方法和有限的步骤称作为算法。通俗地说,算法就是指为解决一个问题而采取的方法和步骤,或者说是解题步骤的精确描述。不要认为只有“计算”问题才有算法。广义地说,处理任何问题都有一个“算法”问题,例如,菜谱就包含算法,因为它除了列出做菜的原料以外,还列出操作的每一步骤。当然,这里讨论的是计算机算法,即计算机能执行的算法。2.算法的表示表示一个算法可以采用不同形式。(1)用自然语言表示算法【例1-1】计算函数M(x)的值:其中a,b,c为常数。算法分析:本题是一个数值运算问题。其中M代表要计算的函数值,有两个不同的表达式,根据x的取值决定采用哪一个算式。根据计算机具有逻辑判断的基本功能,用计算机解题的算法如下:1)将a、b、c和x的值输入到计算机。2)判断x≤a,如果条件成立,执行3),否则执行4)。3)按表达式bx+2a计算出结果存放到M中,然后执行5)。4)按表达式a(c–x)+3c计算出结果存放到M中,然后执行5)。5)输出M的值。6)算法结束。(2)用流程图表示算法流程图是用一些图框、流程线以及文字说明来描述解决问题的方法与步骤。用流程图来表示算法,直观、形象、容易理解。1)传统流程图:美国国家标准化协会ANSI(AmericanNationalStandardInstitute)规定了一些常用的流程图符号,见表1-1。用流程线将各种操作图符号连接在一起就构成了一个完整的算法流程图。这种流程图称为传统流程图。表1-1流程图符号例1-1中算法的流程图如图1-1所示。图1-1传统流程图2)N-S流程图:传统流程图虽然形象直观,但对流程线未作限制,使用者可以毫无顾忌地使流程线随意转来转去,使流程变得没有规律,阅读者要花很大精力去追踪流程,从而使人们难以理解程序算法的逻辑。如果程序较复杂,流程线就会如同一团乱麻,人们将这种算法比喻成一碗面条(ABowlofSpaghetti),乱无头绪。这种算法难以阅读和修改,从而使算法的可靠性和可维护性难以保证。在N-S流程图中,完全去掉了流程线。全部算法写在一