summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/progkeys/demo/prog3.tex
blob: df33fd7d26f55e7afa400d2e9603aa5584587ed3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
\begin{programs}*
    \WITH TEXT\_IO;  \USE TEXT\_IO;
    \PROCEDURE NUMEROTATION
              (FICHIER\_ENTREE : \IN STRING;
               FICHIER\_SORTIE : \IN STRING := "") IS
      \SUBTYPE LONGUEUR\_LIGNE \IS INTEGER
                             \RANGE 1..255;
      FICHIER\_IN  : FILE\_TYPE;
      FICHIER\_OUT : FILE\_TYPE;
      COMPTEUR : NATURAL := 0;
      LIGNE : STRING (LONGUEUR\_LIGNE);
      FIN\_DE\_LIGNE : NATURAL;
    \BEGIN
      OPEN (FILE => FICHIER\_IN,
            MODE => IN\_FILE,
            NAME => FICHIER\_ENTREE);
      \IF FICHIER\_SORTIE = "" \THEN
        CREATE (FILE => FICHIER\_OUT,
                MODE => OUT\_FILE,
                NAME => FICHIER\_ENTREE \& ".num");
      \ELSE
        CREATE (FILE => FICHIER\_OUT,
                MODE => OUT\_FILE,
                NAME => FICHIER\_SORTIE);
      \END \IF;
      RESET (FICHIER\_IN);
      \WHILE \NOT END\_OF\_FILE (FICHIER\_IN) \LOOP
        GET\_LINE (FILE => FICHIER\_IN,
                  ITEM => LIGNE,
                  LAST => FIN\_DE\_LIGNE);
        COMPTEUR := COMPTEUR + 1;
        PUT\_LINE (FILE => FICHIER\_OUT,
                  ITEM => NATURAL'IMAGE (COMPTEUR) \&
                          " " \& LIGNE (1..FIN\_DE\_LIGNE));
      \END \LOOP;
      CLOSE (FILE => FICHIER\_IN);
      CLOSE (FILE => FICHIER\_OUT);
    \END NUMEROTATION;

    \WITH TEXT\_IO;  \USE TEXT\_IO;
    \WITH NUMEROTATION;
    \PROCEDURE TEST\_NUMEROTATION \IS
      CARACTERES  : NATURAL;
      NOM\_FICHIER : STRING (1..50);
    \BEGIN
      PUT ("quel fichier voulez-vous ");
      PUT ("numeroter ? ");
      GET\_LINE (NOM\_FICHIER,CARACTERES);
      NUMEROTATION (NOM\_FICHIER (1..CARACTERES));
      PUT\_LINE ("C'est fini");
    \END TEST\_NUMEROTATION;
\end{programs}

% Local Variables: 
% mode: latex
% TeX-master: t
% End: