算法与程序设计(精编版)_第1页
算法与程序设计(精编版)_第2页
算法与程序设计(精编版)_第3页
免费预览已结束,剩余45页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二部分算法与程序设计 (选修)主题 1算法与程序设计1.1 算法1.1.1 计算机解决问题的过程知识点 1:人是如何解决问题的【知识链接】本考点要求学生达到 “了解”水平。解决问题的过程可以总结为:观察、分析问题, 收集必要的信息,尝试按照一定的方法和步骤解决问题。一般来说, 同一个问题可以有多种解决方法,但不同的方法有优劣之分。评价一种方法的优劣要与具体情况相结合。要理解本考点的内容除了用教科书中“韩信点兵 ”的例子外,还可以举出其他一些例子,例如:最小公倍数问题、班级活动的设计等。【技能扫描】培养将生活中的实例整理成条理化步骤的好习惯,提高自己的逻辑思维和语言叙述能力。体会逻辑关联词 “

2、如果那么”、“或者”、 “并且”、“否则”的含义,能把这些逻辑关联词翻译成数学 “语言”。【典型题析】1. 分析“这个人谁都不认识 ”的含义,体会同一种叙述在不同语境中可以表达不同的意思。分析:第一种解释是在场的所有人都不认识这个人(这个人是被认识的对象 );第二种解释是这个人不认识在场的所有人。2. 张三有一杯咖啡,李四有一杯牛奶,在不交换杯子的前提下如何交换两人的饮料。分析:设张三的杯子为x,李四的杯子为y,找一个空杯子t。将 x 杯中的咖啡倒入 t 杯中, 将 y 杯中的牛奶倒入x 杯中,再将 t 杯中的咖啡倒入y 杯中即可。可以写成 xt,yx,ty。【模拟练习】1. 把从早晨起床到学

3、校的过程整理成算法(解决问题的方法和步骤 )并表述出来。2. 一个侦探逮捕了5 个嫌疑犯 b 因为这 5 个人供出的作案地点各有出入,进一步审讯后,他们分别提出了如下的申明。a:5 个人当中有 1 个人说了谎。b:5 个人当中有 2 个人说了谎。c:5 个人当中有 3 个人说了谎。d:5 个人当中有 4 个人说了谎。e:5 个人全说了谎。然而只能释放说真话的人,请问该释放谁呢?3. 小明有一盒刘德华的歌曲磁带,小云有一盒梁咏琪的歌曲磁带,在不交换磁带的基础上, 怎样将两盒磁带上的歌曲对录到对方的磁带上。参考答案:1. 略2. 提示:假如 e 说的是真的,即五个人都说了谎,则a、b、c、d、e

4、都说了谎,自相矛盾,排除; 假如 d 说的是真的,即有四个人说了谎,则a、b、c、它都说了谎,刚好是四个人说了谎,正确;假如 c 说的是真的,即有三个人说了谎,则a、b、d、e 都说了谎,四个人说了谎,故c 为假;假如 b 说的是真的,即有二个人说了谎,则a、c、d、e 都说了谎, b 为假;假如 a 说的是真的,即只有一个人说了谎,则b、c、d、e 都说了谎,矛盾,故也为假。故只能放 d。3. 提示:典型题析 2 中交换两种饮料和本题中的磁带对录问题,都与计算机算法中将要解决的“交换两个变量的值 ”的问题类似,理解这种解决问题的方法,才能写出解决问题的步骤。知识点 2:计算机解决问题的过程【

5、知识链接】本考点要求学生达到 “了解”水平。计算机程序 (computer program)是指示计算机如何去解决问题或完成任务的一组可执行的指令。程序设计(program design)是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程。程序设计语言 (program language泛)指一切用于书写计算机程序的语言。注意:程序设计语言和计算机语言(computer language)是两个不同的概念, 程序设计语言是一种重要的计算机语言。计算机解决问题和人解决问题有着本质的区别:计算机解决问题要经历分析问题、确定算法、编程求解等基本过程。计算机解决问题的流程如下:开始

6、分析问题 设计算法 编写程序 运行程序 结束编写程序日寸,首先要对问题进行详细的分析,明确已知条件下的初始状态及要达到的目标, 找出求解问题的方法和过程,并抽取出一个数学模型, 形成算法; 然后将这个数学模型连同它要处理的数据, 用计算机能识别的方式描述出来,使之成为计算机能处理的对象;最后用程序设计语言设计出具体的问题求解过程,形成计算机程序。ibm公司的 “深蓝”能够战胜国际象棋大师卡斯帕罗夫,原因是人们将国际顶尖象棋大师在过去 100 年问开局和终局的数十亿范例存入计算机数据库,针对卡斯帕罗夫每一步的对弈,计算机都从数据库中查找能够取胜的应对步骤。所以不是 “深蓝”战胜了卡斯帕罗夫, 而

