quarta-feira, 16 de junho de 2010

Dicas de Mixagem, Masterização e Producão Musical

Estas dicas estou postando em
http://blog.insonicmusic.com/
ou http://www.insonicmusic.com/index.php?section=blog

Java + Calculo com datas SEM FUNCOES OU LOOPS

Aparentemente um exercício bem simples p/ calculo com datas, mas veja a particularidade do enunciado :

Desenvolva um algoritmo que receba a data de nascimento de uma pessoa e a data 
atual, calcule e mostre a idade desta pessoa em anos, meses, dias e semanas.
################################################################################################
obs : SEM IF e SEM USAR FUNCAO DE DATAS LOOOPS OU QQ COISA PARECIDA 


/*  
//  version 1.0 Wed Mar 17 13:23:55 on ttys000.
 *  version 2.0 Sun Mar 21 22:28:34 on console ttys000 , como ela pediu p/ fazer sem for, switch, nada (*_*)
//  Created by Mario Cezzare mcezzare@gmail.com  on Sun Mar 21 22:28:34 on console ttys000.
//  Copyright 2010 My Powerbook :) . All rights reserved.
 * segunda tentativa alg29cap5b.java  professora Lucy Mary
// 29. Desenvolva um algoritmo que receba a data de nascimento de uma pessoa e a data 
atual, calcule e mostre a idade desta pessoa em anos, meses, dias e semanas.
################################################################################################
obs : SEM IF e SEM USAR FUNCAO DE DATAS LOOOPS OU QQ COISA PARECIDA
################################################################################################
*/

import javax.swing.JOptionPane;
public class alg29cap5b {
public static void main (String args[]) {
String diaF, mesF,anoF; 
String message;
diaF="21";
mesF="3";
anoF="2010";
double diaI,mesI,anoI; // read from user
double  base_dI, base_dF, calc_d, base_mI, base_mF, calc_m, base_aI, base_aF, calc_a; //to calculate values
String data_atualOut,data_nascOut;
diaI= Double.parseDouble(JOptionPane.showInputDialog("dia de nascimento:"));
mesI= Double.parseDouble(JOptionPane.showInputDialog("mes de nascimento:"));
anoI= Double.parseDouble(JOptionPane.showInputDialog("ano de nascimento:"));
// dias
base_dI = (diaI * 24 * 60 * 60 * 1000);
base_dF = (Double.parseDouble(diaF) * 24 * 60 * 60 * 1000);
calc_d = ((base_dF - base_dI) / 1000 / 60 / 60 / 24);
// meses 
base_mI = ( mesI * 30 * 24 * 60 * 60 * 1000);
base_mF = ( Double.parseDouble(mesF) * 30 * 24 * 60 * 60 * 1000);
calc_m = ( (base_mI - base_mF) /1000 /60 /60 /24 / 30 );
// anos 
base_aI  =( anoI * 365  * 30 * 24 * 60 * 60 * 1000) ;
base_aF  =( Double.parseDouble(anoF) * 365  * 30 * 24 * 60 * 60 * 1000) ;
calc_a = (( base_aF - base_aI )/1000 / 60 / 60 / 24 / 30 / 365) ;
// mostra tudo
data_atualOut="Data Atual: " + diaF + "/" +mesF + "/" + anoF;
System.out.println(data_atualOut);
JOptionPane.showMessageDialog(null,data_atualOut);
data_nascOut="Data Nasc: " + (int)diaI + "/" +(int)mesI + "/" + (int)anoI;
System.out.println(data_nascOut);
JOptionPane.showMessageDialog(null,data_nascOut);
message="Idade Atual : "+ (int)calc_a +  " anos "   + (int)calc_m + " meses " + (int)calc_d + " dias" ;
JOptionPane.showMessageDialog(null, message) ;
//D = Integer.getInteger(nm)
System.out.println(message);
System.exit(0);
}
}

OBS : Informando data de Nasc: 10/08/1979
----------- Resultado deve ser: ----------------------

Data Atual: 21/3/2010
Data Nasc: 10/8/1979
Idade Atual : 31 anos 5 meses 11 dias

Java + Tabela de Decimal, Binário e Hexadecimal

P/ quem está na faculdade, tendo matemática, é bom saber essa tabela de cor , pelo menos até o 10 :)

Segue codigo JAVA p/ gerar tabela de "Decimal, Binário e Hexadecimal


/*
  Professor :   
  Version 1.0 
Created by Mario Cezzare mcezzare@gmail.com  on  03/04/2010
Faculdade Veris IBTA : Turma 1ADSI / 2010
// 
 * Apostila XXX
 * ALG n : 1
 * CAPITULO: 
 * PAGINA :    
 * EXERCICIO : XX
 * 
 * 
EXERCICIO 
/ estudo de math 
 * mostra tabela de Decimal, Binario e Hexadecimal de 1 a 100
 * */ 

