Exemple de traduction

Algorithme Z  

          { A5 : Nombre de mots }

          SOIENT

            Mot UNE CHAINE;         C UN CAR;             M UNE MACHINE_CAR;

          DEBUT

            CREER_MCAR(M, ['  Jhjh  Jsthd Lkqlsjsh Mlqmlifd  .']);

            LIRECAR(M, C);

            TANTQUE C <> '.'

              TANTQUE (C=' ') ET (C <> '.')

                LIRECAR(M, C)

              FINTANTQUE ;

              Mot := '';

              TQ (C <> ' ') ET (C <> '.')

                Mot := Mot + C ;

                LIRECAR(M, C)

              FTQ;

             SI Mot <> ''  ECRIRE(Mot) FSI

            FINTANTQUE

          FIN

 

Programme  PASCAL équivalent

 

           PROGRAM  A5;

             TYPE Typemcar = RECORD

               Chaine : STRING; {Chaine de caracatères}

               Ind_mcar : BYTE  {Indice}

             END;

 

             PROCEDURE Creer_mcar ( VAR Mcar : Typemcar;  Chaine :STRING);

               BEGIN

                 Mcar.Chaine := Chaine;

                 Mcar.Ind_mcar := 0

               END;

 

             PROCEDURE Lirecar (VAR Mcar: Typemcar; VAR C : CHAR );

               BEGIN

                 Inc(Mcar.Ind_mcar);

                 C := Mcar.Chaine[Mcar.Ind_mcar]

               END;

      VAR

               Mot : STRING;       C : CHAR;   M : Typemcar;

             BEGIN

               Creer_mcar(M, '  Jhjh  Jsthd Lkqlsjsh Mlqmlifd  .');

               Lirecar(M, C);

               WHILE  C <> '.' DO

                 BEGIN

                   WHILE (C=' ') AND (C <> '.') DO

                   Lirecar(M, C);

                   Mot := '';

                   WHILE (C <> ' ') AND (C <> '.') DO

                     BEGIN        Mot :=  Mot + C ;     Lirecar(M, C)      END;

                   IF Mot <> '' THEN  WRITELN(Mot) ;

                 END;

            END.