Exerciții Laboratorul 1, Exercițiul 4

write_n/2 — triunghi la STDOUT

Laboratorul 1, Exercițiul 4 intro Recursivitate pe listeCut (!) și cazuri de bază

Fie write/1 un predicat care scrie argumentul primit (un atom) la STDOUT. Folosiți acest predicat pentru a defini un predicat nou, write_n/2 care primește ca argumente un număr natural nenul și un atom și afișează la STDOUT un triunghi format din atomul primit și din dimensiunea primită.

De exemplu, pentru write_n(5, *) se va afișa:

*****
****
***
**
*

Modificați afișarea pentru a obține reprezentarea:

    *
   **
  ***
 ****
*****

Notă: acest exercițiu folosește write/1 care scrie direct la STDOUT. Verificarea automată compară răspunsurile de tip X = V, nu output-ul afișat, deci butonul „Verifică" nu funcționează aici. Rulează manual și verifică vizual ieșirea.

Hint: un predicat auxiliar write_line/2 care scrie N atomi pe o linie, apoi write_n/2 care iterează recursiv peste numărul de linii și apelează nl/0 între ele.

Te-ai blocat?
editor soluție
?-
Tastează o interogare (ex. father_of(sandra, X).) și apasă Enter — sau apasă pe un caz de test de mai jos.