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. ![](085_zad/08514042_1.gif)
Na slici je prikazan odnos redova i kolona.
![](10901t_11.jpg) |
Slika 1. Glavna dijagonala i=j |
![](10901t_12.jpg) |
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:
![](../../pascal_prir/085/085_izvedi/08514042.gif)
Index
|