giovedì 6 ottobre 2011

Matematica: operazioni con i numeri complessi

I numeri complessi possono esser visti come dei vettori a due componenti reali (x, y) e quindi z = x + iy.
Per sommare due (o più) numeri complessi si sommano le loro componenti : (x, y) + (a, b) = (x+a, y+b).
Per moltiplicare un numero complesso con un mumero reale si moltiplica quest'ultimo con le componenti del numero complesso: r * (x, y)  = (r*x, r*y).
Per moltiplicare tra loro due numeri complessi si opera in questo modo: (x, y) * (a, b) = (x*a - y*b, x*b + y*a).
Le operazioni di somma e prodotto sono associative, commutative e vale la proprietà distributiva.
Un numero reale x può venir rappresentato anche come numero complesso (x, 0)  cioè z = x + 0i = x.
I numeri complessi hanno due unità : (1, 0) = 1 e (0, 1) = i (detta unità immaginaria).
Grazie a queste due unità un numero complesso (x, y) =  (x, 0) + (0, y) = x + y(0, 1) = x + yi
Vediamo quanto fa i^2 = (0, 1)^2 = (0, 1)*(0, 1) = (0*0 - 1*1, 0*1 + 1*0) = (-1, 0) = -1.
Quindi ugualgliando i due estremi, sinistro e destro, dell'equazione si ricava che i^2 = -1.
Ora concentriamoci sulle potenze di i :
  • i^0  = 1
  • i^1  = i
  • i^2  = -1
  • i ^3 = i^2 * i = -1*i = -i
  • i^4 = i^3 * i = -i * i = -1 * (-1) = 1
  • i^5 = i^4 * i = 1 * i = i
  • i^6 = i^4 * i^2 = 1 * i^2  = 1 * (-1) = -1
  • i^7 = i^4 * i^3 = 1 * i^3  = 1 * (-i) = -i
A questo punto si capisce che se due numeri m ed n danno lo stesso resto se vengono divisi per 4, m=n(mod 4), allora i^m = i^n.
Inoltre se dividiamo m per 4 ed otteniamo il risultato q con resto r allora m = 4*q + r , dunque i^m = i^(4*q + r) = i^(4*q) * i^r = (i^4)^q + i^r = 1^q + i^r = i^r .
Nel post precedente sui numeri complessi si è detto che z^2 = -9/4 ha come soluzioni 3/2e -3/2i. Infatti se proviamo ad elevare al quadrato le due soluzioni si ottiene -9/4 :
  1. ((3/2)i)^2 = (3/2)i * (3/2)i = 9/4 * i^2 = -9/4
  2. (-3/2i)^2 = -(3/2)i * -(3/2)i = 9/4 * i^2 = -9/4

martedì 4 ottobre 2011

Matematica: introduzione ai numeri complessi

