枚举子界集合记录练习(答案)
更新时间:2023-10-15 09:07:01 阅读量: 综合文库 文档下载
- 枚举和集合的区别推荐度:
- 相关推荐
1. 一周七天用sun,mon,tue,wed,thu,fri,sat表示, 要求利用枚举类型编程:当输入星期几的数字,能输出它的后一天是星期几(也用英文表示)。 例:输入 5
输出 sat
源程序如下: program ex6_3; var month:1..12; date:1..31;
year:1900..1999; begin
write('Enter date(mm-dd-yy):'); readln(month,date,year); write(date); case month of
1: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; begin
readln(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 ⑿ TRUE
4. 输入一系列字符,对其中的数字字符、字母字符和其它字符分别计数。输入'?'后结束。
例: 输入: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'; begin
letter=['a'..'z','A'..'Z']; digit:=['0'..'9']; id:=0;il:=0;io:=0; repeat read(ch);
if ch in letter then il:=il+1
else if ch in digit then id:=id+1 else 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 2002
5 16 2001
输出:Date X not early!
输入:6 7 2010 6 8 2010 输出: Date X early!
源程序如下: program ex6_7; type dates=record
year:1900.1999; month:1..12; day:1..31 end; var x,y:dates;
function AearlyB(A,B:dates):boolean; var earln:boolean; begin
early:=false;
if (A.year if (A.year=B.year)and(A.month=B.month)and(A.day write('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=record month:1..12; day:1..31; year:1900..1999; end; var today:array[1..10]of date; i:integer; maxdays:28..31; begin for i:=1 to 10 do {输入10个日期} with today[i] do readln(month,day,year); for i:=1 to 10 do with today[i] do{求第i个日期中月份最后一天maxdays} begin case month of 1,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:=29 else maxdays:=28; end; if day=maxdays then begin day:=1; if month=12 then begin month:=1;year:=year+1; end else month:=month+1; end else 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; begin sieve:=[2..n];{将所有候选数放入筛中} primes:=[];{素数集合置空} next:=2; repeat {找筛sieve中最小一个数} while not(next in sieve) and(next<=n)do next:=succ(next); primes:=primes+[next];{将最小数放入素数集合中} {将这个素数的倍数从筛中删去} j:=next; while j<=n do begin sieve:=sieve-[j]; j:=j+next; end until sieve=[]; j:=0; for next:=2 to n do{打印出所有素数} if next in primes then begin write(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。 type data=record names:string; sex:0..1; score1,score2,score3,score:real; end; var student:array[1..30] of data; n,i:integer; procedure inti; var i:integer; ch:char; begin readln(n); for i:=1 to n do begin read(ch); while ch<>' ' do begin student[i].names:=student[i].names+ch; read(ch); end; with student[i] do readln(sex,score1,score2,score3); end; end; begin inti; writeln('name sex score1 score2 score3 score'); for i:=1 to n do with student[i] do begin score:=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.
正在阅读:
枚举子界集合记录练习(答案)10-15
跨省引进乳用种用动物检疫申请表11-17
通则2321 铅镉砷汞铜测定法 中华人民共和国药典2015年版四部03-16
土地储备中心20XX年国庆中秋节日廉情监督工作部署会发言稿06-15
雨季施工方案(2015最终版)05-04
食品化学思考题答案06-06
关于加强农村社会管理创新的几点思考(精)03-20
人和小学食品安全事故应急处置预案06-30
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 举子
- 集合
- 练习
- 答案
- 记录
- 消费者行为观察报告
- 我国商业银行零售业务发展的问题与
- 学案导学设计2015高中语文 专题十 鹧鸪天(彩袖殷勤捧玉钟)导学案 苏教版选修《唐诗宋词选读》
- xxxx采区地质说明书
- 童荣昆在2012年全省烟草专卖局长、公司经理座谈会上的讲话
- 办公大楼日常管理制度
- 高考数学探索复习策略素材新人教版
- 秋三年级语文上册 第二十课 九月九日忆山东兄弟教案 西师大版
- 综合评价方法实验报告 - 图文
- 重庆市劳动和社会保障局关于工伤认定有关问题的通知
- 大班结构游戏
- 安装造价员练习题及答案1
- 2017年中央财政设备采购项目需求表 - 图文
- 五年级语文下册 课内阅读复习题3无答案 苏教版
- 资料员实务复习资料
- 上海市金山区2015届九年级下学期期中质量检测(二模)语文试题及答案
- 2007大学物理一期末复习题(电磁学)
- 煤矿隐患排查治理分析报告
- 道路勘测设计题库
- 乙烯的生物合成途径