Iron Maiden em Linguagem C

Iron Maiden em Linguagem C
O que a Música, 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 música é o melhor curso de lógica que conheci.
Por Exemplo: Uma nota música é uma vibração sonora medida em Hz (Vibrações por segundo), portanto cada nota terá sua freqüência correspondente.
As várias relações matemáticas para valores de notas (duração), fórmulas 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 música: 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.


Download do Programa compilado
S.O: Windows XP/7/8
Formato: RAR
Tamanho: 1,3 KB

Se você deseja estudar programação com a gente, veja nosso curso de linguagem Perl.

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;
} 
Veja também: Guns Roses em Linguagem Perl
  • 14/07/2011

  • by Insecuritynet

Compartilhar

logo