pascal语言编程的格式

就是我看高手每一句话都有几个空格,我一直不知道怎么加空格,谁介绍一下,或是提供个资料,谢了啊... 就是我看高手每一句话都有几个空格,我一直不知道怎么加空格,谁介绍一下,或是提供个资料,谢了啊 展开
 我来答
百度网友4a21cf3
2011-08-05 · TA获得超过4080个赞
知道小有建树答主
回答量:653
采纳率:0%
帮助的人:952万
展开全部
就是直接按空格嘛...
一般是这样的习惯:
像if , for ,repeat, while...有包含步骤的,就将其子步骤的每一句都向后敲两个空格,同一级别的内容对齐,如果有begin
...end 就在多敲一行(看样例),这样会使程序具有可读性,步骤的包含关系很明确,另外begin end 可以对的很齐,就会减少错误。
随便找了个程序,给你个例子:
program contest;
var a,b:array[1..100,1..100]of boolean; {var下得定义内容对齐}
bo:array[1..100]of boolean;
l,r:array[1..100]of longint;
t,k,m,n,i,j,an:longint;
procedure soua(i:longint);
var t,k:longint;
begin
for t:=1 to n do
if (a[i,t])and(not(bo[t])) then {for包含的内容向后空两格}
begin
bo[t]:=true;
inc(an);
soua(t); {begin end 中间的内容属于同一级别,对齐}
end; {begin end对的很齐吧}
end;
procedure soub(i:longint);
var t,k:longint;
begin
for t:=1 to n do
if (b[i,t])and(not(bo[t])) then
begin
bo[t]:=true;
inc(an);
soub(t);
end;
end;
begin
assign(input,'contest.in');
reset(input);
assign(output,'contest.out');
rewrite(output);
readln(n,m);
for t:=1 to m do
begin
readln(i,j);
a[i,j]:=true;
b[j,i]:=true;
end;
for t:=1 to n do
begin
fillchar(bo,sizeof(bo),false);
an:=0;
for k:=1 to n do
if (a[t,k])and (not(bo[k])) then
begin
bo[k]:=true;
inc(an);
soua(k);
end;
l[t]:=an;
an:=0;
for k:=1 to n do
if (b[t,k])and (not(bo[k])) then
begin
bo[k]:=true;
inc(an);
soub(k);
end;
r[t]:=an;
end;
an:=0;
for t:=1 to n do
if l[t]+r[t]=n-1 then inc(an);
writeln(an);
close(output);
end.
这个程序里没有repeat while 的对齐方法,其实道理和for一样,这样对齐,空格就可以了。
居无定法,LZ如果找到自己顺手的方法也是很好的,一个人一个习惯嘛...
scdyqc
2011-08-06 · TA获得超过145个赞
知道答主
回答量:32
采纳率:0%
帮助的人:23.9万
展开全部
说实话没太理解楼主意思,一些Pascal句型有固定的格式,如
for i:=1 to n do
while n<100 do
等等,如果不加空格,程序就不符合语法,编译时会出错
如果你用free pascal或lazarus或notepad++(加强型记事本,可编程),它会高亮显示不同类型的标示符(一个东东的名称称为标示符),你就可以很明显地看出加不加空格的区别。(总结:这时不加就错了)

还有种情况,写程序时加空格是为了程序的美观和可读性,这主要看个人习惯,自己看着顺眼就好,而一般来说像循环体(for、while、repeat)或复合语句(程序中由begin开头中间N条语句end结尾构成的语句,可以看做一个整体,一般出现在循环和条件语句中)都是空2格。
比如
while i<=100 do
begin
sum:=sum+i;
i:=i+1;
end;{在end时在缩回去,表明这个复合语句完了}

另外,在程序输入输出时,空格可以便于读入和用户阅读,但要特别注意字符型的读入,具体可以参照语法书的read和readln部分。

以上属多年编程个人经验,纯手工录入,望对楼主有用,望采纳!!!

同时建议楼主可以不用太纠结这些地方,先勇往直前的学下去,通过实践总结经验,另在中后期语言并没有前期重要,无论你用pascal、c++还是c等等,考试及应用更注重算法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友177852669
2011-08-06 · TA获得超过593个赞
知道答主
回答量:321
采纳率:0%
帮助的人:225万
展开全部
比如说:一个a+b
begin
readln(a,b);
writeln(a+b):
end.
再比如:
begin
readln(a);
for i:=1 to a do
begin
if then
end;
end.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ltc12
2011-08-06 · 超过11用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:31.2万
展开全部
只要自己看得清楚就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式