Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Escreva um programa Java que inverte uma palavra, frase ou texto usando recursividade - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 716 vezes |
Pergunta/Tarefa: Escreva um programa Java que inverte uma palavra, frase ou texto usando recursividade. Seu programa deverá pedir para o usuário informar a string a ser invertida. Sua saída deverá ser parecida com: Informe uma palavra, frase ou texto: Arquivo de Códigos A string informada foi: Arquivo de Códigos A string invertida é: sogidóC ed oviuqrA Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package exercicio; import java.util.Scanner; public class Exercicio { public static void main(String[] args) { // cria um novo objeto da classe Scanner Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar a string System.out.print("Informe uma palavra, frase ou texto: "); String texto = entrada.nextLine(); // mostra a string informada System.out.println("A string informada foi: " + texto); // agora mostramos a string invetida System.out.println("A string invertida é:"); inverterString(texto); } // método recursivo que recebe uma string e a imprime de forma inversa public static void inverterString(String string) { // a string está vazia? if((string == null) || (string.length() <= 1)){ System.out.print(string); } // vamos fazer mais uma chamada recursiva else { System.out.print(string.charAt(string.length() - 1)); inverterString(string.substring(0, string.length() - 1)); } } } |
Link para compartilhar na Internet ou com seus amigos: |
PHP ::: Dicas & Truques ::: Matemática e Estatística |
Como converter um valor decimal em binário usando a função decbin() da linguagem PHPQuantidade de visualizações: 11181 vezes |
A conversão de um valor decimal em binário pode ser feita em PHP usando a função decbin(). Esta função aceita um valor numérico e retorna o valor binário como uma string. Veja o resultado no trecho de código abaixo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudando PHP</title> </head> <body> <?php // valor decimal $decimal = 14; // converte para binário $binario = decbin($decimal); // exibe o resultado echo "O resultado da conversão é: " . $binario; ?> </body> </html> Ao executarmos este código PHP nós teremos o seguinte resultado: O resultado da conversão é: 1110 |
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em Delphi usando a função Cos() - Calculadora de cosseno em DelphiQuantidade de visualizações: 931 vezes |
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem Delphi. Esta função, incorporada por padrão à linguagem, recebe um valor numérico (Extended) e retorna um valor Extended, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Add('Cosseno de 0 = ' + FloatToStr(Cos(0))); Memo1.Lines.Add('Cosseno de 1 = ' + FloatToStr(Cos(1))); Memo1.Lines.Add('Cosseno de 2 = ' + FloatToStr(Cos(2))); end; Ao executar este código Delphi nós teremos o seguinte resultado: Cosseno de 0 = 1 Cosseno de 1 = 0,54030230586814 Cosseno de 2 = -0,416146836547142 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como usar a classe TDBGrid do Delphi em suas aplicaçõesQuantidade de visualizações: 9438 vezes |
Um objeto da classe TDBGrid permite a exibição e manipulação de registros a partir de um conjunto de dados (dataset) em uma grid tabular. Em geral os dados exibidos em um TDBGrid vêm de uma tabela no banco de dados ou como resultados de uma query. Por meio deste controle o usuário consegue adicionar, excluir e modificar informações em uma tabela do banco de dados. Antes de prosseguirmos, veja a posição desta classe na hierarquia de classes do Delphi: System.TObject Classes.TPersistent Classes.TComponent Controls.TControl Controls.TWinControl Controls.TCustomControl Grids.TCustomGrid DBGrids.TCustomDBGrid DBGrids.TDBGrid A forma mais comum de se usar um controle TBGrid em aplicações Delphi é colocá-lo em um formulário e definir suas propriedades em tempo de design. A exibição dos dados é feita indicando um componente TDataSource para a sua propriedade DataSource. Isso pode ser feito em tempo de design ou durante a execução do programa. Veja um trecho de código no qual usamos o evento Click de um botão para definir a fonte de dados (TDataSource) para a propriedade DataSource de um TDBGrid chamado "DBGrid1": ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm3.Button2Click(Sender: TObject); begin DBGrid1.DataSource := DataSource1; end; Em outras dicas sobre Delphi + Banco de dados você encontrará exemplos de como efetuar conexões com diversos bancos de dados. É importante que você saiba como efetuar conexões com o banco de dados e extrair informações antes de estudar o componente TDBGrid. Em tempo de execução os usuários podem usar um navegador de base de dados (TDBNavigator) para percorrer os dados na grid e inserir, excluir ou editar as informações. As modificações feitas nas células de um TDBGrid são enviadas ao conjunto de dados somente quando o usuário acessa um registro diferente daquele sendo atualizado ou fecha a aplicação. O TDBGrid implementa o comportamento genérico introduzido na classe TCustomDBGrid. A classe TDBGrid publica muitas das propriedades herdadas de TCustomDBGrid, mas não introduz nenhum novo comportamento. Esta dica foi escrita e testada no Delphi 2009. |
C# ::: Windows Forms ::: TextBox |
Como contar as palavras em um TextBox de múltiplas linhas do C# Windows FormsQuantidade de visualizações: 13613 vezes |
Em algumas situações nós precisamos retornar a quantidade de palavras digitadas em um campo TextBox de múltiplas linhas do C# Windows Forms. O trecho de código abaixo mostra como isso pode ser feito. Note como usei os métodos da classe String para alcançar o objetivo. Veja o código C# completo disparado a partir do clique de um botão Button: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- /* Este exemplo mostra como obter a quantidade de palavras em um TextBox. Veja que usamos a técnica de contar as palavras contidas em um array após retirar as quebras de linhas e espaços duplicados na string. */ private void button1_Click(object sender, EventArgs e){ // Obtém o texto da caixa de texto string texto = textBox1.Text.Trim(); // Remove as quebras de linhas substituindo-as por // espaços texto = texto.Replace(Environment.NewLine, " "); // remove os espaços em excesso while(texto.IndexOf(" ") >= 0){ texto = texto.Replace(" ", " "); } // Obtém um array de palavras string[] palavras = texto.Split(" "); // Obtém a quantidade de palavras int quant = palavras.Length; // Exibe o resultado MessageBox.Show("O TextBox contém " + quant + " palavras."); } |
C# ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar herança em C# - Programação Orientada a Objetos em C#Quantidade de visualizações: 26273 vezes |
Herança é uma dos três princípios fundamentais da programação orientada a objetos porque ela permite a criação de hierarquia nos objetos que compõem o sistema. Em C#, uma classe que tem seus dados e métodos herdados por outra é chamada de classe base ou super classe e a classe que herda tais dados é chamada de classe derivada ou sub-classe. O que um aluno, um professor e um funcionário possuem em comum? Todos eles são pessoas e, portanto, compartilham alguns dados comuns. Todos têm nome, idade, endereço, etc. E, o que diferencia um aluno de uma outra pessoa qualquer? Um aluno possui uma matrícula; Um funcionário possui um código de funcionário, data de admissão, salário, etc; Um professor possui um código de professor e informações relacionadas à sua formação. É aqui que a herança se torna uma ferramenta de grande utilidade. Podemos criar uma classe Pessoa, que possui todos os atributos e métodos comuns a todas as pessoas e herdar estes atributos e métodos em classes mais específicas, ou seja, a herança parte do geral para o mais específico. Comece criando uma classe Pessoa como mostrado no código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- class Pessoa{ public string nome; public int idade; } Esta classe possui os atributos nome e idade. Estes atributos são comuns a todas as pessoas. Veja agora como podemos criar uma classe Aluno que herda estes atributos da classe Pessoa e inclui seu próprio atributo, a saber, seu número de matrícula. Eis o código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- class Aluno: Pessoa{ public string matricula; } Observe que, em C#, os dois-pontos são usados para indicar a herança. A classe Aluno agora possui três atributos: nome, idade e matricula. Veja uma aplicação demonstrando este relacionamento: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ // cria um objeto da classe Aluno Aluno aluno = new Aluno(); aluno.nome = "Osmar J. Silva"; aluno.idade = 36; aluno.matricula = "AC33-65"; // Exibe o resultado Console.WriteLine("Nome: " + aluno.nome + "\n" + "Idade: " + aluno.idade + "\n" + "Matrícula: " + aluno.matricula); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } A herança nos fornece um grande benefício. Ao concentrarmos características comuns em uma classe e derivar as classes mais específicas a partir desta, nós estamos preparados para a adição de novas funcionalidades ao sistema. Se mais adiante uma nova propriedade comum tiver que ser adicionada, não precisaremos efetuar alterações em todas as classes. Basta alterar a superclasse e pronto. As classes derivadas serão automaticamente atualizadas. |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
Delphi - Como usar a propriedade Eof para verificar se estamos no último registro do TClientDataSet do Delphi |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |