Anterior Proxima

zsh: Exemplo de uso do módulo zsh/curses

Exemplo bem simples de uso do módulo 'curses' do zsh para "desenho de janelas" em interfaces CLI. Mais detalhes: $ man zshmodules $ info zsh Falou!!! ;)

Por: Sandro Marcell


Função "Partição de Inteiros" Recursiva COM Tabela Estática em C

De quantos modos diferentes pode-se escrever 6 como soma de números maiores que zero? 6 = 5+1 = 4+2 = 3+3 = 4+1+1 = 3+2+1 = 2+2+2 = 3+1+1+1 = 2+2+1+1 = 2+1+1+1+1 = 1+1+1+1+1+1 11 modos diferentes. p(6) = 11. O cálculo do número de partições de um inteiro usa uma recursão bem mais demorada que a dos números de Fibonacci ou a fatorial. Este exemplo usa variáveis estáticas dentro da implementação da função. Quando um valor é calculado, ele simplesmente é armazenado para consulta futura, já que este cálculo recursivo solicita valores já calculados em sua recursão. Poderia ser citado por alguém o uso a função realloc(), mas preferi deste modo para observar o funcionamento do código. A tabela dos valores anotados é expandida quando há a necessidade de serem armazenados mais valores que a sua capacidade naquele instante da execução. O tempo de demora é absurdamente inferior ao que seria se não fosse usada essa tabela. Há uma condição na função que se verificada destrói a tabela, usada para desalocar o espaço ao fim da execução. Pode-se testar a destruição da tabela antes de uma chamada da função em main() para ser verificada a eficácia. Parte dos resultados pode ser conferida neste link: http://oeis.org/A000041

Por: Perfil removido


Algoritmo de Fatoração de Fermat (FFA) em Ruby

FFA: Fermat Factoring Algorithm (Algoritmo de Fatoração de Fermat) Método de fatoração inventado por Pierre de Fermat: Todo numero pode ser escrito como diferença de dois números elevados ao quadrado: n = a² - b², ou n = a*a - b*b; Esta expressão pode ser escrita como n = (a+b) * (a-b), ou n = (a+b) (a-b), onde a soma e a subtração dos valores "a" e "b" são dois fatores do número em questão. Se n é primo, então a-b = 1 e a+b=n; Para números com diversos fatores e divisores existem diversos "a" e "b" que satisfazem a expressão. Este algoritmo testa em progressão diversos valores "b" em "i + j*j", ou i + j², com i=n no primeiro passo. Se i + j*j for um quadrado perfeito, então calcula-se com base nisto os correspondentes a e b da expressão anterior, tendo-se então encontrado um fator. Fator este que não é necessariamente um número primo. Este programa trabalha com os fatores sendo escritos em uma lista, sendo pegos um a um até o final. A função de fatoração retorna uma estrutura com um par de números que se multiplicados retornam o valor de entrada, ordenados em maior e menor. No retorno, a parcela menor substitui a posição do elemento pego anteriormente e a parcela maior é inserida ao fim da lista principal. Quando o valor menor do par é um, o valor maior é um número primo, então continua-se com o próximo elemento da lista principal, encerrando-se ao último elemento. Por último, a lista de fatores é ordenada para apresentação. Obs[1]: Por enquanto não fatora números negativos. Obs[2]: É possível ainda um teste que reduz o número de repetições do while da sub-rotina.

Por: Perfil removido


Usuário Samba + LDAP alterando sua senha pelo browser

Estava com dificuldades sobre isso, muitos usuários que usam GNU/Linux sentiam a necessidade de trocar sua senhas, mas vinham até a mim, que efetuava a alteração manualmente. Pesquisei na net por vários dias e não encontrava uma solução, então encontrei um script em PHP que faz a troca de senha do usuário LDAP de uma rede implantada com Samba. Fiz as modificações e adequei à minha necessidade. Segue o script. Para que ele funcione deve-se editar os seguintes parâmetros: $server $port $dn Instalar o sudo e dentro do /etc/sudoers adicionar as seguintes linhas: %sudo ALL=(ALL) ALL www-data ALL=(ALL)NOPASSWD: /usr/sbin/smbldap-passwd

Por: richard giovanni jose bergonzi


Conversão em massa de arquivos .wav para .mp3

O script a seguir converte todos os arquivos .wav do diretório atual para o formato .mp3. Requer o lame instalado.

Por: Luís Fernando C. Cavalheiro


Instalador de programas essenciais para seu desktop Ubuntu 12.04

Script em YAD para deixar o seu Ubuntu 12.04 redondo! Trata-se de uma interface simples para instalar programas essenciais para uso cotidiano em seu desktop.

Por: Daniel Lara Souza


Função "Partição de Inteiros" Recursiva SEM Tabela Estática em C

De quantos modos diferentes pode-se escrever 6 como soma de números maiores que zero? 6 = 5+1 = 4+2 = 3+3 = 4+1+1 = 3+2+1 = 2+2+2 = 3+1+1+1 = 2+2+1+1 = 2+1+1+1+1 = 1+1+1+1+1+1 11 modos diferentes. p(6) = 11. O cálculo do número de partições de um inteiro usa uma recursão bem mais demorada que a dos números de Fibonacci ou a fatorial. Este exemplo usa a recursão pura e simples sem armazenar os valores já calculados, necessitando de um novo cálculo a cada chamada. Isto porque pelo método de recursão, ela pode ter a necessidade de calcular valores anteriormente calculados. Quanto maior o valor requerido, maior o tempo. Quem não tiver saco de esperar a eternidade de cálculo para os valores deste código, sugiro modificar para um tempo que não seja tão cansativa a demora. Parte dos resultados pode ser conferida neste link: http://oeis.org/A000041

Por: Perfil removido


Clonar DVD pelo terminal

Resolvi montar este script que usa o dd e o growisofs para agilizar o processo de gravação de CDs. Modo de uso (no diretório corrente do script): ./gravaDVDtoDVD [velocidade 1 a 8 ] Modo de operação: - define variável para velocidade - define variável do ISO temporário - gera imagem ISO com o DD para o temp - ejeta a mídia - exibe aviso reposição mídia virgem - grava ISO em mídia - remove ISO temporário - ejeta mídia gravada Obs.: A variável TMPZ é igual a "/tmp/$(echo $$).iso", que na verdade é o caminho para o diretório /tmp + o pid do script, que neste caso é obtido pelo comando $(echo $$). Boa dica para quem precisa criar arquivo temporário para um script! Testado nos sistemas Centos 6.2, Centos 5.5, Ubuntu 10.4 e Debian 5.4. Façam bom uso. Espero ter ajudado! by Roberto Fettuccia

Por: Roberto Fettuccia



Anterior Proxima