7、是缜密的计算机程序战胜了卡斯帕罗夫。【技能扫描】利用类比的方法体会计算机解决问题和人解决问题的异同,锻炼类比、推理的能力。【典型题析】与人解决问题相比,计算机解决问题的优势有哪些?劣势是什么 ?分析:计算机具有存储量大、运算速度快、精确度高、可重复执行命令等优点,这些优势是人无法比拟的,但计算机也有自身的劣势,那就是它无法完成随意性强、无逻辑性的随机问题,计算机只是一个高级工具。到目前为止,还没有一台真正具有人类智能的计算机。【模拟练习】1. ibm 公司的“深蓝”能够战胜国际象棋大师卡斯帕罗夫是因为()。a计算机具有很高的智商b计算机具有很快的运算速度 c计算机事先装载了很多棋局 d计算机能

8、根据装载的棋局,经过程序判断作出对弈选择2. 利用计算机解决问题的过程描述中,以下说法正确的是() a编写程序 调试程序 分析问题 设计算法b. 分析问题 编写程序 调试程序 设计算法c. 分析问题 设计算法 编写程序 调试程序d. 分析问题 设计算法 调试程序 编写程序3. 名词解释:计算机程序程序设计程序设计语言参考答案: 1. d 2. c 3. 略1.1.2 算法的描述方法知识点 1:算法【知识链接】本考点要求学生达到 “了解" 水平。算法在计算机程序设计中占有重要地位,是程序设计的 “灵魂”。世界著名计算机科学家尼克劳斯·沃斯(n wirth) 指出:算法 +数据

9、结构 (data structure)=程序。算法具有以下特征。(1) 有穷性:一个算法必须保证执行有限步之后结束。(2) 确切性:算法的每一个步骤必须有确切的定义。(3) 输入:一个算法有0 个或多个输入,以描述运算对象的初始情况,所谓0 个输入是指算法本身确定了初始条件。(4) 输出:一个算法至少有一个输出,用以反映对输入数据加工后的结果,没有输出的算法是毫无意义的。(5) 可行性:原则上算法能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。已知最早的算法是考古学家发掘出来的大约在35005000 年以前的写在黏土板上的。当时为了做数学用表,巴比伦人需要解代数方程,他们的做法是写出求

10、解的“算法”。这些算法基本上都是对实际数目的计算。在算法的最后还附有一个短语,这个短语可以粗略地翻译为“这是一个过程 ”。这也是最早出现的程序设计语言的标记。【技能扫描】通过数学例子,运用类比的方法,加强对算法概念的理解,借鉴数学家解决问题的技巧,尝试运用算法解决问题。【典型题析】1. 数学中求 1+2+3+100 的和 s。高斯用凑数法: 1+100,2+99,50+51,然后求和。写出高斯求解问题的算法。分析:用凑数法求 1+2+3+10的0 和时,每一组数的和都相等 (和为 101),而且共有 50 组数。考虑算法的通用性,类似这种求和的算法可描述为:输入最大项数n;列式 s=(1+n)

11、n/×2;输出 s的值。【模拟练习】1. 写出求解 1-2+3-4+99-100 的和 s 的算法。2. 水仙花数是指一个三位数,它的各位数的立方和正好等于该数本身,如:153=1353写出求解水仙花数问题的算法。参考答案:1. 提示:循环使用求和公式:s = s + k * i, k 为每一项的符号: k= (-1) (2* i -1) 。33 ,2. 提示:首先用循环的方法找到所有的三位数,每找到一个数 (用 x 来表示这个数 )就分解当前这个三位数,百位上的数字a=int(x/100) ,十位上的数字b=int(x-a*100)/10) ,个位上的数字c=x-a*100-b*1

12、 ,再判断 x= a 3b 3c 3 是否成立,若判断结果为真,则x 为水仙花数。知识点 2:如何描述算法【知识链接】本考点要求学生达到 “了解”水平。算法的描述方法有自然语言、流程图、伪代码三种形式。自然语言描述算法的优点是“描述”接近自然语言, 通俗易懂,符合人们的表达习惯, 容易接受。缺点是缺乏直观性和简洁性,在算法表述中容易产生歧义。流程图是算法的图形化表示,其描述算法形象、直观、容易理解。目前常用的流程图是由美国国家标准化协会 (american national standard institute,简称 ansi) 制定的一系列流程图符号组成(见教科书中的流程图符号 )的。伪代码

