In questa lezione realizzeremo la tavola pitagorica in linguaggio C++, in modo da applicare i cicli for annidati che abbiamo studiato nelle precedenti lezioni.
La tavola pitagorica è utilizzata in ambito scolastico per imparare le tabelline e ha, di solito, 10 righe e 10 colonne. Ciascuna riga o colonna viene detta tabellina.
Mi ricordo che nei miei vecchi quaderni di scuola si trovava nell’ultima pagina ed era formata da 12 righe e 12 colonne. Quindi l’ultima tabellina era quella del 12.
Ho già presentato un esempio della tavola pitagorica in C, utilizzando le matrici, visibile al link tavola pitagorica in C. Infatti una tavola pitagorica è una matrice di numeri naturali.
Ma in questa lezione vi propongo una soluzione molto semplice che fa un uso indiretto delle matrici, che affronteremo andando avanti nel tutorial.
Tavola pitagorica in C++
Realizziamo una tavola pitagorica di 10 righe e 10 colonne che visualizzi le tabelline dall’1 al 10.
Innanzitutto dichiariamo le variabili i e j e la costante n, pari a 10, perché 10 sono sia le righe che le colonne.
Dopo, per risolvere questo algoritmo, utilizzeremo due cicli for annidati, un ciclo esterno e uno interno che vanno da 1 a 10.
Poi, ad ogni ciclo esterno moltiplicheremo il contatore del ciclo esterno per quello del ciclo interno che varia da 1 a 10.
Cioè essendo i l’indice del ciclo esterno e j l’indice del ciclo interno, moltiplicheremo i x j:
Prima iterazione ciclo esterno i=1:
prima iterazione ciclo interno j=1: 1 x 1 = 1
seconda iterazione ciclo interno j=2: 1 x 2 = 2
terza iterazione ciclo interno j=3: 1 x 3 = 3
quarta iterazione ciclo interno j=4: 1 x 4 = 4
quinta iterazione ciclo interno j=5: 1 x 5 = 5
sesta iterazione ciclo interno j=6: 1 x 6 = 6
settima iterazione ciclo interno j=7: 1 x 7 = 7
ottava iterazione ciclo interno j=8: 1 x 8 = 8
nona iterazione ciclo interno j=9: 1 x 9 = 9
decima iterazione ciclo interno j=10: 1 x 10 = 10
Utilizziamo dunque endl per andare a capo e procediamo con la seconda iterazione del ciclo esterno dove i questa volta è uguale a 2 e j assumerà nuovamente i valori da 1 a 10.
Ecco dunque il codice che realizza la tavola pitagorica:
#include <iostream>
using namespace std;
main(){
int i,j;
const int n=10;
for(i=1;i<=n;i++) {
for(j=1;j<=n;j++)
cout<<"\t"<<i*j;
cout<<endl;
}
return 0;
}
Alcuni link utili
Indice argomenti linguaggio C++
1- Introduzione al linguaggio C++
3- Operatori di assegnazione in C++
Successione di Fibonacci in C++