import java.lang.*;
import java.io.*;

public class TabelaDBH {

public static void main(String args[]) throws IOException{ 
int i= 0
System.out.println("Decimal\t|\tBinario\t|\tHexa" );
System.out.println();
for (i=0;i<=100;i++){
String by = Integer.toBinaryString(i); // System.out.println("Binary: " + by);
String hex = Integer.toHexString(i);
System.out.println(i +"\t|\t"+by + "\t|\t" + hex);
}
}
}




-------------- Resultado  deve ser:-------------------

Decimal | Binario | Hexa

0 | 0 | 0
1 | 1 | 1
2 | 10 | 2
3 | 11 | 3
4 | 100 | 4
5 | 101 | 5
6 | 110 | 6
7 | 111 | 7
8 | 1000 | 8
9 | 1001 | 9
10 | 1010 | a
11 | 1011 | b
12 | 1100 | c
13 | 1101 | d
14 | 1110 | e
15 | 1111 | f
16 | 10000 | 10
17 | 10001 | 11
18 | 10010 | 12
19 | 10011 | 13
20 | 10100 | 14
21 | 10101 | 15
22 | 10110 | 16
23 | 10111 | 17
24 | 11000 | 18
25 | 11001 | 19
26 | 11010 | 1a
27 | 11011 | 1b
28 | 11100 | 1c
29 | 11101 | 1d
30 | 11110 | 1e
31 | 11111 | 1f
32 | 100000 | 20
33 | 100001 | 21
34 | 100010 | 22
35 | 100011 | 23
36 | 100100 | 24
37 | 100101 | 25
38 | 100110 | 26
39 | 100111 | 27
40 | 101000 | 28
41 | 101001 | 29
42 | 101010 | 2a
43 | 101011 | 2b
44 | 101100 | 2c
45 | 101101 | 2d
46 | 101110 | 2e
47 | 101111 | 2f
48 | 110000 | 30
49 | 110001 | 31
50 | 110010 | 32
51 | 110011 | 33
52 | 110100 | 34
53 | 110101 | 35
54 | 110110 | 36
55 | 110111 | 37
56 | 111000 | 38
57 | 111001 | 39
58 | 111010 | 3a
59 | 111011 | 3b
60 | 111100 | 3c
61 | 111101 | 3d
62 | 111110 | 3e
63 | 111111 | 3f
64 | 1000000 | 40
65 | 1000001 | 41
66 | 1000010 | 42
67 | 1000011 | 43
68 | 1000100 | 44
69 | 1000101 | 45
70 | 1000110 | 46
71 | 1000111 | 47
72 | 1001000 | 48
73 | 1001001 | 49
74 | 1001010 | 4a
75 | 1001011 | 4b
76 | 1001100 | 4c
77 | 1001101 | 4d
78 | 1001110 | 4e
79 | 1001111 | 4f
80 | 1010000 | 50
81 | 1010001 | 51
82 | 1010010 | 52
83 | 1010011 | 53
84 | 1010100 | 54
85 | 1010101 | 55
86 | 1010110 | 56
87 | 1010111 | 57
88 | 1011000 | 58
89 | 1011001 | 59
90 | 1011010 | 5a
91 | 1011011 | 5b
92 | 1011100 | 5c
93 | 1011101 | 5d
94 | 1011110 | 5e
95 | 1011111 | 5f
96 | 1100000 | 60
97 | 1100001 | 61
98 | 1100010 | 62
99 | 1100011 | 63
100 | 1100100 | 64

Java + exemplo de Modularização



Algoritmo proposto : 


Desenvolva um algoritmo modularizado que receba o valor da compra de um produto e, 
a partir de um menu de opções, permita ao usuário escolher entre:

a. calcular e retornar o pagamento a vista com 20% de desconto; (função com parâmetros) 
b. calcular e mostrar o pagamento em duas vezes com entrada e com 10% de desconto; 
(procedimento com parâmetros) 
c. calcular e retornar o pagamento a vista no cartão com 15% de desconto; (função com 
parâmetros) 
d. calcular e mostrar o pagamento em duas vezes no cartão com 5% de desconto; (função 
com parâmetros) 
e. calcular e mostrar o pagamento a prazo em duas vezes sem entrada com acréscimo de 
5%; (procedimento com parâmetros) 
f.calcular e retornar o pagamento a prazo em três vezes sem entrada com acréscimo de 
10%. (função com parâmetros) 
Obs1.: após a chamada das funções, mostrar o resultado. 
Obs2.: uma das opções do menu deve ser a de sair do programa.

