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 3 valores positivos ou 4 valores negativos, e exiba, no final, o somatório dos números ímpares, e o maior dos números pares.

Passo 1

Beleza! Vamos dar uma olhada no que a gente precisa fazer aqui. O exercício nos pede para criar um programa em Scilab que faça o seguinte:
  • Leia vários números inteiros fornecidos pelo usuário.
  • Pare de ler os números quando o usuário inserir 3 valores positivos ou 4 valores negativos.
  • No final, exiba:
    • A soma dos números ímpares que foram inseridos.
    • O maior número par que foi digitado.
Então, vamos precisar entender como ler entradas do usuário, usar estruturas de repetição para continuar lendo até que uma das condições de parada seja atingida, e trabalhar com variáveis para acumular a soma dos ímpares e encontrar o maior par.

Passo 2

Primeiro, vamos pensar em como ler os números que o usuário vai inserir. Em Scilab, podemos usar a função input() para isso. Vamos também precisar armazenar alguns contadores para saber quantos números positivos e negativos já foram inseridos.
Então, vamos iniciar o nosso programa definindo:
  • Uma variável para soma dos ímpares, começando em 0.
  • Uma variável para maior número par, que inicialmente pode ser definida como um valor mínimo possível.
  • Contadores para números positivos e números negativos, ambos começando em 0.

Passo 3

Agora, precisamos criar um laço de repetição que vai continuar pedindo números ao usuário até que uma das condições de parada seja verdadeira: ou 3 números positivos são inseridos, ou 4 números negativos.
Em Scilab, podemos usar um while para isso. A condição do while será que nenhuma das condições de parada tenha sido atingida. Isso significa que vamos continuar enquanto o número de positivos for menor que 3 e o número de negativos for menor que 4.

Passo 4

Dentro do laço, para cada número inserido pelo usuário, vamos:
  1. Verificar se o número é positivo ou negativo e incrementar o contador correspondente.
  2. Se o número for ímpar, adicioná-lo à soma dos ímpares.
  3. Se o número for par, verificar se ele é maior que o maior par encontrado até agora e, se for, atualizar o valor do maior par.
Para verificar se um número é ímpar ou par, podemos usar a operação de módulo: num % 2. Se o resto for diferente de 0, é ímpar; se for 0, é par.

Passo 5

Após o laço terminar (quando uma das condições de parada for atingida), vamos simplesmente exibir os resultados:
  • A soma dos números ímpares que o usuário inseriu.
  • O maior número par encontrado.
Se nenhum número par foi inserido, podemos informar que não houve números pares.

Resposta

Aqui está o código completo em Scilab que realiza todas as etapas descritas:
// Inicialização das variáveis
soma_impares = 0;
maior_par = -%inf; // Começamos com menos infinito para garantir que qualquer par será maior
contador_positivos = 0;
contador_negativos = 0;

// Laço de repetição
while (contador_positivos < 3) & (contador_negativos < 4)
    num = input("Digite um número inteiro: ", "i");
    
    if num > 0 then
        contador_positivos = contador_positivos + 1;
    elseif num < 0 then
        contador_negativos = contador_negativos + 1;
    end
    
    if mod(num, 2) <> 0 then
        soma_impares = soma_impares + num;
    elseif mod(num, 2) == 0 then
        if num > maior_par then
            maior_par = num;
        end
    end
end

// Verificação se algum par foi inserido
if maior_par == -%inf then
    disp("Nenhum número par foi inserido.");
else
    disp("A soma dos números ímpares é: " + string(soma_impares));
    disp("O maior número par é: " + string(maior_par));
end
Explicação rápida do código:
  • Inicialização: Definimos as variáveis para armazenar a soma dos ímpares, o maior par, e os contadores de positivos e negativos.
  • Laço while: Continua pedindo números enquanto não houver 3 positivos ou 4 negativos.
  • Entrada do usuário: Usamos input() para ler um número inteiro.
  • Contadores: Atualizamos os contadores com base no sinal do número.
  • Verificação de ímpar/par: Usamos o operador mod para verificar se o número é ímpar ou par e atualizamos as variáveis correspondentes.
  • Após o laço: Verificamos se algum número par foi inserido e exibimos os resultados finais.
Com esse programa, o usuário poderá inserir números até que uma das condições de parada seja atendida, e então verá a soma dos ímpares e o maior par que digitou.

Exercícios relacionados