大家好,我们接着Pascal2010语言特性的研讨,对于一门语言,进行详细的研究是必要的,因为各种语言的特点或者说特性都是各有千秋的,详细的了解语言特性是对我们编程有很大帮助的,俗话说得好,“磨刀不误砍柴工”就是这个理,就像我们学习英语类似,我们从小学到大学都学了很多年,我们的Pascal语言花一番功夫详细彻底的研究同样也是需要的。。。
好,转回今天的正题,对于格式化输入输出,很多人并不陌生,但是又仿佛不能像C一样说的那么简洁透彻,那么就让我们先从下面的具体的计算问题研究,注意这里关于各种常用数据的表示,自行学习参考资料,还有例题中要用到的Format函数,不熟悉的自行上网搜寻学习,这里不重码了。。。
好,瞧例题,这个例题是关于一个近代物理实验的计算题,知道怎么回事的,可以详细了解习题,感觉有点陌生的,可以只关注最后的数学计算式就行了,我们主要是借这个题研究格式输入输出的。。。(这种方法论在中学中,大家也不陌生了,叫关注主要因素,忽略次要因素!!)
给出程序:
program Ag原子速度;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
v:real;
begin
//注意科学计数法的写法规则
v:=0.1*sqrt(((9.274e-24)*60)/((0.15e-3)*(1.79e-25)));
writeln('Ag原子速度是',v);
//writeln可以直接调用format函数的!~
writeln(format('%s%f',['Ag原子速度是',v]));
{ %f 表示浮点数, 保留或凑够两位小数点 }
writeln('Ag原子速度是',format('%f',[v]));
{ %g 表示浮点数, 会去掉多余的 0 }
writeln('Ag原子速度是',format('%g',[v]));
{ %e 用科学计数法表示整数或浮点数 }
writeln('Ag原子速度是',format('%e',[v]));
{ %x 用十六进制表示一个整数 }
// writeln('Ag原子速度是',format('%x',[v]));
//这里不能用16进制输出,否则在运行时中断
{ 指定小数点的位数, 取值范围1-9, 输入0也当1用 }
writeln('Ag原子速度是',format(&