- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Pascal入门-
Pascal编程入门
第3章 循环结构程序设计
PAGE 40
PAGE 41
Pascal入门资料 (2)
HYPERLINK /yionline/articles/143546.html Pascal入门资料?(2)
例7?设计一个函数比较两个dates日期类型记录变量的迟早。 设函数名、形参及函数类型定义为: AearlyB(A,B:dates):boolean; 函数的形参为两个dates类型的值参数。当函数值为true?时表示日期A早于日期B,否则日期A迟于日期B或等于日期B。显然不能对A、B两个记录变量直接进行比较,而要依具体的意义逐域处理。 源程序如下: 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.yearB.year)?then?early:=true; if?(A.year=B.year)and(A.monthB.month) then?early:=true; if?(A.year=B.year)and(A.month=B.month)and(A.dayB.day) then?early:=true; AearlyB:=early; end;{of?AearlyB} begin 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.4.1节所述的格式引用,非常乏味。为此Pascal提供了一个with语句,可以提供引用域的简单形式。 开域语句一般形式: with?记录变量名表?do 语句 功能:?在do后的语句中使用with后的记录的域时,?只要直接写出域名即可,即可以省略图10.2.2中的记录变量名和.。 说明:?①一般在with后只使用一个记录变量名。如: write(Input?year:); readln(x.year); write(Input?month:); readln(x.month); write(Input?day:); readln(x.day); 可以改写成: with?x?do begin write(Input?year:);readln(year); write(Input?month:);readln(month); write(Input?day:);readln(day); end; ②设x,y是相同类型的记录变量,下列语句是非法的: with?x,y?do...; ③with后接若干个记录名时,应是嵌套的关系。如有记录说明: var?x:record i:integer; y:record j:0..5; k:real; end; m:real end; 可以使用: with?x?do begin read(i); with?y?do read(j,k); readln(m); end; 或简写为: with?x,y?do readln(i,j,k,m);
例8?读入10个日期,再对每个日期输出第二天的日期。输入日期的格式是月、日、年,如9□30□1993,输出的格式为10/1/1993。 分析:?可用一个记录变量today表示日期。?知道一个日期后要更新为第二天的日期,应判断输入的日期是否为当月的最后一天,或当年的最后一天。 源程序如下: program?ex6_8; type?date=record month:1..12; day:1.
您可能关注的文档
- linux-内核移植(sc.doc
- Linuxiptablesrelevantco.doc
- LinuxFedoraQTforX安装.doc
- linux中oracle的日常维护命令--.doc
- linux内核之实时进程调和组调.doc
- linux内核之CFS调和组调.doc
- linux命令大全方法.doc
- Linux指令系统.doc
- linux操作系统实验报告--.doc
- linux期末me.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)