Skip to content

MichelleMyBad/piramide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

piramide

Descrizione esecizio

Esercizio C# in console che, una volta dati i mattoni in ingresso, ritorna il numero dei piani realizzabili e i mattoni avanzati.

Descizione soluzione utilizzata

Funzione per il calcolo dei piani
public static int Piani( int mattoni )
{

Dichiariamo la funzione dove andremo ad inserire le istruzioni per il calcolo dei piani, passandole come parametro i mattoni disponibili.

Controllo del numero dei mattoni
if(mattoni<=0){
    return 0;
}

Controlliamo che i mattoni siano maggiori di 0, in caso contrario restituiamo immediatamente 0 al programma, in quanto non sono costruibili piani senza mattoni.

Creazione variabili utili
int risultato=0;
int counterFloors=0;
int counterBlocks=1;

Creiamo le variabili che ci serviranno in seguito : la prima per contenere l'area di un piano, la seconda per contenere la quantità di piani costruibili e la terza per avere a disposizione la lunghezza del lato del piano corrente.

Calcolo dei piani
for(counterFloors=0;mattoni>0;counterFloors++){
    risultato = counterBlocks*counterBlocks;
    mattoni-=risultato;
    counterBlocks+=2;
}

if(mattoni<0){
    counterFloors--;
}

return counterFloors;
}

Tramite for calcoliamo in counterFloors i piani che riusciremo a costruire : calcoliamo dentro risultato l'area del piano, per poi sottrarla al numero totale di mattoni disponibili, aumentiamo in fine il lato di 2. L'if successivo serve in caso i mattoni vadano in negativo : togliamo un piano, dato che l'ultimo piano non siamo chiaramenti riusciti a costruirlo avendo ottenuto un numero di mattoni negativo. Restituiamo poi la variabile e chiudiamo la funzione.


Funzione per il calcolo dei mattoni rimanenti
public static int Rimanenti( int mattoni )
{

Dichiariamo la funzione dove andremo ad inserire le istruzioni per il calcolo dei mattoni rimanenti, passandole come parametro i mattoni disponibili.

Dichiarazione variabili utili
int piani=Piani(mattoni);
int restoMattoni=mattoni;
int num=1;

Creiamo le variabili che ci serviranno in seguito : la prima conterrà il numero di piani costruibili calcolato tramite la funzione Piani, la seconda alla fine del programma conterrà i mattoni rimanenti mentre la terza servirà per contenere la lunghezza del lato del piano corrente.

Calcolo dei mattoni rimasti
for(int i=0;i<piani;i++){
    restoMattoni-=num*num;
    num+=2;
}
return restoMattoni;
}

Tramite for calcoliamo quanti mattoni ci resteranno dopo aver costruito la piramide : otteniamo l'area del piano corrente per poi sottrarla al numero di mattoni disponibili, inseriamo poi questo dato nella variabile restoMattoni. Restituiamo poi la variabile e chiudiamo la funzione.

About

Esercizio Piramide

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages