关于pascal的几道简单改错题

来源:百度知道 编辑:UC知道 时间:2024/06/03 04:20:03
题目如下:1. IF A>0 AND B>0 THEN A:=B;
2. FOR I:=1 to 10
WRITE(I:5);
3. IF A>B THEN
C:=A;A:=B;B:=C;
4. CASE I DO BEGIN
1,2,3: X:=I;
4,5,6: Y:=I;
END;
5. FOR I:=10 DOWN 1 DO WRITE(I:5);

1. IF A>0 AND B>0 THEN A:=B;
错点:A>0 和 B>0要用小括号括起来
改为:IF (A>0)AND(B>0) THEN A:=B;

2. FOR I:=1 to 10
WRITE(I:5);
错点:FOR循环没有加"TO"
改为:FOR I:=1 TO 10 DO
WRITE(I:5);

3. IF A>B THEN
C:=A;A:=B;B:=C;
错点:THEN后面如果要带多条语句需要加BEGIN和END
改为:IF A>B THEN BEGIN
C:=A;A:=B;B:=C; END;

4. CASE I DO BEGIN
1,2,3: X:=I;
4,5,6: Y:=I;
END;
错点:CASE语句语法错误,CASE语法为:
CASE <变量> OF
<值1>:<语句1>
<值2>:<语句2>
……
<值N>:<语句N>
ELSE <语句N+1>
END;
改为:CASE I OF
1,2,3: X:=I;
4,5,6: Y:=I;
END;

5. FOR I:=10 DOWN 1 DO WRITE(I:5);
错点:DOWNTO错写为DOWN
改为:FOR I:=1O DOWNTO 1 DO WRITE(I:5)

1.要加括号,改为if (a>0) and(b>0) then a:=b;
2.少了‘do',改为 for i:=1 to 10 do write(i:5);
3.少了‘begin’和‘end’,改为 IF A>B THEN
begin C:=A;A:=B;B:=C; end
4.不需要‘beg