mercoledì 29 febbraio 2012

Anno bisestile: Tra script e "cal"

Salve!

 L'anno tropico (dal greco tropos, rotazione) o anno solare altro non è che il ciclo delle stagioni ed è pari a 365 giorni, 5 ore, 48 minuti e 46 secondi.
L'anno civile, invece, è l'anno solare ma con un numero predeterminato di giorni: 365.
Dalla differenza tra anno tropico e anno civile ci avanzano 5 ore 48 minuti e 46 secondi.

Che fine farà 'sto tempo? Andrà a formare, ogni quattro anni, un anno bisestile. Così ho sintetizzato quelle pochissime  riminiscenze (non so se giuste o sbagliate :D) di geografia astronomica che mi restano ancora! :D

Secondo la regola del calendario gregoriano:

 "Gli anni la cui numerazione è multipla di 100 sono bisestili soltanto se essa è anche multipla di 400. Tutti gli altri anni, la cui numerazione è multipla di 4, rimangono bisestili."

In applicazione di questa regola, ho cercato di creare uno "scriptino" semplice semplice che controlla se un anno è bisestile o meno.  (Se pensate che abbia sbagliato i calcoli, fatemelo sapere.) ;)

#!/bin/bash
read -p "inserisci l'anno: " anno
if (( (anno % 400) == 0 )) || (( (anno % 4) == 0 && (anno % 100) != 0 )); then
   echo "l'anno $anno è bisestile"
else
   echo " l'anno $anno non è bisestile"
fi
exit 0


Posto che venga salvato nella cartella Documenti e nominato bisestile.sh, basta spostarsi nella directory Documenti

$ cd Documenti

ed eseguirlo

$ bash bisestile.sh

Certo, c'è chi sostiene, come mio nonno, che 'sto script è del tutto inutile; Lui, infatti, per sapere se un anno è bisestile, usa il comando cal.

$ cal febbraio 2012

Pazienza!

Ciao :)

6 commenti:

  1. Bene bene questo post è servito proprio su un piatto d'argento. Ti propongo di calcolare che dato un giorno di un mese restituisca se appartiene alla primavera, estate, autunno ed inverno.

    Esempio:

    Giorno 21 Marzo = equinozio di primavera

    Oppure

    Giorno 7 Aprile = primavera

    Oppure

    Giorno 21 Giugno = Soltizio d'estate


    Spero che sia chiaro :). Già che ci siamo specifichiamo anche l'anno per dire se è bisestile oppure no. :D

    RispondiElimina
  2. Io ho risolto così:
    http://pastebin.com/XZXjELFr

    RispondiElimina
    Risposte
    1. Ottimo lavoro! :))
      E grazie...

      Elimina
    2. Grazie, è un po che ti seguo, ma è la prima volta che commento...

      Elimina
  3. Volevo condividere con voi anche la mia versione -> http://toshidex.org/2012/03/02/5-ore-di-mortemale-per-creare-le-quattro-stagioni/

    RispondiElimina