Crie um programa(código) na linguagem scilab para resolver a questão a seguir: Escreva um programa que leia vários números inteiros dados pelo usuário, até o usuário inserir 5 números positivos, e exiba, no final, o maior e o menor dos números negativos.

Passo 1

Beleza, vamos começar entendendo o que a gente precisa fazer aqui. A questão pede para criar um programa em Scilab que lê vários números inteiros fornecidos pelo usuário. O programa deve continuar lendo números até que o usuário tenha inserido 5 números positivos. No final, o programa deve mostrar qual foi o maior e o menor entre os números negativos que foram digitados. Para resolver isso, vamos precisar entender como ler entradas do usuário, usar estruturas de repetição e comparar valores em Scilab.

Passo 2

Primeiro, precisamos inicializar algumas variáveis. Vamos precisar contar quantos números positivos foram inseridos, então vamos criar uma variável chamada contPositivos que começa em 0. Além disso, vamos precisar armazenar os números negativos para depois encontrar o maior e o menor deles. Para isso, vamos usar duas variáveis: maiorNegativo e menorNegativo, que inicialmente podem ser definidas como valores nulos ou com um valor que facilite a comparação.

Passo 3

Agora, vamos configurar um laço de repetição que continua executando até que contPositivos chegue a 5. Em Scilab, podemos usar um while para isso. Dentro desse laço, vamos ler um número inteiro fornecido pelo usuário.

Passo 4

Após ler o número, precisamos verificar se ele é positivo ou negativo. Se for positivo, simplesmente incrementamos contPositivos em 1. Se for negativo, vamos comparar esse número com o maiorNegativo e o menorNegativo para atualizar esses valores conforme necessário.

Passo 5

Para comparar e atualizar os valores negativos, vamos usar condições if. Se o número negativo atual for maior que o maiorNegativo armazenado, atualizamos maiorNegativo. Da mesma forma, se for menor que o menorNegativo, atualizamos menorNegativo.

Passo 6

Depois que o laço de repetição termina (ou seja, quando já tivemos 5 números positivos), vamos exibir na tela qual foi o maior e o menor número negativo registrado. Para isso, usamos a função disp do Scilab, que exibe mensagens para o usuário.

Passo 7

Finalmente, vamos testar o programa para garantir que tudo está funcionando conforme o esperado. Inserindo diferentes números positivos e negativos, verificamos se o programa corretamente conta até 5 positivos e identifica o maior e o menor entre os negativos.

Resposta

Aqui está o código completo em Scilab que resolve o problema:
// Inicialização das variáveis
contPositivos = 0;
maiorNegativo = -%inf;
menorNegativo = %inf;

// Laço de repetição
while contPositivos < 5
    // Leitura do número pelo usuário
    numero = input("Digite um número inteiro: ");
    
    // Verificação se o número é positivo
    if numero > 0 then
        contPositivos = contPositivos + 1;
    // Se for negativo
    elseif numero < 0 then
        // Atualiza o maior negativo
        if numero > maiorNegativo then
            maiorNegativo = numero;
        end
        // Atualiza o menor negativo
        if numero < menorNegativo then
            menorNegativo = numero;
        end
    end
end

// Exibição dos resultados
if maiorNegativo == -%inf & menorNegativo == %inf then
    disp("Nenhum número negativo foi digitado.");
else
    disp("Maior número negativo: " + string(maiorNegativo));
    disp("Menor número negativo: " + string(menorNegativo));
end
Explicação rápida do código:
  • Inicialização: Começamos definindo contPositivos como 0 e maiorNegativo como menos infinito e menorNegativo como mais infinito para garantir que qualquer número negativo digitado será maior ou menor que esses valores iniciais.
  • Laço while: Continua pedindo números enquanto contPositivos for menor que 5.
  • Entrada do usuário: Usamos input para ler o número digitado.
  • Condições:
    • Se o número for positivo, incrementamos contPositivos.
    • Se for negativo, verificamos se ele é maior que maiorNegativo ou menor que menorNegativo e atualizamos conforme necessário.
  • Exibição: Após sair do laço, verificamos se algum número negativo foi digitado e mostramos o maior e o menor negativo encontrados.
Esse programa garante que o usuário possa inserir números indefinidamente até que 5 positivos sejam digitados, e ao final, fornece as informações solicitadas sobre os números negativos.

Exercícios relacionados