LISTA DE EXERCÍCIOS – LABORATÓRIO II – Prof.
Osório
LISTA LINEAR SEQUENCIAL
-
Faça um programa para armazenar uma lista de números
(valores reais) fornecida pelo usuário, fazendo uso de uma estrutura
de dados que crie uma lista com alocação seqüencial
de dados em memória. Você deve inserir os dados no início
da lista, e quando o usuário fornecer um valor igual a zero, você
deve percorrer a lista exibindo o seu conteúdo à partir do
início até o final. Após exibir os dados na tela,
salve em um arquivo texto os dados lidos (arquivo: lista.txt).
-
Crie um novo programa baseado no programa anterior (nro.
1) de forma que os dados sejam inseridos ordenadamente na lista linear,
em ordem crescente de valor. Ao exibir os dados contidos na lista, estes
deverão obrigatoriamente aparecer em ordem crescente.
-
Crie um novo programa baseado no programa do exercício
anterior (nro. 2), de forma a ler os números à partir de
um arquivo texto e não mais à partir do teclado. O arquivo
de entrada deve se chamar "entrada.txt" e o arquivo de saída deve
se chamar "saída.txt".
-
Crie um conjunto de rotinas genéricas para inserir,
remover e consultar os elementos de uma lista linear sequëncial (não
ordenada), de acordo com a seguinte especificação:
-
Insere_Item (var lista: tipo_lista; var nro_elem:integer;
item: tipo_dado; no_fim: boolean)
"no_fim" é True se for para inserir no fim da lista e False se for
para inserir no início
Esta função retorna uma indicação de sucesso
ou fracasso (estouro de memória)
-
Remove_Item (var lista: tipo_lista; var nro_elem: integer;
item: tipo_dado; no_fim: boolean)
"no_fim" é True se for para remover do fim da
lista e False se for para remover do início
Esta função retorna uma indicação
de sucesso ou fracasso (item não encontrado)
-
Consulta_Lista (lista: tipo_lista; nro_elem: integer; item:
tipo_dado):integer;
Esta função retorna a posição do "item" dentro
da lista, caso ele tenha sido encontrado,
e no caso contrário, retorna o valor –1 (item não encontrado).
-
Fazer um micro-editor de textos onde cada linha de texto
seja armazenada em uma lista linear seqüencial de strings. Criar uma
opção "entra texto" (lê do teclado e adiciona ao final
do texto), uma opção "altera texto" (pergunta à partir
de qual linha ele deseja inserir o texto lido do teclado) e uma opção
"apaga texto" (pergunta o número de uma linha e elimina esta linha
do texto). Criar também as opções "salva texto" em
disco e "lista o texto" armazenado na memória (ao listar o texto
colocar ao lado o número de cada linha, para facilitar o uso da
opção altera texto).
-
Criar um editor de textos completo orientado a linhas. O
usuário pode entrar, apagar ou alterar uma linha inteira do texto,
salvando ou lendo do disco o texto criado. A interação deve
ser feita através da numeração das linhas (exibir
para o usuário a numeração das linhas).