martedì 20 gennaio 2015

Programma risolutivo delle equazioni di 2° grado

Il programma è stato scritto in C++ con il compilatore Dev C++.
L'algoritmo è semplificato e risolve le equazioni di secondo grado, pure, spurie, monomie e complete ma non quelle che ammettono una soluzione solo nei numeri complessi. Ulteriori sviluppi verranno eseguiti in seguito per estendere le capacità per risolvere le equazioni in quest'ultimo caso.

Qui di seguito riporto il codice.

#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;

int main(int argc, char *argv[])

 {
// RISOLUZIONE EQUAZIONI DI SECONDO GRADO


float a,b,c;     //dichiarazione variabili
        float r1, r2;               
    
    //inserire coefficienti
    
    cout << "Inserire il coefficiente del quadrato"<< endl;
    cin >> a;
    cout << "Inserire il coefficiente del termine di primo grado" << endl;
    cin >> b;
    cout << "Inserire il termine noto" << endl;
    cin >> c;
    
    if ((b*b-4*a*c)<0)
    {
       cout << "L'equazione non ha soluzione nei numeri reali" << endl; //impossibile
    }
    else
   {
if ((b==0) && (c!=0))
      {
         cout << "L'equazione e' pura" << endl;
         
  r1=sqrt(-c/a); //calcolo se è pura
 
  cout << "Le due soluzioni sono " << r1 << " " << -r1 << endl; //eqn pura
      }
      if ((c==0) && (b!=0))
          {cout << "L'equazione e' spuria" << endl;
           
r1=b/a;

cout << "Le due soluzioni sono " << "0" << " " << -r1 << endl; //eqn spuria
          }
          if ((c==0) && (b==0))
             {
             
 cout << "L'equazione e' monomia" << endl;
 cout << "La soluzione e' 0" << endl; //eqn monomia
             
 }
            if ((b!=0) && (c!=0))
            {
                 cout << "L'equazione e' completa" << endl;
                 
  r1=(-(b)+(sqrt(b*b-4*a*c)))/2*a; //calcolo
      r2=(-(b)-(sqrt(b*b-4*a*c)))/2*a;

 cout << "Le due soluzioni sono " << r1 << " " << r2 << endl;   //eqn completa
    }
}

system ("pause");
return 0;
}


Per ogni suggerimento o miglioria metto a disposizione la mia e-mail facilmente trovabile nel blog.

lunedì 19 gennaio 2015

Sui materiali elastici e legge di Hooke

L’esperienza è stata eseguita con il prefisso obiettivo di verificare la dipendenza tra la forza di richiamo elastico e l’allungamento di una molla sottoposta ad una massa. L’esperienza si è svolta applicando ad una molla posta in posizione verticale ed appesa ad un sostegno fisso una massa all'estremità inferiore. Si sono applicate cinque diverse zavorre di differente massa e per ognuna si sono eseguite tre misurazioni distinte. Per lo svolgimento dei calcoli si è poi considerata la media di questi valori.

Tabella delle misurazioni

l 0 M l 1 l 2 l 3 l m
1 9,7   10,19   10,2   10,3   10,3   12,267
2 9,7 20,24 10,8   10,7   10,8   10,767
3 9,7 30,31 11,3   11,2   11,3   11,267
4 9,7 40,35 11,8   11,9   11,8   11,833
5 9,7 50,40 12,4   12,2   12,3   12,300
6 9,7 60,42 12,9   13,0   12,9   12,933
 
l 0 è la lunghezza iniziale della molla ed equivale in tutti i casi a 9,7 cm, in quanto si tratta della medesima molla per tutte le misurazioni. M è la massa in g. l1, l2 ed l3 sono rispettivamente la prima, la seconda e la terza misurazione effettuata riguardo alla medesima zavorra. lm è la media dei tre valori immediatamente precedenti.

Un corpo fissato ad un'estremità ed avente proprietà elastiche se sottoposto ad una forza all'estremità non fissata riceve un allungamento direttamente proporzionale all'intensità della forza stessa entro il limite di elasticità del corpo. Rappresentando quindi sul piano cartesiano la funzione che regola il rapporto tra la massa e l'allungamento Δl del corpo, ne risulta una retta che:
  • coincide con l'asse y nel punto della lunghezza a riposo del corpo
  • l'angolo α tra la traslazione sull'origine della retta e l'asse x è direttamente proporzionale alla resistenza o forza contraria dipendente dalle proprietà intrinseche del corpo
  • permette di prevedere le misure entro il limite di deformazione elastica, limite oltre il quale la funzione cambia e il corpo perde le sue proprietà elastiche.

In questo caso specifico, ovvero un grave applicato ad una molla posta in posizione verticale e fissata ad un sostegno rigido, la forza ottenuta è data dalla moltiplicazione della massa del grave per l'accelerazione di gravità terrestre che è di 9,80665 m/s². La legge può essere quindi descritta come:

                                                F=k Δl

La costante elastica permette di determinare quindi con una formula inversa ricavata dalla precedente il valore della forza sapendo il Δl o viceversa il valore Δl sapendo la forza applicata.
Da questo enunciato nascono molte considerazioni di tipo pratico. Il corretto funzionamento di dinamometri, manometri, bilance a molla e molti altri strumenti di misura è dettato dai principi espressi in questa legge. In genere ogni  applicazione pratica che contempli l'applicazione di una o più parti elastiche necessita della conoscenza del valore della costante elastica k per la previsione corretta del suo comportamento in condizioni di stress.