13、 (pseudo code是)介于自然语言和计算机程序设计语言之间的一种算法描述。伪代码一般用逻辑关键词连接自然语言或表达式的形式来表述算法。因为算法具有多样性,到底用什么算法描述一个问题,要具体问题具体分析。【技能扫描】因势利导, 培养用算法描述问题的能力,训练正确解决问题的方法, 并把数学课中的问题用算法描述出来,达到学科相融的目的。【典型题析】 1将求闰年问题的算法用自然语言、流程图、伪代码三种方法描述。分析:用自然语言描述闰年问题:step1:输入年份 ystep2:如果 y 能被 400 整除,则输出 “是闰年 ”,结束程序;否则转到step3step3:如果 y 能被 4 整除但不

14、能被 100 整除,则输出 “是闰年 ”,结束程序;否则转到step4 step4:输出不是 “闰年”,结束程序。用流程图描述闰年问题:开始输入年份yny mod 4=0yyny mod 400=0y mod 100=0ny输出不是闰年输出是闰年结束用伪代码描述闰年问题: 输入年份 yif y 能被 400 整除 then输出“是闰年”elseif y 能被 4 整除 and y 不能被 100 整除 then输出“是闰年 ”else输出“不是闰年 ”end if end if2下面关于算法的说法错误的是()。a算法必须有输出b算法必须在计算机上用某种语言实现c算法不一定有输入d算法必须在有限

15、步执行后能结束分析:算法就是解决某一特定类型问题的有限运算序列。一个算法必须在执行有限步之后能结 束;算法中的每一步必须有确切定义;一个算法有 0 个或多个输入,也必然有一个或多个输出。算法不等同于程序。一个程序,譬如一个操作系统,只要不关机,它就不会结束。算法的设计可以避开具体的计算机和程序设计语言, 也可以借助程序设计语言中提供的数据类型及运算在具体的层次上实现。参考答案: b【模拟练习】1. 恺撒密码编写的信息如下:krz duh brx?你能用自然语言描述翻译密码的算法吗?小知识:公元前60 年(两千多年前 ),古罗马统帅 “朱利叶斯 ·恺撒”(caesa,r) 用当时发明的

16、 “恺撒密码 ”书写军事文书,用于战时通信。后来他成了古罗马帝王,就是“恺撒”大帝。恺撤加密法, 就是字母替换加密,即把消息中每一个字母换成其后的第三个字母。例如:原文: abcdefghijklmnopqrstuvwxyz 或者 abcdefghijklmnopqrstuvwxyz 密文: defghijklmnopqrstuvwxyzabc 或者 defghijklmnopqrstuvwxyzabc 2下面说法正确的是 ( )。a算法+数据结构 =程序b算法就是程序c数据结构就是程序d算法包括数据结构参考答案:1提示:恺撒密码的翻译规律是, 对于字符来说, s = chr(asc(x) -

17、 3)。翻译结果为 how are you?2 a1.2 程序设计基础1.2.1 程序设计语言知识点 1:认识程序设计语言【知识链接】本考点要求学生达到 “了解" 水平。程序设计语言的发展伴随着计算机硬件的发展。程序设计语言经历了机器语言、汇编语言、 高级语言三个阶段。高级语言又分为解释型语言和编译型语言两种。机器语言是计算机能直接识别的语言,机器语言是一串由 “0”和“1”构成的二进制代码。 人记忆和理解机器语言非常困难,而且容易出错。汇编语言是一种符号化的机器语言,它用英文助记符代替机器指令,比机器语言容易识别和记忆,提高了程序的可读性。它的缺点是依赖机器,不同的机器有不同的指令

18、集,通用性差,使用时 还必须翻译成目标程序执行。高级语言是更接近自然语言和数学语言的编程语言。它不依赖机器,通用性好,更容易掌握。高级语言程序的可读性强,便于修改和维护。解释型语言的特征是程序边解释边执行,解释一句执行一句, 速度较慢,其代表语言有 qbasic、lisp。编译型语言是先用编译程序将源程序“翻译”成机器语言的目标程序, 再由连接装配程序进行装配,生成可执行的程序被计算机执行,其代表语言有visual basic、c/c+等。1954 年美国科学家巴科斯 (jbackus)完成了第一个计算机高级语言 fortran语言,创立了描述计算机语言语法的符号集巴科斯范式,摘取了1977

