Next: About this document ...
MAC-IME-USP CARLOS EDUARDO FERREIRA
SALA 297A TEL.: 3818 6140
E-MAIL cef@ime.usp.br
MONITOR: MARCIO C. CABRAL
MAC 122 - Princípios de Desenvolvimento de Algoritmos
Segundo semestre de 2000
Lista de Exercícios - Pilhas
- Sejam os interiros 1, 2, 3 e 4 que são lidos nesta ordem para serem
colocados numa pilha. Considerando-se todas as possíveis seqüências de
operações Empilha e Desempilha decida quais das 24 (4!) permutações possíveis podem ser obtidas como saída da pilha. Por exemplo, a permutação 2, 3, 1, 4 pode ser obtida da seguinte forma: Empilha 1, Empilha 2,
Desempilha 2, Empilha 3, Desempilha 3, Desempilha 1, Empilha 4, Desempilha 4.
- Seja
o seguinte conjunto de cadeis sobre
:
Uma cadeia deste conjunto pode ser especificada por
, onde
é uma seqüência de letras que só contém
e
e
é o reverso de
, ou seja,
lido de trás para frente. Dada uma cadeia
, faça um programa que
determina se
pertence ou não a
, ou seja, determina se
é da forma
para alguma cadeia
.
- Faça um algoritmo que dado um tabuleiro de xadrez
determina se é possível que um cavalo a partir da posição
do tabuleiro complete um passeio por todas as
posições do tabuleiro em
passos válidos. Por exemplo para um tabuleiro
uma possível solução do problema seria:
1 |
6 |
15 |
10 |
21 |
14 |
9 |
20 |
5 |
16 |
19 |
2 |
7 |
22 |
11 |
8 |
13 |
24 |
17 |
4 |
25 |
18 |
3 |
12 |
23 |
- Escreva um algoritmo, usando uma Pilha, que inverte as
letras de cada palavra de um texto terminado por ponto (`.')
preservando a ordem das palvras. Por exemplo, dado o texto:
ESTE EXERCÍCIO É MUITO FÁCIL.
a saída deve serf
ETSE OICÍCREXE É OTIUM LICÁF.
- Simule a execução do algoritmo de conversão para a notação posfixa com a expressão aritmética abaixo:
- Em que devemos alterar o algoritmo de conversão para notação
posfixa a fim de que o algoritmo traduza corretamente expressões que:
- possuam exponenciação (que será denotada na expressão pelo símbolo
especial . Observe que quando escrevemos
pelas
regras da aritmética o seu significado é
.
- possuam menos e mais unários. Por exemplo:
tem como expressão posfixa
, e
tem como expressão posfixa
.
- Considerando o algoritmo de conversão para a notação posfixa
responda as seguintes perguntas.
- Qual é o tamanho máximo que a pilha pode atingir se a expressão
a ser traduzida tiver tamanho
(i.e., o numero total de operandos,
operadores, e abre e fecha parêntesis na expressão é
)?
- Qual é a resposta para o item (a) se restringirmos o número de
parêntesis na expressão para no máximo 6 (número de pares abre e fecha
parêntesis)?
- Uma outra forma de expressão sem parêntesis que é fácil de ser
avaliada é chamada de notação prefixa. Nesta forma de escrever as
expressões aritméticas os operadores precedem seus operandos. Por
exemplo:
Observe que a ordem dos operandos não é alterada passando da notação infixa para a prefixa.
- Passe a expressão aritmética do exercício 5 para a notação prefixa.
- Escreva um algoritmo que transforma uma expressão na forma infixa para a expressão prefixa correspondente.
Sugestão: percorra a expressão infixa de trás para a frente.
- Escreva um algoritmo para transformar uma expressão em notação
prefixa para a notação posfixa.
Next: About this document ...
Carlos Eduardo Ferreira
2000-10-02