PROGRAM kette(input,output);

{Das Programm uebernimmt ein Zeichen und eine Intergerzahl von der Tastatur}
{und erzeugt daraus eine Ausgabezeile bestehend aus einer Wiederholung des}
{Zeichens um die Anzahl der eingegebenen Zahl.}

CONST breite=80;

VAR zeichen:char;
    zahl:integer;
    richtig:boolean;

{----------------------------------------------------------------------------}
PROCEDURE ausgabe(zahl:integer; zeichen:char);

VAR i:integer;

  BEGIN
    IF i<>0 THEN
      BEGIN
        FOR i:=1 TO zahl DO write(zeichen);
        writeln
      END
  END;
{----------------------------------------------------------------------------}

BEGIN
  writeln;writeln;
  writeln('Das Programm wiederholt die Ausgabe eines Zeichens Ihrer Wahl,');
  writeln('geben Sie bitte die angeforderten Daten ein.');
  writeln;writeln;
  write('Geben Sie ein Zeichen ein. ');
  readln(zeichen);

  REPEAT
    richtig:=TRUE;
    write('Geben Sie eine Integer-Zahl ein. ');
    readln(zahl);
    IF zahl<0  THEN richtig:=FALSE;
    IF zahl>breite THEN richtig:=FALSE
  UNTIL richtig{=TRUE};

  writeln;writeln;
  ausgabe(zahl,zeichen);          { ****** Procedur-Aufruf ****** }
  writeln;writeln;
  writeln('Ende des Programms');
  writeln;writeln

END.

