信息科技第一学期期末算法复习_第1页
信息科技第一学期期末算法复习_第2页
信息科技第一学期期末算法复习_第3页
信息科技第一学期期末算法复习_第4页
信息科技第一学期期末算法复习_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、信息科技复习稿(程序篇)1.算法的定义:为解决某一问题而设计的确定的有限的步骤。2.算法的特点:有穷性、确定性、可行性、有0个或多个输入、有一个或多个输出。例. 以下流程图,符合算法特征的是( )。A B C D例. 下列关于算法的特征描述不正确的是_A、有穷性:算法必须在有限步之内结束B、确定性:算法的每一步必须有确切的定义C、输入:算法必须至少有一个输入D、输出:算法必须至少有一个输出3.描述算法的方法:用自然语言描述、用流程图描述、用程序描述。例. 算法描述可以有很多种表达方式,下面不属于算法描述方式的是_A.自然语言 B.流程图 C.伪代码 D.机器语言4.用计算机解决问题的一般过程:

2、分析问题®设计算法®编写程序®上机调试。5.变量的命名规则:只能由字母、数字和下划线三类字符组成,但第一个字符必须是字母,字母大小写都可以。变量名长度适当,要有意义。例. 下列变量命名中,合法的变量名是_。A、x+5 B、do C、n7 D、miss_16.变量赋值:将赋值号右边常量的值或变量的值,或表达式的结果存放在左边变量名对应的存储单元中,成为左边变量的值。格式:变量=常量   例如:a=3n        变量=变量   例如:b=an 

3、       变量=表达式 例如:c=2*a+b 注意:= 是赋值号7.变量的特点:变量的值“取之不尽,一冲就丢”。8.三类运算:算术运算符:+ 加  - 减  * 乘  / 除  整除  乘方  Mod 求余数 关系运算符:=、>、<、>=大于等于、<=小于等于、<>不等于n        逻辑运算符:Not   And   &#

4、160;Or运算规则 算术运算最优先,关系运算次之,最后为逻辑运算,括号可以改变次序。 逻辑运算次序 先not 后and 再or。Int(x) 取整运算,求不大于x的最大整数Sqr(x) 求x的算术平方根Abs(x) 求x的绝对值例. 若变量a、b的值分别为3、4,则表达式a+b/(a-b)的值是_。例. 若变量x的值为5,则表达式33 mod x>6的值是_。例. 若变量x、y的值分别为6、7,则表达式(x>5) and (y<10)的值是_。例. 逻辑表达式(13<12)or (10=10) and not (1>-1)的值是_例. 若x,y都是正整数,表示“

5、x是y的倍数”的逻辑表达式是_。A、xy=0 B、int(x/y)=0 C、int(x/y)=x/y D、x mod y=1例. 若a,b都是正整数,且关系表达式(a*b) mod 2=0为真(True),则下列说法正确的是_。A、a,b一定同时为奇数 B、a,b中必有一个为偶数C、a,b中必有一个为奇数 D、a,b一定同时为偶数例. 设x=4126能得到其百位上数字“1”的正确表达式是_。A、x mod 100 B、x100 mod 10 C、x100 mod 100 D、x10 mod 10例. 逻辑表达式(”A”<”B”) and not (10<>1)的值是_ _。A

6、不确定BF CT D表达式有错误9. 数组:一种特殊的变量,用a1这样的形式来表现,a是数组的名称,1是下标,表示这个元素在数组中所处的位置。下标可以是常量、变量、甚至是表达式。如:ai , a3+4 例. 给数组a赋值如下表,运行i=1:i=i+3之后,读取a(i)的值为A : 2.4B : 4.3C : 3.8D : 1.711. 排序法:对批量的数据按照一定的顺序进行排列的一种操作方法。冒泡排序:逐遍加工,每一遍排好一个数据,最后一遍加工后完成排序。从右往左,一次比较相邻的2个元素,把小的往前交换。选择排序:每一遍加工过程中通过遍历记录下最值的位置,最后再将最值的位置和待排元素的位置进行

7、交换,每一遍加工过程中只要调整一次位置。例. 数组a中存放了某校田径运动会中八名100米短跑运动员的成绩,数据存放情况如下表:a1a2a3a4a5a6a7a812.813.312.312.613.512.113.013.8若按升序排列,并采用冒泡排序算法自右向左进行比较和交换,那么在第二轮数据比较交换中,共交换 次。例. 数组a中存放了某校田径运动会中八名100米短跑运动员的成绩,数据存放情况如下表:a1a2a3a4a5a6a7a812.813.312.312.613.512.113.013.8若按升序排列,并采用冒泡排序算法自右向左进行比较和交换,那么在第二轮数据比较交换后,数组元素a7的值