19、年度的 “图灵奖 ”。【技能扫描】学习搜集 (计算机发展的 )信息的方法,增强自我学习的能力,增强自身的知识积累。【典型题析】1简答题:什么是解释型语言?什么是编译型语言 ?分析:计算机只能直接执行机器语言。高级语言编写的程序必须翻译成机器语言,才能被计算机执行。翻译的方式分为编译型和解释型。参考答案:用编译型语言编写的程序在执行之前需要一个专门的编译程序,把程序编译成为机器语言的目 标程序,然后再由连接装配程序进行连接装配,生成可执行程序,才能被计算机执行,比如exe 文件。以后运行时不需要翻译,所以编译型语言的程序执行效率高。用解释型语言编写的程序在运行的时候才被翻译,比如basic 语言

20、,专门有一个解释器能够直接执行 basic 程序,每个语句都是在执行时被翻译的。这样解释型语言每执行一次就要翻译一次, 效率比较低。【模拟练习】1能够被计算机直接识别的语言是 ( )。a伪代码 b高级语言 c机器语言 d汇编语言2程序设计语言的产生与发展所经历的过程不包括以下哪个选项 ?( ) a机器语言 b汇编语言 c初级语言 d高级语言3利用 basic 语言编写的程序源代码的文件名后缀为 ( )。a.basb.cppc.txtd.doc 4简述计算机语言有哪些,写出这些计算机语言的名称。参考答案: 1c 2c 3 a 4略知识点 2:认识可视化编程工具 vb语言【知识链接】本考点要求学生

21、达到 “了解”水平。实现算法的程序设计语言有多种,visual basic(简称 vb) 是其中一种好学易懂的语言。visual basic 是基于 basic 的可视化程序语言。 所谓可视化程序设计, 主要是指程序设计人员利用软件本身提供的各种控件, 像搭积木式地构造应用程序的各种界面,然后编写少量的代码就可以构建应用程序。首先要熟悉 vb 的开发环境,理解vb 语言是一种可视化、面向对象的程序设计语言。启动 vb ,打开 vb 工作窗口,如下图所示。窗口的上部是菜单栏和常用工具栏,窗口左边是工具箱, 中间主要区域是窗体, 右边是属性窗口、工程窗口、窗体布局窗口等。所谓面向对象的程序设计,就

22、是面向控件的程序设计。窗体控件主要是为vb 程序提供一个承载其他控件的平台。在界面设计阶段, 可以把程序需要的控件添加并排列在窗体上。按钮控件主要是设计执行某个操作或执行某段程序的“切换开关 ”设(置按钮控件的 “click 事”件)。标签控件主要显示不希望被用户修改的文本。文本框控件是一个文本的编辑区,用户可以在其中输入、编辑、显示文本内容。【技能扫描】学习在窗体中添加工具箱中的文本框、标签、按钮等控件。选中窗体中的某个控件,其相应的属性窗口亦被选中。了解每个控件的主要属性,学习设置控件的常用属性。【典型题析】1双击窗体中的对象后,vb 将显示的窗口是 ()。a项目(工程)窗口 b工具箱c代

23、码窗口d属性窗口分析:双击窗体中的对象,会显示代码编辑窗口。程序代码作为对象的“方法”书写在代码编辑窗口中,并且还要指定程序代码的驱动事件。参考答案: c【模拟练习】1. vb 有设计、运行和中断三种模式,要使用调试工具应该()。a进入设计模式b进人运行模式c进人中断模式d不用进入任何模式2下列关于添加 “控件”的方法正确的是 ()。a. 单击控件图标,将鼠标指针指向窗体,双击鼠标b. 双击工具箱中的控件,即在窗体上出现该控件 c单击工具箱中的控件,将指针移到窗体上,再单击d用鼠标左键拖动工具箱中的某控件到窗体的适当位置3下列不属于vb 控件的是 ()。a文本框b定时器c窗体布局窗d命令按钮参

24、考答案: 1a 2b 3 c知识点 3: vb可视化编程初步【知识链接】本考点要求学生达到 “理解”水平。了解 vb 可视化编程的一般步骤, 了解运用常用控件编写的简单程序,通过简单程序体会控件对象的使用,掌握控件对象的属性、方法、事件等基本概念。可视化编程的一般步骤:设计程序界面 编写程序代码 调试、运行程序面向对象的程序设计就是以对象为中心,以事件为过程执行的起点。vb 提供的可编程事件有单击 (click) 、双击 (dblclick) 、加载 (load)、按键 (keypress)等,教科书中最常用的是单击(click) 事件。方法是对象能够执行的操作,这些操作一般是一个动作或一段程

