Scrivere un algoritmo che permette di determinare se un anno è bisestile.
(nota: Un anno è bisestile se è divisibile per 400 oppure è divisibile per 4 ma non per 100.)
Soluzione
Analisi del problema
Dati
Input | Output | lavoro |
anno | risultato | |
 |
Relazione ingresso uscita
Un anno divisibile per 4 è un anno bisestile ad esempio 1980 1984 sono anni bisestili.
Fanno eccezione gli anni di fine secolo che sono bisestili soltanto se sono divisibili per 400. Per questa ragione gli anni elencati non sono anni bisestili
1700 1800 1900
Sono infatti divisibili per 4 ma non per 400.
Mentre sono anni bisestili:
1600, 2000, 2400
Sono infatti divisibili per 400.
Se l’anno non è divisibile per 4, l’anno non è bisestile.
Altrimenti se è divisibile per 4 e non è divisibile per 100 (fine secolo ) l’anno è bisestile.
Altrimenti Se l’anno non è divisibile per 400, L’anno non è bisestile
altrimenti è bisestile.
'use strict' let anno = prompt('inserisci anno',1980); anno=parseInt(anno); let risultato; if(anno%4==0) if(anno%100==0) if(anno%400==0) risultato='L'anno '+anno+' è bisestile'; else risultato='L'anno '+anno+' non è bisestile'; else risultato='L'anno '+ anno+ ' è bisestile'; else risultato='L'anno '+anno+' non bisestile '; document.write(risultato);
Possiamo semplificare lo schema usando gli operatori boolean AND e OR infatti nella condizione mettiamo se anno è divisibile per 400 OR (anno divisibile per 4 e anno non è divisibile per 100) allora l’anno è bisestile altrimenti non è bisestile.
Â
Lascia un commento