
O que a Musica, Matemática e Informática têm em comum?
A resposta é chamada “Lógica”.
A vários anos eu trabalho com música, e venho notado que estudar musica é o melhor curso de lógica que conheci.
Por Exemplo: Uma nota musica é uma vibração sonora medida em Hz (Vibrações por segundo), portanto cada nota terá sua freqüência correspondente.
As varias relações matemáticas para valores de notas (duração), formulas de compassos.
Sem contar a parte que envolve Harmonia (campo Harmônico, aplicações de escalas, dominantes, etc.)
No código abaixo eu recriei de forma matemática em linguagem C a introdução da musica: Fear of the Dark do lendário Iron Maiden \m/.
Note que temos uma modulação em quinta (matematicamente representada pela divisão por 1,33), também podemos ver o Ritornelo representado pelo “while”.
A saída de dados é o Beep do computador.
Para Baixar o programa compilado Clique aqui.
Se você deseja estudar programação com a gente, veja nossos cursos em:
http://www.insecuritynet.com.br/site/cursos/cursos_onlines.php
Segue o Código:
#include<stdio.h>
#include<windows.h>
/*
Music: Fear of the Dark (Iron Maiden)
By Edson Duarte (Programmer Insecuritynet)
*/
int divs(float a, float b){
int c = a/b;
return c;
}
int main(){
int n = 1;
while(n <= 2){
Beep(293,250);
Beep(293,250);
Beep(220,250);
Beep(220,250);
Beep(293,250);
Beep(293,250);
Beep(330,250);
Beep(330,250);
Beep(349,250);
Beep(349,250);
Beep(330,250);
Beep(330,250);
Beep(293,250);
Beep(293,250);
Beep(330,250);
Beep(293,250);
Beep(262,250);
Beep(262,250);
Beep(196,250);
Beep(196,250);
Beep(262,250);
Beep(262,250);
Beep(293,250);
Beep(293,250);
Beep(330,250);
Beep(330,250);
Beep(293,250);
Beep(293,250);
Beep(262,250);
Beep(262,250);
Beep(330,250);
Beep(262,250);
n++;
}
Beep(divs(293 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(220 , 1.33),250);
Beep(divs(220 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(330 , 1.33),250);
Beep(divs(330 , 1.33),250);
Beep(divs(349 , 1.33),250);
Beep(divs(349 , 1.33),250);
Beep(divs(330 , 1.33),250);
Beep(divs(330 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(330 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(262 , 1.33),250);
Beep(divs(262 , 1.33),250);
Beep(divs(196 , 1.33),250);
Beep(divs(196 , 1.33),250);
Beep(divs(262 , 1.33),250);
Beep(divs(262 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(330 , 1.33),250);
Beep(divs(330 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(262 , 1.33),250);
Beep(divs(262 , 1.33),250);
Beep(divs(330 , 1.33),250);
Beep(divs(262 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(220 , 1.33),250);
Beep(divs(220 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(330 , 1.33),250);
Beep(divs(330 , 1.33),250);
Beep(divs(349 , 1.33),250);
Beep(divs(349 , 1.33),250);
Beep(divs(330 , 1.33),250);
Beep(divs(330 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(divs(330 , 1.33),250);
Beep(divs(293 , 1.33),250);
Beep(175,250);
Beep(175,250);
Beep(131,250);
Beep(131,250);
Beep(175,250);
Beep(175,250);
Beep(196,250);
Beep(196,250);
Beep(220,250);
Beep(220,250);
Beep(196,250);
Beep(196,250);
Beep(175,250);
Beep(175,250);
Beep(220,500);
Beep(175,500);
return 0;
}
Nenhum comentário:
Postar um comentário