25、序。例如:form1.cls 的作用是清除窗体 form1 中的内容, end 用于结束程序的运行 。每个对象都有自己的名称, 对象有了名称才能被程序引用。系统为每个对象都规定了默认的名称,例如: command3、label2 等。为了便于程序的阅读和理解,可以自己规定对象的名称,在程序中只要引用自己规定的对象名称就可以了。一般约定,对象名称由3 个小写字母组成的前缀 (指明对象的类型 )和表示该对象作用的字符组成。常用控件名的前缀约定和命名举例如下。对象的类型意义对象的作用前缀名称举例form commandlabel窗体命令按钮标签其它对象的容器 (其它对象放在控制其它对象的运行仅能显示

26、文字信息form 上)frm cmdlblfrmfind cmdoklblinputtextbox文本框既能显示文字信息,又能编辑文字(输入、修改)txttxtsource下面是几个应该了解的文件。.vbp 文件:与 vb 工程有关的文件和对象清单,是一个文本文件。(工程文件 ).frm 文件:是包含窗体及控件的属性设置、相关程序代码的文件。(窗体文件 ).bas文件: 是标准模块文件 。.ocx 文件:是 vb 的扩展控件文件 。【技能扫描】熟悉 vb 集成开发环境,理解控件对象的属性、方法、事件等基本概念和作用。掌握常用的窗体、命令按钮、文本框、标签等控件的添加、使用方法。学会设置常用控件

27、的属性。【典型题析】1. 一只漂亮的酒杯被摔碎了,其中漂亮、酒杯、摔、碎了分别是()。a对象、属性、事件、方法b对象、属性、方法、事件 c属性、对象、方法、事件d属性、对象、事件、方法分析:对象的属性定义其外观。方法定义其行为 。事件定义其与用户的交互。“酒杯”是对象, “漂亮”是酒杯的属性,动词 “摔”是事件,摔的结果 “碎了”是方法。参考答案: d2. vb 是一种面向对象的程序设计语言,构成对象的三要素是()。a属性、方法、事件b控件、属性、事件c. 窗体、控件、过程d窗体、控件、模块分析: vb向对象的程序设计语言的精髓是许多相关对象的有机组合构成一个程序系统,其中每个对象都有自己的属

28、性(偏重于可视化特点 ),有相应的程序或 “命令动作 ”构成方法 , 有触发这些“方法”的“启动”事件。参考答案: a【模拟练习】 wordexcel1. 如果要改变窗体的标题,需要设置窗体对象的()属性。anamebcaptionc backcolordborderstyle 2下列文件属于工程文件和窗体文件的是()。as3.doc和 t01.vbpbs3.xls 和 s3.frmct01.vbp 和 s3.frmd s3.frm 和 s3.pdf pdf:便携式文档格式,进行文件交换所发展出的文件格式。3. 窗体的 backcolor 属性用于设置窗体的 ()。a高度b宽度c背景色d前景色

29、4. vb 提供的标签控件具有的功能是() oa输入文本b显示文本c计时d显示时间参考答案: 1b 2c 3 c 4 b1.2.2 数据与运算知识点 1:数据类型【知识链接】本考点要求学生达到 “迁移应用与熟练操作 ”水平。vb 提供了数值型、字符串型、布尔型、日期型等基本数据类型。数据类型:整型(integer),取值范围 (-3276832767); 长整型 (long);单精度型 (single); 双精度型 (double);字符串型 (string),取值范围 (065535)个字符、不定长字符串:020 亿个字符 ); 布尔型 (boolean),取值为 (true 或 false

30、);日期型 (date),格式 (100/1/19999/12/31)。注意:(1) 浮点型(单精度型和双精度型的合称)数据的表示方法: 浮点数在计算机中类似于数学中的实数,比如: 304707 表示成 3.04707e5。(2) 字符串型数据的表示方法(必须用 ”引”起来 ):"visual basic"、"245"、"=33+2" 等。(3) 日期型数据的表示方法: 用一对“ #号”把日期或时间括起来, 例如:#2008/06/28#表示 2008年 6 月 28 日。【技能扫描】掌握常用的数据类型,常用数据类型的取值范围和表示方

31、法。【典型题析】下列哪组数据是vb 中正确的数据表示形式 ?()a3.457e-6.8b3457e-10c ±25.74d#2000/06/28#分析:对于不同的数据类型有不同的取值范围和表示方法,选项a 中 e 的后面应是整数,选项 b 中 e 前面的数只能保留一位整数,选项c 中的符号错误。参考答案: d【模拟练习】1. 整型数据的取值范围是:2. 布尔型数据的两个值是:3. 写出下列各表达式的值。 。 和。(1)"123" + 45: 。(2)"17" + "2.5" : 。(3)#2008/06/28# - #200

