Vous êtes sur la page 1sur 3

Estrutura de Dados e Algoritmos com Java

Exerccios Pilhas / Stacks


Loiane Groner
http://loiane.training | http://loiane.com

Exerccio 01

Escreva um programa que leia 10 nmeros. Para cada nmero lido, verifique e codifique de acordo com
as regras a seguir:

- Se o nmero for par, empilhe na pilha;

- Se o nmero for mpar, desempilhe um nmero da pilha. Caso a pilha esteja vazia, mostre uma
mensagem

- Se ao final do programa a pilha no estiver vazia, desempilhe todos os elementos, imprimindo-os


na tela

Exerccio 02

Escreva um programa que leia 10 nmeros. Para cada nmero lido, verifique e codifique de acordo com
as regras a seguir:

- Se o nmero for par, empilhe na pilha chamada par;

- Se o nmero for mpar, empilhe na pilha chamada impar;

- Se o nmero for zero (0), desempilhe um elemento de cada pilha. Caso alguma pilha esteja vazia,
mostre uma mensagem de erro na tela.

Ao final do programa desempilhe todos os elementos das duas pilhas, imprimindo-os na tela

Exerccio 03

Utilize a classe Pilha (criada durante as aulas) e desenvolva os seguintes items:

1. Crie uma pilha com capacidade para 20 livros;

1
2. Insira 6 livros na pilha; Cada livro contm nome, isbn, ano de lanamento e autor.

3. Crie um exemplo para utilizar cada mtodo da classe Pilha.

Exerccio 04

Repita o mesmo processo do exerccio anterior, porm utilizando a classe Stack da API Java.

Exerccio 05 Desafio do Palndromo

Escreva um programa que testa se uma sequncia de caracteres fornecida pelo usurio um palndromo,
ou seja, uma palavra cuja primeira metade simtrica segunda metade. Veja alguns exemplos:

- AABCCBAA - sim

- ADDFDDA - sim

- ABFFBB - no

Exerccio 06 Desafio dos smbolos balanceados

Escreva um programa para verificar se uma expresso matemtica tem os parnteses agrupados de forma
correta, isto :

(1) se o nmero de parnteses esquerda e direita so iguais e;

(2) se todo parntese aberto seguido posteriormente por um fechamento de parntese.

Veja alguns exemplos:

- As expresses ((A+B) ou A+B( violam a condio 1

- As expresses )A+B( C ou (A+B)) (C + D violam a condio 2

- A expresso ((A+B)+D) est ok

Exerccio 07 Desafio converso decimal-binrio

Usando a classe Pilha ou Stack, desenvolva um algoritmo que faa a converso de nmeros decimais para
binrio.

2
Exerccio 08 Desafio Torre de Hanoi

Usando a classe Pilha ou Stack, desenvolva um algoritmo que resolva o quebra cabea Torre de Hanoi.