Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Um método recursivo que calcula o MDC (máximo divisor comum) entre dois números inteiros - Desafio de Programação Resolvido em Java

Quantidade de visualizações: 8377 vezes
Exercício Resolvido de Java - Um método recursivo que calcula o MDC (máximo divisor comum) entre dois números inteiros

Pergunta/Tarefa:

O máximo divisor comum ou MDC (mdc) entre dois ou mais números inteiros é o maior número inteiro que é fator de tais números. Por exemplo, os divisores comuns de 12 e 18 são 1, 2, 3 e 6, logo mdc(12, 18) = 6. A definição abrange qualquer número de termos, por exemplo mdc(10, 15, 25, 30) = 5.

O cálculo do MDC entre x e y pode ser feito recursivamente da seguinte forma: Se y for igual a 0, então mdc(x, y) = x. Caso contrário, mdc(x, y) = mdc(y, x % y), no qual % é o operador de módulo (restante da divisão inteira).

Escreva um método recursivo que receba dois inteiros e calcule o mdc. Seu método deverá possuir a seguinte assinatura:

public static int mdc(int x, int y){
  // sua implementação aqui
}
Sua saída deverá ser parecida com:

Informe o primeiro inteiro: 12
Informe o segundo inteiro: 18
O MDC dos valores 12 e 18 é 6
Resposta/Solução:

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 solicitar dois valores inteiros
    System.out.print("Informe o primeiro inteiro: ");
    // lê o primeiro inteiro
    int a = Integer.parseInt(entrada.nextLine());
    // solicita o segundo inteiro
    System.out.print("Informe o segundo inteiro: ");
    // lê o segundo inteiro
    int b = Integer.parseInt(entrada.nextLine());
    
    // mostra o resultado
    System.out.print("O MDC dos valores " + a + " e " +
      b + " é " + mdc(a, b));
    System.out.println("\n");
  }
  
  // método recursivo que calcula o mdc de dois inteiros
  public static int mdc(int x, int y){
    // a recursividade é interrompida quando y for igual a 0
    if(y == 0){
      return x;
    }
    else{
      return mdc(y, x % y); // efetua uma nova chamada recursiva
    }
  }
}


Link para compartilhar na Internet ou com seus amigos:

C# ::: Windows Forms ::: DataGridView

Como ocultar ou exibir uma determinada coluna do DataGridView do C# Windows Forms

Quantidade de visualizações: 13355 vezes
Em algumas situações precisamos ocultar ou exibir determinadas colunas do DataGridView. Isso pode ser feito definindo-se os valores true ou false para a propriedade Visible da classe DataGridViewColumn. Veja um trecho de código no qual ocultamos a segunda coluna do DataGridView:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button3_Click(object sender, EventArgs e){
  // vamos ocultar a segunda coluna
  dataGridView1.Columns[1].Visible = false;
}

Veja que aqui nós acessamos a coleção DataGridViewColumnCollection e usamos um índice para retornar o DataGridViewColumn desejado. É possível também acessar um determinado DataGridViewColumn na coleção de colunas usando o valor definido para sua propriedade name. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button3_Click(object sender, EventArgs e){
  // vamos ocultar a segunda coluna
  dataGridView1.Columns["populacao"].Visible = false;
}



Delphi ::: Dicas & Truques ::: Matemática e Estatística

Como arredondar casas decimais para baixo usando a função Floor() do Delphi

Quantidade de visualizações: 13468 vezes
A função Floor(), presente na unit Math, é útil quando queremos arrendondar valores de ponto-flutuante (valores com casas decimais) para baixo, ou seja, para o maior inteiro menor ou igual ao valor fornecido. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure TForm2.Button1Click(Sender: TObject);
var
  valor: Real;
  resultado: Integer;
begin
  // uses Math

  valor := 8.74;

  // vamos arredondar o valor para baixo
  // o resultado será 8
  resultado := Floor(valor);

  // exibe o resultado
  ShowMessage('O valor arredondado para baixo é: ' +
    IntToStr(resultado));
end;

Note que os valores 8.0001, 8.3, 8.1, 8.99, etc, serão todos arredondados para 8. No entanto, 9.0 é arredondado para 9.

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


PHP ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como converter graus em radianos em PHP usando a função deg2rad() - Trigonometria para iniciantes

Quantidade de visualizações: 13765 vezes
As unidades grau e radiano são muito usadas em cálculos de trigonometria. O grau é de uso mais no cotidiano pela sua praticidade, pois envolve, na maioria dos casos, números inteiros.

O radiano é de uso em cálculos envolvendo geralmente números racionais (e também na programação gráfica, uma vez que praticamente todas as linguagens de programação possuem funções de trigonometria que requerem e retornam valores em radianos, e não em graus).

