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

Pascal程序无法输出正确计算结果,始终显示993求助

问题原因及解决方案

核心问题

你的程序始终输出993的原因很明确:

  • 变量b仅在程序初始化时被赋值为1000 - 7 = 993,后续整个循环过程中完全没有更新过b的值。
  • 循环里每次执行writeln(b),输出的都是这个固定的初始值,自然不会随a的变化而改变。

逻辑验证

看循环内的执行顺序:

writeln (a - 7, ' - 7?'); // 这里输出的是当前a减7的临时计算值
delay(120);
a := a - 7; // a被更新为减7后的结果
writeln (b); // 但b还是最初的993,从未被修改

修正方案

你有两种方式得到正确的输出:

  1. 直接输出更新后的a(因为a已经完成减7操作):
    // 把循环里的writeln(b);替换为
    writeln(a);
    
  2. 每次循环同步更新b的值:
    a := a - 7;
    b := a; // 新增这行,让b跟随a的变化
    writeln(b);
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:45:45