O uso de estruturas de dados, como pilhas e filas por exemplo, é bastante comum em diversos tipos de aplicações no mercado. Por isso, a GlobalTecnol S. A requisitou como tarefa que você implemente uma pilha para testar suas habilidades como programador. A sua implementação deve atender aos seguintes requisitos:
• A linguagem utilizada na implementação pode ser de sua preferência;
• Após a implementação da pilha, o programa deve possibilitar a leitura (entrada) de vários números digitados pelo usuário.
• Se o número digitado for par, você deve inseri-lo na pilha;
•Se o número digitado for ímpar, você NÃO irá adicioná-lo na pilha, mas deve retirar um número da pilha (Se a pilha estiver vazia, nada acontece);
• Se o número digitado for 0 (zero), isto irá indicar fim da entrada de dados, e você deve esvaziar a pilha imprimindo os elementos na ordem que são retirados.
Soluções para a tarefa
O programa abaixo foi feito em linguagem de programação Python3, veja:
pilha = []
x = -1
while x !=0:
x= int(input("Digite um número, se for par, vai para pilha, se for ímpar não.\n Se for 0 o programa será finalizado "))
if x%2 ==0:
pilha.append(x)
pilha.pop()
print(pilha)
### fim do algoritmo
Temos que os números só são adicionados na pilha se forem pares e a inserção do zero para o programa e nos mostra os valores da pilha.
Resposta:
Linguagem python
pilha = []
insercao = True
while insercao == True:
numero = int(input("Insira um número: "))
check = numero % 2 #confere se o numero é par
if check == 0:
pilha.append(numero) #adiciona o numero a lista
if check != 0: #caso seja impar
if len(pilha) == 0: #se a lista estiver vazia
n = len(pilha)
else:
pilha.pop() #Quando o numero é impar retira o ultimo item inserido
if numero == 0:
pilha.pop() #Sendo o zero um numero par ele entra na lista, aqui se remove o zero
insercao = False #Para o laço de repetição
m = len(pilha)
while m != 0: #laço para mostrar e retirar os numeros da lista
print(pilha[m - 1])
del(pilha[m - 1])
m = len(pilha)
if m == 0:
print("Não há mais itens na pilha")
print(pilha)
Explicação: