Crie um programa(código) na linguagem scilab para resolver a questão a seguir: Faça uma função que receba um número inteiro positivo de 4 dígitos (entre 1000 e 9999) e retorne os seus quatro dígitos em variáveis diferentes.

Passo 1

Primeiro, vamos entender o que o exercício pede. Precisamos criar uma função em Scilab que receba um número inteiro positivo de 4 dígitos, ou seja, um número entre 1000 e 9999. Essa função deve separar esse número nos seus quatro dígitos individuais e retornar cada um deles em variáveis diferentes. Para isso, vamos utilizar operações matemáticas básicas como divisão e módulo para extrair cada dígito.

Passo 2

Vamos começar criando uma função em Scilab. Em Scilab, uma função é definida usando a palavra-chave function. Vamos chamar nossa função de separar_digitos e ela receberá um parâmetro, que é o número de 4 dígitos.

Passo 3

Dentro da função, precisamos garantir que o número recebido está dentro do intervalo de 1000 a 9999. Podemos usar uma estrutura condicional if para verificar isso. Se o número não estiver nesse intervalo, podemos exibir uma mensagem de erro.

Passo 4

Para separar os dígitos, vamos usar a operação de divisão inteira e o operador módulo (mod). O operador módulo retorna o resto da divisão, que nos ajuda a isolar cada dígito. Vamos extrair os dígitos da esquerda para a direita.

Passo 5

Primeiro, vamos obter o primeiro dígito dividindo o número por 1000 e usando a função floor para eliminar qualquer decimal. Em seguida, para o segundo dígito, subtraímos o primeiro dígito multiplicado por 1000 do número original e dividimos o resultado por 100, novamente usando floor.

Passo 6

Repetimos o mesmo processo para os terceiro e quarto dígitos. Para o terceiro dígito, subtraímos os dois primeiros dígitos multiplicados por 1000 e 100, respectivamente, e dividimos por 10. Finalmente, o quarto dígito é o resto da divisão por 10.

Resposta

function [d1, d2, d3, d4] = separar_digitos(n)
    // Verifica se o número está entre 1000 e 9999
    if n < 1000 | n > 9999 then
        disp("Por favor, insira um número inteiro de 4 dígitos entre 1000 e 9999.");
        d1 = [];
        d2 = [];
        d3 = [];
        d4 = [];
        return
    end
    // Extrai o primeiro dígito
    d1 = floor(n / 1000);
    // Extrai o segundo dígito
    d2 = floor((n - d1 * 1000) / 100);
    // Extrai o terceiro dígito
    d3 = floor((n - d1 * 1000 - d2 * 100) / 10);
    // Extrai o quarto dígito
    d4 = mod(n, 10);
endfunction

// Exemplo de uso:
numero = 3456;
[d1, d2, d3, d4] = separar_digitos(numero);
printf("Dígitos: %d, %d, %d, %d\n", d1, d2, d3, d4);

Exercícios relacionados