sábado, 31 de agosto de 2013

[EDITORIAL 1] Os axiomas de Peano e a Indução Matemática


Em breve o Inductioncode fará sua análise sobre a forte relação entre os axiomas de Peano e a Indução Matemática. Peano definiu o conjunto que é a base da Indução Matemática, o conjunto dos números naturais.

@inductioncode

segunda-feira, 19 de agosto de 2013

Torres de Hanói em Haskell

Neste post, apresentarei uma implementação em Haskell do jogo conhecido como Torres de Hanói. Uma descrição completa com implementações em java e python já foi apresentada e discutida em outra postagem, para acessá-la clique aqui.

Torre de Hanói
  • Implementação em Haskell

hanoi :: Char -> Char -> Char -> Int -> IO()
hanoi a b c 0 = putStr ""
hanoi a b c n = do (hanoi a c b (n-1))
                   putStrLn ("Mova o disco " ++ (show n) ++ " de " ++ (show a) ++" para " ++ (show b))
                   (hanoi c b a (n-1)) 


Curtam a nossa fanpage no facebook: InductionCode no Facebook

domingo, 18 de agosto de 2013

Mostre que a soma dos primeiros N números naturais ímpares é $N^2$

Neste post, vamos usar a indução matemática para mostrar que a soma S(n) = 1 + 3 + 5 + ... + (2n - 1) é igual a $n^2$. Como sabemos, uma prova por indução é dividida em três partes:

  • Caso Base
  • Hipótese de Indução
  • Caso Geral

Então, para o problema em questão temos que:
  • Caso Base: para n = 1 temos que $S(1) = 1^2 = 1$.
  • Hipótese de Indução: vamos assumir que a fórmula vale para n-1 elementos, ou seja, $S(n-1) = (n-1)^2$.
  • Caso Geral: Agora basta estender a solução. Para isso, vamos utilizar o resultado encontrado na hipótese de indução. Fazemos, S(n) = S(n-1) + (2n - 1) = $n^2$. C.Q.D.

Em breve teremos mais provas por indução, aguardem!!!
Siga o @inductioncode no Twitter e no Facebook

sexta-feira, 16 de agosto de 2013

Redirecionamento de dados

   Conhecer e utilizar os recursos para o redirecionamento de dados disponibilizados pelo sistema operacional é algo fundamental, pois facilita e simplifica a criação de programas em diversas situações. Por padrão, os dispositivos de entrada e saída padrões são, respectivamente, o teclado e o monitor.
   Assim, quando utilizamos os comandos para capturar dados de entrada em alguma linguagem de programação, percebemos que esses dados são capturados a partir do teclado, pois como dissemos anteriormente, o teclado é o dispositivo de entrada padrão. A Tabela 1 mostra os comandos de entrada padrão de algumas linguagens de programação.

Tabela 1. Comandos de Entrada

   A boa notícia é que podemos mudar o dispositivo de entrada utilizado por esses comandos, podendo inclusive fazer com que um fluxo de dados de um arquivo seja redirecionado e utilizado como fonte de dados por esses comandos.

   Para redirecionar os dados utilizamos o operador "<". Com ele podemos direcionar a entrada padrão para um comando como em: cat < arquivo.txt. Ou podemos direcionar o fluxo de dados para o nosso programa como em: .\myprog < dados.txt . Um detalhe importante é que não precisamos utilizar em nossa implementação qualquer comando para manipular e ler dados do arquivo diretamente.

Para realizar o caminho inverso, ou seja, enviar dados de um programa para um arquivo, utilizamos o operador ">". Assim, ao invés de escrevermos os dados na tela, podemos direcioná-los para um arquivo fazendo: .\myprog > saida.txt.

Até Breve!
@inductioncode