8、是 。 例. 将6名选手的歌唱比赛成绩存放在数组a中,如下表所示:若按升序排列,采用冒泡排序算法自右向左进行比较和交换,那么完成前二轮的数据处理,比较的总次数为( )A : 9B : 5C : 10D : 412. 查找法:在批量的数据中找到所需的对象。关键过程就是取一个元素,读出其的值同时和要查找的数据进行比较,若相等则表示找到,若不等则继续下一个。顺序查找:从第1个数开始,比较和需要查找的数据是否相等,直到相等输出元素的下标。对分查找:在一个有序的数组中,从中间元素开始查找,若不等则缩小一半的查找范围,在剩下的元素中继续取中间位置的元素进行查找,直到找出为止。 例. 数组a中存放了某校田径

9、运动会中七名100米短跑运动员的成绩,数据存放情况如下表:a1a2a3a4a5a6A712.112.312.612.813.013.313.5若用对分查找算法查找数值13.5,则需要查找的次数是 。例.数组a中存放了某校田径运动会中七名100米短跑运动员的成绩,数据存放情况如下表: a1a2a3a4a5a6a712.112.312.612.813.013.313.5若用对分查找算法查找数值12.6,则需要查找的次数是 。例. VB数组A中存放了某校学生的身高数据(单位:厘米),数据存放情况如下表:若要查找数组中是否存在数据182,以下表述正确的是( )。A . 本组数据既能采用对分查找算法,也

10、能采用顺序查找算法B . 本组数据采用对分查找需比较4次,而顺序查找只需2次,所以对分查找效率高的说法不对C . 本组数据须先对数据进行升序排序后才能进行对分查找D . 本组数据由于存在相同数据176,所以不能采用对分查找算法13. 机器人:我也是醉了,分不清楚方向的少年们,随便看看吧。例. 机器人走迷宫:图a为迷宫(黑色表示障碍区,不能通行),图b为机器人的智能程序。机器人用箭头表示,箭头方向为机器人的前进方向,机器人会按智能程序要求行走,并会从底边的某个位置走出迷宫。该位置的编号是 例.机器人灭火:下图为着火点搜索范围和机器人的智能程序。黑色区域表示障碍区,不能通行;红色星状图为着火点。机

11、器人用箭头表示,箭头方向为机器人的前进方向,机器人会按智能程序要求进行搜索,直至完成灭火任务。完成灭火任务后,输出的i值为 。 14. 简单循环编程:最关键的是看着题目和给出的代码中,分析需要用到哪些量,并且分别要用哪些变量来表示这些量。然后就是这些变量的初值,终值,变化过程,完整的连起来就是一个完整的代码了。下面不来虚的,直接通过例题以及同类的练习题,自己摸索套路。例. 计算S=10/1001+10/1002+10/100310/N的值(N由输入决定,若N为1200,则运行结果为?)精确到0.001分析:用到3个变量,S表示和,N表示输入的最后一个分母,I表示每一个分母。则代码如下:i =

12、1001s = 0n = InputBox("n")Do While i <= ns=s+10/ii = i + 1Loops=int(s*1000+0.5)/1000Print s例. 计算S=1*3*5*7*N的值(N为奇,若N为19,则值为?)分析:用到3个变量,S表示积,N表示最后一个乘数,I表示每一个乘数。则代码如下:i = 1s = 1n = InputBox("n")Do While i <= ns=s*ii=i+2LoopPrint s例. 求1/2+2/3+3/4+4/5+前50项之和;精确到0.0001例. 求S=1+3*

13、3+5*5+7*7+N*N(N由输入决定,若N=11,则值为)例. 求例. 计算的值(n是大于81的正整数,n的值由输入决定,结果要求四舍五入保留四位小数)。15. 枚举编程:循环嵌套分支。由循环来一个个列举所有可能的解,由分支来验证这个列举的值究竟是否正确(绝大多数情况下是单分支)。同样最关键的是看着题目和给出的代码中,分析需要用到哪些量,并且分别要用哪些变量来表示这些量。然后就是这些变量的初值,终值,变化过程,以及验算的这个条件如何用表达式来表示。之后完整的连起来就是一个完整的代码了。下面也不来虚的,直接通过例题以及同类的练习题,自己摸索套路。例. 求两位正整数,十位数大于个位数,求满足条

14、件的所有两位正整数的和分析:用到四个变量,分别是x来表示两位正整数,S来表示和,a来表示十位数,b来表示个位数。列举的是所有两位正整数,第一个是10最后一个是99,两者之间差1。十位数和个位数在循环中求得,因为会不同。判断条件是十位数大于个位数,条件成立时才求和,不成立就舍弃,于是是单分支。代码如下:s = 0x = 10Do While x<=99a=x 10b= x mod 10If a > b Thens=s+xEnd Ifx = x + 1LoopPrint s例. 六位正整数,能被157和233同时整除,且第一位数与最后一位数相等,求满足条件的六位正整数。分析:需要用到三个变量,x表示六位正整数,a表示第一位,b表示最后一位。第一个六位数是100000,最后一个是999999。a、b需要在循环中求,因为会变。判断条件是a=b,条件成立直接输出x,不成立舍

温馨提示

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

最新文档

评论

0/150

提交评论