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.

The error pascal is throwing out is: 23 / 4 mouse.pas Fatal: Syntax error, ; expected but . found But i have got the correct number of begins and ends so becuase it is the last one it needs a '.'

All the best Arran

2 Answers 2

1

You're missing the main program block, and then of course same for some of your functions procedures. The below will compile as it supplies the missing blocks, but of course it will do nothing.

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.
Sign up to request clarification or add additional context in comments.

4 Comments

I changed it to that and i get the same error as before. (obviously with two function errors)
@Arran - sorry, there was a dot instead of semicolumn, please try again.
Cheers that runs now. :) how do i get my functions and procedures to work ? I only started learning pascal recently so please speak to me like i am stupid. All the best Arran
@Arran - Code in the main block is what executes. So you put code in there which may call other procedures etc.. But I can't really make you get started with pascal, you need a book or similar documentation. :) BTW consider accepting the answer if it answers your question.
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}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.