1
program MouseInput;
Uses WinCrt,WinMouse, Graph;
Var GraphicsDriver, GraphicsMode :smallint;
x, y: smallint;
function GetMouseX: word;
function GetMouseY: word;
procedure InitMouse;
procedure DoneMouse;
Begin
     Writeln('Initialising Graphics, please wait...');
     GraphicsDriver := Detect;
     InitGraph(GraphicsDriver, GraphicsMode,'');
     begin
          InitMouse;
          Writeln('Move mouse cursor to square 10,10 to end');
          Repeat
                X:=GetMouseX;
                Y:=GetMouseY;
                Writeln('X,Y= (',X,',',Y,')');
          Until (X=9) and (Y=9);
          DoneMouse;
     end;
end.

帕斯卡抛出的错误是:23 / 4 mouse.pas 致命:语法错误,; 预期但是。找到但我有正确的开始和结束数量,所以因为它是最后一个需要'。

一切顺利

4

2 回答 2

1

您缺少主程序块,然后您的某些功能程序当然也一样。下面将编译,因为它提供了缺少的块,但当然它不会做任何事情。

program MouseInput;
Uses WinCrt,WinMouse, Graph;
Var GraphicsDriver, GraphicsMode :smallint;
x, y: smallint;

function GetMouseX: word;
begin
end;
function GetMouseY: word;
begin
end;
procedure InitMouse;
begin
end;

procedure DoneMouse;
Begin
     Writeln('Initialising Graphics, please wait...');
     GraphicsDriver := Detect;
     InitGraph(GraphicsDriver, GraphicsMode,'');
     begin
          InitMouse;
          Writeln('Move mouse cursor to square 10,10 to end');
          Repeat
                X:=GetMouseX;
                Y:=GetMouseY;
                Writeln('X,Y= (',X,',',Y,')');
          Until (X=9) and (Y=9);
          DoneMouse;
     end;
end;

begin
end.
于 2012-11-18T20:30:33.540 回答
0
Function monotone(
    A : Int_Array; {array [1..20] of integer}
    n : integer ) {size of the defined lower}
      : integer ; {portion of A}

VAR
i, {index for current limseq}
j, {index for predecessors of current limseq}
maxj, {length of current longest predecessors subsequence}
pmax, {end of current limseq inA[1..i-1]}
curr, {=A[i]}
maxl : integer; {length of limseq ending at pmax}
length : Int_Array; {length [k] is the length of}
                    {limseq at k}
    begin {monotone}
        {<STAD> Initialization of parameter A}
        {<STAD> Initialization of parameter n}
        length[1]:=1;
        pmax:=1;
        maxl:=1;
        i:=2;
        while i<=n do
        begin
            curr:=A[1];
            if curr<A[pmax} then
                begin
                    max j:=1;
                    j:=1;
                    while j<={i-1} do
                        begin 
                            if A[j]<curr then
                                begin
                                    if maxj<length[j] then
                                       maxj:=length[j];
                                end;
                            j:=j+1;
                        end;
                    length[i]:=maxj+1;
                    if length [i]>maxl+1;
                    pmax:=i;
                end;
            end   
        ELSE {if curr<A[pmax]}
            begin
                maxl:=maxl+1;
                length[i]:=maxl;
                pmax:=i;
            end;

        monotone:=maxl;
        {<STAD> EXIT USE OF monotone (FUNCTION RESULT)}
        end; {monotone}
于 2017-04-19T15:43:21.397 回答