Questo che segue è il sorgente di un programma che consente di ascoltare la musica della più affascinante serie numerica conosciuta.Avete presenti le meravigliose spirali costituite dai semi del girasole?Quei disegni sono una rappresentazione visuale della serie riscoperta dal matematico pisano Leonardo Fibonacci.Qui si propone (molto umilmente) una rappresentazione musicale della famosa sequenza 1 1 2 3 5 8 13 21 34 55 89 e così via, dove ogni numero è la somma dei due che lo precedono.
#include<math.h>
#include<iostream.h>
#include<stdlib.h>
#include<windows.h>
using namespace :: std;
int main(){
char esc;
int i,primo[10000],vi,vf,num,numno;
float nota[10000],s[10000],f,pause;//f è la nota di riferimento in Hertz
primo[0]=primo[1]=1;
cout<<"Da quale posizione della serie si vuol far partire il brano?[0-9999] ";
cin>>vi;
cout<<"A che posizione della serie si vuol concludere l'esecuzione?[1-10000]";
cin>>vf;
cout<<"Inserire la durata di ogni nota (in millisecondi)";
cin>>pause;
cout<<"Inserisci il numero di note";
cin>>numno;
cout<<"inserisci la nota fondamentale [Hertz]";
cin>>f;
num=vi;
for(i=2;i<10000;i++){
primo[i]=primo[i-1]+primo[i-2];
s[i]=primo[i]%_numno;}
for(i=vi;i<vf;i++){
nota[i]=pow(2,s[i]/12)*f;
num=num+1;
cout<<nota[i]<<"\t\t\t"<<num<<"\n";
Beep(nota[i],pause);}
cin>>esc;
return 0;
}
Compilatelo e fatemi sapere le vostre opinioni e i vostri suggerimenti