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);