Informatika gyűjtemény

Egy szinttel feljebb fg_abcode.pas

2004050607080910

NézetNyomtat

fg_abcode.pas (Vissza)
Az alábbi letöltési lehetőségek közül választhatsz: (segítség)
Karakterkódolás:
Sortörés:
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: us-ascii
Méret: 1 KB
{$R+} {$Q+}
PROGRAM abcode;

VAR
    T: Text;

FUNCTION NextCh(VAR b: BYTE): BOOLEAN; INLINE;
VAR
    ch: CHAR;
BEGIN
    b:= 0;
    IF Eoln(T) THEN
    BEGIN
        ReadLn(T);
        NextCh:= FALSE
    END
    ELSE
    BEGIN
        Read(T, ch);
        b:= ORD(ch) - ORD('0');
        NextCh:= TRUE;
    END;
END; {NextCh}

FUNCTION Process(): BOOLEAN;
VAR
    b1, b2, b3: BYTE;
    c1, c2, c3: LONGINT;
BEGIN
    c1:= 1; c2:= 1; c3:= 0;
    b1:= 0; b2:= 0; b3:= 0;

    NextCh(b3);
    IF b3 = 0 THEN
    BEGIN
        Process:= FALSE;
        EXIT;
    END;

    REPEAT
        c3:= 0;
        IF (b2 = 1) OR ((b2 = 2) AND (b3 IN [0..6])) THEN
        BEGIN
            c3:= c3+c1;
        END;
        IF b3 <> 0 THEN
        BEGIN
            c3:= c3+c2;
        END;

        b1:= b2; b2:= b3; b3:= 0;
        c1:= c2; c2:= c3; c3:= 0;
    UNTIL NOT NextCh(b3);
    WriteLn(c2);
    Process:= TRUE;
END; {Process}

PROCEDURE Main;
BEGIN
    Assign(T, 'abcode.be');
    Reset(T);
    WHILE Process() DO ;
    Close(T);
END; {Main}

BEGIN
    Main;
END.
(Vissza)