Utilizzando due ripetizioni innestate (una per le righe e una per le colonne) e i se che dovessero rivelarsi necessari, realizzare le seguenti figure geometriche. Tutte le figure devono essere parametriche rispetto alla dimensione del lato. Quelle rappresentate (a titolo di esempio) hanno lato=8, salvo diversamente specificato. Esercizio 1: North-West triangle ******** ******* ****** ***** **** *** ** * ******** * * * * * * * * * * ** * Esercizio 2: South-West triangle * ** *** **** ***** ****** ******* ******** * ** * * * * * * * * * * ******** Esercizio 3: North-East triangle ******** ******* ****** ***** **** *** ** * ******** * * * * * * * * * * ** * Esercizio 4: South-East triangle * ** *** **** ***** ****** ******* ******** * ** * * * * * * * * * * ******** Esercizio 5: North-West Obtuse triangle Suggerimento: tracciare un triangolo di spazi con affiancato un triangolo di asterischi. ******** ******* ****** ***** **** *** ** * ******** * * * * * * * * * * ** * Esercizio 6: South-West Obtuse triangle Suggerimento: tracciare un triangolo di spazi con affiancato un triangolo di asterischi. * ** *** **** ***** ****** ******* ******** * ** * * * * * * * * * * ******** Esercizio 7: North-East Obtuse triangle Suggerimento: tracciare un triangolo di spazi (in cui il numero di spazi è DOPPIO) con affiancato un triangolo di asterischi. ******** ******* ****** ***** **** *** ** * ******** * * * * * * * * * * ** * Esercizio 8: South-East Obtuse triangle Suggerimento: tracciare un triangolo di spazi (in cui il numero di spazi è DOPPIO) con affiancato un triangolo di asterischi. * ** *** **** ***** ****** ******* ******** * ** * * * * * * * * * * ******** Esercizio 9: Square ******** ******** ******** ******** ******** ******** ******** ******** ******** * * * * * * * * * * * * ******** Esercizio 10: Rhombus/Rhomboid Suggerimento: tracciare un triangolo di spazi con affiancato un quadrato. ******** ******** ******** ******** ******** ******** ******** ******** ******** * * * * * * * * * * * * ******** ******** ******** ******** ******** ******** ******** ******** ******** ******** * * * * * * * * * * * * ******** Esercizio 11: Diamond * *** ***** ******* ********* *********** ************* *************** ************* *********** ********* ******* ***** *** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Esercizio 12: Pyramid Suggerimento: tracciare un triangolo di spazi con affiancato un numero dispari di asterischi * *** ***** ******* ********* *********** ************* *************** * * * * * * * * * * * * * *************** Esercizio 13: Quadrati con diagonale ******** ** * * * * * * * * * * * * * * ** ******** ******** * ** * * * * * * * * * * * * ** * ******** ******** ** ** * * * * * ** * * ** * * * * * ** ** ******** Esercizio 13: Rombo con diagonale Esercizio 14: Triangoli con mediana * ** * * * * * ** * * * ** * ******** ******** ** * * * * * ** * * * * ** * ******** * ** * * * ** * * * * * ** * * ** * * * * ** * * * * * ** ******** Esercizio 15: Arrow1 LR Suggerimento: notare che sono due triangoli ottusangoli sovrapposti * ** *** **** ***** ****** ******* ******** ******* ****** ***** **** *** ** * * ** * * * * * * * * * * * * * * * * * * * * * * ** * Esercizio 16: Arrow2 LR ******** ******* ****** ***** **** *** ** * ** *** **** ***** ****** ******* ******** ******** * * * * * * * * * * ** * ** * * * * * * * * * * ******** Esercizio 17: Arrow1 RL Suggerimento: notare che sono due triangoli ottusangoli sovrapposti * ** *** **** ***** ****** ******* ******** ******* ****** ***** **** *** ** * * ** * * * * * * * * * * * * * * * * * * * * * * ** * Esercizio 18: Arrow2 RL ******** ******* ****** ***** **** *** ** * ** *** **** ***** ****** ******* ******** ******** * ** * * * * * * * * ** * ** * * * * * * * * * * ******** Esercizio 19: HutStar Suggerimento: piramide sovrapposta a due rettangoli * *** ***** ******* ********* *********** ************* *************** *** *** *** *** *** *** Esercizio 20: Spunta .........* ........*. .......*.. ......*... .....*.... *...*..... .*.*...... ..*....... Esercizio 21: Triple square (concentric) Lato=1 * Lato=2 ** ** Lato=3 *** * * *** Lato=4 **** * * * * **** Lato=5 ***** * * * * * * * ***** Lato=6 ****** * * * ** * * ** * * * ****** Lato=7 ******* * * * *** * * * * * * *** * * * ******* Lato=8 ******** * * * **** * * * * * * * * * * **** * * * ******** Lato=9 ********* * * * ***** * * * * * * * * * * * * * * * ***** * * * ********* Lato=10 ********** * * * ****** * * * * * * * ** * * * * ** * * * * * * * ****** * * * ********** Lato=11 *********** * * * ******* * * * * * * * *** * * * * * * * * * * *** * * * * * * * ******* * * * *********** Lato=12 ************ * * * ******** * * * * * * * **** * * * * * * * * * * * * * * * * **** * * * * * * * ******** * * * ************ Esercizio 22: Righe alternate Suggerimento: si noti che il simbolo da stampare dipende dalla parità di row. oooooooo ++++++++ oooooooo ++++++++ oooooooo ++++++++ oooooooo ++++++++ Esercizio 23: Caratteri alternati Suggerimento: si noti che il simbolo da stampare dipende dalla parità della somma row+col. o+o+o+o+ +o+o+o+o o+o+o+o+ +o+o+o+o o+o+o+o+ +o+o+o+o o+o+o+o+ +o+o+o+o Esercizio 24: Triangolo Suggerimento: si noti che il simbolo da stampare dipende da rowcol. |+++++++ o|++++++ oo|+++++ ooo|++++ oooo|+++ ooooo|++ oooooo|+ ooooooo| Esercizio 25: Stars and alphabet Suggerimento: in ogni riga è presente un asterisco, seguito da un numero di coppie "C*" direttamente proporzionale al numero di riga. * *C* *C*C* *C*C*C* *C*C*C*C* *C*C*C*C*C* *C*C*C*C*C*C* *C*C*C*C*C*C*C* Esercizio 26: Symmetry Suggerimento: il primo numero di ogni riga è esattamente il numero di riga. Tale numero deve essere incrementato fino a metà (asse di simmetria) e decrementato dopo la metà. 1 232 34543 4567654 567898765 6789ABA9876 789ABCDCBA987 89ABCDEFEDCBA98 Esercizio 27: Hourglass#1 1 2 3 4 5 6 7 8 2 3 4 5 6 7 8 3 4 5 6 7 8 4 5 6 7 8 5 6 7 8 6 7 8 7 8 8 7 8 6 7 8 5 6 7 8 4 5 6 7 8 3 4 5 6 7 8 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Esercizio 28: Hourglass#2 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 1 2 3 4 5 6 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 Esercizio 29: Number pattern 1 212 32123 4321234 543212345 65432123456 7654321234567 876543212345678 7654321234567 65432123456 543212345 4321234 32123 212 1 Esercizio 30: Stars & Numbers 1 1*2 1*2*3 1*2*3*4 1*2*3*4*5 1*2*3*4*5*6 1*2*3*4*5*6*7 1*2*3*4*5*6*7*8 1*2*3*4*5*6*7 1*2*3*4*5*6 1*2*3*4*5 1*2*3*4 1*2*3 1*2 1 Esercizio 31: Floyd triangle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 Esercizio 32: Pascal(Tartaglia) triangle Suggerimento: per calcolare il valore in una data coordinata, si noti come nella prima colonna (col==0) e nella diagonale (col==row) ci siano tutti 1. Gli altri elementi sono calcolati sommando due numeri della riga precedente (row-1): quello con la stessa colonna e quello con la colonna precedente. unsigned cb(unsigned row, unsigned col) { if (col==0 || col==row) return 1; else return cb(row-1, col) + cb(row-1, col-1); } 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 Esercizio 32b: Tartaglia(Pascal) triangle 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 Esercizio 33: Bell triangle Suggerimento: per calcolare il valore in una data coordinata, si noti come nella prima riga (row==0) ci sia il valore 1, nella prima colonna (col==0) viene copiato l'ultimo valore della riga precedente. Tutte gli altri valori sono calcolati sommando i valori della colonna precedente (col-1): quello con la stessa riga e quello con la riga precedente. unsigned bellCoeff(unsigned row, unsigned col) { if (row==0) return 1; else if(col==0) return bellCoeff(row-1, row-1); else return bellCoeff(row, col-1) + bellCoeff(row-1, col-1); } 1 1 2 2 3 5 5 7 10 15 15 20 27 37 52 52 67 87 114 151 203 203 255 322 409 523 674 877 877 1080 1335 1657 2066 2589 3263 4140 Esercizio 34: Staircase#1 +---+---+---+---+---+---+---+---+ | | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | +---+---+---+---+---+---+---+ | | | | | | | +---+---+---+---+---+---+ | | | | | | +---+---+---+---+---+ | | | | | +---+---+---+---+ | | | | +---+---+---+ | | | +---+---+ | | +---+ Esercizio 35: Staircase#2 +---+ | | +---+---+ | | | +---+---+---+ | | | | +---+---+---+---+ | | | | | +---+---+---+---+---+ | | | | | | +---+---+---+---+---+---+ | | | | | | | +---+---+---+---+---+---+---+ | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | | +---+---+---+---+---+---+---+---+ Esercizio 36: Heart AAAA AAAA AAAAAA AAAAAA AAAAAAAAAAAAAAAA BBBBBBBBBBBBBBBB BBBBBBBBBBBBBB BBBBBBBBBBBB BBBBBBBBBB BBBBBBBB BBBBBB BBBB BB Esercizio 37: Ladder pattern (ripetizione singola) * * * * ***** * * * * ***** * * * * ***** * * * * ***** * * * * ***** * * * * ***** * * * * ***** * * * * ***** * * * * Esercizio 38: Trapezio rettangolo ********* * * * * * * * * * * * * **************** Esercizio 39: Trapezio rettangolo ********* * * * * * * * * * * * * **************** Esercizio 40: Trapezio rettangolo **************** * * * * * * * * * * * * ********* Esercizio 41: Trapezio rettangolo **************** * * * * * * * * * * * * ********* Esercizio 42: LatinSquare 1 2 3 4 5 6 7 8 2 3 4 5 6 7 8 1 3 4 5 6 7 8 1 2 4 5 6 7 8 1 2 3 5 6 7 8 1 2 3 4 6 7 8 1 2 3 4 5 7 8 1 2 3 4 5 6 8 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 8 1 2 3 4 5 6 7 7 8 1 2 3 4 5 6 6 7 8 1 2 3 4 5 5 6 7 8 1 2 3 4 4 5 6 7 8 1 2 3 3 4 5 6 7 8 1 2 2 3 4 5 6 7 8 1 Esercizio 43: Letter square AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA Esercizio 4x: cross overlapping Esercizio 44: cross a 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 a 9 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 9 8 8 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 8 8 7 7 7 7 6 5 4 3 2 1 2 3 4 5 6 7 7 7 7 6 6 6 6 6 5 4 3 2 1 2 3 4 5 6 6 6 6 6 5 5 5 5 5 5 4 3 2 1 2 3 4 5 5 5 5 5 5 4 4 4 4 4 4 4 3 2 1 2 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 2 1 2 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 2 1 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 2 1 2 3 4 4 4 4 4 4 4 5 5 5 5 5 5 4 3 2 1 2 3 4 5 5 5 5 5 5 6 6 6 6 6 5 4 3 2 1 2 3 4 5 6 6 6 6 6 7 7 7 7 6 5 4 3 2 1 2 3 4 5 6 7 7 7 7 8 8 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 8 8 9 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 9 a 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 a Esercizio 45: squaremin #1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 3 3 3 3 3 3 3 3 1 2 3 4 4 4 4 4 4 4 1 2 3 4 5 5 5 5 5 5 1 2 3 4 5 6 6 6 6 6 1 2 3 4 5 6 7 7 7 7 1 2 3 4 5 6 7 8 8 8 1 2 3 4 5 6 7 8 9 9 1 2 3 4 5 6 7 8 9 a Esercizio 46: squaremax #1 1 2 3 4 5 6 7 8 9 a 2 2 3 4 5 6 7 8 9 a 3 3 3 4 5 6 7 8 9 a 4 4 4 4 5 6 7 8 9 a 5 5 5 5 5 6 7 8 9 a 6 6 6 6 6 6 7 8 9 a 7 7 7 7 7 7 7 8 9 a 8 8 8 8 8 8 8 8 9 a 9 9 9 9 9 9 9 9 9 a a a a a a a a a a a Esercizio 47: squaremin #2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 3 3 3 3 3 3 3 3 1 2 3 4 4 4 4 4 4 4 1 2 3 4 5 5 5 5 5 5 1 2 3 4 5 5 5 5 5 5 1 2 3 4 5 5 4 4 4 4 1 2 3 4 5 5 4 3 3 3 1 2 3 4 5 5 4 3 2 2 1 2 3 4 5 5 4 3 2 1 Esercizio 48: squaremax #2 1 2 3 4 5 5 4 3 2 1 2 2 3 4 5 5 4 3 2 1 3 3 3 4 5 5 4 3 2 1 4 4 4 4 5 5 4 3 2 1 5 5 5 5 5 5 4 3 2 1 5 5 5 5 5 5 4 3 2 1 4 4 4 4 4 4 4 3 2 1 3 3 3 3 3 3 3 3 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 Esercizio 49a: diagonali principali 1 2 3 4 5 6 7 8 9 a 2 1 2 3 4 5 6 7 8 9 3 2 1 2 3 4 5 6 7 8 4 3 2 1 2 3 4 5 6 7 5 4 3 2 1 2 3 4 5 6 6 5 4 3 2 1 2 3 4 5 7 6 5 4 3 2 1 2 3 4 8 7 6 5 4 3 2 1 2 3 9 8 7 6 5 4 3 2 1 2 a 9 8 7 6 5 4 3 2 1 Esercizio 49b: diagonali secondarie 1 2 3 4 5 6 7 8 9 a 2 3 4 5 6 7 8 9 a b 3 4 5 6 7 8 9 a b c 4 5 6 7 8 9 a b c d 5 6 7 8 9 a b c d e 6 7 8 9 a b c d e f 7 8 9 a b c d e f10 8 9 a b c d e f1011 9 a b c d e f101112 a b c d e f10111213 Esercizio 50: Aztec pyramid 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 1 1 1 1 2 2 3 3 2 2 1 1 1 1 2 2 3 3 2 2 1 1 1 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Esercizio 51: Bullseye matrix #1 a a a a a a a a a a a a a a a a a a a a 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 a a 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 a a 9 8 7 7 7 7 7 7 7 7 7 7 7 7 7 8 9 a a 9 8 7 6 6 6 6 6 6 6 6 6 6 6 7 8 9 a a 9 8 7 6 5 5 5 5 5 5 5 5 5 6 7 8 9 a a 9 8 7 6 5 4 4 4 4 4 4 4 5 6 7 8 9 a a 9 8 7 6 5 4 3 3 3 3 3 4 5 6 7 8 9 a a 9 8 7 6 5 4 3 2 2 2 3 4 5 6 7 8 9 a a 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 a a 9 8 7 6 5 4 3 2 2 2 3 4 5 6 7 8 9 a a 9 8 7 6 5 4 3 3 3 3 3 4 5 6 7 8 9 a a 9 8 7 6 5 4 4 4 4 4 4 4 5 6 7 8 9 a a 9 8 7 6 5 5 5 5 5 5 5 5 5 6 7 8 9 a a 9 8 7 6 6 6 6 6 6 6 6 6 6 6 7 8 9 a a 9 8 7 7 7 7 7 7 7 7 7 7 7 7 7 8 9 a a 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 a a 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 a a a a a a a a a a a a a a a a a a a a Esercizio 52: Bullseye matrix #2 13121110 f e d c b a b c d e f10111213 121110 f e d c b a 9 a b c d e f101112 1110 f e d c b a 9 8 9 a b c d e f1011 10 f e d c b a 9 8 7 8 9 a b c d e f10 f e d c b a 9 8 7 6 7 8 9 a b c d e f e d c b a 9 8 7 6 5 6 7 8 9 a b c d e d c b a 9 8 7 6 5 4 5 6 7 8 9 a b c d c b a 9 8 7 6 5 4 3 4 5 6 7 8 9 a b c b a 9 8 7 6 5 4 3 2 3 4 5 6 7 8 9 a b a 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 a b a 9 8 7 6 5 4 3 2 3 4 5 6 7 8 9 a b c b a 9 8 7 6 5 4 3 4 5 6 7 8 9 a b c d c b a 9 8 7 6 5 4 5 6 7 8 9 a b c d e d c b a 9 8 7 6 5 6 7 8 9 a b c d e f e d c b a 9 8 7 6 7 8 9 a b c d e f 10 f e d c b a 9 8 7 8 9 a b c d e f10 1110 f e d c b a 9 8 9 a b c d e f1011 121110 f e d c b a 9 a b c d e f101112 13121110 f e d c b a b c d e f10111213 Esercizio 53: Christmas tree * *** ***** ******* ********* *********** ************* *************** ***************** ******************* *** ***