8.6.. Napisati program za ispis trougla kao na slici sa željenim brojem redova:
.

Opis programa: Stranice trougla se odvojeno generišu. Lijeva je sporedna dijagonala i neophodan je prikaz praznog prostora radi desne strance koja je glavna dijagonala.
Na slici je prikazan odnos redova i kolona.

Slika 1. Glavna dijagonala i=j
Slika 1. Sporedna dijagonala i+j = n+1

Listing programa:

PROGRAM p08614042;
USES
  WinCrt;
VAR              { deklarisanje promjenljivih }
  i, j, n : Integer;
  znak : Char;   { znak koji se ispisuje }
 
BEGIN
  WRITELN('Trougao');  { naslov }
   
  Write('Broj redova: ');    { ulazne promjenljive }
  Readln(n);                 { broj redova }
  Write('Znak ');
  Readln(znak);              { znak }

  j := 1;
  WHILE j < n DO    { vrh trougla }
    BEGIN
      WRITE(' ');    { prazo }
      j := j + 1;
    END;
  WRITELN(znak);     { vrh trougla }

  { stranice trougla }
  i := 2;         { drugi red }
  WHILE i < n DO            { petlja za redove }
    BEGIN
      { lijeva stranidca 2. red do n-1. reda}
      j := 1;
      WHILE j < n DO          { petlja za lijeve kolona i-tog reda}
        BEGIN
          IF i+j = n+1 THEN   { sporedna dijagonala }
            WRITE(znak)
          ELSE
            WRITE(' ');      { izvan sporedne dijagonale }
          j := j + 1;
        END;

      { desna stranidca }
      j := 1;
      WHILE j < n DO           { petlja za desne kolona i-tog reda}
        BEGIN
          IF i = j THEN        { ispod i na i glavnoj dijagonali? }
            WRITE(znak)        { znak }
          ELSE
            WRITE(' ');        { prazo }
          j := j + 1;
        END;
      WRITELN;             { kraj reda }
      i := i + 1;
    END;

 { dno trougla - baza trougla}
  j := 1;
  WHILE j < 2 * n DO  { dno trougla }
    BEGIN
     WRITE(znak);        { prazo }
     j := j + 1;
    END;
  WRITELN;
END.

Ispis na ekranu:

Index