32、8/04/28#: 。(4)#2008/06/28# + 4: 。参考答案: 1-32768327672 true false3 (1)168(2)172.5(3)61(4)2008/7/2知识点 2:常量与变量【知识链接】本考点要求学生达到 “迁移应用与熟练操作 ”水平。1. 在 vb 中,用常量 (constant)表示在程序运行过程中事先设置的、其值不能改变的数据。vb中的常量有数值常量、字符串常量等。常量的定义形式如下:const 常量名as类型 =表达式2. 变量 (variable)是内存中存放数据的存储单元,其中存放的数据称为变量的值。变量名命名的约定如下:(1) 必须以字母或汉

33、字开头,不能以数字或其他字符开头。(2) 只能由字母、汉字、数字和下画线组成,不能含有小数点、空格等字符。(3) 变量名字符数不超过255 个。(4) 变量名不能使用vb 中的保留字 (即 vb 专用的有特殊意义的内容,如print、end 等)。(5) vb 不区分变量名中字母的大小写。(6) 变量名最好取有意义的名称,一般在前面加上类型的缩写。常用的前缀有:字符型(str)、整型 (int) 、长整型 (lng)、单精度型 (sng)、双精度型 (dbl) 、布尔型(bln) 、日期型 (dtm)。变量使用前一般要先声明,vb 中变量的声明方法如下。dim < 变量名> as

34、<数据类型 > , <变量名> as <数据类型 >,【技能扫描】掌握常量和变量的定义方法,能根据实际需要正确地定义常量和变量。【典型题析】下列哪些是 vb中合法的变量名 ?()aalphab4deltac printd integer分析:变量名的命名必须遵守 vb 命名变量名称的约定,可作为 vb 变量名的是 alpha,其他均不能作为变量名。变量名不能以数字开头,所以 4delta 不是合法的变量名, integer、print 属于vb 中的保留字。参考答案: a【模拟练习】1在 vb 中,下列选项中的两个变量是同一个变量的是()。aa1 和 a1b

35、 sum和 summaryc aver 和 average da1 和 a-1 2在 vb 中,下列属于合法的变量名的是()。ax_yzb123abcc integerdx-y3在 vb 中,下列属于合法的字符串常数的是()。aabc$b"abc"c'abc'dabc参考答案: 1a2a3 b知识点 3:运算符与表达式【知识链接】本考点要求学生达到 “迁移应用与熟练操作 ”水平。1. 在 vb 中,根据运算功能的不同可将运算符分为算术运算符、字符串运算符、日期运算符、关系运算符和逻辑运算符等。2. 表达式是由变量、常量、运算符、函数和圆括号等按一定的规则组合

36、而成的。vb中常用的表达式有算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式等。算术运算符要求参与运算的量是数值型,运算的优先级为:指数>取负>乘除法 >整除>求余>加减,运算结果是数值型。字符串运算符有 “+”和“&”,功能是用来连接两个字符串。当使用“+连”接一个数字字符串和一个数值型表达式时其结果是数值型(即两个数值之和 ),用“&”连接时结果是字符串类型。关系运算符有: =、<>、<、>、>=和<=。关系表达式的运算结果是布尔值true 或 false。逻辑运算符有:not(取反)、and(与

37、)、or(或),优先级为 not>and>or 。运算结果是布尔值true(真)或 false(假)。日期运算符有 “+和” “-”,输出结果为日期型或数值型数据。当一个表达式中同时出现多种运算符时,运算符的优先级为: 算术运算符 >字符串连接运算符 >关系运算符 >逻辑运算符。【技能扫描】能将数学表达式正确地改写成vb 表达式,正确地计算vb 表达式的运算结果。【典型题析】1下列各式中均用单个字母表示一个变量,在vb 中,下列表达式中合法的是(aa+bcb abc÷8cp*r*r d a+b/c(本选项对应的数学关系式为:)。abc)分析:本题考查vb

38、 表达式方面的知识。 a 选项中 bc 之间缺少乘号; b 选项中除去 abc 之间缺少乘号外,除号也是错的,应使用“ 号/ ”; d 选项中缺少括号,正确的表达式应为(a+b)/c。参考答案: c2数学关系式3x<10表示成正确的 vb 表达式为 ()。a3<=x<10b3<=x and x<10c x>=3 or x<10dx<=3 and x<10分析:在 vb 中,若要表示一个区间之内的数,需要使用逻辑运算符“逻辑与 ” an。d参考答案: b【模拟练习】1在 vb 中,下列逻辑运算符中优先级最高的是()。aandbnotc ord

39、以上均不正确2 vb 表达式 sqr(b2-4*a*c)/2*a 中最先进行的运算是 ()。ab2b4*ac a*cd2*a3 vb 表达式"12"+"34" 的值是()。a"46"b"1234"c"12""34"d464 vb 表达式"12"+34 的值是()。a"46"b"1+34"c"12""34"d465 vb 表达式 x+1>x 是()。a算术表达式b非法表达式

