home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / qpdemo / beispiel / wenigerl.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-08-24  |  1.2 KB  |  60 lines

  1.  
  2. PROGRAM Wenigerleer;
  3.  
  4. TYPE Wort = String[80];
  5.  
  6. VAR Satz : Wort;
  7.     Altleer, Neuleer : Integer;
  8.  
  9. PROCEDURE Eingabe (VAR S : Wort);
  10.  
  11.  BEGIN
  12.   Writeln ('Geben Sie einen Satz ein,');
  13.   Writeln ('der von überflüssigen Leerstellen');
  14.   Writeln ('befreit werden soll.');
  15.   Readln (S)
  16.  END; { von Eingabe }
  17.  
  18. PROCEDURE Leerraus (VAR S : Wort);
  19.  
  20.  VAR i, Ende : Integer;
  21.  
  22.  BEGIN
  23.   Ende := Length(S);
  24.   i := 1;
  25.   WHILE i < Ende DO BEGIN
  26.    IF (S[i]=' ') AND (S[i+1]=' ') THEN BEGIN
  27.     Delete (S,i+1,1);
  28.     Ende := Ende - 1
  29.    END { von IF }
  30.    ELSE i := i+1
  31.   END { von WHILE }
  32.  END; { von Leerraus }
  33.  
  34. PROCEDURE Zaehle (S : Wort; VAR L : Integer);
  35.  
  36.  VAR i : Integer;
  37.  
  38.  BEGIN
  39.   L := 1;
  40.   FOR i:=1 TO Length(S) DO IF S[i]=' ' THEN L:=L+1
  41.  END; { von Zaehle }
  42.  
  43. PROCEDURE Ausgabe (S : Wort; A, N : Integer);
  44.  BEGIN
  45.   Writeln ('Der bereinigte Satz ist:');
  46.   Writeln (S);
  47.   Writeln ('Vorher enthielt er ', A:2, ' Leerstellen');
  48.   Writeln ('nachher ', N:2, ' Leerstellen.')
  49.  END; { von Ausgabe }
  50.  
  51. BEGIN { Hauptprogramm }
  52.  Eingabe (Satz);
  53.  Zaehle (Satz, Altleer);
  54.  Leerraus (Satz);
  55.  Zaehle (Satz, Neuleer);
  56.  Ausgabe (Satz, Altleer, Neuleer);
  57.  Readln
  58. END.
  59.  
  60.