算法与程序设计.doc

上传人:xin****828 文档编号:6697583 上传时间:2020-03-02 格式:DOC 页数:42 大小:243.50KB
返回 下载 相关 举报
算法与程序设计.doc_第1页
第1页 / 共42页
算法与程序设计.doc_第2页
第2页 / 共42页
算法与程序设计.doc_第3页
第3页 / 共42页
点击查看更多>>
资源描述
第二部分算法与程序设计(选修)主题1算法与程序设计1.1算法1.1.1计算机解决问题的过程知识点1:人是如何解决问题的【知识链接】本考点要求学生达到“了解”水平。解决问题的过程可以总结为:观察、分析问题,收集必要的信息,尝试按照一定的方法和步骤解决问题。一般来说,同一个问题可以有多种解决方法,但不同的方法有优劣之分。评价一种方法的优劣要与具体情况相结合。要理解本考点的内容除了用教科书中“韩信点兵”的例子外,还可以举出其他一些例子,例如:最小公倍数问题、班级活动的设计等。【技能扫描】培养将生活中的实例整理成条理化步骤的好习惯,提高自己的逻辑思维和语言叙述能力。体会逻辑关联词“如果那么”、“或者”、 “并且”、“否则”的含义,能把这些逻辑关联词翻译成数学“语言”。【典型题析】1. 分析“这个人谁都不认识”的含义,体会同一种叙述在不同语境中可以表达不同的意思。分析:第一种解释是在场的所有人都不认识这个人(这个人是被认识的对象);第二种解释是这个人不认识在场的所有人。2张三有一杯咖啡,李四有一杯牛奶,在不交换杯子的前提下如何交换两人的饮料。分析:设张三的杯子为X,李四的杯子为Y,找一个空杯子T。将X杯中的咖啡倒入T杯中,将Y杯中的牛奶倒入X杯中,再将T杯中的咖啡倒入Y杯中即可。可以写成XT,YX,TY。【模拟练习】1把从早晨起床到学校的过程整理成算法(解决问题的方法和步骤)并表述出来。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都说了谎,自相矛盾,排除;假如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:计算机解决问题的过程【知识链接】本考点要求学生达到“了解”水平。计算机程序(Computer Program)是指示计算机如何去解决问题或完成任务的一组可执行的指令。程序设计(Program Design)是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程。程序设计语言(Program Language)泛指一切用于书写计算机程序的语言。注意:程序设计语言和计算机语言(Computer Language)是两个不同的概念,程序设计语言是一种重要的计算机语言。计算机解决问题和人解决问题有着本质的区别:计算机解决问题要经历分析问题、确定算法、编程求解等基本过程。计算机解决问题的流程如下:开始分析问题设计算法编写程序运行程序结束编写程序日寸,首先要对问题进行详细的分析,明确已知条件下的初始状态及要达到的目标,找出求解问题的方法和过程,并抽取出一个数学模型,形成算法;然后将这个数学模型连同它要处理的数据,用计算机能识别的方式描述出来,使之成为计算机能处理的对象;最后用程序设计语言设计出具体的问题求解过程,形成计算机程序。IBM公司的“深蓝”能够战胜国际象棋大师卡斯帕罗夫,原因是人们将国际顶尖象棋大师在过去100年问开局和终局的数十亿范例存入计算机数据库,针对卡斯帕罗夫每一步的对弈,计算机都从数据库中查找能够取胜的应对步骤。所以不是“深蓝”战胜了卡斯帕罗夫,而是缜密的计算机程序战胜了卡斯帕罗夫。【技能扫描】利用类比的方法体会计算机解决问题和人解决问题的异同,锻炼类比、推理的能力。【典型题析】与人解决问题相比,计算机解决问题的优势有哪些?劣势是什么?分析:计算机具有存储量大、运算速度快、精确度高、可重复执行命令等优点,这些优势是人无法比拟的,但计算机也有自身的劣势,那就是它无法完成随意性强、无逻辑性的随机问题,计算机只是一个高级工具。到目前为止,还没有一台真正具有人类智能的计算机。【模拟练习】1IBM公司的“深蓝”能够战胜国际象棋大师卡斯帕罗夫是因为()。A计算机具有很高的智商B计算机具有很快的运算速度C计算机事先装载了很多棋局D计算机能根据装载的棋局,经过程序判断作出对弈选择2利用计算机解决问题的过程描述中,以下说法正确的是()A编写程序调试程序分析问题设计算法B分析问题编写程序调试程序设计算法C分析问题设计算法编写程序调试程序D分析问题设计算法调试程序编写程序3名词解释:计算机程序程序设计程序设计语言参考答案:1. D 2. C 3. 略1.1.2算法的描述方法知识点1:算法【知识链接】本考点要求学生达到“了解水平。算法在计算机程序设计中占有重要地位,是程序设计的“灵魂”。世界著名计算机科学家尼克劳斯沃斯(NWirth)指出:算法+数据结构(Data Structure)=程序。算法具有以下特征。(1)有穷性:一个算法必须保证执行有限步之后结束。(2)确切性:算法的每一个步骤必须有确切的定义。(3)输入:一个算法有0个或多个输入,以描述运算对象的初始情况,所谓0个输入是指算法本身确定了初始条件。(4)输出:一个算法至少有一个输出,用以反映对输入数据加工后的结果,没有输出的算法是毫无意义的。(5)可行性:原则上算法能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。已知最早的算法是考古学家发掘出来的大约在35005000年以前的写在黏土板上的。当时为了做数学用表,巴比伦人需要解代数方程,他们的做法是写出求解的“算法”。这些算法基本上都是对实际数目的计算。在算法的最后还附有一个短语,这个短语可以粗略地翻译为“这是一个过程”。这也是最早出现的程序设计语言的标记。【技能扫描】通过数学例子,运用类比的方法,加强对算法概念的理解,借鉴数学家解决问题的技巧,尝试运用算法解决问题。【典型题析】1. 数学中求1+2+3+100的和s。高斯用凑数法:1+100,2+99,50+51,然后求和。写出高斯求解问题的算法。分析:用凑数法求1+2+3+100的和时,每一组数的和都相等(和为101),而且共有50组数。考虑算法的通用性,类似这种求和的算法可描述为:输入最大项数n;列式s=(1+n)n/2;输出s的值。【模拟练习】1. 写出求解1-2+3-4+99-100的和s的算法。2. 水仙花数是指一个三位数,它的各位数的立方和正好等于该数本身,如:153=,写出求解水仙花数问题的算法。参考答案:1. 提示:循环使用求和公式:s = s + k * i,k为每一项的符号:k=。2. 提示:首先用循环的方法找到所有的三位数,每找到一个数(用x来表示这个数)就分解当前这个三位数,百位上的数字a=Int(x/100),十位上的数字b=Int(x-a*100)/10),个位上的数字c=x-a*100-b*1,再判断x=是否成立,若判断结果为真,则x为水仙花数。知识点2:如何描述算法【知识链接】本考点要求学生达到“了解”水平。算法的描述方法有自然语言、流程图、伪代码三种形式。自然语言描述算法的优点是“描述”接近自然语言,通俗易懂,符合人们的表达习惯,容易接受。缺点是缺乏直观性和简洁性,在算法表述中容易产生歧义。流程图是算法的图形化表示,其描述算法形象、直观、容易理解。目前常用的流程图是由美国国家标准化协会(American National Standard Institute,简称ANSI)制定的一系列流程图符号组成(见教科书中的流程图符号)的。伪代码(Pseudo code)是介于自然语言和计算机程序设计语言之间的一种算法描述。伪代码一般用逻辑关键词连接自然语言或表达式的形式来表述算法。因为算法具有多样性,到底用什么算法描述一个问题,要具体问题具体分析。【技能扫描】因势利导,培养用算法描述问题的能力,训练正确解决问题的方法,并把数学课中的问题用算法描述出来,达到学科相融的目的。【典型题析】1将求闰年问题的算法用自然语言、流程图、伪代码三种方法描述。分析:用自然语言描述闰年问题:Step1:输入年份yStep2:如果y能被400整除,则输出“是闰年”,结束程序;否则转到Step3Step3:如果y能被4整除但不能被100整除,则输出“是闰年”,结束程序;否则转到Step4Step4:输出不是“闰年”,结束程序。用流程图描述闰年问题:开始输入年份yY mod 4=0Y mod 100=0Y mod 400=0输出不是闰年输出是闰年结束YYYNNN用伪代码描述闰年问题:输入年份yIf y能被400整除Then输出“是闰年”ElseIf y能被4整除 And y不能被100整除Then输出“是闰年”Else输出“不是闰年”End IfEnd If2下面关于算法的说法错误的是()。A算法必须有输出B算法必须在计算机上用某种语言实现C算法不一定有输入D算法必须在有限步执行后能结束分析:算法就是解决某一特定类型问题的有限运算序列。一个算法必须在执行有限步之后能结束;算法中的每一步必须有确切定义;一个算法有0个或多个输入,也必然有一个或多个输出。算法不等同于程序。一个程序,譬如一个操作系统,只要不关机,它就不会结束。算法的设计可以避开具体的计算机和程序设计语言,也可以借助程序设计语言中提供的数据类型及运算在具体的层次上实现。参考答案:B【模拟练习】1恺撒密码编写的信息如下:Krz duh brx? 你能用自然语言描述翻译密码的算法吗?小知识:公元前60年(两千多年前),古罗马统帅“朱利叶斯恺撒”(Caesar),用当时发明的“恺撒密码”书写军事文书,用于战时通信。后来他成了古罗马帝王,就是“恺撒”大帝。恺撤加密法,就是字母替换加密,即把消息中每一个字母换成其后的第三个字母。例如:原文:abcdefghijklmnopqrstuvwxyz或者ABCDEFGHIJKLMNOPQRSTUVWXYZ密文:defghijklmnopqrstuvwxyzabc或者DEFGHIJKLMNOPQRSTUVWXYZABC2下面说法正确的是()。A算法+数据结构=程序B算法就是程序C数据结构就是程序D算法包括数据结构参考答案:1提示:恺撒密码的翻译规律是,对于字符来说,s = Chr(Asc(x) - 3)。翻译结果为How are you?2A1.2程序设计基础1.2.1程序设计语言知识点1:认识程序设计语言【知识链接】本考点要求学生达到“了解水平。程序设计语言的发展伴随着计算机硬件的发展。程序设计语言经历了机器语言、汇编语言、高级语言三个阶段。高级语言又分为解释型语言和编译型语言两种。机器语言是计算机能直接识别的语言,机器语言是一串由“0”和“1”构成的二进制代码。人记忆和理解机器语言非常困难,而且容易出错。汇编语言是一种符号化的机器语言,它用英文助记符代替机器指令,比机器语言容易识别和记忆,提高了程序的可读性。它的缺点是依赖机器,不同的机器有不同的指令集,通用性差,使用时还必须翻译成目标程序执行。高级语言是更接近自然语言和数学语言的编程语言。它不依赖机器,通用性好,更容易掌握。高级语言程序的可读性强,便于修改和维护。解释型语言的特征是程序边解释边执行,解释一句执行一句,速度较慢,其代表语言有QBasic、LISP。编译型语言是先用编译程序将源程序“翻译”成机器语言的目标程序,再由连接装配程序进行装配,生成可执行的程序被计算机执行,其代表语言有Visual Basic、C/C+等。1954年美国科学家巴科斯(JBackus)完成了第一个计算机高级语言FORTRAN语言,创立了描述计算机语言语法的符号集巴科斯范式,摘取了1977年度的“图灵奖”。【技能扫描】学习搜集(计算机发展的)信息的方法,增强自我学习的能力,增强自身的知识积累。【典型题析】1简答题:什么是解释型语言?什么是编译型语言?分析:计算机只能直接执行机器语言。高级语言编写的程序必须翻译成机器语言,才能被计算机执行。翻译的方式分为编译型和解释型。参考答案:用编译型语言编写的程序在执行之前需要一个专门的编译程序,把程序编译成为机器语言的目标程序,然后再由连接装配程序进行连接装配,生成可执行程序,才能被计算机执行,比如exe文件。以后运行时不需要翻译,所以编译型语言的程序执行效率高。用解释型语言编写的程序在运行的时候才被翻译,比如Basic语言,专门有一个解释器能够直接执行Basic程序,每个语句都是在执行时被翻译的。这样解释型语言每执行一次就要翻译一次,效率比较低。【模拟练习】1能够被计算机直接识别的语言是()。A伪代码B高级语言C机器语言D汇编语言2程序设计语言的产生与发展所经历的过程不包括以下哪个选项?()A机器语言B汇编语言C初级语言D高级语言3利用Basic语言编写的程序源代码的文件名后缀为()。A.basB.cppC.txtD.doc4简述计算机语言有哪些,写出这些计算机语言的名称。参考答案:1C2C3A4略知识点2:认识可视化编程工具VB语言【知识链接】本考点要求学生达到“了解”水平。实现算法的程序设计语言有多种,Visual Basic(简称VB)是其中一种好学易懂的语言。Visual Basic是基于Basic的可视化程序语言。所谓可视化程序设计,主要是指程序设计人员利用软件本身提供的各种控件,像搭积木式地构造应用程序的各种界面,然后编写少量的代码就可以构建应用程序。首先要熟悉VB的开发环境,理解VB语言是一种可视化、面向对象的程序设计语言。启动VB,打开VB工作窗口,如下图所示。窗口的上部是菜单栏和常用工具栏,窗口左边是工具箱,中间主要区域是窗体,右边是属性窗口、工程窗口、窗体布局窗口等。所谓面向对象的程序设计,就是面向控件的程序设计。窗体控件主要是为VB程序提供一个承载其他控件的平台。在界面设计阶段,可以把程序需要的控件添加并排列在窗体上。按钮控件主要是设计执行某个操作或执行某段程序的“切换开关”(设置按钮控件的“Click”事件)。标签控件主要显示不希望被用户修改的文本。文本框控件是一个文本的编辑区,用户可以在其中输入、编辑、显示文本内容。【技能扫描】学习在窗体中添加工具箱中的文本框、标签、按钮等控件。选中窗体中的某个控件,其相应的属性窗口亦被选中。了解每个控件的主要属性,学习设置控件的常用属性。【典型题析】1双击窗体中的对象后,VB将显示的窗口是()。A项目(工程)窗口B工具箱C代码窗口D属性窗口分析:双击窗体中的对象,会显示代码编辑窗口。程序代码作为对象的“方法”书写在代码编辑窗口中,并且还要指定程序代码的驱动事件。参考答案:C【模拟练习】1VB有设计、运行和中断三种模式,要使用调试工具应该()。A进入设计模式B进人运行模式C进人中断模式D不用进入任何模式2下列关于添加“控件”的方法正确的是()。A单击控件图标,将鼠标指针指向窗体,双击鼠标B双击工具箱中的控件,即在窗体上出现该控件C单击工具箱中的控件,将指针移到窗体上,再单击D用鼠标左键拖动工具箱中的某控件到窗体的适当位置3下列不属于VB控件的是()。A文本框B定时器C窗体布局窗D命令按钮参考答案:1A 2B 3C知识点3:VB可视化编程初步【知识链接】本考点要求学生达到“理解”水平。了解VB可视化编程的一般步骤,了解运用常用控件编写的简单程序,通过简单程序体会控件对象的使用,掌握控件对象的属性、方法、事件等基本概念。可视化编程的一般步骤:设计程序界面编写程序代码调试、运行程序面向对象的程序设计就是以对象为中心,以事件为过程执行的起点。VB提供的可编程事件有单击(Click)、双击(DblClick)、加载(Load)、按键(KeyPress)等,教科书中最常用的是单击(Click)事件。方法是对象能够执行的操作,这些操作一般是一个动作或一段程序。例如:Form1.Cls的作用是清除窗体Form1中的内容,End用于结束程序的运行。每个对象都有自己的名称,对象有了名称才能被程序引用。系统为每个对象都规定了默认的名称,例如:Command3、Label2等。为了便于程序的阅读和理解,可以自己规定对象的名称,在程序中只要引用自己规定的对象名称就可以了。一般约定,对象名称由3个小写字母组成的前缀(指明对象的类型)和表示该对象作用的字符组成。常用控件名的前缀约定和命名举例如下。对象的类型意义对象的作用前缀名称举例Form窗体其它对象的容器(其它对象放在Form上)frmfrmFindCommand命令按钮控制其它对象的运行cmdcmdOKLabel标签仅能显示文字信息lbllblInputTextBox文本框既能显示文字信息,又能编辑文字(输入、修改)txttxtSource下面是几个应该了解的文件。.vbp文件:与VB工程有关的文件和对象清单,是一个文本文件。(工程文件).frm文件:是包含窗体及控件的属性设置、相关程序代码的文件。(窗体文件).bas文件:是标准模块文件。.ocx文件:是VB的扩展控件文件。【技能扫描】熟悉VB集成开发环境,理解控件对象的属性、方法、事件等基本概念和作用。掌握常用的窗体、命令按钮、文本框、标签等控件的添加、使用方法。学会设置常用控件的属性。【典型题析】1一只漂亮的酒杯被摔碎了,其中漂亮、酒杯、摔、碎了分别是()。A对象、属性、事件、方法B对象、属性、方法、事件C属性、对象、方法、事件D属性、对象、事件、方法分析:对象的属性定义其外观。方法定义其行为。事件定义其与用户的交互。“酒杯”是对象,“漂亮”是酒杯的属性,动词“摔”是事件,摔的结果“碎了”是方法。参考答案:D2VB是一种面向对象的程序设计语言,构成对象的三要素是()。A属性、方法、事件B控件、属性、事件C窗体、控件、过程D窗体、控件、模块分析:VB 向对象的程序设计语言的精髓是许多相关对象的有机组合构成一个程序系统,其中每个对象都有自己的属性(偏重于可视化特点),有相应的程序或“命令动作”构成方法,有触发这些“方法”的“启动”事件。参考答案:A【模拟练习】Word Excel1如果要改变窗体的标题,需要设置窗体对象的()属性。ANameBCaptionCBackColorDBorderStyle2下列文件属于工程文件和窗体文件的是()。As3.doc和t01.vbpBs3.xls和s3.frmCt01.vbp和s3.frmDs3.frm和s3.pdfPdf:便携式文档格式,进行文件交换所发展出的文件格式。3窗体的BackColor属性用于设置窗体的()。A高度B宽度C背景色D前景色4VB提供的标签控件具有的功能是() oA输入文本B显示文本C计时D显示时间参考答案:1B 2C 3C 4B1.2.2数据与运算知识点1:数据类型【知识链接】本考点要求学生达到“迁移应用与熟练操作”水平。VB提供了数值型、字符串型、布尔型、日期型等基本数据类型。数据类型:整型(Integer),取值范围(-3276832767);长整型(Long);单精度型(Single);双精度型(Double);字符串型(String),取值范围(065535)个字符、不定长字符串:020亿个字符);布尔型(Boolean),取值为(True或False);日期型(Date),格式(100/1/19999/12/31)。注意:(1)浮点型(单精度型和双精度型的合称)数据的表示方法:浮点数在计算机中类似于数学中的实数,比如:304707表示成3.04707E5。(2)字符串型数据的表示方法(必须用”引起来):Visual Basic、245、=33+2等。(3)日期型数据的表示方法:用一对“#”号把日期或时间括起来,例如:#2008/06/28#表示2008年6月28日。【技能扫描】掌握常用的数据类型,常用数据类型的取值范围和表示方法。【典型题析】下列哪组数据是VB中正确的数据表示形式?()A3.457E-6.8B3457E-10C25.74D#2000/06/28#分析:对于不同的数据类型有不同的取值范围和表示方法,选项A中E的后面应是整数,选项B中E前面的数只能保留一位整数,选项C中的符号错误。参考答案:D【模拟练习】1整型数据的取值范围是:_。2布尔型数据的两个值是:_和_。3写出下列各表达式的值。(1)123 + 45:_。(2)17 + 2.5:_。(3)#2008/06/28# - #2008/04/28#:_。(4)#2008/06/28# + 4:_。参考答案:1-32768327672True False3(1)168(2)172.5(3)61(4)2008/7/2知识点2:常量与变量【知识链接】本考点要求学生达到“迁移应用与熟练操作”水平。1在VB中,用常量(Constant)表示在程序运行过程中事先设置的、其值不能改变的数据。VB中的常量有数值常量、字符串常量等。常量的定义形式如下:Const 常量名 As 类型 = 表达式2变量(Variable)是内存中存放数据的存储单元,其中存放的数据称为变量的值。变量名命名的约定如下:(1)必须以字母或汉字开头,不能以数字或其他字符开头。(2)只能由字母、汉字、数字和下画线组成,不能含有小数点、空格等字符。(3)变量名字符数不超过255个。(4)变量名不能使用VB中的保留字(即VB专用的有特殊意义的内容,如Print、End等)。(5)VB不区分变量名中字母的大小写。(6)变量名最好取有意义的名称,一般在前面加上类型的缩写。常用的前缀有:字符型(str)、整型(int)、长整型(lng)、单精度型(sng)、双精度型(dbl)、布尔型(bln)、日期型(dtm)。变量使用前一般要先声明,VB中变量的声明方法如下。Dim As , As , 【技能扫描】掌握常量和变量的定义方法,能根据实际需要正确地定义常量和变量。【典型题析】下列哪些是VB中合法的变量名?()AAlphaB4DeltaCPrintDInteger分析:变量名的命名必须遵守VB命名变量名称的约定,可作为VB变量名的是 Alpha,其他均不能作为变量名。变量名不能以数字开头,所以4Delta不是合法的变量名,Integer、Print属于VB中的保留字。参考答案:A【模拟练习】1在VB中,下列选项中的两个变量是同一个变量的是()。AA1和a1BSum和SummaryCAver和AverageDA1和A-12在VB中,下列属于合法的变量名的是()。Ax_yzB123abcCintegerDX-Y3在VB中,下列属于合法的字符串常数的是()。AABC$BABCCABCDABC参考答案:1A2A3B知识点3:运算符与表达式【知识链接】本考点要求学生达到“迁移应用与熟练操作”水平。1在VB中,根据运算功能的不同可将运算符分为算术运算符、字符串运算符、日期运算符、关系运算符和逻辑运算符等。2表达式是由变量、常量、运算符、函数和圆括号等按一定的规则组合而成的。VB中常用的表达式有算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式等。算术运算符要求参与运算的量是数值型,运算的优先级为:指数取负乘除法整除求余加减,运算结果是数值型。字符串运算符有“+”和“&”,功能是用来连接两个字符串。当使用“+”连接一个数字字符串和一个数值型表达式时其结果是数值型(即两个数值之和),用“&”连接时结果是字符串类型。关系运算符有:=、=和AndOr。运算结果是布尔值True(真)或False(假)。日期运算符有“+”和“-”,输出结果为日期型或数值型数据。当一个表达式中同时出现多种运算符时,运算符的优先级为:算术运算符字符串连接运算符关系运算符逻辑运算符。【技能扫描】能将数学表达式正确地改写成VB表达式,正确地计算VB表达式的运算结果。【典型题析】1下列各式中均用单个字母表示一个变量,在VB中,下列表达式中合法的是()。Aa+bcBabc8CP*R*R Da+b/c(本选项对应的数学关系式为:)分析:本题考查VB表达式方面的知识。A选项中bc之间缺少乘号;B选项中除去abc之间缺少乘号外,除号也是错的,应使用“/”号;D选项中缺少括号,正确的表达式应为(a+b)/c。参考答案:C2数学关系式3x10表示成正确的VB表达式为()。A3=x10B3=X And x=3 Or x10Dx=3 And xx是()。A算术表达式B非法表达式C字符串表达式 D关系表达式参考答案:1B2A3B4D5D知识点4:常用语句【知识链接】本考点要求学生达到“迁移应用与熟练操作水平。1赋值语句的格式:变量名=表达式或对象名.属性名=表达式。赋值语句的作用是把右边的数或表达式的值赋给左边的变量或对象名.属性名。2Print语句的格式为:对象名.Print 表达式列表。Print语句是VB中的输出语句,其功能是在指定的对象上输出结果,默认对象为当前窗体。Print语句后面无表达式时,表示换行;例:PrintPrint显示项后面没有符号,表示显示完换行;例:Print 123; “456”;Print语句显示项用分号分隔,表示后续显示项紧凑显示;例:Print 123; “456”;Print语句显示项用逗号分隔,表示后续显示项分区显示,每区为14个字符位。例:Print123, “456”,3注释语句的格式:Rem 注释内容、 注释内容。当使用Rem语句时,必须单独写一行。使用“”的注释语句时,可以单独写一行,也可以跟在其他语句的后面。4结束语句的格式:End。结束语句是VB中强制结束程序运行的语句。【技能扫描】正确理解赋值语句,掌握Print语句和End语句的作用,会正确书写这些语句。【典型题析】1如果x=5,y=3,执行下列语句:Print x=; x, y=; y则输出结果为()。Ax=5y=3Bx=5y=3Cx=5y=3Dx=5,y=3分析:Print语句的输出项可以是一个或多个,如果输出多个内容,则各输出内容之间可以用逗号或分号分隔;若使用逗号,则逗号后的显示项按分区格式输出;若使用分号,则分号后面内容紧跟前面内容输出。例如:当A=5,B=3时,执行下列语句:Print A=; A, B=; B输出如下结果:A=5 B=3Print A=; A; B=; B输出如下结果:A=5 B=3Print A=; A;Print B=; B输出如下结果:A=5 B=3Print A=; APrint B=; B输出如下结果:A=5B=3参考答案:A2下列关于赋值语句的叙述错误的是()。AA = B的作用是将B的值赋给变量A,变量B的值不变BA = 123表示将数值123赋给变量ACA = A + B表示将变量A的值与变量B的值相加后,再赋值给变量ADN N + 1在VB中不成立分析:本题要求知道在VB中,“=”是赋值符号,它的含义是将“=”右边表达式的值赋给左边的变量。它的作用不同于数学中的等号“=”。参考答案:D【模拟练习】1下列赋值语句正确的是()。Ax y = 7By = Cy 5 = x + 10Dy = x * 302(多选)为了给三个变量赋初值1,下列正确的赋值语句是()。Ax=1:y=1:z=1Bx=1,y=1,z=1Cx=y=z=1Dx=1:y=x:z=y3运行VB程序段a = “欢迎您” : Print “北京”, a,屏幕上显示的是()。A北京aB北京欢迎您C北京aD北京欢迎您参考答案:1D2AD3D知识点5:常用函数【知识链接】本考点要求学生达到“迁移应用与熟练操作”水平。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)求x的正弦值sin(30*3.14/180)0.499770102643102Cos(x)求x的余弦值Cos(30*3*14/180)0.866158094405463Tan(x)求x的正切值Tan(60*3.14/180)1.72992922008979Atn(x)求x的余切值4*Atn(1)3.14159265358979Exp(x)求指数函数Exp(2)7.38905609893065Log(x)求x的自然对数值Log(10)2.30258509299405Int(x)取不大于x的最大整数Int(-5.4)-6Rnd产生0,1)之间的小数Rnd返回一个随机数注意:三角函数中的参数使用弧度数;Rnd函数返回0, 1)之间的一个随机实数,一般和Randomize结合使用,Randomize为初始化随机数生成器。3字符串函数。VB提供了丰富的字符串处理函数,常用的字符串函数有以下几种(详见下表)。函数功能结果类型实例结果Len(x)求字符串的长度整数Len(“modern”)6Left(x, n)截取字符串左边n个字符字符串型Left(“20080107”, 4)“2008”Mid(x, m, n)从字符串第m个字符开始截取n个字符字符串型Mid(“20080107”, 3, 2)“08”Right(x, n)截取字符串右边n个字符字符串型Right(“2008奥运”,2)“奥运”String(n, x)生成指定长度的指定字符的字符串字符串型String(3, “88”)“888”注意:所有字符串需要使用“”括起来。4日期函数。Date()和Time()函数分别用来返回当前日期与时间,Day()、Month()、 Year()函数分别返回指定日期的日数、月数和年数。5常用转换函数。VB中常用的转换函数有以下几种(详见下表)。函数功能结果类型实例结果Val(数值型字符串)将数值型字符串转换为数值数值型Val(99)+Val(88)187Str(数值)将数值转换为字符串字符串型Str(5)5Chr(字符代码)求字符的ASC码对应的字符字符串型Chr(97)aAsc(字符)求字符对应的字符ASC代码整数Asc(a)97CInt(表达式)将表达式结果作四舍五入处理整型CInt(4.5)5【技能扫描】掌握常用函数的用法,返回值的类型等。【典型题析】下列哪个表达式可以产生任意两位整数?()AInt(Rnd * 90) + 10BInt(Rnd * 10)CInt(Rnd * 100)DRnd * 90 + 10分析:Rnd函数返回0, 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的值是()。A0B2C4D62在VB中,Int(198.555 * 100 + 0.5) / 100的值是()。A198B199.6C198.56D2003在VB环境下,以下运算结果恒为True的表达式是()。A(x = 6)B(x = 4) Or (x = 4) And Not (x = 6)DNot (x 4)4在VB中,三个逻辑运算符Not、And、Or运算的优先级从高到低的顺序是()。AAndNotOrBNotAndOrCOrNotAndDNotOrAnd5在VB中,Rnd函数不可能的取值是()。A0.1B1C0.1234D0.00056在VB中,产生30,50)之间的整数的表达式是()。AInt(Rnd * 50)BInt(Rnd * 20) + 30CInt(Rnd * 30) + 20DInt(Rnd * 30)参考答案:1B2C3B4,B5B6B1.2.3顺序结构【知识链接】本考点要求学生达到“迁移应用与熟练操作”水平。VB程序有三种基本结构,即顺序结构、选择结构和循环结构。顺序结构是三种结构中最基本的程序结构,在顺序结构的程序中,算法的各个步骤是按语句的先后顺序执行的。在程序的执行过程中没有分支,没有重复。【技能扫描】掌握顺序结构程序的执行过程,会编写和调试顺序结构程序。【典型题析】已知长方体的长、宽、高。编写程序求长方体的表面积和体积。分析:问题分析:设长方体的长、宽、高分别为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 As Single, V As Singlex = 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=; VEnd Sub调试程序:将程序输入到代码窗口,运行程序时依次输入长方体的长、宽、高的值,分析运行结果。【模拟练习】1写出下列程序段的运行结果。x = 17 : y = 5x = x + y : y = x - yx = x - yPrint x输出:_2写出下列程序段的运行结果。pi = 3.14d = Val(InputBox(d=)r = d / 2s = pi * r * rPrint s=; s输入:4输出:_3从键盘上输人一个三位数,然后将它反向输出。例如输入123,输出结果为321。a =Val(InputBox(请输入一个三位数)bw = a 100sw = (a bw * 100) 10gw = b = gw * 100 + sw * 10 + bwPrint 参考答案:152s=12.563a Mod 10b1.2.4选择结构知识点1:If语句【知识链接】本考点要求学生达到“迁移应用与熟练操作”水平。1单分支If语句的格式:If Then 语句块End If2双分支If语句的格式:If Then 语句块1Else 语句块2End If3使用If语句的多层嵌套还可以实现程序的多分支结构,但程序结构较烦琐。【技能扫描】掌握IF语句的两种格式以及执行过程,能根据实际问题设置If语句中的条件,能正确调试分支结构的程序。了解If语句的多重嵌套。【典型题析】求函数y的值(当x=0时,y=2x-5,否则y=4x)(x的值在程序中通过调用InputBox函数,在弹出的标准输入对话框中输入)。Private Sub Command1_Click()Dim x, y As Integerx = Val(InputBox(请输入x的值)If x = 0 Then y = Else y = End IfPrint y=; End Sub分析:这是一道求解分段函数的题,程序中采用双分支语句,x=0时,计算第一个分支y=2x-5;当x=0条件为假时,计算第二个分支y=4x。参考答案:2 * x 54 * xy【模拟练习】1关于If x = 1 Then y = 1语句,下列说法正确的是()。Ax = 1和y = 1均为赋值语句Bx = 1和y = 1均为关系表达式Cx = 1为关系表达式,y = 1为赋值语句Dx = 1为赋值语句,y = 1为关系表达式2完善程序。下面程序的功能是在文本框Text1中输入任意一个数,判断这个数是正数、负数、还是零,并输出判断结果。Private Sub Command1_Click()Dim a As SingleDim py As Stringa=Val(Text1.Text)If a ”正数”py知识点2:Select Case语句【知识链接】本考点要求学生达到“迁移应用与熟练操作”水平。Select Case语句的格式:Select Case表达式 Case表达式列表1 语句块1 Case表达式列表2 语句块2 Case表达式列表n 语句块nEnd Select“表达式列表”通常是一组常量值,每个值确定一个分支。表达式列表可以使用下面的格式:(1)一组用逗号隔开的若干表达式,如:Case 1, 2, 3表示1、2、3满足指定条件。(2)表达式1 To 表达式2,如:Case 70 To 80,表示70到80这一取值范围满足指定条件。(3)Is关系运算符表达式,如:Case Is30,表示大于30满足指定条件。【技能扫描】掌握多分支选择语句,学会使用多分支选择语句解决实际问题。【典型题析】运输部门的货物运费与里程有关,距离越远,每吨货物的单价就越低。假定每吨单价P(元)与距离S(千米)之间的关系如下:编写程序,输入要托运的货物重量和运输的距离,然后计算并输出总运费。分析:问题分析:设总运费为T,要托运的货物重量为W(吨),则计算公式为:T=P*W*S。要计算总运费,需要知道货物的总重量和运输的距离,根据公式即可得出总运费。设计算法:输入货物重量和托运距离。如果S100则按单价每吨3.2元计费。如果100=S200则按单价每吨2.8元计费。如果200=S=300则按单价每吨1.5元计费。用公式T=P*W*S计算总运费。输出W、P的值。设计界面:在窗体中添加命令按钮。参考答案:编写程序:Private Sub Command1_Click()Dim W As Single, S As SingleDim P As Single, T As SingleW = Val(InputBox(输入货物重量(吨)S = Val(InputBox(输入托运距离(千米)If S = 0 Then EndElse Select Case S Case Is 100 P = 3.2 Case Is 200 P = 2.8 Case Is 23 x = 30 Case Is 0 x = 40End SelectText2.Text = Str(x)End Sub运行程序时,如果在文本框Text1中输入10,在文本框Text2中显示的内容是()。A10B20C30D40参考答案:A1.2.5程序设计的循环结构知识点1:For/Next循环语句【知识链接】本考点要求学生达到“迁移应用与熟练操作”水平。For/Next循环语句常用来解决已知循环次数
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 中学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!