Italo Info


Busca

Resultados encontrados: 32
Calculadora em Java

As linguagens de programação modernas disponibilizam estruturas de repetição para o programador. No entanto, é possível simular qualquer repetição com funções, procedimentos, ou métodos recursivos. Por isso, esse artigo mostra um exemplo construido com recursividade, sem nenhum comando de repetição. As funções e procedimentos recursivos são chamadas dentro da própria função ou procedimento. Exemplo: O procedimento recursividade é chamado no corpo do próprio procedimento. No entanto, esse procedimento recursivo gera um loop infinito. Isto é, leva o programa a travar. Por isso, normalmente, as funções ou procedimentos recursivos têm uma condição de parada para evitar o loop infinito. Por exemplo: como criar um procedimento em pascal que imprime os números de um a um número informado pelo usuário? Abaixo a solução com comando "for": Abaixo a solução com procedimento recursivo: Perceba que nas duas soluções são necessárias uma variável contador que foi nomeada "i" e uma condição de parada que é quando o contador "i" torna-se igual ao número "n". Perceba que na versão recursiva o contador é inicializado com 1 e passado como segundo parâmetro para o procedimento "imprime_numeros", enquanto que, na versão não recursiva a variável contador é criada no próprio procedimento, necessitando apenas de um número como parâmetro. A variável contador, nas duas soluções, tem seu valor variado de 1 até o numero "n". Perceba também que o procedimento recursivo recebe um parâmetro a mais no programa principal. Ou seja, a variavel contador "i" é inicializada com valor 1 no programa principal. Na função recursiva, o contador "i" é incrementado em 1 quando a função imprime_numeros é chamada de modo recursivo recebendo o parâmetro "i+1". Abaixo um programa que fiz inteiramente com recursividade ( Sem nenhuma estrutura de repetição ): Imagem capturada do programa: O código fonte escrito em linguagem pascal: program RECURSIVIDADE ; uses crt; type tvetor = array[ 1..100 ] of integer; procedure imprime_numeros( n : word; i : byte ); begin if ( i palavra[ length( palavra ) - i + 1 ] ) then eh := false else eh_palindromo( palavra, i+1, eh ); end; end; function fatorial( n : word ) : word; begin if ( n = 1 ) then fatorial := 1 else fatorial := n * fatorial( n-1 ); end; function fibo( n : word ) : word; begin if ( n = 0 ) or ( n = 1 ) then fibo := 1 else fibo := fibo( n-1 ) + fibo( n-2 ); end; procedure imprime_serie_fibo( n : word; i : byte ); begin if ( i '0' ) and ( op #27 ) then begin case op of '1': begin write( 'Informe um numero: ' ); readln( num ); writeln; write( 'Numeros: ' ); imprime_numeros( num, 1 ); readln; end; '2': begin write( 'Informe um numero: ' ); readln( num ); writeln; write( 'Primos: ' ); imprime_primos( num, 1 ); readln; end; '3': begin write( 'Informe um numero: ' ); readln( num ); writeln; write( 'Divisores de ',num,': ' ); imprime_divisores( num, 1 ); readln; end; '4': begin write( 'Informe uma palavra: ' ); readln( palavra ); eh_p := true; eh_palindromo( palavra, 1, eh_p ); writeln; if ( eh_p ) then writeln( 'A palavra ',palavra,' eh palindromo' ) else writeln( 'A palavra ',palavra,' nao eh palindromo' ); readln; end; '5': begin write( 'Informe um numero: ' ); readln( num ); fat := fatorial( num ); writeln; writeln( 'O fatorial de ',num,' eh: ', fat ); readln; end; '6': begin write( 'Informe um número: ' ); readln( num ); writeln; write( 'Serie fibbonacci: ' ); imprime_serie_fibo( num, 0 ); readln; end; '7': begin sorteia_numeros( vet, VET_MAX, VET_QUANT, 1 ); writeln; write( 'Numeros sorteados: ' ); imprime_vetor( vet, VET_QUANT, 1 ); ordena( vet, VET_QUANT, 1 ); writeln; write( 'Numeros ordenados: ' ); imprime_vetor( vet, VET_QUANT, 1 ); readln; end; end; prog_principal; end; End; Begin prog_principal; End. Baixe o código fonte aqui. Finalizando... É isso pessoal. Peço que quem tiver gostado, envie um comentário logo abaixo. Até o próximo 1486 Escrito por: Ítalo Herbert Última alteração feita em: 29/10/2024 18:59:06 Tags relacionadas: recursividade, linguagem, pascal, computador, função, procedimento, recursivo, recursiva, programação Você também pode gostar: Projeto ExpLabCurso gratuito de linguagem CProgramação em pascalFunçõesFunções recursivas Deixe seu comentário Nome: E-Mail: Comentario: obrigatório Mostrar na lista de comentários Código de verificação: Digite o código: obrigatório Enviar Limpar Comentários postados: Nenhum comentario visível postado até o momento, deixe o seu! Política de privacidade Produzido por Ítalo Herbert 0 singleton-exemplo.zip Após baixar o projeto, você pode compilar se estiver com o JDK. Então, use a linha de comandos para entrar na pasta base do projeto descompactado e utilize o seguinte comando para compilar: javac -d bin src/singleton/*.java src/singleton/audio/*.java Agora para rodar, basta utilizar o seguinte comando: java -cp bin singleton.Main oi-meu-chapa.wav No comando acima, você pode passar qualquer arquivo de áudio em formato ".wav" no lugar de "oi-meu-chapa.wav". Se não passar o arquivo, o "picapau.wav" é executado por padrão, conforme o comando abaixo: java -cp bin singleton.Main Finalizando... Esse é o final de mais um artigo sobre padrões de projeto. Desta vez, o padrão singleton foi discutido aqui. Espero que tenham gostado e, até o próximo! 1463 Escrito por: Ítalo Herbert Última alteração feita em: 25/10/2024 19:48:47 Tags relacionadas: singleton, padrão, design, pattern, java, prog, programação, refactoring, qualidade, código Você também pode gostar: Padrão DecoratorPadrão ObserverDesenho da bandeira do BrasilDesenhando em JavaPrincípios SOLID Deixe seu comentário Nome: E-Mail: Comentario: obrigatório Mostrar na lista de comentários Código de verificação: Digite o código: obrigatório Enviar Limpar Comentários postados: Nenhum comentario visível postado até o momento, deixe o seu! Política de privacidade Produzido por Ítalo Herbert 0 o( decorator, 75, Color.RED ); Decoradores de desenhos - Bandeira do Japão Abaixo o link de download do código fonte do projeto que desenha uma bandeira. Link de download: decorator-exemplo.zip Após baixar o projeto, você pode compilar se estiver com o JDK. Então, use a linha de comandos para entrar na pasta base do projeto descompactado e utilize o seguinte comando para compilar: javac -d bin src/bandeira/desenho/*.java src/bandeira/*.java Agora para rodar, basta utilizar o seguinte comando: java -cp bin bandeira.BandeiraMain Baixe, compile e rode o projeto e experimente adicionar novos decoradores, ou remover decoradores encadeados ou, mesmo, alterar a ordem das instâncias e teste novamente para ver que gráfico é gerado! Finalizando... Esse é o final de mais um artigo sobre padrões de projeto. Desta vez, o padrão decorator foi discutido aqui. Espero que tenham gostado e, até o próximo! 1435 Escrito por: Ítalo Herbert Última alteração feita em: 25/10/2024 19:37:57 Tags relacionadas: decorator, prog, programação, java, padrão, design, patterns, qualidade, código Você também pode gostar: Desenhando em JavaPadrão SingletonDesenho da bandeira do BrasilPadrão ObserverPrincípios SOLID Deixe seu comentário Nome: E-Mail: Comentario: obrigatório Mostrar na lista de comentários Código de verificação: Digite o código: obrigatório Enviar Limpar Comentários postados: Nenhum comentario visível postado até o momento, deixe o seu! Política de privacidade Produzido por Ítalo Herbert 0