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:
- Inicialize duas pilhas vazias:
pilhaPositiva
epilhaNegativa
. - Peça ao usuário para digitar um número inteiro.
- 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
.
- Se o número for maior que 0, use a operação
- Repita o processo até que o usuário digite 0.
- 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!