Os exercícios dessa lista cobrem
as aulas até o dia 29/04.
- Faça uma função recursiva para achar um
elemento num vetor. A função deve retornar o índice
do elemento no vetor ou -1 caso ele não exista.
- Faça uma rotina recursiva para imprimir os elementos de um
vetor, na ordem do menor índice primeiro.
- Faça uma rotina recursiva para imprimir os elementos de um
vetor, na ordem do maior índice primeiro.
- Faça uma rotina recursiva para detectar se uma string
é palíndrome ou não. Ignore todos os espaços
da string.
- Dado um mapa na forma de uma matriz de caracteres, faça
uma rotina recursiva que encontre e imprima um caminho entre a
posição [1,1] e a posição [10,10]. Um
exemplo de mapa está mostrado a seguir. No mapa, os
asteriscos (*) representam paredes, o canto verde representa o ponto
inicial e o canto azul o ponto final.
|
*
|
|
|
|
|
|
|
|
|
|
|
*
|
|
*
|
*
|
|
*
|
*
|
*
|
*
|
|
|
*
|
|
|
|
*
|
|
*
|
*
|
*
|
|
|
*
|
|
|
*
|
|
|
|
*
|
*
|
|
|
*
|
|
*
|
|
|
|
|
|
*
|
|
*
|
|
*
|
|
|
|
|
|
|
|
*
|
|
*
|
|
|
|
*
|
*
|
*
|
*
|
*
|
|
*
|
*
|
*
|
|
|
|
|
|
|
|
|
|
|
*
|
*
|
*
|
*
|
*
|
*
|
*
|
*
|
*
|
|
- Faça um programa recursivo que imprima na tela todas as
seqüências de 4 letras que seguem a seguinte regra:
- A primeira letra é uma consoante
- A segunda letra é uma vogal
- A terceira letra é uma consoante
- A quarta letra é uma vogal
- Faça um programa recursivo que procura por um dado
elemento num vetor de inteiros. Sua função recursiva deve
receber uma função do seguinte tipo:
Type FuncaoLocaliza = Function(e : integer): Boolean;
Seu procedimento/função deve receber uma
função conforme descrita como parâmetro e utiliza-la
para encontrar o elemento. A função passada como
parâmetro retorna true se
o elemento indicado é o elemento desejado e false caso contrário.
- Dado o registro:
Type Produto = Record nome : string[40]; preco : real; estoque : real; End;
|
Faça um procedimento de ordenação que utilize
funções como parâmetro e também defina as
funções de comparação de forma que seja
possível ordenar um vetor de elementos do tipo Produto da
seguinte forma:
- Em ordem ascendente de nome
- Em ordem descendente de nome
- Em ordem crescente de preço
- Em ordem decrescente de preço
- Em ordem crescente de estoque e, em caso de empate, em ordem
ascendente de nome
- Em ordem decrescente de estoque e, em caso de empate, em ordem
decrescente de preço
Inclua no seu programa um exemplo da chamada da rotina de
ordenação para cada uma das funções
indicadas.
- Faça um programa para ler diversos registros descritos no
exercício 8 de um arquivo chamado produtos.txt. Após a leitura
mostre na tela cada um dos elementos lidos. Descreva o formato em que
você espera que os dados estejam armazenados no arquivo.
- Faça um programa que pergunte ao usuário o nome de
um arquivo, abra esse arquivo e conte quantas linhas possuem a palavra teste.
- Faça um programa que abra dois arquivos (primeiro.txt e segundo.txt), onde cada arquivo
contém uma lista ordenada de nomes de alunos e grave em
outro arquivo (terceiro.txt) os
nomes de todos os alunos de forma ordenada.
- Faça um programa que leia de um arquivo um texto e remova
todos os espaços que encontrar desse arquivo. Escreva a resposta
em outro arquivo texto.
- Faça um programa que leia de um arquivo um texto e passe
todas as letras para maiúsculas. Grave a resposta em outro
arquivo.
- Faça um programa que leia de um arquivo um texto e passe
todas as letras para minúsculas. Grave a resposta em outro
arquivo.
- Faça uma combinação dos exercícios 13
e 14 utilizando funções/procedimentos passados como
parâmetro.