Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Delphi ::: Dicas & Truques ::: Recursão (Recursividade)

Como calcular fatorial em Delphi usando recursividade

Quantidade de visualizações: 13433 vezes
O fatorial de um determinado número, representado por n! equivale a multiplicar este número por seus antecessores. Assim, o fatorial de 4 (4!) pode ser calculado da seguinte forma:

4 x 3 x 2 x 1 = 24

Sempre que falamos de recursão, o cálculo de fatorial nos auxilia na exemplicação por ser relativamente fácil de se entender todas as etapas do processo. O código abaixo mostra uma função recursiva em Delphi que calcula o fatorial de qualquer número. Tenha cuidado. Calcular o fatorial de um número maior que 10 pode tornar sua máquina extremamente lenta, além de, muitas vezes, não retornar os resultados esperados.

// função recursiva para calcular o fatorial
// de um determinado número
function fatorial(n: Integer): Integer;
begin
  if n = 0 then
    Result := 1
  else
    Result := n * fatorial(n - 1);
end;

// vamos chamar a função recursiva
// a partir do Click de um botão
procedure TForm1.Button1Click(Sender: TObject);
var
  res: Integer;
begin
  // vamos calcular o fatorial de 5
  res := fatorial(5);

  // vamos mostrar o resultado
  ShowMessage('O fatorial de 5 é: ' + IntToStr(res));
end;

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Java ::: Dicas & Truques ::: Mouse e Teclado

Java Avançado - Como verificar se a tecla Caps Lock está ativada usando o método getLockingKeyState() da classe Toolkit do Java

Quantidade de visualizações: 11563 vezes
Nesta dica mostrarei como é possível usar o método getLockingKeyState() da classe Toolkit da linguagem Java para verificar se a tecla Caps Lock estão ou não ativada no seu computador. Note o valor KeyEvent.VK_CAPS_LOCK sendo passado para o método.

Veja o código completo para o exemplo:

package arquivodecodigos;

import java.awt.Toolkit;
import java.awt.event.*;
 
public class Estudos{
  public static void main(String[] args){
    Toolkit tk = Toolkit.getDefaultToolkit();    
     
    if(tk.getLockingKeyState(KeyEvent.VK_CAPS_LOCK))
      System.out.println("A tecla Caps Lock está ativada");  
    else
      System.out.println("A tecla Caps Lock não está ativada");    
 
    System.exit(0);
  }
}

Ao executarmos este código você verá uma mensagem parecida com:

A tecla Caps Lock está ativada


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Exercício Resolvido de Java - Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deverá

Quantidade de visualizações: 479 vezes
Pergunta/Tarefa:

Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deverá indicar se a tentativa efetuada pelo usuário é maior ou menor que o número mágico e contar o número de tentativas. Quando o usuário conseguir acertar o número o programa deverá classificar o usuário como:

De 1 a 3 tentativas: muito sortudo
De 4 a 6 tentativas: sortudo
De 7 a 10 tentativas: normal
> 10 tentativas: tente novamente

Sua saída deverá ser parecida com:

Adivinhe o número mágico: 100
Tente um número menor.

Adivinhe o número mágico: 50
Tente um número maior.

Adivinhe o número mágico: 60
Tente um número maior.

Adivinhe o número mágico: 80
Tente um número maior.

Adivinhe o número mágico: 90
Tente um número maior.

Adivinhe o número mágico: 95
Tente um número menor.

Adivinhe o número mágico: 94
Tente um número menor.

Adivinhe o número mágico: 93
Tente um número menor.

Adivinhe o número mágico: 92
Você acertou o número em 9 tentativas.
Classificação: Normal
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java:

package estudos;

import java.util.Random;
import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    int numero_magico, palpite, tentativas = 0;
    boolean acertou = false;
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos sortear o número entre 0 e 500
    Random rand = new Random();
    numero_magico = rand.nextInt(501);
    
    // um laço que repete enquanto o usuário não
    // acertar o número mágico
    while (!acertou) {
      System.out.print("Adivinhe o número mágico: ");
      palpite = Integer.parseInt(entrada.nextLine());
      
      // registra essa tentativa
      tentativas = tentativas + 1;
      
      // o usuário acertou o número mágico?
      if (palpite == numero_magico) {
        System.out.println("Você acertou o número em " + tentativas + " tentativas.");
        
        // mostra a classificação do usuário
        if (tentativas <= 3) {
          System.out.println("Classificação: Muito Sortudo");
        }
        else if ((tentativas >= 4) && (tentativas <= 6)) {
          System.out.println("Classificação: Sortudo");
        }
        else if ((tentativas >= 7) && (tentativas <= 10)) {
          System.out.println("Classificação: Normal");
        }
        else {
          System.out.println("Classificação: Tente Novamente");
        }
        
        // sai do laço
        acertou = true;
      } 
      else {
        // indica se o palpite é maior ou menor
        if (palpite < numero_magico) {
          System.out.println("Tente um número maior.\n");
        }
        else {
          System.out.println("Tente um número menor.\n");
        }
      }
    }
  }
}



Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercício Resolvido de Portugol - Um programa que lê três números inteiros e mostra o maior

Quantidade de visualizações: 3818 vezes
Pergunta/Tarefa:

Faça um algoritmo em Portugol que solicita três números inteiros e mostra o maior deles. Exiba uma mensagem caso os três números não forem diferentes. Sua saída deverá ser parecida com:

Informe o primeiro número: 5
Informe o segundo número: 8
Informe o terceiro número: 3
O segundo número é o maior
Resposta/Solução:

Veja a resolução comentada deste exercício usando Portugol Webstudio:

// Um programa que lê três números inteiros e mostra o maior
programa {
  funcao inicio() {
    // variáveis usadas na resolução do problema
    inteiro num1, num2, num3 
    
    // vamos solicitar os três números inteiros
    escreva("Informe o primeiro número: ")
    leia(num1)
    escreva("Informe o segundo número: ")
    leia(num2)
    escreva("Informe o terceiro número: ")
    leia(num3)
    
    // o primeiro número é o maior?
    se (num1 > num2 e num1 > num3) {
      escreva("O primeiro número é o maior")
    }
    senao {
      // o segundo número é o maior?
      se (num2 > num1 e num2 > num3) {
        escreva("O segundo número é o maior")
      }
      senao{
        // o terceiro número é o maior?
        se (num3 > num1 e num3 > num2) { 
          escreva("O terceiro número é o maior")
        }
        // os número não são diferentes
       senao {
         escreva("Os três números não são diferentes")
       }
    }
  }
}



Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 97 usuários muito felizes estudando em nosso site.