40、c字符串表达式d关系表达式参考答案: 1b2a3 b4 d5 d知识点 4:常用语句【知识链接】本考点要求学生达到 “迁移应用与熟练操作 " 水平。1赋值语句的格式:变量名=表达式或对象名 .属性名 =表达式。赋值语句的作用是把右边的数或表达式的值赋给左边的变量或对象名.属性名。2. print 语句的格式为: 对象名.print表达式列表 。print 语句是 vb 中的输出语句,其功能是在指定的对象上输出结果,默认对象为当前窗体。print 语句后面无表达式时,表示换行;例:printprint 显示项后面没有符号,表示显示完换行;例:print 123;“ 456”;print

41、 语句显示项用分号分隔,表示后续显示项紧凑显示;例:print 123;“ 456”;print 语句显示项用逗号分隔,表示后续显示项分区显示,每区为14 个字符位。例: print123,“ 456”,3. 注释语句的格式: rem 注释内容、 注 释内容。当使用 rem 语句时,必须单独写一行。使用“'的”注释语句时,可以单独写一行,也可以跟在其他语句的后面。4. 结束语句的格式: end。结束语句是 vb 中强制结束程序运行的语句。【技能扫描】正确理解赋值语句,掌握print 语句和 end 语句的作用,会正确书写这些语句。【典型题析】1. 如果 x=5,y=3,执行下列语句:

42、print "x=" x, "y=" y则输出结果为 ()。a x=5y=3bx=5 y=3cx=5y=3dx=5,y=3分析: print语句的输出项可以是一个或多个,如果输出多个内容,则各输出内容之间可以用逗号或分号分隔;若使用逗号,则逗号后的显示项按分区格式输出;若使用分号,则分号后面内容紧跟前面内容输出。例如:当a=5 ,b=3 时,执行下列语句:print "a=" a, "b=" b输出如下结果: a=5b=3 print "a=" a; "b=" b输出如下结果

43、: a=5 b=3print "a=" a;print "b=" b输出如下结果: a=5 b=3 print "a=" aprint "b=" b输出如下结果:a=5 b=3参考答案: a2. 下列关于赋值语句的叙述错误的是()。aa = b 的作用是将 b 的值赋给变量 a,变量 b 的值不变ba = 123 表示将数值 123 赋给变量 aca = a + b 表示将变量 a 的值与变量 b 的值相加后,再赋值给变量adn n + 1 在 vb 中不成立分析:本题要求知道在vb 中,“ =是”赋值符号,它的含

44、义是将“ =右”边表达式的值赋给左边的变量。它的作用不同于数学中的等号“ =。”参考答案: d【模拟练习】1下列赋值语句正确的是()。ax y = 7b y =3.14 * r 2c y 5 = x + 10d y = x * 302 (多选)为了给三个变量赋初值1,下列正确的赋值语句是()。ax=1:y=1: z=1 bx=1,y=1, z=1 c x=y=z=1dx=1:y=x: z=y 3运行 vb 程序段 a = “欢迎您 ”: print “北京”, a,屏幕上显示的是 ()。a北京 ab北京欢迎您c北京ad北京欢迎您参考答案: 1d2ad3 d知识点 5:常用函数【知识链接】本考点

45、要求学生达到 “迁移应用与熟练操作 ”水平。1交互函数。(1) inputbox() 函数是一个输入函数。格式: inputbox(提示,标题,默认值, x 坐标, y 坐标)例如: inputbox(“请输人一个数 ”)(2) msgbox() 函数主要用来显示多种样式的消息对话框。格式: msgbox( 提示信息 , 按钮,标题)例如: msgbox( “运行正确 ”, 16, “循环结构 ”) 2数学函数。数学函数用于数学运算,数学函数主要有以下几种(详见下表 )。函数功能实例结果abs(x)求 x 的绝对值abs(-3.7)3.7sqr(x)求 x 的平方根sqr(25)5sin(x)

46、求 x 的正弦值sin(30*3.14/180)0.499770102643102cos(x)求 x 的余弦值cos(30*3*14/180) 0.866158094405463 tan(x)求 x 的正切值tan(60*3.14/180) 1.72992922008979atn(x)求 x 的余切值4*atn(1)3.14159265358979xexp(x)求指数函数 eexp(2)7.38905609893065log(x)求 x 的自然对数值log(10)2.30258509299405int(x)取不大于 x 的最大整数 int(-5.4)-6rnd产生0,1)之间的小数rnd返回一

