Program fifo_sor;
 
Const maxN = 20;
Type sortype = Record
             elemek : array[1..maxN] of Integer;
             e,v : Byte;
             ures : Boolean;
           End;
Var sor : sortype;
    i : Integer;
 
Procedure InitSor;
Begin
  sor.e := 1;
  sor.v := 1;
  sor.ures := true;
End;
 
Function Ures:Boolean;
Begin
  Ures := sor.ures;
End;
 
Function Tele:Boolean;
Begin
  Tele := ((sor.e = sor.v) and not Ures);
End;
 
Function Sorba(e:Integer):Boolean;
Begin
  If (not Tele) Then
  Begin
    sor.elemek[sor.e] := e;
    Inc(sor.e);
    If (sor.e = maxN+1) Then
      sor.e := 1;
    {End If}
    Sorba := True;
    sor.ures:= False;
  End
  Else
    Sorba := False;
  {End If}
End;
 
Function Sorbol(var e:Integer):Boolean;
Begin
  If (not Ures) Then
  Begin
    e := sor.elemek[sor.v];
    Inc(sor.v);
    If (sor.v = maxN+1) Then
      sor.v := 1;
    {End If}
    If (sor.v = sor.e) Then
      sor.ures := True;
    {End If}
    Sorbol := True;
  End
  Else
    Sorbol := False;
  {End If}
End;
 
Begin
  InitSor;
  writeln(Sorba(1));
  writeln(Sorba(2));
  writeln(Sorbol(i));
  Writeln(i);
End.

Működk. Elvileg. Nekem ment. Egyszer ha nagyon unatkozom, majd kommentezem. De más is bátran megteheti. ;-)

oktatas/informatika/programozas/pascal/sor.txt · Utolsó módosítás: 2019/06/04 14:19 szerkesztette: barnkopf
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0