枚举子界集合记录练习(答案)
- 格式:doc
- 大小:37.00 KB
- 文档页数:8
第3讲 枚举法(一)(计数问题第1讲)【1】1~20共有多少个数相隔:20-1=19(个);个数:19+1=20(个)。
答:1~20共有20个数。
【2】20~40共有多少个数相隔:40-20=20(个);个数:20+1=21(个)。
答:20~40共有21个数。
【3】如图,桌上有一些围棋子,有多少枚黑子 正难则反一共:5×5=25(枚);白子:9枚;黑子:25-9=16(枚)。
答:有16枚黑子。
【4】小明决定去香山、颐和园、圆明园这3个景点旅游,要走遍这三个景点,他一共有多少种不同的游览顺序 (1)香山、颐和园、圆明园;(2)香山、圆明园、颐和园;(3)颐和园、香山、圆明园;(4)颐和园、圆明园、香山;(5)圆明园、香山、颐和园;(6)圆明园、颐和园、香山。
3×2=6(种)答:他一共有6种不同的游览顺序。
【5】小王准备从青岛、三亚、桂林、杭州这4个地方中选2个地方去旅游,小王有多少种不同的选择 握手原则⎩⎨⎧÷⨯-2每个人握手次数所有人握手次数:人数1每个人握手次数:人数(1)青岛、三亚;(2)青岛、桂林;(3)青岛、杭州;(4)三亚、桂林;(5)三亚、杭州;(6)桂林、杭州。
4×3÷2=6(种)答:小王有6种不同的选择。
【6】小王准备从青岛、三亚、桂林、杭州这4个地方中选3个地方去旅游,小王有多少种不同的选择 正难则反:在4个地方里面选3个,也就是每次去掉1个地方不选。
(1)青岛、三亚、桂林(不选杭州);(2)青岛、三亚、杭州(不选桂林);(3)青岛、桂林、杭州(不选三亚);(4)三亚、桂林、杭州(不选青岛)。
答:小王有4种不同的选择。
【7】墨莫在一张纸上画了一些图形,如图所示,每个图形都是由若干条线段连接组成的。
数一数,纸上一共有多少条线段(最外面的大长方形是纸的边框,不算在内) 三角形个数:2;四边形个数:2;五边形个数:2。
(3+4+5)×2=24(条) 答:纸上一共有24条线段。
枚举算法经典例题一、以下哪个问题适合使用枚举算法解决?A. 查找一个无序数组中的最大值B. 求解旅行商问题(TSP)的最短路径C. 生成一个集合的所有子集D. 对一个有序数组进行二分查找(答案)C二、在使用枚举算法生成一个长度为n的二进制串的所有可能组合时,时间复杂度为多少?A. O(n)B. O(n!)C. O(2n)D. O(n2)(答案)C三、枚举算法在解决以下哪个问题时,可能会因为问题规模过大而变得不实际?A. 找出一个字符串中的所有字符排列B. 计算一个数的阶乘C. 验证一个数是否为素数D. 求解一个50x50的棋盘上的骑士周游问题(答案)D四、以下哪个不是枚举算法的特点?A. 简单易实现B. 适用于所有问题C. 可能产生大量计算D. 通常用于小规模问题(答案)B五、在使用枚举算法解决排列问题时,如果要对n个元素进行排列,总共会有多少种不同的排列方式?A. nB. n!C. 2nD. n2(答案)B六、以下哪个问题不适合直接使用枚举算法解决,因为其解空间太大?A. 找出一个数组中所有元素的和B. 求解一个密码的所有可能组合(密码长度为10,字符集为大小写字母和数字)C. 找出一个字符串中的最长回文子串D. 计算一个数的平方根(精确到小数点后10位)(答案)B七、枚举算法在解决组合问题时,如果要从n个元素中选出k个元素,总共会有多少种不同的组合方式?A. nkB. k!C. C(n, k) = n! / (k!(n-k)!)D. 2n(答案)C八、以下哪个场景是枚举算法的典型应用?A. 大规模数据的排序B. 图的遍历C. 查找一个数是否在有序数组中D. 生成并检查所有可能的解以找到满足条件的解(答案)D。
枚举的练习题枚举是编程中一种常见的数据类型,它可以列举出一组预定义的值。
在编程中,我们经常会遇到需要列举出一组值的情况,而使用枚举可以使代码更加清晰、易读。
本文将为大家介绍几个枚举的练习题,通过实践来加深对枚举的理解。
练习题一:季节枚举请定义一个枚举类型Season,包含常见的四个季节:春、夏、秋、冬。
根据给定的月份,判断属于哪个季节,并输出相应的提示信息。
```pythonenum class Season {SPRING,SUMMER,AUTUMN,WINTER};void printSeason(Season season) {switch (season) {case Season::SPRING:cout << "当前月份属于春季" << endl;break;case Season::SUMMER:cout << "当前月份属于夏季" << endl; break;case Season::AUTUMN:cout << "当前月份属于秋季" << endl; break;case Season::WINTER:cout << "当前月份属于冬季" << endl; break;default:cout << "输入错误" << endl;}}int main() {int month;cout << "请输入月份(1-12): ";cin >> month;if (month >= 1 && month <= 12) {if (month >= 3 && month <= 5) {printSeason(Season::SPRING);} else if (month >= 6 && month <= 8) {printSeason(Season::SUMMER);} else if (month >= 9 && month <= 11) {printSeason(Season::AUTUMN);} else {printSeason(Season::WINTER);}} else {cout << "输入错误" << endl;}return 0;}```练习题二:星期枚举请定义一个枚举类型Weekday,包含七个星期的名称:星期一至星期日。
习题答案(P151~P153)1.用枚举法给出下列集合解:(2){-3,2}(4){5,6,7,8,9,10,11,12,13,14,15}2.用抽象法说明下列集合解:(2){x|x为素数,10<x<20}(4){x|x为中国的省会}(6){x|x=2k+1,k∈I}3.判断下列哪些∈关系成立,为什麽?解:根据只有集合中的元素才与该集合有∈关系,故(1)、(4)、(6)、(7)成立,(2)、(3)、(5)、(8)不成立。
4.判断下列哪些集合相等(全集是整数集合I)解:A=G,B=E,C=F6.写出下列集合的幂集解:(2)ρ({1,∅})={∅,{1},{∅},{1,∅}}(4)ρ({∅,{a},{∅}})={∅,{∅},{{a}},{{∅}},{∅,{a}},{∅,{∅}},{{a},{∅}},{∅,{a},{∅}}}7.当把“⊆”插入空位时哪一个为真?解:(1)、(2)、(3)、(6)为真,(4)、(5)为假。
8.设A、B、C分别是集合,若A∈B,B∈C,哪麽A∈C一定成立吗?解:不一定,例如,A={a},B={{a}},C={{{a}}},虽然A∈B,B∈C,但A∈C不成立。
10.设U={1,2,3,4,5},A={1,4},B={1,2,5}和C={2,4}试写出下列集合(8)ρ(A)-ρ(C)解:ρ(A)-ρ(C)={∅,{1},{4},{1,4}}-{∅,{2},{4},{2,4}}={{1},{1,4}}11.证明下列恒等式(1)A-(B⋂C)=(A-B)⋃(A-C)(2)(A-B)⋂B=∅解:(1)A-(B⋂C)= A⋂~(B⋂C)= A⋂(~B⋃~C)=(A⋂~B)⋃(A⋂~C)=(A-B)⋃(A-C)(2)(A-B)⋂B=(A⋂~B)⋂B= A⋂(~B⋂B)= ∅12.设A、B、C是集合,下列等式成立的条件是什么?(1)(A-B)⋃(A-C)=A(2)(A-B)⋃(A-C)= ∅解:(1)因为(A-B)⋃(A-C)= (A⋂~B)⋃(A⋂~C)= A⋂(~B⋃~C)= A⋂~(B⋂C)= A-(B⋂C)所以(A-B)⋃(A-C)=A 当且仅当A-(B⋂C)=A 由-的定义可知A⋂(B⋂C)=∅(2)由(1)可知,(A-B)⋃(A-C)=A-(B⋂C)所以(A-B)⋃(A-C)=∅当且仅当A-(B⋂C)=∅由定理5.11可知A⊆(B⋂C)13. 设A,B是集合(1)A-B=B,问A和B有何关系?(2)A-B=B-A, 问A和B有何关系?解:(1)A=B=φ。
结构体共用体与枚举课后习题1.定义一结构体,成员项包括一个字符型、一个整型。
编程实现结构体变量成员项的输入、输出,并通过说明指针引用该变量。
#includevoid main(){struct a{char b;int c;}d,*p;p=&dprintf("输入:\n");scanf("%c",&(*p).b);scanf("%d",&p->c);printf("输出:\n");printf("%c\n",(*p).b);printf("%d\n",p->c);}2.建立一结构体,其中包括学生的姓名、性别、年龄和一门课程的成绩。
建立的结构体数组通过输入存放全班(最多45人)学生信息,输出考分最高的同学的姓名、性别、年龄和课程的成绩。
#includevoid main(){int i,b,n;float a;printf("请输入班级的人数:"); scanf("%d",&n);getchar();struct person{char name[20];char sex[10];int year;float score;}stu[45];for(i=0;i<n;i++)< p="">{printf("请输入第%d个学生的名字、性别、年龄及成绩\n",i+1);gets(stu[i].name);gets(stu[i].sex);scanf("%d",&stu[i].year);scanf("%f",&stu[i].score);getchar();}for(b=0,a=stu[0].score,i=0;i<n;i++)< p="">if(a<stu[i].score)< p="">{a=stu[i].score;b=i;}printf("成绩最优秀的是第%d个学生\n",b+1);printf("名字:%s 性别:%s 年龄:%d 成绩:%f\n",stu[b].name,stu[b].sex,stu[b].year,stu[b].score);}3.已知一个班有45人,本学期有两门课程的成绩,求:●所有课程中的最高成绩,以及对应的姓名、学号和课程编号。
江西科学技术版小学信息技术五年级下册《枚举算法》同步练习题附知识点归纳一、课文知识点归纳:1. 枚举算法是一种基础的算法思想,它将问题分为有限种可能的解决方法,并对每一种情形进行检验。
2. 枚举算法适用于任何有限种情形,但运算量通常较大,解题效率不高。
3.使用枚举算法时,需要避免遗漏和重复,以确保所有可能的情况都被考虑到。
4.枚举算法在编程实现时,通常需要使用循环和条件判断。
二、同步练习题。
(一)、填空题。
1. 枚举算法是一种基础的算法思想,它将问题分为有限种可能的________,并对每一种情形进行________,最终得到最佳的解决方案。
2. 在使用枚举算法解决问题时,我们需要避免________和________,以确保所有可能的情况都被考虑到。
3. 枚举算法虽然理论上可以应用于任何有限种情形,但其缺点是________较大,解题效率________。
(二)、选择题。
1. 下列关于枚举算法的说法,正确的是____。
()A. 枚举算法只适用于有限种情形B. 枚举算法是一种复杂的算法思想C. 枚举算法不能用于解决实际问题D. 枚举算法不需要考虑问题的所有可能情况2. 在使用枚举算法时,我们通常需要____。
()A. 列出所有可能的情况B. 忽略部分可能的情况C. 只考虑最有可能的情况D. 依赖计算机自动找出所有情况3. 以下哪项不是枚举算法的优点?( )A. 正确性高B. 运算量小C. 适用于有限种情形D. 逻辑清晰(三)、判断题。
(正确的打“√”,错误的打“×”)1. 枚举算法在解决问题时,一定会找到所有可能的解。
( )2. 使用枚举算法时,我们不需要考虑数据的范围。
( )3. 枚举算法在编程实现时,通常需要使用循环和条件判断。
( )(四)、简答题。
1. 请简述枚举算法的基本思想和应用场景。
__________________________________________________________________ __________________________________________________________________ __________________________________________________________________2.在使用枚举算法解决问题时,我们需要注意哪些关键点?__________________________________________________________________ __________________________________________________________________ __________________________________________________________________三、学习目标:1.理解枚举算法的基本思想和应用场景。
一、选择题1.题目:一个骰子有六个面,每个面上的点数分别为1、2、3、4、5、6。
现在投掷这个骰子一次,问出现点数为偶数的概率是多少?A.1/6B.1/3C.1/2(正确答案)D.2/32.题目:一个密码箱有4个数字转盘,每个转盘上有0-9共10个数字。
若某人只记得密码是由不同的数字组成,但不记得具体顺序,问此人最多需尝试多少次才能确保打开密码箱?A.10000B.5040(正确答案)C.2400D.1203.题目:某班级有10名学生,需要选出3名学生参加学校的数学竞赛。
如果甲和乙两名学生不能同时被选上,那么一共有多少种不同的选法?A.108B.112C.120(正确答案)D.1404.题目:一个正方体有6个面,每个面上分别写有数字1、2、3、4、5、6。
现在将这个正方体任意投掷,问出现数字小于4的面的概率是多少?A.1/2(正确答案)B.1/3C.1/4D.2/35.题目:从1到100的自然数中,任取一个数,求取到的数是7的倍数或者含有7的数字的概率是多少?A.0.14B.0.19(正确答案)C.0.21D.0.266.题目:一个足球队有11名队员,其中包括队长和副队长。
现在要从这11名队员中选出3名队员参加一个访谈节目,要求队长和副队长不能同时被选上,问有多少种不同的选法?A.140B.150C.160D.165(正确答案)7.题目:一个口袋中有5个红球和3个白球,从中任意摸出一个球,记下颜色后放回,再摸出一个球。
问两次都摸到红球的概率是多少?A.1/4B.9/16C.25/64(正确答案)D.5/88.题目:某班级有8名学生,需要分成两组进行辩论,每组4人。
如果甲和乙两名学生必须分在同一组,那么一共有多少种不同的分组方法?A.30B.35(正确答案)C.40D.45。
枚举通关26题(含答案)1. 小明同学在上楼梯时发现:若只有一个台阶时,有一种走法;若有二个台阶时,可以一阶一阶地上,或者一步上二个台阶,共有两种走法;如果他一步只能上一个或者两个台阶,根据上述规律,有三个台阶时,他有三种走法,那么有四个台阶时,共有( )种走法.A. 3B. 4C. 5D. 62. 将1,2,3,4,5,6这六个数字分别填入每个小方格中,如果要求每行、每列及每条粗线隔成的2×3方格内部都没有重复数字,则“▲”处填入的数字是( )A. 5B. 4C. 3D. 23. 一次掷两枚质地均匀的硬币,出现两枚硬币都正面朝上的概率是( )A. 12B. 13C. 23D. 144. 某街道分布示意图如图所示,一个居民从A处前往B处,若规定只能走从左到右或从上到下的方向,那么该居民共有( )种可选择的不同路线A. 5B. 6C. 7D. 85. 从装有两个红球、两个黄球(每个球除颜色外其他均相同)的袋中任意取出两个球,取出一个红球和一个黄球的概率是( )A. 13B. 23C. 14D. 126. 将编号为1,2,3,4,5,6的6个小球放入3个不同的盒子内,每个盒子放2个球,则编号为1,2的小球放入同一个盒子内的概率为( )A. 215B. 15C. 25D. 357. 从长度分别为1,3,5,7的四条线段中任取三条作边,能构成三角形的概率为( )A. 12B. 13C. 14D. 158. 方程x+3x+1−y=0的整数解有( )A. 1组B. 2组C. 3组D. 4组9. 在同一平面内,不重合的三条直线的交点个数是( )A. 1或3B. 0,1或3C. 0,2或3D. 0,1,2或310. 一个三角形的三边长分别为2,10,x,且x为奇数,则这个三角形的周长为.11. 已知关于x的方程9x−3=kx+14有整数解,那么满足条件的所有整数k的值为.12. 如图所示,下列图案均是由完全相同的“太阳型”,图标按一定的规律拼搭而成:第1个图案需要2个图标,第2个图案需要4个图标,第3个图案需要7个图标,⋯,按此规律,第5个图案需要图标的个数是.13. 现有长为57cm的铁丝,要截成n(n>2)小段,每小段的长度为不小于1cm的整数,如果其中任意3小段都不能拼成三角形,则n的最大值为.14. 二元一次方程x+2y=5的正整数解有.15. 某校九年级两个班,各选派10名学生参加学校举行的“汉字听写”大赛预赛.各参赛选手的成绩如下:九(1)班:88,91,92,93,93,93,94,98,98,100九(2)班:89,93,93,93,95,96,96,98,98,99通过整理,得到数据分析表如下:班级最高分平均分中位数众数方差九(1)班100m939312九(2)班9995n938.4(1)直接写出表中m,n的值;(2)依据数据分析表,有人说:“最高分在(1)班,(1)班的成绩比(2)班好”,但也有人说(2)班的成绩好,请给出两条支持九(2)班成绩好的理由;(3)若从两班的参赛选手中选四名同学参加赛,其中两个班的第一名直接进人决赛,另外两个名额在四个“98分”的学生中任选两个,请列举出所有可能的情形.(提示:用A1,A2分别表示九(1)班的两个98分的同学,用B1,B2分别表示九(2)班的两个98分的同学)16. 有这样一个数字游戏:将1,2,3,4,5,6,7,8,9这九个数字分别填在如图所示的九个空格中,要求每一行从左到右的数字逐渐增大,每一列从上到下的数字也逐渐增大.当数字3和4固定在图中所示的位置时,x代表的数字是,此时按游戏规则填写空格,所有可能出现的结果共有种.x3417. 阅读下面材料,回答问题.中国自古便有“十天干”与“十二地支”的说法,简称“干支”,源于树木的干和枝.十天干依次为:甲、乙、丙、丁、戊、己、庚、辛、壬、癸;十二地支依次为:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥.十位天干和十二位地支依次顺位搭配,即:甲子、乙丑、丙寅、丁卯、戊辰、己巳、庚午、辛未、壬申、癸酉、甲戌、乙亥、丙子、丁丑⋯辛酉、壬戌、癸亥、甲子、乙丑⋯后来天干地支被用以记录时间,即纪年、纪月、纪日、纪时,其中纪年法使用最广泛,如今我国仍然沿用夏历(农历)的纪年方法,即“干支纪年法”,称为农历(夏历)某某干支年(严格说,农历年与公历年并不完全重合).如公历2013年是农历癸巳年;再如,今年10月初在我国黄海打捞的致远舰遗骸,记载的是历史上著名的中日甲午海战,发生于公历1894年.十二地支又与十二生肖依次顺位相对应:子鼠、丑牛、寅虎、卯兔、辰龙、巳蛇、午马、未羊、申猴、酉鸡、戌狗、亥猪.根据以上材料,填空:(1)十位天干和十二位地支依次顺位相搭配,年为一个最小循环;(2)获得诺贝尔医学奖的中国科学家屠呦呦生于公历1930年12月30日,用干支纪年法她生于年.18. 甲乙两人玩数字游戏,先由甲写一个数,再由乙猜甲写的数 .要求:他们写和猜的数字只在1,2,3,4,5这五个数字中.(1)请用列表法或树状图表示出他们写和猜的所有情况;(2)如果他们写和猜的数字相同,则称他们“心灵相通”:求他们“心灵相通”的概率;(3)如果甲写的数字记为a,把乙猜的数字记为b,当他们写和猜的数字满足∣a−b∣≤1,则称他们“心有灵犀”,求他们“心有灵犀”的概率.19. 四根木棒的长度分别为12cm,8cm,5cm,6cm.从中取三根,使它们首尾顺次相接组成一个三角形.一共有多少种取法?把它们都列出来.20. √18−n是整数,求自然数n的值.21. 已知△ABC的两边长a=3,c=5,且第三边长b为关于x的方程x2−4x+m=0的两个正整数根之一,求sinA的值.22. 小明和小亮玩纸牌游戏,他们从同一副扑克牌中抽出四张,牌面数字分别为3,6,10,13.游戏规则如下:将四张牌正面朝下洗匀后放在桌上,小明先从中随机抽出一张并记下牌面上的数字,小亮再从剩余的3张中随机抽出一张也记下牌面上的数字.若抽出的两张牌的牌面数字都是两位数,则小明得1分;否则,小亮得1分,若干局后得分高的人获胜.请你判断这个游戏规则是否公平,说明理由.23. “九宫图”传说是远古时代洛河中的一只神龟背上的图案,故又称“龟背图”.中国古代数学史上常研究“九宫图”.(1)现有1,2,3,4,5,6,7,8,9九个数字,请将他们分别填入图甲的九个方格中,使得每行的三个数、每列的三个数、斜对角的三个数之和都等于15.(2)通过研究问题(1),利用你发现的规律,将3,5,−7,1,7,−3,9,−5,−1这九个数字分别填人图乙的九个方格中,使得每行的三个数、每列的三个数、斜对角的三个数之和都相等.24. “综合与实践”学习活动准备制作一组三角形,记这些三角形的三边分别为a,b,c,并且这些三角形三边的长度为大于1且小于5的整数个单位长度.(1)用记号(a,b,c)(a≤b≤c)表示一个满足条件的三角形,如(2,3,3)表示边长分别为2,3,3个单位长度的一个三角形,请列举出所有满足条件的三角形;(2)用直尺和圆规作出三边满足a<b<c的三角形(用给定的单位长度,不写作法,保留作图痕迹).25. 在同一平面内有三条直线,它们之间的位置关系共有几种情形?试画图说明.26. 已知四个互不相等的实数x1,x2,x3,x4,其中x1<x2,x3<x4.(1)请列举x1,x2,x3,x4从小到大排列的所有可能情况.(2)已知a为实数,函数y=x2−4x+a与x轴交于(x1,0),(x2,0)两点,函数y=x2+ax−4与x轴交于(x3,0),(x4,0)两点.若这四个交点从左到右依次标为A,B,C,D,且AB=BC=CD,求A的值.答案1. C2. D3. D 【解析】同时掷两枚质地均匀的硬币一次,共有正正、反反、正反、反正四种等可能的结果,两枚硬币都是正面朝上的占一种,所以两枚硬币都是正面朝上的概率=14.4. D5. B【解析】我们不妨把四个球分别记为红1,红2,黄1,黄2,从中摸出两个球的所有等可能结果为(红1,红2),(红1,黄1),(红1,黄2),(红2,黄1),(红2,黄2),(黄1,黄2),共6种,其中一红一黄共有4种,故其概率P=46=23.6. B 【解析】将6个小球分成3堆,每堆2球,共有下列15种不同的分堆方法(堆与堆之间不考虑顺序):(1,2),(3,4),(5,6);(1,2),(3,5),(4,6);(1,2),(3,6),(4,5);(1,3),(2,4),(5,6);(1,3),(2,5),(4,6);(1,3),(2,6),(4,5);(1,4),(2,3),(5,6);(1,4),(2,5),(3,6);(1,4),(2,6),(3,5);(1,5),(2,3),(4,6);(1,5),(2,4),(3,6);(1,5),(2,6),(3,4);(1,6),(2,3),(4,5);(1,6),(2,4),(3,5);(1,6),(2,5),(3,4).其中,编号为1,2的小球分在同一堆的情形有3种,∴编号为1,2的小球放在同一个盒子内的概率P=315=15.7. C 【解析】从四条线段中任意选取三条,所有的可有:(1,3,5),(1,3,7),(1,5,7),(3,5,7)共4种,根据”三角形的任意两边之和大于第三边“可知其中能够构成三角形的有(3,5,7),共1种,∴P(构成三角形)=14.8. D 9. D10. 21或23【解析】设第三边长为 x ,因为两边长分别是 2 和 10,所以 10−2<x <10+2,即:8<x <12,因为第三边长为奇数,所以 x =9或11,所以这个三角形的周长为 2+10+9=21 或 2+10+11=23. 11. 10,26,8,−8 【解析】将方程变形为:x =179−k,又 x 为整数且 k 也为整数,通过列举可得k 可取 10,26,8,−8. 12. 21【解析】第一行的规律是 1,2,3,4,⋯,故第五个数是 5; 第二行的规律是 1,2,4,8,⋯,故第五个数是 16, 所以第五个图案中共有 21 个太阳型图标. 13. 8【解析】因为 n 段之和为定值 57 cm ,故欲 n 尽可能的大,必须每段的长度尽可能的小.又由于每段的长度不小于 1 cm ,且任意 3 段都不能拼成三角形,因此这些小段的长度只可能分别是 1,1,2,3,5,8,13,21,34,55,⋯(单位:cm ).但 1+1+2+3+5+8+13+21=54<57,1+1+2+3+5+8+13+21+34=88>57, 所以 n 的最大值为 8.14. {x =1,y =2.,{x =3,y =1.【解析】当 x =1 时,y =2; 当 x =2 时,y =1.5; 当 x =3 时,y =1; 当 x =4 时,y =0.5;当 x 取 5 及大于 5 的正整数时,y 不为正数,不符合题意.15. (1) m =110(88+91+92+93+93+93+94+98+98+100)=94;把九(2)班成绩排练为89,93,93,93,95,96,96,98,98,99,则(95+96)=95.5;中位数n=12(2)①九(2)班平均分高于九(1)班;②九(2)班的成绩比九(1)班稳定;③九(2)班的成绩集中在中上游,故支持九(2)班成绩好(任意选两个即可);(3)所有可能的情形有6种,分别为:(A1,A2),(A1,B1),(A1,B2),(A2,B1),(A2,B2),(B1,B2).16. 2;6【解析】根据题意知,x<4且x≠3,则x=2或x=1,因为x前面的数要比x小,所以x=2,因为每一行从左到右,每一列从上到下分别依次增大,所以9只能填在右下角,5只能填右上角或左下角,5之后与之相邻的空格可填6,7,8任意一个,余下的两个数字按从小到大只有一种方法,所以共有2×3=6种结果.17. (1)60【解析】天干与地支的汉字相差2个,十二地支代表12年,则有每12年地支比天干多2,当地支比天干多10时,重新开始为一个循环,所以:12×(10÷2)=60(年).(2)庚午【解析】列举甲子表:1.甲子2.乙丑3.丙寅4.丁卯5.戊辰6.己巳7.庚午8.辛未9.壬申11.甲戌12.乙亥13.丙子14.丁丑15.戊寅16.己卯17.庚辰18.辛己19.壬午21.甲申22.乙酉23.丙戌24.丁亥25.戊子26.己丑27.庚寅28.辛卯29.壬辰31.甲午32.乙未33.丙申34.丁酉35.戊戌36.己亥37.庚子38.辛丑39.壬寅41.甲辰42.乙巳43.丙午44.丁未45.戊申46.己酉47.庚戌48.辛亥49.壬子51.甲寅52.乙卯53.丙辰54.丁巳55.戊午56.己未57.庚申58.辛酉59.壬戌−1894=36(年),1894年是甲午年,排31号,31+36=67,67÷60=1⋯7,故与7号年份相同,故1930年是庚午年.18. (1)画树状图如下:(2)根据图表即可得出,他们写和猜的数字相同的情况一共用5种,则他们“心灵相通”的概率为:525=15.(3)根据甲写的数字记为a,把乙猜的数字记为b,当他们写和猜的数字满足∣a−b∣≤1,则称他们“心有灵犀”,满足条件的事件是∣a−b∣≤1,可以列举出所有的满足条件的事件,①若a=1,则b=1,2;②若a=2,则b=1,2,3;③若a=3,则b=2,3,4;④若a=4,则b=3,4,5;⑤若a=5,则b=4,5;综上可知共有2+3+3+3+2=13种结果,∴他们“心有灵犀”的概率为:1325.19. (1)12cm,8cm,5cm;(2)12cm,8cm,6cm;(3)8cm,5cm,6cm.20. ∵√18−n是整数,∴18−n≥0,且18−n是完全平方数,∴①18−n=0,即n=18;②18−n=1,即n=17;③18−n=4,即n=14;④18−n=9,即n=9;⑤18−n=16,即n=2.综上所述,自然数n的值可以是18,17,14,9,2.21. 设x1,x2是关于x的方程x2−4x+m=0的两个正整数根,所以x1+x2=4.所以x1=1,x2=3或x1=x2=2或x1=3,x2=1.所以b只能取1,2,3.根据三角形三边长的关系定理可知2<b<8.所以b=3.过点C作CD⊥AB于点D,则AC=BC=3.在Rt△ACD中,sinA=√116.22. 每次摸牌游戏所有可能出现的结果如下:3610133(3,6)(3,10)(3,13)6(6,3)(6,10)(6,13)10(10,3)(10,6)(10,13)13(13,3)(13,6)(3,10)共有12种结果,每种结果出现的可能性相同,摸出的两张牌的数字都为两位数的结果有(10,13),(13,10)2种情况,所以摸出的两张牌的数字都为两位数的概率是212=16,小明平均每次游戏得分为1×16=16分,其余结果出现的概率为1−16=56,即小亮平均每次游戏得分为1×56=56分,1 6分≠56分,所以该游戏规则不公平.23. (1)如图所示.(2)如图所示.24. (1)共九种:(2,2,2),(2,2,3),(2,3,3),(2,3,4),(2,4,4),(3,3,3),(3,3,4),(3,4,4),(4,4,4).(2)只有a=2,b=3,c=4的一个三角形.如图,△ABC即为满足条件的三角形.25. 一共有四种情形,如答图所示.26. (1)x1<x2<x3<x4,x1<x3<x2<x4,x1<x3<x4<x2,x3< x4<x1<x2,x3<x1<x4<x2,x3<x1<x2<x4(2)上述6种情况中第3,6种情况不可能出现.否则,两个函数的对称轴相同,则a=−4,从而x1=x3,x2=x4,这与题意不符.在其他4种情况中,都有∣x2−x1∣=∣x4−x3∣.因此有√16−4a=√a2+16,即a=0或−4(舍去),经检验a=0满足题意.。
1. 一周七天用sun,mon,tue,wed,thu,fri,sat表示,要求利用枚举类型编程:当输入星期几的数字,能输出它的后一天是星期几(也用英文表示)。
例:输入 5输出 sat源程序如下:program ex6_3;var month:1..12;date:1..31;year:1900..1999;beginwrite('Enter date(mm-dd-yy):');readln(month,date,year);write(date);case month of1:write('Jan':5);2:write('Feb':5);3:write('Mar':5);4:write('Apr':5);5:write('May':5);6:write('Jun':5);7:write('Jul':5);8:write('Aug':5);9:write('Sep':5);10:write('Oct':5);11:write('Nov':5);12:write('Dec':5);end;writeln(year:7);end.2. 利用子界类型作为情况语句标号,编一个对数字,大小写字母和特殊字符进行判别的程序。
(数字:digits大写字母:UPPER-CASELETTERS小写字母:lower-caseletters特殊字符:special charactors)例:输入:1输出:digits输入: A输出:UPPER-CASELETTERS源程序如下:program cas;var c:char;beginreadln(c);case c of'0'..'9':writeln('digits');'A'..'Z':writeln('UPPER-CASELETTERS');'a'..'z':writeln('lower-caseletters');esle writeln('special charactors');end;end.3.(此题不用编写程序,手动算)设有如下说明:type weekday=(sun,mon,tue,wed,thu,fri,sat);week=set of weekday;subnum=set of 1..50;写出下列表达式的值:⑴[sun,sat]+[sun,tue,fri]⑵[sun,fri]*[mon,tue]⑶[wun,sat]*[sun..sat]⑷[sun]-[mon,tue]⑸[mon]-[mon,tue]⑹[sun..sat]-[mon,sun,sat]⑺[1,2,3,5]=[1,5,3,2]⑻[1,2,3,4]<>[1..4]⑼[1,2,3,5]>=[1..3]⑽[1..5]<=[1..4]⑾[1,2,3]<=[1..3]⑿ 2 in[1..10]答: 表达式的值分别是:⑴[sun,sat,tue,fri]⑵[]⑶[sun,sat]⑷[]⑸[]⑹[tue..fri]⑺ TRUE⑻ FALSE⑼ TRUE⑽FALSE⑾ TRUE⑿ TRUE4.输入一系列字符,对其中的数字字符、字母字符和其它字符分别计数。
输入'?'后结束。
例:输入:abc123+-?输出:letter:3 digit:3 Other:2源程序如下:program ex10_2;var id,il,io:integer;ch:char;letter:set of char;digit:set of '0'..'9';beginletter=['a'..'z','A'..'Z'];digit:=['0'..'9'];id:=0;il:=0;io:=0;repeatread(ch);if ch in letterthen il:=il+1else if ch in digitthen id:=id+1else io:=io+1;until ch='?';writeln('letter:',il,'digit:',id,'Other:',io);end.5. 设计一个函数比较两个dates日期类型记录变量的迟早。
设函数名、形参及函数类型定义为:AearlyB(A,B:dates):boolean;函数的形参为两个dates类型的值参数。
当函数值为true 时表示日期A早于日期B,否则日期A迟于日期B或等于日期B。
显然不能对A、B两个记录变量直接进行比较,而要依具体的意义逐域处理。
(日期形式:月日年)例:输入:5 15 20025 16 2001输出:Date X not early!输入:6 7 20106 8 2010输出: Date X early!源程序如下:program ex6_7;type dates=recordyear:1900.1999;month:1..12;day:1..31end;var x,y:dates;function AearlyB(A,B:dates):boolean;var earln:boolean;beginearly:=false;if (A.year<B.year) then early:=true;if (A.year=B.year)and(A.month<B.month)then early:=true;if (A.year=B.year)and(A.month=B.month)and(A.day<B.day)then early:=true;AearlyB:=early;end;{of AearlyB}beginwrite('Input DATE X(mm-dd-yy):')readln(X.month,X.day,X.year);write('Input DATE Y(mm-dd-yy):')readln(Y.month,Y.day,Y.year);if AearlyB(X,Y) then writeln(’Date X early!') else writeln('Date X not early!'); end.6. 读入10个日期,再对每个日期输出第二天的日期。
输入日期的格式是月、日、年,如9□30□1993,输出的格式为10/1/1993。
分析: 可用一个记录变量today表示日期。
知道一个日期后要更新为第二天的日期,应判断输入的日期是否为当月的最后一天,或当年的最后一天。
源程序如下:program ex6_8;type date=recordmonth:1..12;day:1..31;year:1900..1999;end;var today:array[1..10]of date;i:integer;maxdays:28..31;beginfor i:=1 to 10 do {输入10个日期}with today[i] doreadln(month,day,year);for i:=1 to 10 dowith today[i] do{求第i个日期中月份最后一天maxdays}begincase month of1,3,5,7,8,10,12:maxdays:=31;4,6,9,11 :maxdays:=30;2 :if(year mod 400=0) or( year mod 4=0)and(year mod 100<>0)then maxdays:=29else maxdays:=28;end;if day=maxdaysthen beginday:=1;if month=12then beginmonth:=1;year:=year+1;endelse month:=month+1;endelse day:=day+1;writeln(month,'/',day,'/',year);end;end.7. 编制用筛法求1-n(n≤200)以内素数的程序。
分析: 由希腊著名数学家埃拉托色尼提出的所谓"筛法",步骤如下:①将所有候选数放入筛中;②找筛中最小数(必为素数)next,放入集合primes中;③将next的所有倍数从筛中筛去;④重复②~④直到筛空。
编程时,用集合变量sieve表示筛子,用集合primes存放所有素数。
源程序如下:program ex10_3;const n=200;var sieve,primes:set of 2..n;next,j:integer;beginsieve:=[2..n];{将所有候选数放入筛中}primes:=[];{素数集合置空}next:=2;repeat{找筛sieve中最小一个数}while not(next in sieve) and(next<=n)donext:=succ(next);primes:=primes+[next];{将最小数放入素数集合中}{将这个素数的倍数从筛中删去}j:=next;while j<=n dobeginsieve:=sieve-[j];j:=j+next;enduntil sieve=[];j:=0;for next:=2 to n do{打印出所有素数}if next in primes thenbeginwrite(next:5);j:=j+1;if j mod 10=0 then writeln;end;writeln;end.8.编程序建立某班25人的数学课程成绩表,要求用数组类型和记录类型,其成绩表格式如下:姓名性别平时成绩期中考试期终考试总评成绩张良男90 85 92 ?王心男70 82 71 ?……李英女82 84 75 ?其中总评成绩=平时成绩×20%+期中考试×30%+期终考试×%50。
typedata=recordnames:string;sex:0..1;score1,score2,score3,score:real;end;varstudent:array[1..30] of data;n,i:integer;procedure inti;var i:integer;ch:char;beginreadln(n);for i:=1 to n dobeginread(ch);while ch<>' ' dobeginstudent[i].names:=student[i].names+ch;read(ch);end;with student[i] doreadln(sex,score1,score2,score3);end;end;begininti;writeln('name sex score1 score2 score3 score');for i:=1 to n dowith student[i] dobeginscore:=score1*0.2+score2*0.3+score3*0.5;writeln(names:10,sex:6,score1:9:2,score2:9:2,score3:9:2,score:9:2); end;end.。