Crie um algoritmo e um programa que solicite ao usuário digitar dois números inteiros. O programa deverá verificar se estes números são múltiplos entre si. O programa deve mostrar na tela uma das seguintes mensagens “São múltiplos” ou “Não são múltiplos”.

 

algoritmos desvio condicional

Fala galera da programação, tudo beleza?

Hoje vamos fazer um exercício com números múltiplos.

O que são números múltiplos?

Números múltiplos são números que podem ser obtidos multiplicando-se um número inteiro por outro. Em outras palavras, um número é considerado um múltiplo de outro se puder ser dividido por esse outro número sem deixar resto.

Por exemplo:

  • 6 é um múltiplo de 2, pois 6 dividido por 2 é igual a 3, sem resto.
  • 15 é um múltiplo de 5, pois 15 dividido por 5 é igual a 3, sem resto.
  • 9 é um múltiplo de 3, pois 9 dividido por 3 é igual a 3, sem resto.

Em resumo, se ao dividirmos um número (denominado “a”) por outro número (denominado “b”) e o resto da divisão for igual a zero, então “a” é um múltiplo de “b”.

 

Dicas do exercício

Para realizar esta verificação, devemos dividir os dois números entre si e verificar se o resto da divisão é igual a zero.

Exemplo de saída: se o usuário informar os números 3 e 21, a mensagem “ São múltiplos” deverá ser mostrada na tela. Se o usuário informar os números 5 e 7, a mensagem “ Não são múltiplos” deverá ser mostrada na tela.

Outro ponto importante é que para resolver este problema, duas divisões devem ser realizadas. No primeiro exemplo, devemos dividir 3/21 e 21/3. Se uma das duas divisões resultar em resto zero (21/3), então os dois números serão múltiplos.

 

Vamos aos códigos!

 

Exemplo em C++

