Scripts sugeridos

Algorítimo de maior e menor

Algorítimo de verificação de maior ou menor número.

Por: Osandi augusto


Bubble Sort em Scilab

Função Scilab que ordena um vetor pelo método Bubble Sort.

Por: White Hawk


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


Função Fatorial Recursiva em Fortran 95

A velha função fatorial, recursiva, em Fortran versão 95. Para compilar, use: "gfortran fatorial001.f95 -o fatorial001", igual GNU Pascal e GCC Durante a execução (após compilado), o programa pede um número de um intervalo pré-definido de 0 a J. Insistentemente, há um loop indefinido para isto. "J" deve ser no máximo até 20, já que o número definido por 21! (fatorial de 21) excede 2^63. O que há de diferente no código são as particularidades desta linguagem: - Blocos com início e fim definidos por palavras, lembrando Pascal; - Cláusula "Program" semelhante a Pascal; - Comentários vêm após um ponto de exclamação; - Operadores lógicos definidos por palavras entre pontos (.OP.). Provavelmente foi daí que veio .AND., .T. .F. do Dbase, Clipper etc.; - Máscaras de formatação com strings, algo mais complexas que C para formatação de entrada/saída de dados. Podem ser feitas com um comando chamado "FORMAT". De novo uma referência ao "PICTURE" do Clipper; - Necessidade de uma estranha expressão (Advance='no') para evitar avanço de linha; - Dimensionamento do tamanho do tipo de dados (KIND=8). Esta cláusula aumenta o inteiro para 64 bits. 8 é o valor máximo; - Cláusula "PARAMETER" para declarar constantes; - Funções e subrotinas devem estar num bloco determinado em uma áres definida pela cláusula "CONTAINS"; - Não foi usado algo como "RETURN" ao final, mas uma variável especificada para retorno do valor; - Variáveis de sequências de caracteres são definidas por uma coisa que "lembra" uma multiplicação de um tipo (Character) por um valor (Character*5). - Não existe operador para resto de divisão (módulo, sinal de porcentagem "%" em C), sendo necessário o uso de uma função já implementada na linguagem (não aparece neste código). A sintaxe de Fortran é ricamente cheia de recursos tanto quanto C. Infelizmente não tão lacônica e taquigráfica quanto. Seu código compilado com gfortran gerou um executável pequeno, mesmo sem usar "strip -s". É tão verborrágica quanto Pascal e até mais, lembrando também Clipper e COBOL.

Por: Perfil removido


Zfehwallpaper - wallpaper no Openbox

Simples script em Zenity para utilizar imagens de cor sólida, 80x80 pixels, criadas no Gimp, como wallpaper lado a lado e também podendo escolher imagens de fotos para usar como papel de parede fazendo o uso do "feh" no Openbox. Para instalar: $ tar -xvf zfehwallpaper.tgz -C ~ $ cd ~ Mova o script zfehwallpaper para /usr/local/bin. Depois é só acessar o menu "Configurações" e escolher "zfeh wallpaper". NOTA: o papel de parede é definido somente na sessão atual do Openbox, ao reiniciar o mesmo ele não estará presente. Para salvar o wallpaper em todas as sessões, coloque o caminho do mesmo no arquivo ~/.config/openbox/autostart. Exemplo: feh --bg-scale /home/nando/Imagens/openbox-wallpaper1.jpg &

Por: Fernando T. Da Silva