Ordenação de matrizes (migrado)

Prof. Francisco
Professor
Brazil
480 Posts Posted - 15/06/2003 : 11:34:58
--------------------------------------------------------------------------------
Guest2003, Fabio pereira, Kraft e demais colegas:
Essa é legal:
Qual seria a menor rotina em termos de ocupação de memória, escrita em linguagem C, capaz de ordenar (em ordem crecente ou decrescente) os elementos de um Array (matriz) unidimensional ?
Qual o melhor algoritmo de ordenação ?
Por exemplo, tenho a seguinte matriz T[i], com n elementos, onde Ti são inteiros de 1 byte: 104,100,97,255,0,4,67,... (valores em decimal, entre 0 e 255)
Qual é a melhor rotina capaz de ordená-los e carregalos na forma:
T{1)=0, T(2)=4, T(3)=67, etc ?
Abraços
Francisco
FDAI Engenharia Eletrônica
www.fdai.kit.net
www.fambrinieletronica.hpg.com.br
guest2003
Conselheiro
Brazil
1488 Posts Posted - 15/06/2003 : 16:50:42
--------------------------------------------------------------------------------
Bom amigo Prof,
Vou escrever como sempre a primeira coisa que me vem a cabeça... depois se for o caso podemos refinar o codigo...
for (a=0,a<n,a##) { for (b=a#1,b<=n,b##) { if (Array[a]>Array[b]) { aux=Array[a]; Array[a]=Array[b]; Array[b]=aux; } } }
Eu nao estava conseguindo fazer aparecer o sinal de mais... entao usei o sinal #, portanto entenda-se que o sinal # é o mais.
e a rotina que imaginaei é mais ou menos isso... esta rotina devolve seu Array em ordem crescente... caso precise em ordem decrescente apos executa-la inverta os elementos iniciais pelos finais... ou inverta minha comparação if (array[a]>array[b]) para (array[a]<array[b])
[]´s
PS.: Prof pra que esta precisando disso ??
PS2: Não lance isso como desafio... e sim como uma necessidade sua...
-----
"Nunca ande pelo caminho traçado, pois ele conduz somente até onde os outros já foram." -Alexander Graham Bell
S_H_C
Professor
410 Posts Posted - 15/06/2003 : 17:04:55
--------------------------------------------------------------------------------
guest,
Se bem conheço o Prof. ele deve estar querendo confrontar os códigos em C q o pessoal daki postar com algum código em Basic q ele fez ou fará, naum sei.....por isso o "desafio".....
Estou certo Prof????
[]'s
Prof. Francisco
Professor
Brazil
480 Posts Posted - 15/06/2003 : 19:05:36
--------------------------------------------------------------------------------
Guest,
Você está certo, eu preciso mesmo dessa rotina para um projeto prático, e não é para comparar C com Basic não!
Em primeiro lugar, muito obrigado (MAIS UMA VEZ!) pela grande ajuda prestada.
Falei em "desafio" porque esse é um problema clássico quando se estuda Algoritmos e Técnica de Programação: conseguir um algoritmo que faça a ordenação (crescente ou decrescente) dos elementos de um vetor (ou Array...) é clássico por vários motivos:
1) Todos os algoritmos que existem são ou Função Exponencial da Variável N (numero de elementos do Array) ou função Polinomial de N. Quer dizer: o tempo de execução desta rotina ou aumenta de acordo com alguma potencia de N ou de acordo com e^N onde e é a base natural dos logaritmos Neperianos ou ainda de acordo com Ln(N). A sua rotina Guest (por exemplo) cresce em tempo de execução Polinomial. O melhor algoritmo de ordenação é aquele cujo tempo de execução cresce em função dec Ln(N)(logaritmo Neperiano de N).
2) Existe muita pesquisa em Computação pelo "Algoritmo Milagroso": um algoritmo de ordenação cujo tempo de execução cresça linearmente quando N cresce. NUNCA foi provado matematicamente que tal algoritmo seja impossível de se obter, mas tampouco ninguém até hoje o conseguiu!
Imagine plotar num gráfico no eixo das abcissas o valor de N e no eixo das ordenadas o tempo de execução do Algoritmo de Ordenação: a coisa seria mais ou menos assim, um algoritmo polinomial cresce como uma "parabola" em tempo de execução; um algoritmo exponencial crece como a função E^x e existe também o algoritmo cujo crescimento cresce proporcional a LN(x), que seria o melhor que já foi obtido até hoje
3) MAS eu pedi um Algoritmo que OCUPASSE MENOS MEMÓRIA e não o que fosse mais rápido! Essa solução GUEST2003 com certeza é das melhores para ocupar pouco espaço ! Brilhante como sempre, eu "dou uma pagada prá você e pro Fabio" pela habilidade e lógica em programação que vocês tem !
BOM, Vamos a resposta agora: "Para que eu quero isso aí":
Preciso fazer um projeto onde um PIC produza seis ondas quadradas de FREQUENCIAS DIFERENTES em seis de seus pinos, sendo que estas seis frequencias são ajustadas individualmente através de "Push Button" e visualizadas no LCD, na faixa de 2 Hz até 200 Hz.
Bom, as ondas quadradas produzidas tem um ciclo ativo bastante assimétrico, permanecendo em nivel alto durante 1 milisegundo e em nivel baixo durante o resto do tempo relativo à frequencia setada pelo operador.
Explicando melhor: Se a frequencia escolhida para a onda1 for 100 Hz, o sinal neste pino ficará em ALTO durante 1 ms (0.001 s) e em BAIXO durante 0,009 segundos, ou seja o restante do tempo.
Por outro lado, se a frequencia setada for (por exemplo) 2 Hz, o sinal da onda2 ficará 0.001 s em CIMA e 0.499 seg em BAIXO.
É um aparelho para Eletroacupuntura que nós estamos fazendo !
Obrigado Guest, desculpe-me por usar o termo "desafio": você é uma das maiores feras que eu conheço e "Conhece-se o Leão pelas garras"
Um forte abraço e não leve a mal a "disputa" do Basic com o C: eu gosto mais do basic porque não tenho a sua competência para programar ! (se eu tivesse estaria rico -risos !)
FDAI Engenharia Eletrônica
www.fdai.kit.net
www.fambrinieletronica.hpg.com.br
S_H_C
Professor
410 Posts Posted - 15/06/2003 : 21:55:23
--------------------------------------------------------------------------------
Pensei q fosse outra daquelas "C x Basic"....
Nunca utilizei Basic....como me considero 1 eterno iniciante talvez fosse 1 boa idéia....o negócio é aprender....
Mas como pude observar na prática q a ling. C é bem mais flexível q Pascal, suponhho q seja mais flexível q o Basic tb....
Tudo depende do q c quer fazer...e d como c quer fazer....pelo q ouço falar, c a gente deseja praticidade, Basic é 1 ótima escolha...
[]'s
Edited by - S_H_C on 16/06/2003 00:27:56
KrafT
Conselheiro
Brazil
3476 Posts Posted - 15/06/2003 : 23:37:35
--------------------------------------------------------------------------------
Esse Prof Francisco é engraçado...
Sinceramente não entendi por que tanto blábláblá.
Já ví esse filme antes.
guest2003
Conselheiro
Brazil
1488 Posts Posted - 16/06/2003 : 20:08:23
--------------------------------------------------------------------------------
heheh faz parte Kraft...
E obrigado pelos elogios Prof... porem nao sou tudo isso não... eu apenas engano bem!
Kraft... Como assim já viu o filme ?
[]´s
-----
"Nunca ande pelo caminho traçado, pois ele conduz somente até onde os outros já foram." -Alexander Graham Bell
KrafT
Conselheiro
Brazil
3476 Posts Posted - 16/06/2003 : 20:10:59
--------------------------------------------------------------------------------
quote:
--------------------------------------------------------------------------------
Kraft... Como assim já viu o filme ?
--------------------------------------------------------------------------------
Xa quieto...
jeanfernandes
Conselheiro
Brazil
2648 Posts Posted - 10/10/2003 : 02:57:17
--------------------------------------------------------------------------------
Prof. Francisco
Sao duas da manha. Eu ia ate ali escrever um documento. Mas fiquei curioso
Qual a relacao entre voce ordernar os numeros e fazer as 6 saidas funcionarem em frequencias diferentes ?
Se tua base de tempo minima é 1 ms ativo e o resto inativo, usa o Timer para gerar uma contagem nesta base. Usa 6 variaveis para contar e na passagem pelo limite maior pulsa em ON e depois faz a mesma com valor 0. Na proxima interrupcao do timer (1 ms depois) se a variavel for 0, pulsa ela pra OFF e incrementa a mesma ate.... o overflow.
Vamos supor (agora perdi o sono mermo la vai) :
Base do Timer = 1 ms.
#define byte unsigned char
#define word unsigned int
code byte mask[6] = {0x01, 0x02,0x04,0x08,0x10,0x20}
word temporizacao[6] = {0,0,0,0,0,0}; // contador para as variaveis
word valormax[6] = {0,0,0,0,0,0}; // contador para as variaveis
supondo (em Hz)
F1 = 10 hz => valormax[0] = 1000 ms / 10 = 100 (Erro 0%)
F2 = 15 hz => valormax[1] = 1000 ms / 15 ~ 67
F3 = 20 hz => valormax[2] = 1000 ms / 20 = 50
F4 = 77 hz => valormax[3] = 1000 ms / 77 (~12,98) = 13
F5 = 132 hz => valormax[4] = 1000 ms / 132 (~ 7,57) = 8
F6 = 12 hz => valormax[5] = 1000 ms / 12 = 83
Se o timer tem uma base de 1 ms com timer em auto reload.
Se o timer puder ser de 500 uS ai minimizamos o erro por 2
Se o timer puder ser de 250 uS ai minimizamos o erro por 4
Se o timer puder ser de 100 uS ai minimizamos o erro por 10 (fica na tanga do timer mas....depende do MCU e do XTAL)
e por ai vai.....
Na porta P1 teriamos os 6 pinos
void int_timer0(void) interrupt 1
{
for (i=0;i<6;i++) {
if (!temporizacao[i])
P1 = P1 | mask[i];
else
P1 = P1 & ~mask[i];
if (++temporizacao[i] >= valormax[i])
temporizacao[i] = 0;
}
}
Claro que isso eu usaria no Keil em C para 51
Jean P. Fernandes
Eng. Eletronico
jeanfernandes@apel.com.br
jeanfernandes@engineer.com
Prof. Francisco
Professor
Brazil
480 Posts Posted - 11/10/2003 : 19:15:00
--------------------------------------------------------------------------------
Olá Jean,
Muito obrigado por responder à minha dúvida, em primeiro lugar.
O aparelho já está pronto e o cliente satisfeito. Você pode ver uma foto dele aqui
Foi desenvolvido inteiramente aqui em nossa empresa.
Quanto à sua pergunta: "Qual a relação entre ordenar os elementos de um Vetor e gerar 6 ondas de frequencias distintas ?"
Resposta: Nenhuma (você tem toda razao.
É que o cliente queria que, independente da ordem das frequencias digitadas, o aparelho ordenasse automaticamente as ondas em ordem crescente de frequencias nos canais de 1 até 6.
Por exemplo, ele queria sempre a menor onda no canal 1 e a maior onda no canal 6.
Mesmo que o médico digitasse em outra ordem.
Mais uma vez, meu muito obrigado.
Forte abraço a todos os amigos fo forum
Francisco
O Tao está perto
Mas as pessoas o procuram Longe
O Tao é simples
Mas as pessoas gostam das coisas complicadas!
guest2003
Conselheiro
Brazil
1488 Posts Posted - 11/10/2003 : 19:45:12
--------------------------------------------------------------------------------
well come back Professor !!!
Quero royalts !!!
Brincadeira !!!
[]´s
-----
"Cuidado, o dinheiro muda tudo" - guest2003
jeanfernandes
Conselheiro
Brazil
2648 Posts Posted - 11/10/2003 : 21:29:48
--------------------------------------------------------------------------------
ok prof.
esse negocio funciona mermo ? (eheheeheh brincadeira)
Manda pra mim um folder e o preço. Quem sabe eu faça uma representaçao aqui na Paraiba de Deus.
Alias manda por email um descritivo da tua empresa. Nunca se sabe o que pode acontecer amanha.
Num da pra mandar uma versao demo do aparelho (eheheeheh um dia isso ainda vai ser possivel)
Bom, espero que venda bastante.
Jean P. Fernandes
Eng. Eletronico
jeanfernandes@apel.com.br
jeanfernandes@engineer.com
Prof. Francisco
Professor
Brazil
480 Posts Posted - 12/10/2003 : 12:18:43
--------------------------------------------------------------------------------
Guest, Thanks a lot. Quanto aos Royalties...hummm, é só uma rotina, vai... quebra o galho ? (risos)
Olá Jean,
O equipamento não é da FDAI, é de um cliente nosso (eu só publiquei a foto porque ele autorizou).Nós desenvolvemos e vendemos para ele. Fazemos tudo, desde o desenho da placa até a caixa e o acabamento final. Esse é um diferencial da FDAI em relação à outras design houses, que só fazem a parte eletrônica. Meu sócio, David Risalitti é arquiteto (risos) mas adora fazer software (ele quem programa em Delphi e C aqui). Ele faz também o visual externo dos aparelhos.
Vou passar seu e-mail à ele, e ele te manda as especificações, OK ?
Forter abraço
F. Fambrini
FDAI
O Tao está perto
Mas as pessoas o procuram Longe
O Tao é simples
Mas as pessoas gostam das coisas complicadas!
Professor
Brazil
480 Posts Posted - 15/06/2003 : 11:34:58
--------------------------------------------------------------------------------
Guest2003, Fabio pereira, Kraft e demais colegas:
Essa é legal:
Qual seria a menor rotina em termos de ocupação de memória, escrita em linguagem C, capaz de ordenar (em ordem crecente ou decrescente) os elementos de um Array (matriz) unidimensional ?
Qual o melhor algoritmo de ordenação ?
Por exemplo, tenho a seguinte matriz T[i], com n elementos, onde Ti são inteiros de 1 byte: 104,100,97,255,0,4,67,... (valores em decimal, entre 0 e 255)
Qual é a melhor rotina capaz de ordená-los e carregalos na forma:
T{1)=0, T(2)=4, T(3)=67, etc ?
Abraços
Francisco
FDAI Engenharia Eletrônica
www.fdai.kit.net
www.fambrinieletronica.hpg.com.br
guest2003
Conselheiro
Brazil
1488 Posts Posted - 15/06/2003 : 16:50:42
--------------------------------------------------------------------------------
Bom amigo Prof,
Vou escrever como sempre a primeira coisa que me vem a cabeça... depois se for o caso podemos refinar o codigo...
for (a=0,a<n,a##) { for (b=a#1,b<=n,b##) { if (Array[a]>Array[b]) { aux=Array[a]; Array[a]=Array[b]; Array[b]=aux; } } }
Eu nao estava conseguindo fazer aparecer o sinal de mais... entao usei o sinal #, portanto entenda-se que o sinal # é o mais.
e a rotina que imaginaei é mais ou menos isso... esta rotina devolve seu Array em ordem crescente... caso precise em ordem decrescente apos executa-la inverta os elementos iniciais pelos finais... ou inverta minha comparação if (array[a]>array[b]) para (array[a]<array[b])
[]´s
PS.: Prof pra que esta precisando disso ??
PS2: Não lance isso como desafio... e sim como uma necessidade sua...
-----
"Nunca ande pelo caminho traçado, pois ele conduz somente até onde os outros já foram." -Alexander Graham Bell
S_H_C
Professor
410 Posts Posted - 15/06/2003 : 17:04:55
--------------------------------------------------------------------------------
guest,
Se bem conheço o Prof. ele deve estar querendo confrontar os códigos em C q o pessoal daki postar com algum código em Basic q ele fez ou fará, naum sei.....por isso o "desafio".....
Estou certo Prof????
[]'s
Prof. Francisco
Professor
Brazil
480 Posts Posted - 15/06/2003 : 19:05:36
--------------------------------------------------------------------------------
Guest,
Você está certo, eu preciso mesmo dessa rotina para um projeto prático, e não é para comparar C com Basic não!
Em primeiro lugar, muito obrigado (MAIS UMA VEZ!) pela grande ajuda prestada.
Falei em "desafio" porque esse é um problema clássico quando se estuda Algoritmos e Técnica de Programação: conseguir um algoritmo que faça a ordenação (crescente ou decrescente) dos elementos de um vetor (ou Array...) é clássico por vários motivos:
1) Todos os algoritmos que existem são ou Função Exponencial da Variável N (numero de elementos do Array) ou função Polinomial de N. Quer dizer: o tempo de execução desta rotina ou aumenta de acordo com alguma potencia de N ou de acordo com e^N onde e é a base natural dos logaritmos Neperianos ou ainda de acordo com Ln(N). A sua rotina Guest (por exemplo) cresce em tempo de execução Polinomial. O melhor algoritmo de ordenação é aquele cujo tempo de execução cresce em função dec Ln(N)(logaritmo Neperiano de N).
2) Existe muita pesquisa em Computação pelo "Algoritmo Milagroso": um algoritmo de ordenação cujo tempo de execução cresça linearmente quando N cresce. NUNCA foi provado matematicamente que tal algoritmo seja impossível de se obter, mas tampouco ninguém até hoje o conseguiu!
Imagine plotar num gráfico no eixo das abcissas o valor de N e no eixo das ordenadas o tempo de execução do Algoritmo de Ordenação: a coisa seria mais ou menos assim, um algoritmo polinomial cresce como uma "parabola" em tempo de execução; um algoritmo exponencial crece como a função E^x e existe também o algoritmo cujo crescimento cresce proporcional a LN(x), que seria o melhor que já foi obtido até hoje
3) MAS eu pedi um Algoritmo que OCUPASSE MENOS MEMÓRIA e não o que fosse mais rápido! Essa solução GUEST2003 com certeza é das melhores para ocupar pouco espaço ! Brilhante como sempre, eu "dou uma pagada prá você e pro Fabio" pela habilidade e lógica em programação que vocês tem !
BOM, Vamos a resposta agora: "Para que eu quero isso aí":
Preciso fazer um projeto onde um PIC produza seis ondas quadradas de FREQUENCIAS DIFERENTES em seis de seus pinos, sendo que estas seis frequencias são ajustadas individualmente através de "Push Button" e visualizadas no LCD, na faixa de 2 Hz até 200 Hz.
Bom, as ondas quadradas produzidas tem um ciclo ativo bastante assimétrico, permanecendo em nivel alto durante 1 milisegundo e em nivel baixo durante o resto do tempo relativo à frequencia setada pelo operador.
Explicando melhor: Se a frequencia escolhida para a onda1 for 100 Hz, o sinal neste pino ficará em ALTO durante 1 ms (0.001 s) e em BAIXO durante 0,009 segundos, ou seja o restante do tempo.
Por outro lado, se a frequencia setada for (por exemplo) 2 Hz, o sinal da onda2 ficará 0.001 s em CIMA e 0.499 seg em BAIXO.
É um aparelho para Eletroacupuntura que nós estamos fazendo !
Obrigado Guest, desculpe-me por usar o termo "desafio": você é uma das maiores feras que eu conheço e "Conhece-se o Leão pelas garras"
Um forte abraço e não leve a mal a "disputa" do Basic com o C: eu gosto mais do basic porque não tenho a sua competência para programar ! (se eu tivesse estaria rico -risos !)
FDAI Engenharia Eletrônica
www.fdai.kit.net
www.fambrinieletronica.hpg.com.br
S_H_C
Professor
410 Posts Posted - 15/06/2003 : 21:55:23
--------------------------------------------------------------------------------
Pensei q fosse outra daquelas "C x Basic"....
Nunca utilizei Basic....como me considero 1 eterno iniciante talvez fosse 1 boa idéia....o negócio é aprender....
Mas como pude observar na prática q a ling. C é bem mais flexível q Pascal, suponhho q seja mais flexível q o Basic tb....
Tudo depende do q c quer fazer...e d como c quer fazer....pelo q ouço falar, c a gente deseja praticidade, Basic é 1 ótima escolha...
[]'s
Edited by - S_H_C on 16/06/2003 00:27:56
KrafT
Conselheiro
Brazil
3476 Posts Posted - 15/06/2003 : 23:37:35
--------------------------------------------------------------------------------
Esse Prof Francisco é engraçado...
Sinceramente não entendi por que tanto blábláblá.
Já ví esse filme antes.
guest2003
Conselheiro
Brazil
1488 Posts Posted - 16/06/2003 : 20:08:23
--------------------------------------------------------------------------------
heheh faz parte Kraft...
E obrigado pelos elogios Prof... porem nao sou tudo isso não... eu apenas engano bem!
Kraft... Como assim já viu o filme ?
[]´s
-----
"Nunca ande pelo caminho traçado, pois ele conduz somente até onde os outros já foram." -Alexander Graham Bell
KrafT
Conselheiro
Brazil
3476 Posts Posted - 16/06/2003 : 20:10:59
--------------------------------------------------------------------------------
quote:
--------------------------------------------------------------------------------
Kraft... Como assim já viu o filme ?
--------------------------------------------------------------------------------
Xa quieto...
jeanfernandes
Conselheiro
Brazil
2648 Posts Posted - 10/10/2003 : 02:57:17
--------------------------------------------------------------------------------
Prof. Francisco
Sao duas da manha. Eu ia ate ali escrever um documento. Mas fiquei curioso
Qual a relacao entre voce ordernar os numeros e fazer as 6 saidas funcionarem em frequencias diferentes ?
Se tua base de tempo minima é 1 ms ativo e o resto inativo, usa o Timer para gerar uma contagem nesta base. Usa 6 variaveis para contar e na passagem pelo limite maior pulsa em ON e depois faz a mesma com valor 0. Na proxima interrupcao do timer (1 ms depois) se a variavel for 0, pulsa ela pra OFF e incrementa a mesma ate.... o overflow.
Vamos supor (agora perdi o sono mermo la vai) :
Base do Timer = 1 ms.
#define byte unsigned char
#define word unsigned int
code byte mask[6] = {0x01, 0x02,0x04,0x08,0x10,0x20}
word temporizacao[6] = {0,0,0,0,0,0}; // contador para as variaveis
word valormax[6] = {0,0,0,0,0,0}; // contador para as variaveis
supondo (em Hz)
F1 = 10 hz => valormax[0] = 1000 ms / 10 = 100 (Erro 0%)
F2 = 15 hz => valormax[1] = 1000 ms / 15 ~ 67
F3 = 20 hz => valormax[2] = 1000 ms / 20 = 50
F4 = 77 hz => valormax[3] = 1000 ms / 77 (~12,98) = 13
F5 = 132 hz => valormax[4] = 1000 ms / 132 (~ 7,57) = 8
F6 = 12 hz => valormax[5] = 1000 ms / 12 = 83
Se o timer tem uma base de 1 ms com timer em auto reload.
Se o timer puder ser de 500 uS ai minimizamos o erro por 2
Se o timer puder ser de 250 uS ai minimizamos o erro por 4
Se o timer puder ser de 100 uS ai minimizamos o erro por 10 (fica na tanga do timer mas....depende do MCU e do XTAL)
e por ai vai.....
Na porta P1 teriamos os 6 pinos
void int_timer0(void) interrupt 1
{
for (i=0;i<6;i++) {
if (!temporizacao[i])
P1 = P1 | mask[i];
else
P1 = P1 & ~mask[i];
if (++temporizacao[i] >= valormax[i])
temporizacao[i] = 0;
}
}
Claro que isso eu usaria no Keil em C para 51
Jean P. Fernandes
Eng. Eletronico
jeanfernandes@apel.com.br
jeanfernandes@engineer.com
Prof. Francisco
Professor
Brazil
480 Posts Posted - 11/10/2003 : 19:15:00
--------------------------------------------------------------------------------
Olá Jean,
Muito obrigado por responder à minha dúvida, em primeiro lugar.
O aparelho já está pronto e o cliente satisfeito. Você pode ver uma foto dele aqui
Foi desenvolvido inteiramente aqui em nossa empresa.
Quanto à sua pergunta: "Qual a relação entre ordenar os elementos de um Vetor e gerar 6 ondas de frequencias distintas ?"
Resposta: Nenhuma (você tem toda razao.
É que o cliente queria que, independente da ordem das frequencias digitadas, o aparelho ordenasse automaticamente as ondas em ordem crescente de frequencias nos canais de 1 até 6.
Por exemplo, ele queria sempre a menor onda no canal 1 e a maior onda no canal 6.
Mesmo que o médico digitasse em outra ordem.
Mais uma vez, meu muito obrigado.
Forte abraço a todos os amigos fo forum
Francisco
O Tao está perto
Mas as pessoas o procuram Longe
O Tao é simples
Mas as pessoas gostam das coisas complicadas!
guest2003
Conselheiro
Brazil
1488 Posts Posted - 11/10/2003 : 19:45:12
--------------------------------------------------------------------------------
well come back Professor !!!
Quero royalts !!!
Brincadeira !!!
[]´s
-----
"Cuidado, o dinheiro muda tudo" - guest2003
jeanfernandes
Conselheiro
Brazil
2648 Posts Posted - 11/10/2003 : 21:29:48
--------------------------------------------------------------------------------
ok prof.
esse negocio funciona mermo ? (eheheeheh brincadeira)
Manda pra mim um folder e o preço. Quem sabe eu faça uma representaçao aqui na Paraiba de Deus.
Alias manda por email um descritivo da tua empresa. Nunca se sabe o que pode acontecer amanha.
Num da pra mandar uma versao demo do aparelho (eheheeheh um dia isso ainda vai ser possivel)
Bom, espero que venda bastante.
Jean P. Fernandes
Eng. Eletronico
jeanfernandes@apel.com.br
jeanfernandes@engineer.com
Prof. Francisco
Professor
Brazil
480 Posts Posted - 12/10/2003 : 12:18:43
--------------------------------------------------------------------------------
Guest, Thanks a lot. Quanto aos Royalties...hummm, é só uma rotina, vai... quebra o galho ? (risos)
Olá Jean,
O equipamento não é da FDAI, é de um cliente nosso (eu só publiquei a foto porque ele autorizou).Nós desenvolvemos e vendemos para ele. Fazemos tudo, desde o desenho da placa até a caixa e o acabamento final. Esse é um diferencial da FDAI em relação à outras design houses, que só fazem a parte eletrônica. Meu sócio, David Risalitti é arquiteto (risos) mas adora fazer software (ele quem programa em Delphi e C aqui). Ele faz também o visual externo dos aparelhos.
Vou passar seu e-mail à ele, e ele te manda as especificações, OK ?
Forter abraço
F. Fambrini
FDAI
O Tao está perto
Mas as pessoas o procuram Longe
O Tao é simples
Mas as pessoas gostam das coisas complicadas!