Professional Documents
Culture Documents
IMPORTANTE:
- As respostas (programas) deverão ser entregues em papel E em disquete, CD ou DVD para serem
testados.
- A AD é um mecanismo de avaliação individual. As soluções podem ser buscadas por grupos de
alunos, mas a redação final de cada resposta tem que ser individual.
- Atenção: ADs enviadas pelo correio devem ser postadas cinco dias antes da data final de entrega
estabelecida no calendário de entrega de ADs.
Utilize o código Pascal abaixo, com a declaração de função gerar e o acesso à operação randomize
no programa principal. Complete o código, implementando os subprogramas:
(1) produzArquivoPalindromo, que gera um arquivo do tipo texto de números inteiros, ficando
um número em cada linha, onde o primeiro parâmetro informa a quantidade da metade do
arquivo a ser gerado, com valores produzidos pela operação gerar, sendo a outra metade
composta de números idênticos aos da primeira metade da seguinte forma: o primeiro deve
ser igual ao último, o segundo igual ao penúltimo e assim sucessivamente;
Utilize o código Pascal abaixo, com a declaração de função gerar e o acesso à operação randomize
no programa principal. Complete o código, implementando os subprogramas:
Considere que:
A representa o conjunto dos funcionários(as) que são gerentes, B representa o conjunto dos
funcionários do sexo masculino e C representa aqueles(as) que sabem programar em Pascal.
Faça um procedimento em Pascal para remover, de uma lista encadeada ordenada pelo valor da
chave, uma ocorrência do elemento que contenha a chave c passada como parâmetro. Se o
elemento c não existir, a lista não será alterada. Se o elemento c existir e o seu contador indicar um
valor maior que 1 (um), basta diminuir esse valor de uma unidade. Caso o contador seja igual a um, o
elemento deverá ser removido da lista.
type
T_info = integer;
T_pont = ^T_elemento;
T_elemento = record
chave : T_info;
contador : T_info;
prox : T_pont
end;
Faça um procedimento em Pascal para criar uma versão ordenada (S) pelo valor da chave de uma
lista encadeada (E) passada como parâmetro de entrada. Enquanto houver elemento na lista de
entrada E, esse procedimento deverá ler o primeiro elemento de E, retirar esse elemento de E e
deverá inserir esse elemento na lista S de maneira ordenada.
type
T_info = integer;
T_pont = ^T_elemento;
T_elemento = record
chave : T_info;
prox : T_pont
end;