Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C++] Musica dalla serie di Fibonacci

    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

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Tutto molto interessante, ma c'è anche una problematica in merito o è solo un'informazione per il pubblico o peggio una sorta di "auto-promozione?" (che è anche vietata dal regolamento)?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Carina l'idea ma il sorgente andrebbe riscritto con gli odierni standard di programmazione e utilizzando, ad esempio, il paradigma di programmazione strutturata.
    Le richieste fatte all'utente mi sembrano un tantino eccessive (le ultime 3, ad esempio, le attiverei su richiesta), ad esempio chiamando:
    > suona -m 1 -n 2 -f 3
    > suona
    Nel primo caso, un utente esperto, potrà personalizzare l'output del programma mentre, nel secondo caso, anche un utente poco esperto (o per niente esperto) potrà usare il programmino, senza dover inserire dei parametri "avanzati" (quali frequenze, etc), che saranno settate ad un valore di default.
    Mi sono spiegato ?

    Come dicevo, carina l'idea, ma il programma è poco funzionale e scritto male
    Prova a migliorarlo
    Experience is what you get when you don’t get what you want

  4. #4
    Confermo quanto detto dagli altri e aggiungo che l'header corretto è <iostream>, non <iostream.h>.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.