主题:问PASCAL中几个基本语法问题(给高分)
okaswell
[专家分:100] 发布于 2006-10-27 07:12:00
inc(t,1+ord(isleap(i)));
这个条语句什么意思?
这个又什么意思exit((k mod 4)=0)?
如给个函数function (a2*i div b2-ord((a2*i mod b2)=0));
中的 ord((a2*i mod b2)=0)) 是什么意思?
回复列表 (共7个回复)
沙发
maxumi [专家分:2200] 发布于 2006-10-27 08:00:00
好问题
[color=red]inc(x, y)[/color]等同于[color=red]x := x + y[/color]但是[color=red]inc(x, y)[/color]速度较快
[color=red]ord(m)[/color] 是取字符m的ASCII码值.
那个[color=red]isleap[/color], 在PASCAL的HELP中没有查到, 应该是程序中的函数吧.
exit若不加参数(即直接写[color=red]exit;[/color])则表示退出当前function/procedure.
若加参数(例如[color=red]exit(c);[/color])则表示退出当前function/procedure, 若此exit语句在procedure中, 则效果与不加参数相同, 若在function中, 则[color=red]exit(c)[/color]表示函数返回值c.
至于中间的[color=red](k mod 4)=0[/color], 是判断k mod 4是否=0, 这是一个boolean类型值.
板凳
okaswell [专家分:100] 发布于 2006-10-27 08:16:00
大哥 function (a2*i div b2-ord((a2*i mod b2)=0));
这个跟我解释下!
3 楼
maxumi [专家分:2200] 发布于 2006-10-27 08:33:00
a2*i div b2-ord((a2*i mod b2)=0
先计算a2*i div b2
再计算ord(a2*i mod b2)
两式相减, 等于0则结果为true, 否则为false
这不是很清楚么......
4 楼
okaswell [专家分:100] 发布于 2006-10-27 09:36:00
ord( (a2*i mod b2) = 0 );
大哥 情况是这样的!!
有点搞不懂!!!
就是这个 函数 最后返回什么样的结果
5 楼
maxumi [专家分:2200] 发布于 2006-10-27 09:43:00
晕
ord(true)=1
ord(false)=0
6 楼
贺天行宝 [专家分:2300] 发布于 2006-10-27 17:46:00
人家回答的这么好,多加几分阿
7 楼
bigchen [专家分:1940] 发布于 2006-10-27 21:31:00
真的很有耐心!
好感动!
应该多加点分!
支持楼上的观点!
我来回复