Graus podem ser convertidos para radianos usando-se a seguinte fórmula:



Note que o valor de PI é 3,14 (aproximadamente).

Veja agora um trecho de código PHP que converte um ângulo em graus para radianos:

----------------------------------------------------------------------
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
  $graus = 45;
  $radianos = ($graus / 180) * pi();  

  echo "Ângulo em graus: " . $graus . "<br>";
  echo "Ângulo em radianos: " . $radianos;
?>
 
</body>
</html>

Ao executarmos este código nós teremos o seguinte resultado:

Ângulo em graus: 45
Ângulo em radianos: 0.78539816339745

O PHP, na contramão de várias outras linguagens de programação, nos fornece uma função já embutida que nos permite converter de graus para radianos. Esta função se chama deg2rad(), recebe um valor em graus e devolve o resultado em radianos. Veja como usá-la no código PHP 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
  $graus = 45;
  $radianos = deg2rad($graus);  

  echo "Ângulo em graus: " . $graus . "<br>";
  echo "Ângulo em radianos: " . $radianos;
?>
 
</body>
</html>

Ao executarmos o código novamente, teremos o seguinte resultado:

Ângulo em graus: 45
Ângulo em radianos: 0.78539816339745

Veja que o resultado obtido com o uso da função deg2rad() foi o mesmo que obtivemos com o cálculo no início da dica.

Para finalizar, saiba que 45o, assim como 30o e 60o são conhecidos como ângulos notáveis, e seus valores em radianos, assim como seus seno, cosseno e tangentes, devem ser memorizados se você quiser se tornar um guru (ou guroa) em geometria e trigonometria (e em computação gráfica, é claro).


PHP ::: Dicas & Truques ::: Matemática e Estatística

Como calcular juros simples e montante usando PHP

Quantidade de visualizações: 11417 vezes
O regime de juros será simples quando o percentual de juros incidir apenas sobre o valor principal. Sobre os juros gerados a cada período não incidirão novos juros. Valor Principal ou simplesmente principal é o valor inicial emprestado ou aplicado, antes de somarmos os juros. Transformando em fórmula temos:

J = P . i . n

Onde:

J = juros
P = principal (capital)
i = taxa de juros
n = número de períodos

Imaginemos uma dívida de R$ 2.000,00 que deverá ser paga com juros de 5% a.m. pelo regime de juros simples e o prazo para o pagamento é de 2 meses. O cálculo em PHP pode ser feito assim:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php
  $principal = 2000.00;
  $taxa = 0.08; // 8%
  $meses = 2;
  
  $juros = $principal * $taxa * $meses;
  
  echo "O total de juros a ser pago é: " . $juros;
?>

O montante da dívida pode ser obtido das seguintes formas:

a) Montante = Principal + Juros
b) Montante = Principal + (Principal x Taxa de juros x Número de
períodos)


M = P . (1 + (i . n))

Veja o código:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php
  $principal = 2000.00;
  $taxa = 0.08; // 8%
  $meses = 2;
  
  $juros = $principal * $taxa * $meses;
  $montante = $principal * (1 + ($taxa * $meses));
  
  echo "O total de juros a ser pago é: " . $juros . "<br>";
  echo "O montante a ser pago é: " . $montante;
?>



C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o operador condicional (operador ternário) da linguagem C++ - C++ para iniciantes

Quantidade de visualizações: 26611 vezes
A linguagem C++ fornece um operador condicional, também chamado de operador ternário) que é muito semelhante a um bloco if...else. Este operador aceita três operandos. O primeiro operando é uma condição, o segundo é valor para a expressão condicional se o resultado do teste for true. O terceiro operando é o valor para a expressão condicional caso o resultado do teste for false. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

int valor = 10;

cout << (valor >= 5 ? "Maior ou igual a 5" : "Menor que 5");

Este trecho de código pode ser escrito usando if...else da seguinte forma:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

int valor = 10;

if(valor >= 5)
  cout << "Maior ou igual a 5";
else
  cout << "Menor que 5";

O operador condicional pode ser resumido na seguinte estrutura:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

Exp1 ? Exp2 : Exp3

A expressão Exp1 é avaliada. Se esta resultar verdadeira, a expressão Exp2 se torna o resultado da operação. Se a expressão Exp1 resultar falso, a expressão Exp3 se torna o resultado da operação. Veja mais um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

int valor = 5;
	
// usando o operador condicional I
bool res = (valor > 10 ? true : false);

// usando o operador condicional II
(res ? cout << "Verdadeiro" : cout << "False");



Desafios, Exercícios e Algoritmos Resolvidos de C++

Veja mais Dicas e truques de C++

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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