/******************************************************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
#include <iostream>

using namespace std;

int main() {
    int num1, num2;

    // Solicita ao usuário que digite dois números inteiros
    cout << "Digite o primeiro número inteiro: ";
    cin >> num1;
    cout << "Digite o segundo número inteiro: ";
    cin >> num2;

    // Verifica se os números são múltiplos entre si
    if (num1 % num2 == 0 || num2 % num1 == 0) {
        cout << "São múltiplos" << endl;
    } else {
        cout << "Não são múltiplos" << endl;
    }

    return 0;
}

A estratégia utilizada foi bastante direta e baseada na definição de múltiplos. Aqui está uma explicação passo a passo:

  1. Entrada de dados: O programa solicita ao usuário que insira dois números inteiros, armazenando esses valores nas variáveis num1 e num2.
  2. Verificação de múltiplos: O programa verifica se os números são múltiplos entre si. Isso é feito verificando se o resto da divisão de num1 por num2 é zero OU o resto da divisão de num2 por num1 é zero. Se uma dessas condições for verdadeira, então os números são múltiplos um do outro.
  3. Saída de mensagem: Dependendo do resultado da verificação, o programa exibe a mensagem “São múltiplos” ou “Não são múltiplos” na tela.

 

Exemplo em C

/******************************************************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
#include <stdio.h>

int main() {
    int num1, num2;

    // Solicita ao usuário que digite dois números inteiros
    printf("Digite o primeiro número inteiro: ");
    scanf("%d", &num1);
    printf("Digite o segundo número inteiro: ");
    scanf("%d", &num2);

    // Verifica se os números são múltiplos entre si
    if (num1 % num2 == 0 || num2 % num1 == 0) {
        printf("São múltiplos\n");
    } else {
        printf("Não são múltiplos\n");
    }

    return 0;
}

Neste código em C, os comandos printf e scanf são usados para entrada e saída, respectivamente. A lógica para verificar se os números são múltiplos é a mesma que foi explicada anteriormente para o código em C++.

 

Exemplo em Pascal / Delphi / Lazarus

(**************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

***************************************)
program VerificarMultiplos;

var
  num1, num2: Integer;

begin
  // Solicita ao usuário que digite dois números inteiros
  Write('Digite o primeiro número inteiro: ');
  Readln(num1);
  Write('Digite o segundo número inteiro: ');
  Readln(num2);

  // Verifica se os números são múltiplos entre si
  if (num1 mod num2 = 0) or (num2 mod num1 = 0) then
    Writeln('São múltiplos')
  else
    Writeln('Não são múltiplos');
end.

Neste código em Pascal, utilizamos os comandos Write e Readln para entrada e saída de dados, respectivamente. A lógica para verificar se os números são múltiplos é a mesma usada nos exemplos anteriores.

 

Exemplo em Python

'''

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

'''
# Solicita ao usuário que digite dois números inteiros
num1 = int(input("Digite o primeiro número inteiro: "))
num2 = int(input("Digite o segundo número inteiro: "))

# Verifica se os números são múltiplos entre si
if num1 % num2 == 0 or num2 % num1 == 0:
    print("São múltiplos")
else:
    print("Não são múltiplos")

Neste código em Python, usamos a função input() para obter a entrada do usuário e int() para converter essa entrada em números inteiros. Em seguida, verificamos se os números são múltiplos entre si usando a mesma lógica explicada anteriormente. Por fim, exibimos a mensagem correspondente na tela usando print().

 

Exemplo em C# / C Sharp

/******************************************************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
using System;

class Program
{
    static void Main()
    {
        int num1, num2;

        // Solicita ao usuário que digite dois números inteiros
        Console.Write("Digite o primeiro número inteiro: ");
        num1 = Convert.ToInt32(Console.ReadLine());
        Console.Write("Digite o segundo número inteiro: ");
        num2 = Convert.ToInt32(Console.ReadLine());

        // Verifica se os números são múltiplos entre si
        if (num1 % num2 == 0 || num2 % num1 == 0)
        {
            Console.WriteLine("São múltiplos");
        }
        else
        {
            Console.WriteLine("Não são múltiplos");
        }
    }
}

Neste código em C#, utilizamos Console.Write() e Console.ReadLine() para obter a entrada do usuário e Convert.ToInt32() para converter essa entrada em números inteiros. Em seguida, verificamos se os números são múltiplos entre si usando a mesma lógica explicada anteriormente. Por fim, exibimos a mensagem correspondente na tela usando Console.WriteLine().

 

Exemplo em Java

/******************************************************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num1, num2;

        // Solicita ao usuário que digite dois números inteiros
        System.out.print("Digite o primeiro número inteiro: ");
        num1 = scanner.nextInt();
        System.out.print("Digite o segundo número inteiro: ");
        num2 = scanner.nextInt();

        // Verifica se os números são múltiplos entre si
        if (num1 % num2 == 0 || num2 % num1 == 0) {
            System.out.println("São múltiplos");
        } else {
            System.out.println("Não são múltiplos");
        }

        scanner.close();
    }
}

Neste código Java, utilizamos a classe Scanner para obter a entrada do usuário. Em seguida, verificamos se os números são múltiplos entre si usando a mesma lógica explicada anteriormente. Por fim, exibimos a mensagem correspondente na tela usando System.out.println().

 

Exemplo em Rust

/******************************************************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
use std::io;

fn main() {
    let mut num1 = String::new();
    let mut num2 = String::new();

    // Solicita ao usuário que digite dois números inteiros
    println!("Digite o primeiro número inteiro: ");
    io::stdin().read_line(&mut num1)
        .expect("Falha ao ler o número");

    println!("Digite o segundo número inteiro: ");
    io::stdin().read_line(&mut num2)
        .expect("Falha ao ler o número");

    let num1: i32 = num1.trim().parse().expect("Por favor, insira um número inteiro válido");
    let num2: i32 = num2.trim().parse().expect("Por favor, insira um número inteiro válido");

    // Verifica se os números são múltiplos entre si
    if num1 % num2 == 0 || num2 % num1 == 0 {
        println!("São múltiplos");
    } else {
        println!("Não são múltiplos");
    }
}

Neste código em Rust, usamos o pacote padrão std::io para lidar com entrada e saída de dados. A lógica para verificar se os números são múltiplos entre si é a mesma explicada anteriormente. Por fim, exibimos a mensagem correspondente na tela usando println!().

 

O que podemos aprender neste exercício?

Neste exercício, podemos aprender alguns conceitos e práticas importantes:

  1. Entrada e saída de dados: Aprendemos como solicitar entrada de dados do usuário e exibir mensagens na tela, usando diferentes métodos dependendo da linguagem de programação utilizada. Em cada linguagem, há uma maneira específica de fazer isso, como por exemplo, scanf e printf em C, cin e cout em C++, input() e print() em Python, Console.ReadLine() e Console.WriteLine() em C#, Read e Write em Pascal, e Scanner, e System.out.println() em Java.
  2. Operadores matemáticos: Entendemos como usar operadores matemáticos para realizar cálculos e verificar relações entre números. No caso deste exercício, utilizamos o operador de módulo (%) para calcular o resto da divisão entre dois números, permitindo-nos verificar se um número é múltiplo do outro.
  3. Estruturas condicionais: Vimos como usar estruturas condicionais (como if-else em todas as linguagens) para tomar decisões com base em determinadas condições. Isso nos permitiu determinar se os números fornecidos pelo usuário são múltiplos um do outro e exibir mensagens correspondentes de acordo com o resultado.
  4. Lógica de programação: Este exercício nos desafiou a pensar logicamente sobre como resolver o problema proposto. A lógica para verificar se dois números são múltiplos entre si é simples, mas requer uma compreensão clara dos conceitos matemáticos subjacentes e das estruturas de programação necessárias para implementá-la.
  5. Flexibilidade de linguagens: Ao implementar o mesmo problema em várias linguagens de programação, podemos observar como diferentes linguagens abordam a solução de maneiras semelhantes ou diferentes. Isso nos ajuda a entender as nuances de cada linguagem e a apreciar sua aplicabilidade em diferentes contextos.

 

Conclusão

Espero que tenham gostado pessoal. Isso faz parte da jornada do aprendizado. No geral, este exercício nos forneceu uma oportunidade valiosa para praticar habilidades de programação e expandir o conhecimento sobre diferentes linguagens de programação.

 

Dúvidas ou sugestão de outras linguagens? Deixe o seu comentário!

 

Um abraço e até o próximo post. Valeu!

 

#Algortimos #GiovaniDaCruz

  • Publicado por Giovani Da Cruz
  • 0 comentarios
  • 19 de fevereiro de 2024

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados a Categoria

Continue aprendendo

Aumente o seu conhecimento
Sobrescrita e Sobrecarga de Métodos na Programação Orientada a Objetos

Fala galera da programação, tudo beleza? A programação orientada a objetos (POO) é um paradigma de programação que organiza o software em objetos, cada um contendo dados e comportamentos. Dois conceitos fundamentais nesse paradigma são a sobrescrita (override) e a sobrecarga (overload) de métodos. Ambos desempenham papéis cruciais na construção de software flexível, reutilizável e […]

15 de junho de 2024
O Que é um Provento: Um Guia Completo

Oi gente, tudo bem com vocês? Investir no mercado financeiro pode ser um desafio, especialmente para quem está começando. Com tantas opções e termos técnicos, é fácil sentir-se perdido. Um conceito fundamental que todo investidor precisa entender é o dos proventos, que representam uma parte significativa dos retornos financeiros. Neste artigo, exploramos o que são […]

1 de junho de 2024
O Que é a Data Ex-Proventos no Mercado Financeiro

Oi gente, tudo bem com vocês? Na nossa jornada em construir nosso patrimônio, vamos nos deparar com diversos termos que podem nos causar dúvidas. Um deles é o Ex-Proventos. Hoje vamos conhecer melhor o significado disso no mercado financeiro.   Introdução No mercado financeiro, a data ex-proventos é um conceito fundamental para investidores que buscam […]

1 de junho de 2024
Entendendo Class Helpers no Delphi

Fala galera da programação, tudo beleza? Você sabia que pode estender funcionalidades de classes existentes no Delphi sem modificar o código original? Hoje vamos descobrir como usar Class Helpers no Delphi para estender funcionalidades de classes existentes de maneira simples e eficiente!   Introdução Class Helpers são um recurso poderoso e prático introduzido no Delphi, […]

30 de maio de 2024
Funções Inline no Delphi: Otimizando o Desempenho do Seu Código

Fala galera de programação, tudo beleza? No desenvolvimento de software, a eficiência e a performance do código são aspectos cruciais, especialmente em aplicações que exigem alta performance ou que operam em ambientes com recursos limitados. Uma técnica disponível para desenvolvedores Delphi é a utilização de funções inline. Neste artigo, vamos explorar o que são funções […]

29 de maio de 2024
O Que São Números Hiper-reais?

Oi gente, tudo bem com vocês? Hoje vamos descobrir os números hiper-reais! Eles são uma extensão fascinante dos números reais que inclui infinitesimais e infinitos.   Introdução Os números hiper-reais são uma extensão dos números reais, concebidos para formalizar e manipular conceitos de infinitesimais e infinitos, que frequentemente aparecem em cálculos e análises, especialmente no […]

28 de maio de 2024
Entendendo o Fluxo de Caixa: Guia Prático para seu Negócio

Oi gente, tudo bem com vocês? O fluxo de caixa é uma ferramenta essencial para qualquer empresa, independentemente do seu tamanho ou setor. Ele permite que os gestores acompanhem a entrada e saída de dinheiro ao longo do tempo, garantindo que a empresa tenha liquidez para honrar seus compromissos e investir em crescimento. Neste post, […]

26 de maio de 2024
Entendendo Métodos Deprecated: O Que São e Como Lidar com Eles

Fala galera de programação, tudo beleza? No desenvolvimento de software, é comum nos depararmos com o termo “deprecated” (ou “obsoleto” em português). Mas o que isso significa exatamente? Vamos explorar esse conceito e entender sua importância no ciclo de vida do desenvolvimento de software.   O Que São Métodos Deprecated? Quando uma biblioteca ou framework […]

25 de maio de 2024
Como Fazer uma Requisição HTTP para Obter um JSON em Delphi

Fala galera de Delphi, tudo beleza? Neste post, vamos aprender como fazer uma requisição HTTP para obter um arquivo JSON a partir de uma URL em Delphi. Utilizaremos a biblioteca TNetHTTPClient, que é fácil de usar e está disponível nas versões mais recentes do Delphi.   Passos Iniciais Crie um novo projeto Delphi VCL ou […]

24 de maio de 2024
O Jogo: A Nova Tendência Entre os Jovens

Oi gente, tudo bem como vocês? Já aconteceu com vocês de algum conhecido chegar e falar “O Jogo”? Curioso para saber sobre a brincadeira que tem gerado risadas e criado uma nova forma de interação entre os jovens? Aprenda tudo sobre “O Jogo” e entenda como essa simples expressão está se espalhando nas redes sociais […]

23 de maio de 2024