Faça um algoritmo que leia valores inteiros até que o usuário informe o valor 0 (zero). Enquanto o usuário for informando os valores, armazene-os em duas pilhas. Uma das pilhas deve receber os valores positivos lidos e a outra os negativos.

Passo 1

Beleza, vamos resolver esse exercício juntos! A questão pede para criar um algoritmo que leia números inteiros do usuário até que ele digite 0. Enquanto ele for digitando, a gente vai guardar esses números em duas pilhas diferentes: uma para os números positivos e outra para os negativos. Para isso, vamos precisar entender o que é uma pilha e como manipular os dados nela.

Passo 2

Primeiro, vamos entender o que é uma pilha. Uma pilha é uma estrutura de dados que funciona como uma pilha de pratos: o último que entra é o primeiro que sai (LIFO - Last In, First Out). Isso significa que podemos adicionar (push) e remover (pop) elementos no topo da pilha.

Passo 3

Agora, vamos pensar no algoritmo. Vamos precisar de duas pilhas: uma para armazenar os números positivos e outra para os negativos. Vamos continuar lendo números até o usuário digitar 0. Para cada número lido:
  • Se for positivo, adicionamos à pilha de positivos.
  • Se for negativo, adicionamos à pilha de negativos.
  • Se for 0, paramos o processo.

Passo 4

Vamos escrever isso passo a passo:
  1. Inicialize duas pilhas vazias: pilhaPositiva e pilhaNegativa.
  2. Peça ao usuário para digitar um número inteiro.
  3. Enquanto o número digitado não for 0:
    • Se o número for maior que 0, use a operação push para adicionar à pilhaPositiva.
    • Se o número for menor que 0, use a operação push para adicionar à pilhaNegativa.
  4. Repita o processo até que o usuário digite 0.
  5. Opcionalmente, você pode exibir o conteúdo das pilhas após o término.

Passo 5

Vamos ilustrar com um exemplo simples de código em pseudocódigo:
inicializar pilhaPositiva
inicializar pilhaNegativa

ler numero

enquanto numero diferente de 0 faca
    se numero > 0 entao
        pilhaPositiva.push(numero)
    senao
        pilhaNegativa.push(numero)
    fim se
    ler numero
fim enquanto

mostrar "Pilha de Positivos:", pilhaPositiva
mostrar "Pilha de Negativos:", pilhaNegativa

Passo 6

Esse pseudocódigo faz o seguinte:
  • Inicializa duas pilhas.
  • Começa a ler números do usuário.
  • Para cada número, verifica se é positivo ou negativo e adiciona na pilha correspondente.
  • Continua esse processo até o usuário digitar 0.
  • Por fim, mostra as pilhas com os números armazenados.

Resposta

Então, seguindo esses passos, você consegue criar um algoritmo que separa os números positivos e negativos em pilhas diferentes até que o usuário decida parar digitando 0. Fácil, né? Se precisar de mais detalhes ou tiver dúvidas, estou aqui para ajudar!

Exercícios relacionados