Informática, perguntado por mukaibatajay, 6 meses atrás

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

Respondido por ruancastro15
0

 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.


vitorsalvade: Está errado, pois se inserir número ímpar um dos números pares inseridos devem ser deletados e isso não acontece.
samuelfreire9090: exatamente, está faltando isso.
Respondido por gabrielmachadi
4

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:

Perguntas interessantes