/*
  Professor : Lucy Mary    
  Version 2.0 
Created by Mario Cezzare mcezzare@gmail.com  on   Wed Jun  2 03:15:41 on ttys000
Faculdade Veris IBTA : Turma 1ADSI / 2010
revisado para 2.0 on  Thu Jun 10 04:56:28 on ttys000
detalhes da revisão: Tratamento de Erro, e apenas pede o Valor se a opção for != de 7/Sair  
// 
 * Apostila XXXX
 * ALG n : 2
 * CAPITULO:9 
 * PAGINA :  XXXX
 * EXERCICIO : XXX
 * XXX. Desenvolva um algoritmo modularizado que receba o valor da compra de um produto e, 
a partir de um menu de opções, permita ao usuário escolher entre:

a. calcular e retornar o pagamento a vista com 20% de desconto; (função com parâmetros) 
b. calcular e mostrar o pagamento em duas vezes com entrada e com 10% de desconto; 
(procedimento com parâmetros) 
c. calcular e retornar o pagamento a vista no cartão com 15% de desconto; (função com 
parâmetros) 
d. calcular e mostrar o pagamento em duas vezes no cartão com 5% de desconto; (função 
com parâmetros) 
e. calcular e mostrar o pagamento a prazo em duas vezes sem entrada com acréscimo de 
5%; (procedimento com parâmetros) 
f.calcular e retornar o pagamento a prazo em três vezes sem entrada com acréscimo de 
10%. (função com parâmetros) 
Obs1.: após a chamada das funções, mostrar o resultado. 
Obs2.: uma das opções do menu deve ser a de sair do programa. 
*/
import javax.swing.*;
class bim2_hot_cap9_ex_13_v2{
       
    
    static double Pag_Vista_desc_20 (double x) /* a. calcular e retornar 
    o pagamento a vista com 20% de desconto; (função com parâmetros) */
    {
  return x - (x * 0.2);
    }
    static void Pag_2x_desc_10 (double x) /*b. calcular e mostrar o pagamento em duas vezes com
     entrada e com 10% de desconto; (procedimento com parâmetros) */ 
    {
double res,fim;
res = (x / 2);
fim = res - (res*0.1); // 10% desconto
System.out.println("Valor Final: Entrada de R$"+ fim +"  + 1 parcela de: R$"+fim);
    }
    
    static void Pag_Vista_Cartao (double x, double desc) /*c. calcular e retornar o pagamento a vista no cartão
     com 15% de desconto; (função com parâmetros)*/
    {
double perc,fim,aux;
//int desc = 15;
/*
fim = x - (x * 0.15);
System.out.println(perc);
System.out.println(aux);*/
perc = (desc/100);
aux = (x * perc);
fim = x - aux ;// 15% desconto
System.out.println("Valor Final: a Vista R$"+ fim + " com " + desc + "% de Desconto" );
    }
    
    static void Pag_Cartao_parc(double x)/*d. calcular e mostrar o pagamento em duas vezes no cartão
     com 5% de desconto; (função com parâmetros)*/
    {
    double fim,perc;
    perc = 0.10;
fim = x - (x * perc );// 5% desconto
System.out.println("O valor fica em 2 de R$"+ (fim /2) );
    }
    static void Pag_Prazo_Acres_Parc(double val, double ac,int qt)/*e. calcular e mostrar o pagamento a prazo em duas vezes 
    sem entrada com acréscimo de 5%; (procedimento com parâmetros) 
    &  
    f.calcular e retornar o pagamento a prazo em três vezes sem entrada com acréscimo de    
     10%. (função com parâmetros)
    */
    { //val - total | ac - % de Acrescimo | qt - qtd de parcelas
    double res,fim,parc;
parc = (val / qt);
    fim = val + (val *(ac/100)); // %  de Acrescimo
System.out.print("Valor Final : " + fim + " em " + qt + " Parcelas de ");
System.out.format("%.2f%n",(fim/qt) );
    }
    
    public static void menu(){
    String initial = "Opcoes: \n1 - Pagamento a vista \n" +
"2 - 2x Entrada no Ato \n" + "3 - A vista no Cartão \n" + "4 - 2x no Cartão \n"
"5 - 2x Sem Entrada\n" + "6 - A Prazo Sem Entrada \n" + "7 - Sair \n" + "\n";
    System.out.print(initial);
    //JOptionPane.showMessageDialog(null,initial);
    JOptionPane.showMessageDialog(null, initial, "Bem Vindo, Veja as Opcoes Abaixo", 0,null );
    }

    public static void main(String args[]) {
    int desc,op;
    double val,valAux;
    menu();
    try {
    op = Integer.parseInt(JOptionPane.showInputDialog("Digite Opção"));
    if (op==7){
    val = 0;
    }else {
    val = Double.parseDouble(JOptionPane.showInputDialog("Digite o valor Total da Compra"));
    }
    switch(op)
    {
    case 1:
    valAux = Pag_Vista_desc_20(val);
    System.out.println("Valor Final: 1 parcela de R$ " + valAux);
    System.exit(0);
    break;
    
    case 2:
    Pag_2x_desc_10(val);
    System.exit(0);
       break;
    
    case 3:
    Pag_Vista_Cartao(val,15); // 15% desconto 
    System.exit(0);
       break;
    
    case 4:
    Pag_Cartao_parc(val);
    System.exit(0);
       break;
    
    case 5:
    int qtd;
    double acresc;
    qtd=Integer.parseInt(JOptionPane.showInputDialog("Qtd de Parcelas"));
    if (qtd>2){
    JOptionPane.showMessageDialog(null,"Escolha a opção 6 para + de 2 parcelas" );
    System.exit(0);
    }

    acresc = 5;
    Pag_Prazo_Acres_Parc(val,acresc,qtd);
    System.exit(0);
       break;
    
    case 6:
    int qtd2;
    double acresc2;
    qtd2=Integer.parseInt(JOptionPane.showInputDialog("Qtd de Parcelas"));
    acresc2 = 10;
    Pag_Prazo_Acres_Parc(val,acresc2,qtd2);
    System.exit(0);
    break;
    
    case 7:
    System.out.println("Obrigado. Fim do Programa");
    System.exit(0);
        break;
        
    default :
    System.out.println("Obrigado. Fim do Programa");
    System.exit(0);
        
    }    
    }
    catch(Exception e){
    System.out.println(e);
    System.out.println(e.getCause()); //--> java.lang.NumberFormatException: null
    if (e.getCause()==null){
    
    System.out.println("Escolha uma opção!");
    JOptionPane.showMessageDialog(null,"Escolha uma opção!" );
    }
    
    }
    
        
}
}

Java e Fatoriais

Estudando nºs Fatoriais (n!) p/ matemática , resolvi fazer um codigo java p/ analisar melhor :


/*
  Professor :   
  Version 1.0 
Created by Mario Cezzare mcezzare@gmail.com  on   Wed May 26 21:36:53 on ttys000
Faculdade Veris IBTA : Turma 1ADSI / 2010
// 
 * Apostila XXX
 * ALG n : 1
 * CAPITULO: 
 * PAGINA :    
 * EXERCICIO : XX
 * 
 * 
EXERCICIO 
/ estudo de math 
 * mostra tabela de fatoriais
 * */ 


 public class  math_fatorial{

public static void main(String arg[]){
    long numero = 2, resposta=1;
    long cont;
  
          while(numero < 20){
                  for(cont = numero; cont > 1; cont--){
                         resposta = resposta * (cont);
                  }
                  System.out.println("Fatorial de "+numero+" é "+resposta);
                  numero ++;
                  resposta = 1;
          }
   }
}


--------resultado deve ser : -------------


Fatorial de 2 é 2
Fatorial de 3 é 6
Fatorial de 4 é 24
Fatorial de 5 é 120
Fatorial de 6 é 720
Fatorial de 7 é 5040
Fatorial de 8 é 40320
Fatorial de 9 é 362880
Fatorial de 10 é 3628800
Fatorial de 11 é 39916800
Fatorial de 12 é 479001600
Fatorial de 13 é 6227020800
Fatorial de 14 é 87178291200
Fatorial de 15 é 1307674368000
Fatorial de 16 é 20922789888000
Fatorial de 17 é 355687428096000
Fatorial de 18 é 6402373705728000
Fatorial de 19 é 121645100408832000

sexta-feira, 11 de junho de 2010

Meu 1º Disco solo - Insonic Visionary

Em 7 de Maio de 2010 com o Projeto INSONIC e pela Gravadora Metropolis Records, é lançado o 1º EP Solo.


Musicas :
1 Madshaltomtek
2 X Vision
3 Machines Birth
4 Constantine
5 Visionary

obs : Madshaltomtek e X Vision foram veiculadas nas novelas de horário nobre da Record "Chamas da Vida" e "A Bela e a Feia".
Link na Metropolis Project Recs:

Links Diretos (Lojas):

Fazendo Faculdade

Após alguns anos fora do meio acadêmico, voltei. hehe
Estou cursando Analise e Desenvolvimento de Sistema na VERIS IBTA.
Pretendo postar aqui algumas tarefas que permitem sua publicação, como exercícios de Sistemas Operacionais, Lógica e Linguagens de Programação.