You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Turbo Pascal出现line too long及拆分行后缺')'报错问题

问题1:语法错误(")" expected)原因

Turbo Pascal旧版本的单行字符限制为127个字符,拆分长行时需要遵循以下规则:

  • 只能在参数分隔符(逗号)、运算符之后换行,不能将逗号放在新行的开头
  • 换行后不能包含多余的不可见控制字符
  • 不能在标识符、常量中间拆分

你拆分SKALA参数时把逗号放在了第二行的开头(,12,13...),违反了语法规则,所以报缺少右括号的错误。

问题2:参数数量不匹配的隐藏错误

检查你定义的BINTANG和SKALA过程,参数定义存在变量名笔误,导致实际需要的参数数量和定义的不一致:

  1. BINTANG过程的参数定义错误,你漏写了多个Y坐标的参数,原本需要20个坐标参数+1个颜色参数,你定义时错误地把Y坐标写成了X开头的变量,导致参数数量不足,调用时传了过多重复参数才会出现单行过长的问题
  2. SKALA过程内部赋值存在大量笔误,比如XD:=X3*SY应该是XD:=X3*SX,后续多个变量都错误地乘以了SY而不是SX

修复后的完整代码

VAR GD,GM,XA,YA,XB,YB,XC,YC,XD,YD,XE,YE,XF,YF,XG,YG,XH,YH,XI,YI,XJ,YJ,W,I:INTEGER;
PROCEDURE GAMBAR;
BEGIN
    GD:=VGA;
    GM:=VGAHI;
    INITGRAPH(GD,GM,'D:\TP\BGI');
END;
PROCEDURE BINTANG(X0,Y0,X1,Y1,X2,Y2,X3,Y3,X4,Y4,X5,Y5,X6,Y6,X7,Y7,X8,Y8,X9,Y9,C:INTEGER);
BEGIN
    SETCOLOR(C);
    LINE(X0,Y0,X1,Y1);
    LINE(X1,Y1,X2,Y1);
    LINE(X2,Y1,X3,Y2);
    LINE(X3,Y2,X4,Y3);
    LINE(X4,Y3,X5,Y4);
    LINE(X5,Y4,X6,Y3);
    LINE(X6,Y3,X7,Y2);
    LINE(X7,Y2,X8,Y1);
    LINE(X8,Y1,X9,Y1);
    LINE(X9,Y1,X0,Y0);
END;
PROCEDURE SKALA(X0,Y0,X1,Y1,X2,Y2,X3,Y3,X4,Y4,X5,Y5,X6,Y6,X7,Y7,X8,Y8,X9,Y9,C,SX,SY:INTEGER;
    VAR XA,YA,XB,YB,XC,YC,XD,YD,XE,YE,XF,YF,XG,YG,XH,YH,XI,YI,XJ,YJ,W:INTEGER);
BEGIN   
    XA:=X0*SX; YA:=Y0*SY;
    XB:=X1*SX; YB:=Y1*SY;
    XC:=X2*SX; YC:=Y2*SY;
    XD:=X3*SX; YD:=Y3*SY;
    XE:=X4*SX; YE:=Y4*SY;
    XF:=X5*SX; YF:=Y5*SY;
    XG:=X6*SX; YG:=Y6*SY;
    XH:=X7*SX; YH:=Y7*SY;
    XI:=X8*SX; YI:=Y8*SY;
    XJ:=X9*SX; YJ:=Y9*SY;
    W:=C+2;
END;
{PROGRAM UTAMA}
BEGIN   
    GAMBAR;
    SETBKCOLOR(15);
    BINTANG(17,0,23,12,23,12,36,12,0,12,13,12,36,12,26,21,26,21,29,34,2);
    READLN;
    FOR I:= 1 TO 20 DO
    BEGIN
        SKALA(17,0,23,12,23,12,36,12,0,12,13,12,36,12,26,21,26,21,29,34,
            2,I,I,XA,YA,XB,YB,XC,YC,XD,YD,XE,YE,XF,YF,XG,YG,XH,YH,XI,YI,XJ,YJ,W);
        BINTANG(XA,YA,XB,YB,XC,YC,XD,YD,XE,YE,XF,YF,XG,YG,XH,YH,XI,YI,XJ,YJ,W);
        DELAY(500);
    END;
    READLN;
    CLOSEGRAPH;
END.

补充说明

  • 修正后补全了BINTANG和SKALA缺失的Y坐标参数,调用时删除了重复传入的冗余参数,大幅缩短了单行长度
  • 长参数拆分时统一在逗号后换行,新行缩进对齐,符合Turbo Pascal语法要求
  • 修正了SKALA过程中所有乘法参数的笔误,保证缩放计算逻辑正确

内容的提问来源于stack exchange,提问作者RIZKY A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:24:05