第一篇:算法分析与设计知识点总结
第一章 概述
算法的概念:算法是指解决问题的一种方法或过程,是由若干条指令组成的有穷序列。算法的特征:
可终止性:算法必须在有限时间内终止;
正确性:算法必须正确描述问题的求解过程;
可行性:算法必须是可实施的;
算法可以有0个或0个以上的输入;
算法必须有1个或1个以上的输出。
算法与程序的关系:
区别:程序可以不一定满足可终止性。但算法必须在有限时间内结束;
程序可以没有输出,而算法则必须有输出;
算法是面向问题求解的过程描述,程序则是算法的实现。
联系:程序是算法用某种程序设计语言的具体实现;
程序可以不满足算法的有限性性质。
算法描述方式:自然语言,流程图,伪代码,高级语言。
算法复杂性分析:
算法复杂性的高低体现运行该算法所需计算机资源(时间,空间)的多少。
算法复杂性度量:
期望反映算法本身性能,与环境无关。
理论上不能用算法在机器上真正的运行开销作为标准(硬件性能、代码质量影响)。
一般是针对问题选择基本运算和基本存储单位,用算法针对基本运算与基本存储单位的开销作为标准。
算法复杂性C依赖于问题规模N、算法输入I和算法本身A。即C=F(N, I, A)。
第二章递归与分治
分治法的基本思想:
求解问题算法的复杂性一般都与问题规模相关,问题规模越小越容易处理。
分治法的基本思想是,将一个难以直接解决的大问题,分解为规模较小的相同子问题,直至这些子问题容易直接求解,并且可以利用这些子问题的解求出原问题的解。各个击破,分而治之。
分治法产生的子问题一般是原问题的较小模式,这就为使用递归技术提供了方便。递归是分治法中最常用的技术。
使子问题规模大致相等的做法是出自一种平衡(balancing)子问题的思想,它几乎总是比子问题规模不等的做法要好。
分治法所能解决的问题一般具有以下几个特征:
该问题的规模缩小到一定的程度就可以容易地解决;
该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质;利用该问题分解出的子问题的解可以合并为该问题的解;
该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。(这条特征涉及到分治法的效率,如果各子问题是不独立的,则分治法要做许多不必要的工作,重复地解公共的子问题,此时虽然也可用分治法,但一般用动态规划较好。)
递归的概念:
直接或间接地调用自身的算法称为递归算法,用函数自身给出定义的函数称为递归函数。
反复应用分治手段,可以使子问题与原问题类型一致而其规模却不断缩小,最终使子问题缩小到很容易直接求出其解。这自然导致递归过程的产生。
边界条件与递归方程是递归函数的二个要素,递归函数只有具备了这两个要素,才能在有限次计算后得出结果。
第三章动态规划
动态规划的基本思想:
动态规划算法与分治法类似,其思想把求解的问题分成许多阶段或多个子问题,然后按顺序求解各子问题。最后一个阶段或子问题的解就是初始问题的解。
分治法求解时,子问题数目太多,从而导致解决原问题需要耗费指数级时间。与分治法不同的是,动态规划中分解得到的子问题往往不是互相独立的。
但不同子问题的数目常常只有多项式级。用分治法求解时,有些子问题被重复计算了许多次。
动态规划的适用条件:
动态规划法解所能解决的问题一般具有以下两个基本因素:
一、最优子结构性质
当问题的最优解包含着其子问题的最优解时,称该问题具有最优子结构性质。
二、重叠子问题性质
递归算法求解问题时,每次产生的子问题并不总是新问题,有些子问题被反复计算多次。这种性质称为子问题的重叠性质。
其它同分治法。
动态规划问题的特征:
求解的问题是组合优化问题;
求解过程需要多步判断,从小到大依次求解;
子问题目标函数最优解之间存在依赖关系;
动态规划算法设计的基本步骤和要素:
基本步骤:
(1)找出最优解的性质,并刻画其结构特征。(考察是否适合采用动态规划法。)
(2)递归地定义最优值。(建立递归式或动态规划方程)
(3)以自底向上的方式(或以自顶向下的备忘录方法)计算出最优值。
(4)根据计算最优值时得到的信息,构造最优解。
要素:
最优子结构
重叠子问题
备忘录(表格)
应用实例分析:
1、矩阵连乘问题:
(1)分析最优解结构:
计算A[i:j]的最优次序所包含的计算矩阵子链 A[i:k]和A[k+1:j]的次序也是最优的。矩阵连乘计算次序问题的最优解包含着其子问题的最优解,满足最优子结构性质。问题的最优子结构性质是该问题可用动态规划算法求解的显著特征。
(2)建立递归关系;
(3)计算最优值—递归求解(递归求解最优值复杂度较高的原因是:子问题重复度高);计算最优值—迭代查表求解
计算最优值—备忘录求解
(4)构造最优解
第四章贪心法
贪心算法的基本思想:
当一个问题具有最优子结构性质时,可用动态规划方法求解,但有时会有更简单有效的方法。
顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。
贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。贪心算法中,较大子问题的解恰好包含了较小子问题的解作为子集,这与动态规划算法设计中的优化原则本质上是一致的。
动态规划算法在某一步决定优化函数的最大或最小值时,需要考虑到它的所有子问题的优化函数值,然后从中选出最优的结果;贪心算法的每步判断时,不考虑子问题的计算结果,而是根据当时情况采取“只顾眼前”的贪心策略决定取舍。
贪心算法的设计要素:
可以用贪心算法求解的问题一般具有2个重要的性质:
1、最优子结构性质:
当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。问题的最优子结构性质是该问题可用动态规划算法或贪心算法求解的关键特征
2、贪心选择性质:
贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法与动态规划算法的主要区别。
动态规划算法通常以自底向上的方式求解各子问题,而贪心算法则通常以自顶向下的方式进行,以迭代的方式作出相继的贪心选择,每作一次贪心选择就将所求问题简化为规模更小的子问题。
对于一个具体问题,要确定它是否具有贪心选择性质,必须证明每一步所作的贪心选择最终导致问题的整体最优解。
应用实例:
1、活动安排问题:
第五章回溯法
回溯法的基本思想:
回溯法的使用条件:
回溯法适用于搜索问题和优化问题。
回溯法的设计要素:
针对问题定义解空间:
问题解向量
解向量分量取值集合构造解空间树
两类典型的解空间树:
子集树:当所给的问题是从n个元素的集合S中找出满足某种性质的子集时,相应的解空间树称为子集树。子集树通常有2n个叶结点
排列树:当所给的问题是确定n个元素满足某种性质的排列时,相应的解空间树称为排列树。排列树通常有n!个叶结点。
判断问题是否满足多米诺性质。
搜索解空间树,确定剪枝函数。
确定存储搜索路径的数据结构。
第六章分支限界法
分支限界法的基本思想:
分支界限法类似与回溯法,也是在问题解空间中搜索问题解的一种算法。
分支界限法与回溯法思想对比:
求解目标:回溯法的求解目标是找出解空间树中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出在某种意义下的最优解。
搜索方式的不同:回溯法以深度优先的方式搜索解空间树,而分支限界法则以广度优先或以最小耗费优先的方式搜索解空间树。
在分支限界法中,每一个活结点只有一次机会成为扩展结点。活结点一旦成为扩展结点,就一次性产生其所有儿子结点。在这些儿子结点中,导致不可行解或导致非最优解的儿子结点被舍弃,其余儿子结点被加入活结点表中。
此后,从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程。这个过程一直持续到找到所需的解或活结点表为空时为止。
常见的两种分支界限法:
队列式(FIFO)分支限界法:按照队列先进先出(FIFO)原则选取下一个节点为扩展节点。
优先队列式分支限界法:按照优先队列中规定的优先级选取优先级最高的节点成为当前扩展节点。
最大堆:最大效益优先
最小堆:最小耗费优先
第二篇:数据结构算法设计与分析
数据结构算法设计与分析、计算机网络、计算机组成原理、操作系统原理、编译原理、数据库原理及应用、软件工程、软件测试等计算机基础理论课程;
网页制作、程序设计Java、JSP程序设计、Oracle、XML程序设计、计算机网络、SSH(Struts+Spring+Hibernate)框架、Java EE程序设计、Ajax程序设计、Linux+PHP+MySQL程序设计、Android手机开发、UML系统分析与设计、性能测试、自动化软件测试、软件质量保证、毕业设计及项目综合实训等。
数据结构、计算机网络、计算机组成原理、操作系统原理、编译原理、数据库原理及应用、金融学概论、西方经济学等基础理论课程;
网页制作、程序设计Java、JSP程序设计、J2EE程序设计、SQL Server数据库、Oracle数据库、Linux操作系统、UML系统分析与设计、软件工程、XML程序设计、SSH框架、金融市场学、ERP财务管理、管理信息系统、投资银行学、商业银行学、国际金融管理、毕业设计及项目综合实训等专业课程。
数据结构、计算机网络、计算机组成原理、操作系统原理、数据库原理及应用、软件工程、软件测试等计算机基础理论课程;
网页制作、程序设计Java、JSP程序设计、J2EE程序设计、XML程序设计、Ajax程序设计、SSH框架、Android手机开发、Linux+PHP+MySQL程序设计、SQL Server数据库、Linux操作系统、UML系统分析与设计、软件项目管理、行业标准与规范、IT服务管理、IT职业英语、毕业设计及项目综合实训等专业课程
第三篇:算法设计与分析学习心得
算法设计与分析学习心得
班级:物联网1201 姓名:刘潇 学号:1030612129
一、实验内容:
这学期的算法与设计课,老师布置了这四个问题,分别是货郎担问题,动态生成二维数组,对话框下拉列表,排序问题。
二、学习掌握:
基本程序描述:
(1)货郎担问题:货郎担问题属于易于描述但难于解决的著名难题之一,至今世界上还有不少人在研究它。货郎担问题要从图g的所有周游路线中求取具有最小成本的周游路线,而由始点出发的周游路线一共有(n一1)!条,即等于除始结点外的n一1个结点的排列数,因此货郎担问题是一个排列问题。货郎担的程序实现了利用穷举法解决货郎担问题,可以在城市个数和各地费用给定的情况下利用穷举法逐一计算出每一条路线的费用,并从中选出费用最小的路线。从而求出问题的解
(2)费用矩阵:费用矩阵的主要内容是动态生成二维数组。首先由键盘输入自然数,费用矩阵的元素由随机数产生,并取整,把生成的矩阵存放在二维数组中,最后把矩阵内容输出到文件和屏幕上。它采用分支界限法,分支限界法的基本思想是对包含具有约束条件的最优化问题的所有可行解的解(数目有限)空间进行搜索。该算法在具体执行时,把全部可行的解空间不断分割为越来越小的子集,并为每个子集内的解计算一个下界或上界。动态生成二维n*n的数组程序利用指针表示数组的行和列,并逐一分配空间,在输入n的数值后,系统自动分配空间,生成n*n的数组,并产生随机数填充数组,最后将结果输入到指定文件中。
(3)Mfc:在下拉列表框中添加内容程序,在下拉列表对应的函数中利用addstring添加需要的内容。首先定义下拉列表框为ccombox型,并定义其属性名,利用addstring函数可以任意添加需要的内容。a排序问题:快速排序的运行时间与划分是否对称有关,其最坏情况发生在划分过程中产生的两个区域分别包含n-1个元素和1个元素的时候。其算法的时间复杂度为O(n 2),在最好的情况下每次划分的基准恰好为中值,可得其算法时间复杂度为O(n㏒n)。算法的实现和理解和代码实现完全是两回事,想要完全掌握一种算法,需要动手实践,用代码实现,才能理解透彻,真正掌握。b对话框下拉列表:这个项目简单易懂,轻松实现。三.疑问与总结:
货郎担的问题,我认为穷举法相对比而言是比较初级的方法,费时耗力,适合在练习时选用,但是在实际问题中不建议采用。克鲁斯卡尔或者普里姆算法求取最小生成树的方法来解决货郎担的问题是更适合现实解决问题的。我认为程序可以用switch函数来将函数分成几个部分更人性化,比如分为解决问题的的选项,输出结果选项,退出程序选项等。再有就是费用矩阵的值可以从文件中读取,而结果也可以直接放在指定文件中,这样在实际应用中比较广泛。
动态生成二维数组的程序我认为如果按照规范性,我的方法是中规中矩的,毕竟再向下延伸,生成三维的数组,需要三层的指针来实现。但是就程序的简化程度和计算机处理时间来说,我认为这样双层指针的算法有些太占用内存,毕竟要给行和列各分配n个空间。我通过与同学的交流,我发现可以用1位数组来实现二维的n*n的数组。首先分配n*n的空间,然后通过循环在一行的数据达到n时自动换行。这样程序得到了一定的简化,并且减少了一定的内存使用。我认为这种方法是比较贴合实际的。
四.心得体会
在计算机软件专业中,算法分析与设计是一门非常重要的课程,很多人为它如痴如醉。很多问题的解决,程序的编写都要依赖它,在软件还是面向过程的阶段,就有程序=算法+数据结构这个公式。算法的学习对于培养一个人的逻辑思维能力是有极大帮助的,它可以培养我们养成思考分析问题,解决问题的能力。
如果一个算法有缺陷,或不适合某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂性和时间复杂度来衡量。算法可以使用自然语言、伪代码、流程图等多种不同的方法来描述。计算机系统中的操作系统、语言编译系统、数据库管理系统以及各种各样的计算机应用系统中的软件,都必须使用具体的算法来实现。算法设计与分析是计算机科学与技术的一个核心问题。因此,学习算法无疑会增强自己的竞争力,提高自己的修为,为自己增彩。
第四篇:算法设计与分析书中概念总结
6递推步骤
7算法描述(盒图 PAD图之类的老师说看看但我不懂怎么考)
1.算法的基本性质
(1)目的性:算法有明确的目的,算法能够完成赋予它的功能。
(2)分步性:算法为完成其复杂的功能,由一系列计算机可执行的步骤组成。
(3)有序性:算法的步骤是有序的,不可能随意改变算法步骤的执行顺序。
(4)有限性:算法是有限的指令顺序,算法所包含的步骤是有限的。
(5)操作性:有意义的算法总是对某些对象进行操作,使其改变状态完成其功能。
2.算法的考量
对于算法的分析和评估,一般考虑正确性、可维护性、可读性、运算量、占用存储空间等方面考虑。三条主要标准:
(1)算法实现所耗费的时间。
(2)算法实现所耗费的空间,其中主要考虑辅助存储空间。
(3)算法易于理解、易于编码、易于调试。
3.什么是迭代
迭代法也称“辗转法”,是一种不断用变量的旧值递推出新值的解决问题的方法。
4.分治法求解的过程
分治法求解问题的过程是,将整个问题分解成若干个小问题后分而治之。如果分解得到的子问题相对来说还太大,则可反复使用分治策略将这些子问题分成更小的同类型子问题,直至产生方便求解的子问题,必要时逐步合并这些子问题的解,从而得到问题的解。
(1)分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问
题。
(2)解决:若子问题规模较小而容易被解决则直接解决,否则继续分解为更小的子
问题,直至容易解决。
(3)合并:将已求解的各个子问题的解,逐步合并为原问题的解。
5.动态规划策略
基本思想:把求解问题分成许多阶段或多个子问题,然后按顺序求解各个子问题。基本步骤:
(1)划分阶段:按照问题的时间或空间特征,把问题分为若干个阶段。注意,着
若干个阶段一定要是有序的或者可排序的。
(2)选择状态:将问题发展到各个阶段时所出现的各个客观情况用不同的状态表
示出来。当然,状态的选择要满足无后效性。
(3)确定决策并写出状态转移方程:状态转移就是根据上一阶段的状态和决策来
导出本阶段的状态。这就像是“递推”,根据相邻两个阶段的状态之间的关系来确定决策方法和状态转移方程。
6.递推
第五篇:算法设计与分析试题1
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
算法设计与分析试题1
一、单选题(每题2分,共40分)1、0518号台风“达维”过后,要对各个单位捐款救灾情况进行分组制表,并进行积分排序,一般使用的专业电子处理软件有(B)
A、powerpoing B、Excel C、Word D、Visual Basic
2、一位爱好程序设计的同学,想通过程序设计解决“韩信点兵”的问题,他制定的如下工作过程中,更恰当的是(C)
A、设计算法,编写程序,提出问题,运行程序,得到答案
B、分析问题,编写程序,设计算法,运行程序,得到答案
C、分析问题,设计算法,编写程序,运行程序,得到答案
D、设计算法,提出问题,编写程序,运行程序,得到答案
3、交通警察到达案发现场,一般按照下列哪种思路开展工作(D)
①观察、分析现场 ②收集必要的信息 ③进行判断、推理 ④按一定的方法和步骤解决
A、②①③④ B、①③②④ C、③①②④ D、①②③④
4、下面说法正确的是(A)
A、算法+数据结构=程序 B、算法就是程序
C、数据结构就是程序 D、算法包括数据结构
5、下列常量说明中,符合语法的是(D)
A、CONST color=red B、CONST const=10*5
C、CONST xl:=3.9; D、CONST color=”abcd”
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
6、VB中将两个字符串连接起来的运算符有:+和&,那么“123”+45结果是(A)
A、168 B、12345 C、”123” D、45
7、字符串”ABCD”和字符串”DCBA”进行比较,如果让比较的结果为真,应选用关系运算符(B)
A、> B、< C、= D、>=
8、设a,b,c,d,e均为整型变量,且a=13,b=2,c=10,d=3,e=2,则表达式“a-b*c d MOD e”的值是(A)
A、13 B、-7 C、ll D、0
9、已知A,B,C,D是简单变量,且都已有互不相同的值,执行语句B=8;A=C;D=A;D=B;后,其值相等的变量是(B)
A、A,D B、A,C C、C,B D、B,A
10、结构化程序设计由三种基本结构组成,下面哪个不属于这三种基本结构(B)
A、顺序结构 B、输入、输出结构 C、选择结构 D、循环结构
11、下列结果为真的关系表达式是(C)
A、”A”<100 B、23.5<20 C、23<45 AND 72>8 D、5 12、以下运算符中运算优先级最高的是(D) A、+ B、OR C、> D、13、整除运算时,若运算量为实数,则先取整,后相除,结果为整型或长整型。下列哪种是整除运算符(D) A、+ B、Mod C、/ D、精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 14、VB结束程序的运行可以单击程序窗体的“关闭”按钮,或单击VB工具栏上的“结果”按钮,哪种是“结束”按钮(B) A、B、C、D、15、图标控件属于哪种基本控件(B) A、标签 B、文本框 C、按钮 D、图像 16、要交换变量A和B之值,应使用的语句组是(B) A、A=B;B=C;C=A B、C=A;A=B;B=C C、A=B;B=A D、C=A;B=A;B=C 17、执行下面的程序段后,x 的值为(A) x=5 For i=1 To 20 Step 2 x=x+i5 Next i A、21 B、22 C、23 D、24 18、在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim I as integer,j as integer,x as integer x=4 For i=1 To 4 For j =1 To 3 x=x+6 Next j 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 Next i Print x End Sub 程序运行后,单击命令按钮,程序循环次数是(B) A、4 B、12 C、3 D、6 19、在窗体上画一个命令按钮,然后编写如下事件过程: Prevate Sub Command1_Click() Dim a as integer,b as integer, x as integer x=0 Do Until x=-1 a = InputBox(“请输入A的值”) a = Val(a) b = InputBox(“请输入B的值”) b = Val(b) x = InputBox(“请输入x的值”) x = cint(x) a = a+b+x Loop Print a End Sub 程序运行后,单击命令按钮,依次在输入对话框中输入5、4、3、2、1、-1,则输出结果为(A) 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 A、2 B、3 C、14 D、15 20、在窗体上画一个文本框(其中Name属性为Text1),然后编写如下事件过程: Private Sub Form_Load() Dim i as integer,sum as integer Text1.Text=“" For i=1 To 10 Sum=Sum+i Next i Text1.caption=Sum End Sub 上述程序的运行结果是(C) A、在文本框Text1中输出55 B、在文本框Text1中输出0 C、出错 D、在文本框Text1中输出不定值 二、多选题(每题2分,共20分) 1、算法描述可以有多种表达方法,下面哪些方法可以描述“水仙花数问题”的算法(ABC) A、自然语言 B、流程图 C、伪代码 D、机器语言 2、程序设计语言的发展经历哪几个过程(ABC) A、机器语言 B、汇编语言 C、高级语言 D、自然语言 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 3、“闰年问题”的算法可以用哪些语言实现(ABCD) A、Basic B、Pascal C、C++ D、C 语言 4、算法应该具有哪些重要的特征(ABCD) A、有穷性 B、确定性 C、输入、输出 D、可行性 5、“今有物不知其数,三三数之余二,五五数之余三,七七数之余二,问物几何?”这个问题属于(ABD) A、“韩信点兵问题” B、“鬼谷算法问题” C、“水仙花数问题” D、“闰年问题” 6、编制计算机程序解决问题的过程有:描述问题、算法设计、编写计算机程序和调试等,其中,对算法描述正确的是(AD) A、算法是解决问题的步骤 B、解题的步骤是有限的 C、算法就是解题的算式 D、算法是可以被表述和实现 7、以下属非法用户自定义标识符(常量和变量命名)的是(ACD) A、8ad B、ad C、_ad D、const 8、为了便于数据的表示与处理,VB提供哪几种基本数据类型(ABCD) A、数值型 B、字符串型 C、布尔型 D、日期型 9、日期型数据专门用来处理日期和时间,哪种属于日期型数据(AB) A、#2005/10/23# B、#2005/01/02# C、2005/10/23 D、“2005/1/2” 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 10、哪些文件属于某一VB工程中的文件(ABCD) A、.vbp B、.frm C、.ocx D、.bas 三、判断题(每题1分,共10分) 1、Visual Basic是美国微软公司于1991年推出的基于Basic的可视化程序设计语言。(1) 2、一个算法可以被认为是用来解决一个计算问题的工具。(1) 3、一个算法可以用多种程序设计语言来实现。(1) 4、计算机是人制造的,所以,它和人脑解决问题没有什么区别。(2) 5、字符串型数据是指用‘ ’括起来的一串字符。(2) 6、我们常说的程序设计语言就是程序设计。(2) 7、控件是应用程序的基本元素,与窗体共同构成应用程序的界面。(1) 8、面向对象的程序设计以对象为中心,以事件为过程的执行起点。(1) 9、MsgtBox函数反回值的类型为数值。(1) 10、Ctrl+T能打开属性窗口。(2) 四、简答题(每题10分,共30分) 1、说说人类和计算机解决问题的区别? 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 2、用流程图描述出“闰年问题”的算法。 算法描述: 输入年份Y IF Y能被4整除 THEN IF Y不能被100整除 THEN 输出“是闰年” ELSE IF Y能被400整除 THEN 输出“是闰年” ELSE 输出“不是闰年” END IF END IF ELSE 输出“不是闰年” END IF 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 3、在“神州号”程序中,我们只判断了飞船成功飞行的条件。当飞船速度继续加大时,飞船将达到第二宇宙、第三宇宙速度。。。。(见下表) 试编写程序,输入不同的飞船速度,判断它的各种飞行状况。 飞船速度(V)单位(km/s) 飞行状况 7.91<=V<11.19 飞船绕地球似做匀速圆周运动 11.19<=V<16.67 飞船离开地球的控制 ,围绕太阳转 V>16.67 飞船挣脱太阳引力飞出太阳系 编程: 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 方法一:Prevate Sub Command1_Click() Dim v As Integer v = InputBox(”请输入飞船速度的值“) If(v >= 7.91)And(v <= 11.19)Then Label1.Caption = ” 飞船绕地球似做匀速圆周运动“ Else If(v >= 11.19)And(v <= 16.67)Then Label1.Caption = ” 飞船离开地球的控制,围绕太阳转“ Else If v >= 16.67 Then Label1.Caption = ” 飞船挣脱太阳引力飞出太阳系“ Else If v <= 7.91 Then Label1.Caption = ” 输入数据错误!“ End If End If End If End If End Sub 方法二:(课本P36) Private Sub Form_Load() Dim v As single 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 v = InputBox(”请输入飞船速度的值“) select case v case is>16.67 Label1.Caption = ”飞船挣脱太阳引力飞出太阳系“ case is >= 11.19 Label1.Caption = ” 飞船离开地球的控制,围绕太阳转“ case is <= 7.91 Label1.Caption = ” 飞船离开地球的控制,围绕太阳转“ Case else Label1.Caption = ” 输入数据错误!" End select End Sub 精心收集 精心编辑 精致阅读 如需请下载!