47、个随机数注意:三角函数中的参数使用弧度数;rnd 函数返回 0,1)之间的一个随机实数,一般和randomize 结合使用, randomize为初始化随机数生成器。3字符串函数。函数len(x)求字符串的长度功能结果类型整数实例len(“modern”)结果6left(x, n)截取字符串左边n 个字符字符串型left( “20080107”, 4)“2008”vb 中常用的转换函数有以下几种(详见下表 )。函数功能结果类型实例结果val( 数值型字符串 )将数值型字符串转换为数值数值型val("99")+val("88")187str(数值)将数值转

48、换为字符串字符串型str(5)"5"chr(字符代码 )求字符的 asc 码对应的字符字符串型chr(97)"a"asc(字符)求字符对应的字符asc 代码整数asc("a")97cint( 表达式)将表达式结果作四舍五入处理整型cint(4.5)5vb 提供了丰富的字符串处理函数,常用的字符串函数有以下几种(详见下表 )。mid(x, m, n) 从字符串第 m 个字符开始截取 n 个字符字符串型mid( “ 20080107, ”3, 2) “08”right(x, n)截取字符串右边 n 个字符字符串型right( “2008

49、奥运”,2)“奥运”string(n, x)生成指定长度的指定字符的字符串字符串型string(3, “88”)“888”注意:所有字符串需要使用“”括起来。4. 日期函数。date()和 time() 函数分别用来返回当前日期与时间, 定日期的日数、月数和年数。5. 常用转换函数。day()、month() 、 year()函数分别返回指【技能扫描】掌握常用函数的用法,返回值的类型等。【典型题析】下列哪个表达式可以产生任意两位整数?()a int(rnd * 90) + 10bint(rnd * 10)cint(rnd * 100)drnd * 90 + 10分析: rnd 函数返回 0,

50、1)之间的一个随机小数,它和randomize 结合使用。如要随机产生一个从 n 到 m 之间的整数,表达式是int(rnd*(m n + 1) + n(m,n 为大于 1 的自然数 )。a 选项可产生10, 99 的整数; b 选项可产生 0, 9 的整数; c 选项可产生 0, 99 的整数; d 选项可产生 10, 100) 的数。参考答案: a【模拟练习】1在 vb 中,表达式 5 mod 3+35*2 的值是()。a0b2c 4d6 2在 vb 中, int(198.555 * 100 + 0.5) / 100 的值是()。a198b199.6c 198.56d2003. 在 vb

51、环境下,以下运算结果恒为true 的表达式是 ()。a(x <= 4) and (x >= 6)b (x >= 4) or (x <= 6)c(x >= 4) and not (x >= 6)d not (x <> 4)4. 在 vb 中,三个逻辑运算符not、and、or 运算的优先级从高到低的顺序是()。aand>not>orbnot>and>orc or>not>anddnot>or>and5. 在 vb 中, rnd 函数不可能的取值是 ()。a0.1b1c 0.1234d0.00056.

52、在 vb 中,产生 30, 50)之间的整数的表达式是 ()。a int(rnd * 50)bint(rnd * 20) + 30cint(rnd * 30) + 20d int(rnd * 30)参考答案: 1b2c3 b4, b5 b6b1.2.3 顺序结构【知识链接】本考点要求学生达到 “迁移应用与熟练操作 ”水平。vb 程序有三种基本结构,即顺序结构、选择结构和循环结构。顺序结构是三种结构中最基本的程序结构, 在顺序结构的程序中, 算法的各个步骤是按语句的先后顺序执行的。在程序的执行过程中没有分支,没有重复。【技能扫描】掌握顺序结构程序的执行过程,会编写和调试顺序结构程序。【典型题析】

53、已知长方体的长、宽、高。编写程序求长方体的表面积和体积。分析:问题分析:设长方体的长、宽、高分别为x、y、z,长方体的六个面两两相等: 表面积为:s = 2 * (x * y + y * z + z * x);体积为: v = x * y * z 。设计算法:输入 x、y、z 的值计算 s = 2 * (x * y + y * z + z * x)计算 v = x * y * z输出 s、v 的值。设计界面:将命令按钮添加到窗体中。参考答案:编写程序:private sub command1_click()dim x as single, y as single, z as single, s

54、 as single, v as single x = val(inputbox("x=", " 输入长")y = val(inputbox("y=", " 输入宽")z = val(inputbox("z=", " 输入高") s = 2 * (x * y + y * z + z * x)v = x * y * zprint " 表面积 s=" s, "体积 v=" v end sub调试程序:将程序输入到代码窗口,运行程序时依次输入长

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论