I numeri complessi ( che nell'insieme vengono indicati con \mathbb{C} ) sono stati introdotti perchè l'insieme dei numeri reali ( \mathbb{R} ) non è algebricamente chiuso. Il motivo quindi consiste che grazie ai numeri complessi si possono risolvere equazioni del tipo: 4x^2+9 = 0  -->  x^2 = -9/4.
Nell'insieme dei numeri reali non esiste un numero x il cui quadrato x^2 sia un numero negativo. Questo è dovuto al fatto che x^2>=0 per ogni x appartenente all'insieme dei numeri reali.
Se x fosse positivo si avrebbe la moltiplicazione di due numeri positivi ( + per + uguale + ) e quindi il risultato sarebbe positivo, se x fosse negativo si avrebbe la moltiplicazione di due numeri negativi ( - per - uguale + ) e quindi il risultato sarebbe positivo ed infine se x fosse 0 il risultato sarebbe 0.
Un numero complesso z = x + iy è una specie di vettore composto da due numeri reali chiamati parte reale x e parte immaginaria y e la sua "particolarità" è l'unità immaginaria i.
Ecco quindi che nell'insieme dei numeri complessi  esistono numeri complessi il cui quadrato è un numero reale negativo. Ad esempio ritornando all'equazione precedente 4x^2+9 = 0 che non ammette soluzione nell'insieme dei numeri reali ha invece due soluzioni nell'insieme dei numeri complessi, cioè 3/2i e -3/2i con rad(numero) che indica la radice quadrata del numero tra le parentesi.

sabato 1 ottobre 2011

Ricerca operativa (Operation Research o Management Science)

Ricerca operativa è matematica, ma applicata a problemi di decisione.
Mette a disposizione dei modelli matematici per rispondere alle decisioni. Si parte da casi reali, concreti, problemi realistici di decisione con i dati numerici per stabilire (se esiste) una soluzione ottimale. Si va dal particolare, specifico al generale: percorso induttivo.
Cos'è una decisione? 
Una decisione prevede delle alternative e si decide quale alternativa mettere in esecuzione. Si fa un'analisi delle alernative e si cerca di capire quali sono le conseguenze per ogni alternativa possibile. La scelta viene fatta per lo più per le conseguenze, scegliendo l'effetto migliore. Per fare questa scelta si adoperano dei criteri.

Esempio.
Decisione da fare: prendere l'ombrello?
Alternative: 
  1. Prendere l'ombrello
  2. Non prendere l'ombrello
Conseguenze:
  1. Lo si deve portare in giro ma se piove non ci si bagna
  2. Se piove ci si bagna
Criteri: comodità e rischio di bagnarsi

Alcune conseguenze possono non dipendere ed essere univocamente determinate dalle alternative (riferendosi all'esempio precedente, il fattore atmosferico) ed i criteri possono essere diversi, sono soggettivi.

domenica 25 settembre 2011

Inglese: Movie keywords

Comedy:   love, food, travels, destin, life in general, happy end
pleasant, entertaining, hilarious, makes you laugh, enjoyable, lively, witty

Horror:   death, monsters, zombies, killers, ghosts, vampires, wizard, witchies, aliens
entertaining, scary, frightening, spooky, dark, gloomy, gory, splattering

Science fiction:   scientists, distant/unknown planets, spacecraft, astronauts, monsters, aliens
pleasant, entertaining, scary, dark, based on the future, mystery

Thriller:   murderers, police, detectives, investigation, victims, doctors, witnesses
gripping, entertaining, scary, dark, mystery, based on crime

Dramatic:   love, death, illness, poverty
gripping, entertaining, dark, sad, deals with human passions

I nuovi mezzi moderni permettono agli uomini di diventare più sapienti?

A partire da metà '900, ed ora sempre di più, si sono sviluppati moltissimi mezzi di comunicazione di massa. Tutto ha inizio con la radio. Diffonde notizie in modo orale che quindi sono facilmente accessibili a chiunque.
L'innovazione successiva fu la televisione che si diffuse molto rapidamente con il miglioramento delle condizioni economiche. Infatti oggi è il mass media più diffus: si trova anche in luoghi sperduti e poveri.
La novità tecnologica più recente è il computer che ha avuto una crescita ed uno sviluppo molto veloce. I due mezzi più usati oggi sono la televisione ed il pc.
La parola televisione deriva da due termini, uno di origine greca "tele" cioè lontano e l'altro di origine latina "visione" da "video" che mantiene il significato di vedere. Questo mezzo di comunicazionenon trasmette solo suoni, come la radio, ma anche immagini che assumono un ruolo più importante delle parole. Leggendo un libro si pensa a ciò che "dice" e se si tratta di un romanzo si può anche immaginare la situazione, ma guardando la televisione questo non succede. Non si è portati a farlo: non si è spinti a leggere ed imparare cose nuove. Ci sono molte innovazioni dal punto di vista tecnico della televisione ma questo avanzamento non riguarda la qualità dei contenuti. Le trasmissioni televisive si occupano prevalentemente dell'intrattenimento e la fiction, ci sono pochissime che trattano dell'informazione in modo serio.
La televisione potrebbe essere un ottimo mezzo di comunicazione, essendo in grado di informare anche contemporaneamente, ma la sua finalità non è l'insegnamento. Questa tecnologia quindi non rende l'uomo più sapiente, gli può essere utile se interpreta con un certo senso critico e intelligenza ciò che gli viene trasmesso. In fin dei conti la televisione funge per lo più da passatempo.
La televisione può addirittura peggiorare l'uomo poichè i bambini la guardano fin da piccoli senza una specie di "filtro" ricevendo un'educazione sbagliata, una visione del mondo spesso deformata.
Un nuovo mezzo moderno è il computer. Questo strumento rende più facili e velocizza molte operazioni aiutando l'uomo in vari campi. Ad esempio si possono gestire molte informazioni contemporaneamente in modo da facilitare una ricerca dando così all'uomo del tempo in più per dedicarsi ad altro.
Attraverso un computer si può anche accedere ad internet ed ai suoi numerosi servizi. Grazie a questo sistema si possono collegare insieme moltissimi computer di tutto il mondo. Alcuni servizi offerti sono la posta elettronica, l'accesso a banche dati e lo scambio di informazioni e servizi tra gli utenti.
Un sistema che usa internet è il web (world wide web), uno dei mezzi di comunicazione più innovativi di oggi. Con il web è possibile la ricerca e la trasmissione di informazioni e dati.
In questo modo si ha a disposizione un' infinità di testi ed altre risorse, ma tutto ciò non è sottoposto a nessun controllo da parte di persone, organizzazioni competenti. Quindi si può trovare di tutto e di più e bisogna essere capaci di individuare le informazioni opportune, giuste.
Questo mezzo può far diventare un uomo, con delle basi, più sapiente poichè gli dà la possibilità di apporfondire deglia argomenti a lui noti, essere aggiornato in tempo reale e di confrontarsi con persone di tutto il mondo, senza dover spostarsi o perdere tempo.
Al tempo stesso il computer può essere usato in modo sbagliato cioè senza pensare e riflettere sulle informazioni che vengono date. Così non si può avere una rielaborazione personale e non vengono utilizzate la capacità di ragionamento proprie dell'uomo.

venerdì 19 agosto 2011

Esercizio java: verificare numero primo

Un numero primo è un numero naturale maggiore di 1 e divisibile interamente ( cioè senza resto ) esclusivamente da 1 e da se stesso. Si scriva un programma che determini se un certo numero dato in input soddisfi o meno questa condizione di primalità.
Questo è il codice:
class Numero_primo{  //verificare se un numero è primo o no
  public static void main(String [] args){
     int numero=634763;  //questo è il numero che ci chiediamo se è primo o no
    System.out.println("Il numero "+numero+" è primo? "+primo(numero));
  }
  public static boolean primo(int n){   //questo metodo restituisce true se il numero n è primo
    if (n<2)   //il primo numero primo è il 2, quindi se abbiamo unnumero minore a 2 allora non sarà primo
      return false;
    if (n<=3)  //se il numero in questione è minore o uguale a 3 allora a questo punto si tratta del 2 o del 3, entrambi primi
      return true;
    if (n%2==0)  //se dividendo per 2 il numero si ha resto uguale a zero allora è un numero pari (maggiore a 2) quindi primo
      return false;
    for (int i=3;i<n;i=i+2){      /* si fa un ciclo partendo con i che da 3 assume i numeri dispari minori al numero da esaminare n, non serve controllare con i numeri pari perchè n non è pari  */
      if ( n%i==0)   // se n dovesse essere divisibile per un qualche i allora non è primo
        return false;   
    }
    return true;    //se si è giunti fin qui allora il numero n è primo
  }
}

martedì 16 agosto 2011

Esercizio java: potenza seconda di un numero

L'esempio consiste in un programmino che calcola e stampa il quadrato di  un numero dato in input dall'utente. Si ha quindi un metodo che eleva alla seconda un numero fornendo quindi il risultato richiesto.
Ecco il codice:
class Quadrato_numero{   //calcola il quadrato di un certo numero
  public static void main(String [] argv){
    double n=4.5;
    System.out.println("il quadrato di "+n+" è: "+eleva_seconda(n));
  }
  public static double eleva_seconda(double num){
   return num*num;
  }
}

lunedì 15 agosto 2011

Buon Ferragosto a tutti!

15 agosto2011
bella giornata estiva con il sole che si fa vedere dappertutto.

C'è chi ha scelto di  passare il tempo in montagna al fresco, magari sulla riva di un fiume come in questa foto qui accanto.

Altri hanno deciso di trascorrere la giornata abbronzandosi in qualche bella spiaggia sulla costa italiana (vedi foto sotto ;)).



Eppure stasera probabilmente tutti vedranno i fuochi d'artificio proiettati nel cielo di tantissime città.

Esercizio java: sommatoria dei numeri naturali minori di un certo numero

Il compito di oggi è scrivere un programminoa che calcoli e stampi a video la somma di tutti i numeri naturali minori di un certo numero inserito dall'utente.
Il codice è il seguente:
class Sommatoria_fino_n{   //somma di tutti i numeri naturali minori di un numero dato
  public static void main(String [] argv){
     int n=100;
    System.out.println("La somma di tutti i numeri naturali minori a "+n+" è: "+somma_fino(n));
  }
  public static int somma_fino(int n){
    int m=0;  // vanno sommati i numeri naturali fino ad n quindi si parte da 0, m è il numero che verrà restituito
    int i=1;   //questo è il numero che verrà sommato ogni volta
    while(i<n){  // ci si ferma quando il numero da sommare è maggiore o uguale al numero n da raggiungere
      m=m+i;  // si somma ad m il numero contenuto in i
      i=i+1;  // si incrementa i di un'unità
    }
    return m;   // si restituisce il risulatato finale m
  }
}

domenica 14 agosto 2011

Esercizio java: somma di due numeri

Si tratta di calcolare la somma di due numeri dati in input dall'utente.
Questo è il codice:
class Somma{
  //dati due numeri si calcola la loro somma
  public static void main (String [] args){
     double primo=21.9;  // valore iniziale
     double secondo=15;   // sconto da applicare: 15%
     System.out.println(primo+" + "+secondo+" = "+somma(primo,secondo));
  }
  public static double somma(double addendo1, double addendo2){
    double out=addendo1+addendo2;       // out sarà il valore restituito, ora contiene la somma dei due parametri ricevuti in input
    return out;
  }
}

giovedì 11 agosto 2011

Esercizio java: sottrarre percentuale di sconto

Utile programmino che dati due numeri, uno ad indicare il valore iniziale e l'altro la percentuale di sconto che va applicata, calcola il valore scontato. Un metodo prende in input i due numeri: prima calcola lo sconto relativo al valore iniziale e poi restituisce il valore scontato sottraendo lo sconto prima calcolato al valore iniziale.
Ecco il codice:
class Sconto{
//dati due numeri, il primo è il valore e il secondo la percentuale di sconto, si calcola il valore scontato
// dal valore iniziale si sottrae lo sconto e quindi si ottiene il valore scontato
         public static void main (String [] args){
                double primo=21.9;            // valore iniziale
                double secondo=15;            // sconto da applicare: 15%
                System.out.println("Valore iniziale: "+primo+"\nSconto in percentuale: "+secondo+"%");
                System.out.println("Valore scontato: "+valore_scontato(primo,secondo));
        }
        public static double valore_scontato(double valore, double sconto){
              double out=valore*sconto/100;        // out sarà il valore restituito, ora contiene il valore da sottrarre al valore iniziale
              out=valore-out;         // sottraiamo a valore (il valore iniziale) il valore da scontare. Così otteniamo il valore scontato che restituiamo
             return out;
     }
}

martedì 9 agosto 2011

Esercizio java: controllo lettera maiuscola o minuscola e vocale o consonante

Questo programmino è formato dal metodo principale main e da due metodi che verificano se il carattere dato come parametro in input rappresenta una lettera maiuscola o minuscola e una vocale o una consonante. Se si tratta di una lettera maiuscola ( rispettivamente di una vocale ) viene restituito true altrimenti false.
Il codice è questo:
class Controllo_lettera{
       public static void main (String [] args){
               char lettera='a';
               System.out.println("La lettera "+lettera+" è maiuscola? "+maiuscola(lettera));
               System.out.println("La lettera "+lettera+" è una vocale? "+vocale(lettera));
        }
//dato in input un carattere questo metodo restituisce true se è una lettera maiuscola, false altrimenti
     public static boolean maiuscola(char let){
          return ((let>='A') && (let<='Z'));
// se il carattere dato in input, let, è compreso tra la lettera A e la Z allora viene restituito true: si tratta di una lettera maiuscola
     }
//dato in input un carattere questo metodo restituisce true se è una vocale, false altrimenti, cioè se è una consonante
     public static boolean vocale(char let){
          switch (let){
//se il parametro let dato in input è A, E, I ecc... allora si tratta di una vocale e si restituisce true altrimenti false perchè vuol dire che si tratta di una consonante
              case 'A':
              case 'E':
              case 'I':
              case 'O':
              case 'U':
              case 'Y':
              case 'a':
              case 'e':
              case 'i':
              case 'o':
              case 'u':
              case 'y':
                  return true;
             default:
                 return false;
        }
    }
}

lunedì 8 agosto 2011

I metodi in java

Tante volte capita di dover scrivere ripetutamente lo stesso codice in programmi diversi. Ad esempio in molti programmi occorre verificare se una lettera è maiuscola o minuscola oppure se è una vocale od una consonante. Senza riscrivere ogni volta le stesse porzioni di codice si ricorre all'uso dei metodi. I metodi sono dei sottoprogrammi che possono venir invocati dal programma principale. Con l'uso dei metodi si riesce a dividere il programma in più parti: semplici e riutilizzabili. Il metodo può ricevere in input uno o più parametri dati dal programma invocente, definire nuove variabili e restituire un certo risultato.
Il metodo viene definito attraverso la sua cosiddetta signature: va scritto il tipo di dato restituito ( se non si restituisce alcun dato allora si usa la key-word void ), il nome del metodo con il quale verrà invocato e tra parentesi tonde i tipi dei parametri ricevuti in input con i nomi relativi. Dopo la signature si scrive il codice che si dovrà elaborare e per restituire il risultato del metodo si usa la key-word return.

sabato 6 agosto 2011

Esercizio java: ricerca del numero maggiore in un array

Viene dato un array ed il compito è quello di trovare il numero massimo: si confrontano i numeri contenuti nell'array ed il numero cercato è quello che risulta essere maggiore a tutti gli altri.
Questo è il codice:
class Numero_maggiore{
//dato un array di numeri reali si stabilisce quale sia il maggiore
         public static void main (String [] args){
                     System.out.println("Stabilire quale è il numero maggiore contenuto in un array");
                     double [] numeri=new double[30];
    //si riempie l'array di numeri reali casuali tra 0 e 100 esluso: attrraverso il metodo random della  classe Math si ricava un numero casuale tra 0 ed 1 escluso //quindi moltiplicando per 100 si ottiene un numero casuale tra 0 e 100 escluso
           for(int i=0;i<numeri.length;i++)
                 numeri[i]=Math.random()*100;
//Stampiamo a video i numeri dell'array
           System.out.println("Ecco l'array in cui si cerca il numero maggiore");
           for(int i=0;i
<numeri.length;i++)
                System.out.print(numeri[i]+" ");
          double maggiore;         // questo sarà il numero maggiore contenuto nell'array numeri
           if(numeri.length!=0){         //potrebbe capitare un array di lunghezza 0( in questo esempio non accade ma potrebbe succedere in qualche altro caso) quindi per sicurezza meglio verificare
                maggiore=numeri[0];        //poniamo nella variabile maggiore il primo numero dell'array
                for(int i=1;i<numeri.length;i++){
                         if(numeri[i]>maggiore)
                                   maggiore=numeri[i];         //se qualche numero dovesse essere maggiore del numero finora più grande allora mettiamo il suo valore nella variabile maggiore
               }
               System.out.println("\nIl numero maggiore contenuto nell'array è: "+maggiore);
         }
        else         //l'array ha lunghezza 0
              System.out.println("\nL'array non contiene alcun numero");
    }
}

Esercizio java: confronto tra due numeri reali

Si stabilisce, dati due numeri reali, se essi sono uguali o altrimenti quale dei due numeri è il maggiore: il primo o il secondo.
Il codice è il seguente:
class Confronto_numeri{
       //dati due numeri reali chiamati primo e secondo si stabilisce quale dei due sia il maggiore o se sono uguali
        public static void main (String [] args){
        System.out.println("Confronto tra due numeri reali");
         //numeri da confrontare
         double primo=534.634;
         double secondo=5.6;
         System.out.println("I numeri da confrontare sono: "+primo+" il primo e "+secondo+" il secondo");
         if(primo==secondo)         // se i numeri sono uguali
               System.out.println("I due numeri sono uguali: "+primo+" = "+secondo);
         else{         // i numeri non sonop uguali, vediamo quale sia il maggiore
                if(primo>secondo)         // se primo è maggiore di secondo allora è primo il maggiore
                        System.out.println("Il primo numero è maggiore del secondo: "+primo+" > "+secondo);
               else     // altrimenti, non sono uguali, primo non è il maggiore, allora secondo è il maggiore
                       System.out.println("Il secondo numero è maggiore del primo: "+secondo+" > "+primo);
        }
    }
}

mercoledì 6 luglio 2011

Esercizio java: area e perimetro di un rettangolo

Si tratta della realizzazione di un programma che calcola l'area ed il perimetro di un rettangolo dati i valori di base ed altezza.
Questo è il codice:
class Rettangolo{
             public static void main(String[] args){
 //vengono forniti i valori della base e dell'altezza del rettangolo e poi si calcolano l'area ed il perimetro
             double base=32;
             double altezza=53;
             System.out.println("Rettangolo di base: "+base+" ed altezza: "+altezza);
             double area=base*altezza;
             double perimetro=(base+altezza)*2;
             System.out.println("L'area del rettangolo è: "+area+" ed il perimetro: "+perimetro);
             }
}

Puoi scaricare il codice sorgente ed il programma compilato, in formato .class dal seguente link:
http://www.megaupload.com/?d=7XLOBB2J

martedì 5 luglio 2011

Esercizio java: equazione di una retta

L'esercizio di oggi consiste nello scrivere un programma per calcolare l'espressione di una retta generica. L'equazione lineare è così formata: y=mx+c. x ed y sono le coordinate del punto, m il coefficiente angolare e c la costante. Dati i valori di x, m e c il computer ricaverà y, che verrà visualizzato sullo schermo.

Ecco il codice:
class Eq_retta{
        public static void main(String [] args){
                    System.out.println("Calcolo della coordinata y dato il coefficiente angolare m, la costante c e il valore della coordinata x");
//l'equazione della retta è del tipo: y=mx+c
                   double x=10; //coordinata x
                   double m=0.5; //coefficiente angolare m
                   double c=0; //costante c
                   double y=m*x+c; //calcolo della coordinata y
//se c>0 si scrive "+"+c altrimenti se è <0 si scrive c senza il più e infine l'ultimo caso, c==0 non si scrive niente
                    System.out.println("Data l'equazione y="+m+"x"+(c>0 ? "+"+c: c<0 ? c:"")+" la coordinata y relativa al punto "+x+" è: "+y);
          }
}

Il link da dove scaricare il codice sorgente ed il programma compilato è il seguente:
http://www.megaupload.com/?d=XV4J96ST

domenica 3 luglio 2011

Inglese: esame di stato (questions, summary and composition)

Soluzione dell'esame di stato della sessione ordinaria del 2007.
Si tratta del testo di attualità in lingua straniera, inglese, per i licei linguistici: comprensione e produzione in lingua straniera.
A questo link trovate il testo completo della prova d'esame:
http://www.megaupload.com/?d=XPC1OX0M
Mentre da qui potete scaricare la soluzione del compito (risposte, riassunto e tema):
http://www.megaupload.com/?d=L2H8JOA3

Testo:
They may look like toys, but these robots have helped to back one theory of the origins of language. Sometime between seven million years ago, when we shared our last common ancestor with chimps, and 150,000 years ago, when anatomically modern humans emerged, true language came into being. One idea of how it emerged from the “primordial soup” of communication in the animal kingdom, whether primitive signalling between cells, the dance of bees, territorial calls and birdsong, goes as follows. ....

Domande:

  1. When did language start?
  2. When did humans’ utterances begin to originate communication?
  3. Which was the crucial element for language to evolve? 
  4. What allowed researchers to study the behaviour of robots over generations? 
  5. Where is the study described? 
  6. Which elements were used with the breeding robots? 
  7. Which was the function of poison? 
  8. Why did food constitute a downside?
  9. How did the researchers make the simulation more realistic? 
  10. What have the experiments proved?
Poi si deve fare un riassunto ed un piccolo tema riguardante la comunicazione.

Risposte:

  1. Language started between seven million years ago, when we shared our last common ancestor with chimps, and 150,000 years ago, when anatomically modern humans emerged. 
  2. Humans’ utterances began to originate communication when information transfer was beneficial for both speaker and listener. 
  3. The crucial element for language to evolve was cooperation. 
  4. The researchers studied the changing behaviour of robots over generations, thanks to mutating and mixing their software. So they noticed that the more successful traits were passed down to future generations. 
  5. The study is described in the journal Current Biology. 
  6. "Food" and "poison" were used with the breeding robots. 
  7. The function of poison was to increase the informations transmission among robots and also the efficiency of food foraging. 
  8. Food constituted a downside because ,announcing food, rival robots could then compete for the same resource. 
  9. The researchers made the simulation more realistic by having different tribes of robots, where each tribe contained robots that were more similar (in terms of software) than robots of rival tribes and they found that communication evolves rapidly when colonies contain genetically similar (related) individuals. 
  10. The experiments proved that the role of cooperation is fundamental for the evolution of language.

Real communication

A real communication takes place when the content that is sent is clear and understandable.
Messages should be useful and helpful. Nowadays there are a lot of forms of communication: mass media, telephone, mobile phone, internet, and also the verbal and the body language. However whatever form is used it must permit the receiver to realize the point of its contents.
In my opinion to have relationships with people it's necessary to be able to communicate effectively, in other words to make an interesting dialogue. Both the receiver and the messenger have to be interested: it's very important both listening, not only hearing that is just perceiving sounds and doesn't requires concentration, and talking.
Empathy between the messenger and the receiver is one of the first elements for a good communication. Another fundamental thing is to centre the attention on the messenger, you should forget the rest of the world and above all avoid distraction. From my point of view the world, that surrounds us, produces a lot of interferences and so it could be a little bit hard, but a pure conversation can't occur without real involvement.
Besides communicating can't take place without openness and availability of the speakers otherwise it's like talking to a wall. But everyone has to remind that reality is subjective you shouldn't expect someone to change their point of view.
In a dialogue all the persons have to talk, even if they disagree, they have to say their opinion in a polite way. Respect and education are two important principles for life in society and so for good communication too. A communication, to be great, doesn't implicate only a transmission of information from one person to another but it requires that information to be meaningful and its transmission to have a purpose.
Remember that for a good conversation happens in the right place at the right time and so don't be in a hurry. Choose well the time and the place in order that you and the other person are calm and undisturbed and nobody will interrupt you. Express your opinions: tell to the other person what do you think or feel about what he/she has just said.
According to me the main conditions for a real communications to take place aren't many but they should be respected, they are an open mind, politeness and concentration.

Scarica il file in pdf: http://www.megaupload.com/?d=E2BSZI0C

Esercizio java: radici di un'equazione di secondo grado

 Il seguente problema consiste nel determinare le radici reali (se ci sono) di un'equazione di secondo grado, del tipo ax^2+bx+c dati i tre coefficienti a, b e c.
Si verifica che il determinate sia maggiore od uguale a 0, altrimenti non esistono radici reali, e poi si calcolano le radici con la formula: (b+-sqrt (b^2-4ac))/2a. Con sqrt si intende la radice quadrata dell'argomento che si trova tra le parentesi. Se il discriminante è pari a 0 allora la radice sarà una sola ma con molteplicità due.

Questo è il codice:

class Equazione_grado2{
         public static void main(String [] args){
                     double a=2;    //l'equazione è così formata: ax^2+bx+c, a, b e c sono i coefficienti
                     double b=7;
                     double c=3;
                     System.out.println("Trovare le radici dell'equazione di secondo grado:                                    "+a+"x^2+"+b+"x+"+c);
                     if(a!=0){
                               double discriminante=b*b-4*a*c;
                               if(discriminante>0 ){
                                           double radice1=(b+Math.sqrt(discriminante))/(2*a);
                                           double radice2=(b-Math.sqrt(discriminante))/(2*a);
                                           System.out.println("Le radici sono: "+radice1+" e "+radice2);
                              }
                              else{
                                   if(discriminante==0){
                                             double radice=b/(2*a);
                                             System.out.println("La radice è: "+radice+" con molteplicità 2");
                                   }
                                   else
                                         System.out.println("Non ci sono radici reali che risolvono questa equazione");
                            }
                   }
                            else
                                   System.out.println("Questa non è un'equazione di secondo grado");
       }
}

Potete scaricare il codice .java ed il programmino già compilato dal link:
http://www.megaupload.com/?d=VL1S285F

sabato 2 luglio 2011

Appunti probabilità e statistica

Puoi fare il download gratuito degli appunti di probabilità e statistica che ti servono a superare l'esame: una sintesi generale dei principali argomenti e concetti trattati in metodi probabilistici e statistici e processi stocastici. Le formule riguardano: speranza matematica, momenti, momenti centrati, disuguaglianza di Chebyshev, distribuzione normale, leggi gamma, test del chi quadrato, leggi di Student, stimatori non distorti, intervalli di fiducia, eccetera...


Link per scaricare il file pdf degli appunti da megaupload:
http://www.megaupload.com/?d=QIHHOL8M

venerdì 1 luglio 2011

Tesina per probabilità e statistica: suicidi donne

Suicidio femminile
Giovanni Soriano, un aforista italiano contemporaneo, scrive: “Il suicida è uno che ha colto la morte di sorpresa.” Tuttavia analizzando i dati Istat degli anni dal 2005 al 2009 si può osservare che il suicidio da parte delle donne italiane sembra seguire la distribuzione di Poisson. La legge di Poisson, anche detta degli eventi rari, indica la probabilità di successo su tante prove di un evento poco probabile: in Italia c'erano più di 30 milioni (30,1 mln nel 2005, 30,2 mln nel 2006 e 30,4 mln nel 2007, 30,9 mln nel 2008 e 31,1 mln nel 2009) di donne residenti ed ognuna di loro aveva la possibilità di suicidarsi ma questo fatto era poco probabile.




Così inizia la tesina/relazione di probabilità e statistica (più precisamente metodi probabilistici e statistici e processi stocastici)  riguardante i suicidi da parte delle donne in Italia. Si fa uso dei concetti imparati durante il corso tra i quali leggi di probabilità, test (test del chi quadrato), grafici, istogrammi utilizzando un programma in grado di gestire un foglio di calcolo elettronico: come per esempio OpenOffice Calc.
La ricerca/tesina/relazione può essere scaricata da megaupload:
download http://www.megaupload.com/?d=RF9T0NYC

Relazione fisica: pendolo (misura dell'accelerazione di gravità)




Utilizzo di un pendolo semplice per determinare il valore dell'accelerazione di gravità.
Il pendolo è costituito da un supporto rigido a cui viene appeso un filo, che nell'altra estremità è legato ad un pesetto. Il filo deve essere il più possibile inestensibile e leggero, la sua massa deve risultante trascurabile rispetto la massa del pesetto attaccato.
Si fa oscillare il pendolo, in modo da far compiere al pesetto una traiettoria parallela ad un piano perpendicolare al pavimento. Si fanno piccole oscillazioni e così il pesetto si allontana poco dalla posizione di equilibrio: lo spostamento verticale è minimo in confronto a quello orizzontale e quindi il suo moto può venire approssimato con un moto armonico orizzontale attorno alla posizione di equilibrio.

Questa è l'introduzione della relazione di fisica riguardo al pendolo che puoi scaricare gratis da questo link:

giovedì 30 giugno 2011

Download relazione fisica molla

Ecco qui il link per scaricare gratuitamente la relazione sulla costante elastica della molla, anticipata in un post precedente.
Clicca qui:
download da megaupload http://www.megaupload.com/?d=U5TTXV7C

mercoledì 29 giugno 2011

Esercizio java: successione di numeri pari o dispari

Esercizio simile a quello appena svolto ma: la successione che verrà stampata sarà formata da soli numeri pari oppure dispari, a seconda della scelta dell'utente attraverso la variabile booleana pari.


class Successione_pari_dispari{
              public static void main (String[] args){
                        int inizio=-5;                //numero iniziale dal quale partire
                        int fine=18;                //numero finale, l'ultimo della successione
                        boolean pari=true;    /*si mette true se si vuole una successione di soli pari  altrimenti false se di soli dispari */
                       if(pari)
                             System.out.println("Successione di numeri interi pari da "+inizio+" a "+fine+":");
                       else
                             System.out.println("Successione di numeri interi dispari da "+inizio+" a "+fine+":");
                       if(pari && inizio%2!=0)              /*se la successione deve essere di pari ma inizio non è divisibile  per 2, quindi è dispari, allora lo incrementiamo di 1 in modo da renderlo pari e  compatibile con la successione desiderata */
                             inizio=inizio+1;
                       if(!pari && inizio%2==0)             /*se la successione deve essere di dispari ma inizio è divisibile  per 2, quindi è pari, allora lo incrementiamo di 1 in modo da renderlo dispari e  compatibile con la successione desiderata */
                            inizio=inizio+1;
                      while(inizio<=fine){           //finchè inizio è minore o uguale a fine
                             System.out.print(inizio+" ");              //si stampa inizio
                             inizio=inizio+2;                 //inizio viene incrementato di due unità, in modo da passare al successico pari o dispari
                    }
           }
}
Link dal quale poter scaricare gratuitamente il programmino compilato ed il relativo source-code:
http://www.megaupload.com/?d=2VM12YCQ

Esercizio java: successione di numeri interi

Stampare a video la successione  di numeri interi da un certo numero ad un altro.
Ecco il codice:

class Successione_numeri{
        public static void main (String[] args){
                int inizio=3;            //numero iniziale dal quale partire
                int fine=18;            //numero finale, l'ultimo della successione
                System.out.println("Successione di numeri interi da "+inizio+" a "+fine+" compresi:"); 
                while(inizio<=fine){        //finchè inizio è minore o uguale a fine
                        System.out.print(inizio+" ");            //si stampa inizio
                        inizio=inizio+1;           //inizio viene incrementato di un'unità
               
         }
}
Link per il download del codice e del programmino gìà compilato:
http://www.megaupload.com/?d=HFJDOQP6

Esercizio java: numero divisibile per un altro numero

Questo esercizio è quasi uguale al precedente ma è più "versatile". Si può verificare se un numero è divisibile non solo per 3 ma anche per un altro numero naturale qualsiasi.
class Divisibile_n{
         public static void main (String [] args){
                  int n=0; int numero=386;               //si deve dire se numero è divisibile per n
                  if(n!=0 && numero%n==0)          /*n deve essere diverso da 0 e poi con l'operatore % si vede il resto della divisione tra numero e n. Se il resto è 0 allora numero è divisibile per n */
                             System.out.println("Il numero "+numero+" è divisibile per "+n); 
                   else                /*altrimenti, n è 0 oppure il resto della divisione tra numero e n non è 0 allora numero non  è divisibile per n */
                            System.out.println("Il numero "+numero+" non è divisibile per "+n); 
           } 
}
Link per scaricare il codice sorgente ed il programmino compilato:
http://www.megaupload.com/?d=I2RTM88E

Esercizio java: numero divisibile per 3

L'esercizio proposto è quello di determinare se un numero naturale è divisibile o no per 3.
Qui di seguito il codice (in rosso) in java per risolvere questo compito.
Accanto al codice ci sono anche dei commenti (in nero) per chiarire dei passaggi . Per compilare e far funzionare questo programmino, leggi news-4-me.blogspot.com/p/introduction-to-java-language.html

class Divisibile_3{
       public static void main (String [] args){
              int numero=385;           //si deve dire se numero è divisibile per 3
              if(numero%3==0)        /*l'operatore % serve a sapere il resto della divisione tra due numeri in questo caso tra numero e 3. Se il resto è 0 allora numero è divisibile per 3 */
                      System.out.println("Il numero "+numero+" è divisibile per 3");
              else              /*altrimenti, il resto della divisione tra numero e 3 non è 0 allora numero non è divisibile per 3 */
                     System.out.println("Il numero "+numero+" non è divisibile per 3");
      }
}
  
Link da dove scaricare gratiutamente il codice sorgente ed il programmino già compilato:
http://www.megaupload.com/?d=SG0SCAD0

lunedì 27 giugno 2011

Relazione fisica: costante elastica e periodi oscillazione molla

Misurare la costante elastica di una molla 
con il metodo statico.
Una volta calcolata la costante elastica della molla si fanno 
delle previsioni sul periodo di oscillazione 
di un corpo agganciato alla molla. 
I risultati vengono infine confrontati con le 
misure sperimentali ottenute con il metodo dinamico.
Si appende ad un supporto rigido la molla, che deve 
essere perfettamente elastica e con massa trascurabile
 in modo da approssimare al meglio una molla ideale, 
alla quale è agganciato un corpo con una certa massa.
Per il metodo statico si appendono alla molla corpi con massa diversa: così si misurano
i rispettivi allungamenti della molla e si ricava la sua costante elastica.
Per il metodo dinamico si tira il pesetto verso il basso in maniera tale che oscilli verticalmente
su e giù, facendo attenzione a non tirare troppo il pesetto causando la deformazione della
molla. Si misura ripetutamente (almeno 10 misurazioni) il periodo di almeno 10 oscillazioni
complete per ogni corpo che è stato usato nel metodo statico e si confrontano le misure 
ottenute con le previsioni fatte, conoscendo la costante elastica che è stata ricavata con
il metodo statico.
 
Questo è quello che verrà pubblicato presto nei prossimi post 

martedì 12 aprile 2011

Sabrina Ferilli alla semifinale del Grande fratello

 In questa puntata si sono scoperti i nomi dei quattro finalisti: Ferdinando, Andrea, Margerita (che così felice si è tuffata in piscina con tutti i vestiti) e Jimmy.

Inoltre si è vista la bomba sexy tanto attesa di questa sera, la sensuale ed esplosiva Sabrina Ferilli, una grande sex symbol italiana.
Stasera si è avuto l'utlimo confronto tra Davide Baroncini e Rosa: l'aria diventa subito tesa. Davide dice a Rosa di sorridere perchè è grazie a lui, e a quello che ha sofferto, che è arrivata fino a questo punto. Secondo Baroncini Rosa è stata capace solo di sputargli addosso e infangarlo, non ha fatto niente altro. Anche Alfonso Signorini è intervenuto dando un suo consiglio ai finalisti: devono essere sé stessi e abbandonare il finto buonismo. Signorini si è rivolto soprattutto a Rosa che viene "massacrata" da tutti e scoppia a piangere. La ragazza poi viene tranquillizzata da Margerita e dice che tutto quello che ha fatto è stato capito male.
Durante la diretta nasce anche un'accesa discussione tra Andrea ed Emanuele: volano parole forti ed Emanuele si alza arrabbiatissimo e si dirige rosso paonazzo in faccia in piedi davanti ad Andrea, che era seduto sul divano di fronte a lui. Tutto è stato causato da un giudizio provocatorio dato da Andrea sulla storia tra Emanuele e Rosa.
Il pubblico ha deciso che tra Andrea ed Emanuele il concorrente che deve abbandonare la casa del Grande fratello, perdendo così la possibilità di vincere il premio finale, è Emanuele. Andrea e Margherita sono molto felici del responso e si baciano appassionatamente.

 Sabrina Ferilli ha divertito il pubblico con i ragazzi della casa che si sono sottoposti a due prove, hanno anche ballato la lapdance, per valutare la loro mascolinità, quanto "machi" sono.
Poi Davide ha incontrato la sua amata Erinela, si sono rincontrati dopo tanto tempo e si sono dichiarati vero amore e ha visto anche la madre Carmela.
I ragazzi hanno votato il primo finalista, Ferdinando e successivamente c'è stata un'altra votazione per un'eliminazione diretta. Jimmy Barba ha ricevuto più voti ma ha avuto la possibilità di scegliere con chi andare al televoto: Jimmy ha scelto Rosa chè il pubblico ha deciso di eliminare.
La semifinale quindi termina e Alessia Marcuzzi annuncia ai ragazzi di essere incinta e aspettare una bambina.

Yuri Gagarin, 50° anniversario del primo viaggio spaziale

Google, uno dei motori di ricerca più usati al mondo, dedica il suo logo della pagina principale al cinquantesimo anniversario del primo viaggio nello spazio compiuto da Yuri Gagarin esattamente il 12 aprile 1961.

Yuri fu un cosmonauta e aviatore russo e fu il primo essere umano a volare nello spazio, su un'orbita elittica attorno alla Terra per 108 minuti. La navicella spaziale che usò era la Vostok 1, viaggiava a più di 27000 km/h oltre i 170 chilometri di altezza fino a raggiungere l'altezza massima di 302 km. L'atteraggio è avvenuto alle 10:55 del 12 aprile 1961: Yuri Gagarin si getta fuori dalla capsula a 7000 metri d'altezza giungengo in un campo di una fattoria nel territorio di Saratov.

lunedì 11 aprile 2011

Ozono e raggi solari

L'ESA ( European Space Agency ) ha comunicato pochi giorni fa che il satellite Envisat ha rilevato dei livelli minimi record dello strato di ozono sopra il territorio euro-atlantico dell'emisfero boreale.


Questo record è una conseguenza di venti particolarmente intensi, chiamati vortice polare, che hanno impedito all'aria del Polo Nord a mescolarsi con la massa atmosferica delle latitudini medie. Si sono prodotte temperature tanto fredde e l'interazione tra la luce solare e l'aria ha causato il diffondersi di atomi di cloro e bromo che erodono l'ozono.
Era già successo nel 1997 che si registrassero delle temperature così basse dell'atmosfera sul Polo Nord. Ora i ricercatori studieranno il motivo per cui ci siano stati inverni molto rigidi nell'Artico e la relazione che ci potrebbe essere con il cambiamento climatico globale.
Il buco dell'ozono, cioè l'assottigliamento dello strato di ozono (ozonosfera), si è cominciato a registrare  dai primi anni 80.
La riduzione temporanea di questo strato dell'atmosfera è ciclica (accade ogni primavera nelle zone polari) ma quest'anno la diminuzione ha raggiunto valori record.


Come ci si può protteggere dai raggi solari?
Le scottature estive, dovute alla mancanza dell'uso di una qualche crema protettiva, oltre a irritare o addirittura ustionare la pelle sono molto pericolose perchè indicano una eccessiva esposizione al sole e quindi alle radiazioni ultraviolette (UV).
È necesario applicare una crema protettiva, anche se si è già abbronzati. Inoltre soprattutto le prime volte è bene esporsi ai raggi solari per poco tempo, meno di un'ora. Evitare di prender sole durante le ore "più calde", dalle 12 alle 15 circa.

domenica 10 aprile 2011

Grande fratello a Domenica Cinque

Oggi a Domenica Cinque, il programma presentato dalla sexy Federica Panicucci, si è parlato del Grande fratello, domani ci sarà la semifinale.
La setttimana scorsa è stato eliminato un personaggio molto forte: Davide Baroncini . Non tutti se lo aspettavano .... , Anglica dice che per rosa è una vittoria la sua uscita dalla casa, Erinela ( la sua fidanzata ) invece le dà contro perchè le ultime settimane Rosa parlava con Davide tanto da sembrare amici. Con la perdità di davide il GF ha perso un suo pezzo,  Lori del Santo ritiene che davide sia stato eliminato perchè si è afflosciato, non aveva più una ragazza nella casa. Comunque il ragazzo nella casa è cambiato tanto anche moralmente, è maturato.

Guendalina ha cantato il suo rap, seguendo le tracce della prosperosa Giordana che viene messa in mezzo e sta al gioco, anche se un pò irritata. Il pubblico sembra gradire questo siparietto e così poi è il turno di Giordana. Guendalina lunedì scorso forse è riuscita a far pace con Margherita, secondo la bella romana forse si è risolto qualcosa.

Giordana si è anche sottoposta alla macchina della verità. Le domande fatte da Federica Panicucci e le risposte date dalla bella gieffina sono:
  • è successo qualcosa sotto le coperte con Biagio ? SI. (vero secondo la macchina della verità). 
  • vi eravate meessi daccordo? NO.(vero)
  • avresti voluto una relazione con Biagio ? SI.(vero)
  • e con Pietro? SI. (vero) 
  • e con Ferdinando? NO. (vero) 
  • e con Davide? NO. (falso) 
  • credi che Rajae ti abbia usata? SI. (falso)
  • volevi entrare nella casa per metterti in competizione con Guendalina? NO. (falso) 
  • sei sata invidiosa delle attenzioni nei confronti di Guenda nella casa? NO . (falso) 
  • hai fatto la ragazza webcam prima di entrare nella casa del Gf? NO ( non si sa l'esito della macchina della verità, perchè la Panicucci doveva dare la pubblicità )
Ecco i motivi per i quali i ragazza del Grande fratello vogliono giungere alla puntata finale!
Jjimmy vuole arrivare in finale perchè per lui sarebbe bellissimo, Emanuele ormai è in semifinale e quindi crede si giusto portare fino in fondo il suop percorso all'interno della casa, Andrea vuole arrivare in finale e si sente soddisfatto e potrà dire in futuro che era un finalista del GF 2011. Rosa vuole arrivare in finale perchè è cambiata, è consapevole di tutto quello che è. Ferdinando vuole vincere per avere una vita più serena, una vita normale e per poter vivere con la ragazza che ama. Margherita vuole vincere non tanto per i soldi ma per una soddisfazione personale perchè era sempre considerata la "diversa", la "sfigata" e invece anche se tutti le parlavano dietro lei è riuscita ad entrare nel GF.:D 
Secondo Guendalina in finale arriveranno Ferdinando, Rosa, Margherita e Andrea e vincerà Ferdi nonostante voglia vinca o Marghe o Andrea. Angelica vuole ovviamente ferdinando.
Si è visto il video messaggio di Davide che ha commosso molto Ferdinando. Gli ha fatto piacere vedere il video messaggio: fin dall'inizio lui e Davide si sono scontrati ma ora, dopo il loro lungo percorso, si rispettano c'è un rapporto importante. Si sente fiero di quello che è successo: sono cambiati tutti e due, hanno vinto entrambi perchè si sono migliorati. Rosa invece è stata criticata, secondo Baroncini, e non solo, lei è ancora in casa perchè segue la scia del vittimismo e che è andata avanti solo grazie a lui. Ad esempio Jimmy ora vede Rosa in un 'altra maniera e secondo lui è capace di fare qualsiasi cosa solo per andare avanti, dubita anche riguardo la storia con Emanuele.
Infine la puntata si è conclusa con una canzone del nuovo album di Giulia Luzi, la giovane attrice che ha interpretato Jolanda Bellavista nella serie televisiva "I Cesaroni".

venerdì 8 aprile 2011

Java: istruzioni di dichiarazione e assegnazione

Per iniziare a scrivere un programma in Java bisogna specificare la classe, che ha lo stesso nome con cui si salverà il file .java che poi verrà compilato e si avrà il file .class.
All'interno della classe ci sono vari metodi, ognuno con una signature (cioè la firma del metodo). Il metodo principale, dal quale inizia l'esecuzione il programma, si chiama main ed ha signature: public static void main(String [] args).
All'interno del metodo si scrivono le istruzioni che il calcolatore dovrà eseguire (in maniera sequenziale).
Due istruzioni molto importanti sono: la dichiarazione di tipo di una variabile e l'istruzione di assegnamento.
Ogni variabile in Java ha un tipo specifico: cioè può assumere valori del tipo dichiarato e per ogni tipo sono definite operazioni diverse.
I tipi di dato primitivi sono:  

  • Tipi interi
    • byte ( dimensione 8 bit, assume valori da -2^7 a 2^7-1) 
    • int (dimensione 32 bit, assume valori da -2^31 a 2^31-1)
    • short(dimensione 16 bit, assume valori da -2^15 a 2^15-1)
    • long(dimensione 64 bit, assume valori da -2^63 a 2^63-1)
  •   Tipi a virgola mobile
    •  float(dimensione 32 bit, per numeri reali)
    • double(dimensione 64 bit, per numeri reali)
  •   Tipo booleano
    •  boolean (assume valori true, false)
  •  Tipo carattere
    •  char (dimensione 16 bit, secondo lo standard Unicode e non Ascii)
Un'istruzione di dichiarazione di tipo è ad esempio:
int numero; (numero viene dichiarata una variabile di tipo int)
oppure
char lettera; (lettera viene dichiarata una variabile di tipo char).
Una volta dichiarata una variabile di un certo tipo (ad es. int n;)  possiamo assegnarne un valore di quel tipo attraverso l'operatore "=" (nell'es. n=2;).
Si può anche dichiarare il tipo di una variabile e fare subito l'assegnamento, ad esempio char caratt='f';
Per l'assegnamento di un carattere esso va inserito tra due apici: 'c'.
Come avrete notato ad ogni istruzione segue un ";" che serve a indicare il termine dell'istruzione stessa.
Si può assegnare qualsiasi espressione ad una variabile, l'importante è che il valore risultante dell'espressione abbia lo stesso tipo della variabile ad esempio:
int n; (dichiarazione della variabile n di tipo int)
n=5;   (assegna ad n il valore 5)
n=n+6; (assegna ad n il valore dell'espressione n+6, in questo caso verrà assegnato 11).
Non è corretto assengare un valore ad una variabile quando i tipi non sono gli stessi: int i=4.6; (questo è scorretto, perchè 4.6 non è di tipo int).
Per far in modo che la variabile di prima assuma il valore 4.6, ma "trasformato" in tipo int, si fa un'operazione detta di type-cast: int i=(int)4.6; (questo è corretto).
Con il casting si forza un valore a diventare di un'altro tipo (il tipo specificato tra le parentesi), nell'esempio precedente 4.6 attraverso il cast diventa 4 (vengono tolti i numeri dopo la virgola).
La sintassi per usare il type-cast è: (<tipo>) <espressione>.
I caratteri vengono memorizzati dall'elaboratore attraverso codici numerici interi, quindi è possibile convertire un carattere nel relativo numero intero con il cast (int) o viceversa, da numero intero ricavare il carattere corrispondente con il cast (char).
Nello standard Unicode le lettere dell'alfabeto hanno codici contigui e sono ordinati rispetto l'ordinamento lessicografico quindi possiamo ricavare il carattere successivo a quello contentuto in una certa variabile:
char lett='r'; (dichiarazione della variabile lett di tipo char e assegnamento del valore 'r')
char succ=(char)((int)'r'+1) ; (assegnamento alla variabile succ di tipo char il valore successivo al carattere r)
(Si ricava il codice numerico di 'r', si somma 1 e poi si converte il numero ottenuto in char, ottenendo così 's', la lettera successiva ad 'r').
Se il tipo di una variabile è più "generale" di quello dell'espressione, si ha una conversione automatica: una variabile di tipo double può anche assumere valori di tipo int, ma il viceversa non è valido.

Leggi di più alla pagina Introduction to Java language programming

mercoledì 6 aprile 2011

Lanciare un sasso, curiosità fisiche


Chi non ha mai provato a lanciare un sasso in mare (per vedere quanto lontano oppure quanto in alto riesce a tirarlo) ?
Affincè il sasso raggiunga l'altezza massima possibile bisogna lanciarlo a 90 gradi rispetto al terreno, cioè perpendicolare alla superficie, mentre per farlo arrivare il più distante possibile si deve lanciarlo a 45 gradi rispetto al terreno.
Per capire con che inclinazione fare il lancio per raggiungere l'altezza massima è abbastanza intuitivo, mentre per la distanza orizzonatale massima qualcuno potrebbe pensare che è esagerato lanciare a 45°.
Il sasso, o qualunque oggetto sia, va lanciato con questa inclinazione perchè si deve considerare l'azione della forza di gravità: il sasso quindi deve aver uno slancio orizzontale, ma più tempo sta in aria più lontano cadrà a terra rispetto al punto di partenza.
Senza considerare l'attrito con l'aria, il tempo che la pietra impiega per arrivare all'altezza massima dipende solamente dalla velocità che si dà inizialmente alla pietra. La massa della pietra quindi non influenza il tempo per giungere all'altezza massima. Infatti in simboli il tempo affinchè la pietra arrivi al culmine è : t = v / g ( dove t è il tempo in quel punto, v la velocità iniziale fornita al sasso e g l'accelerazione di gravità ).
Ad esempio lanciando un sasso a 12 m/s ( un po' più di 43 km/h ) questo arriverà all'altezza massima dopo circa 1,2 secondi.
In modo simile, ma con formule più complicate, funziona anche per lanciare un sasso il più lontano possibile: dipende solo dalla velocità iniziale e non dalla massa dell'oggetto.

martedì 5 aprile 2011

Tozzi e Mietta al Grande fratello

Venticinquesima puntata del Grande fratello, nervosismo in casa. Ormai si è giunti alla fase finale ( mancano solo 3 puntate alla finale ): ognuno gioca per sé.
I nominati erano Andrea, Davide, Emanuele e Jimmy ed è stato Davide Baroncini a dover abbandonare la casa ( per il 51% dei televoti).
Questa settimana in nomination sono: Andrea ed Emanuele.
La puntata si è aperta con Jimmy che accusava Andrea di eessere bugiardo. Andrea diceva che non l'avrebbe nominato ma poi l'ha fatto senza mantenere la parola data.


Rosa questa settimana si è sentita divisa da Emanuele per la sua gelosia, il suo atteggiamento, l'alzare la voce e scatti d'ira. Margherita dice che Emanuele è troppo impulsivo, ha troppa rabbia dentro, mentre secondo Ferdinando ha una mentalità chiusa, poco elastica e non è maturo per una relazione seria con una ragazza.
Poi Emanuele, dopo che la settimana scorsa era stato criticato dal padre di Rosa, ha potuto parlare  direttamente con lui.
Sono stati messi faccia a faccia Davide e Rosa nella stanza delle sorprese dove hanno rivisto il loro percorso, all'inizio insieme e poi separatamente, all'interno della casa.
Margherita era molto agitata perchè Andrea, in nomination, sarebbe potuto uscire e lei avrebbe perso il primo uomo che le sta accanto. Inoltre è avvenuto finalmente il chiarimento tra lei e la sua amica Guendalina, che aveva visto delle immagini che mettevano in dubbio la loro amicizia.
Padre di Rosa

Stasera la prova settimanale è stata superata, consisteva in una prova di canto. I ragazzi hanno cantato "Ti amo" e "Gloria" assieme al grande cantautore italiano Umberto Tozzi e "Vattene amore" con la bella Mietta (Daniela Miglietta, cantante e attrice italiana).
Emanuele ha ricevuto anche un video messaggio da parte di sua madre che lo incita a vivere al meglio la sua avventura nella casa e ad esprimere le sue emozioni e sensazioni.
Andrea e Margherita sono "non amici" cioè o saranno fidanzati o saranno amici ( in un momento si baciano e poi vanno entrambi per la loro strada ) ma intanto sono molto carini, formano una bella coppia.


Come ospite in studio c'è Rajae, eliminata la settimana scorsa, che ha assistito ad un'altra performance di Giordana con le sue canzoni rap, la nuova reginetta dell'hip hop (trash/funky).