Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)

Documentos relacionados
1. Faça um programa que leia uma string digitada pelo usuário e salve em um arquivo em branco.

Edital de Seleção 032/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Lista de Exercícios 04

Algoritmos e Estrutura de Dados. Aula 05 Estrutura de Dados: Listas (Parte II) Prof. Tiago A. E. Ferreira

Exercícios: Arquivos

1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó.

BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores

Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.

Exercícios: Vetores e Matrizes

Lista de Exercícios sobre Listas Implementadas por Encadeamento

Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó.

INF 1620 P4-27/06/02 Questão 1 Nome:

DAINF - Departamento de Informática

7 a Lista de Exercícios Assunto: Funções e passagem por referência com vetor e matriz (Tópico 7)

INF 1620 P3-29/06/04 Questão 1 Nome:

Aula 14 Listas Duplamente Encadeadas. prof Leticia Winkler

Heaps. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35

Árvores Binárias. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich

Departamento de Informática PUC-Rio INF Estruturas de Dados Lista 2 Completa (Gerada em 8 de maio de 2006)

INF 1620 P2-23/10/04 Questão 1 Nome:

Tipos e Estruturas de Dados Profa. Graça Nunes Lista de Exercícios (Listas Encadeadas, Duplamente Encadeadas e Circulares)

ESTRUTURA DE DADOS LISTAS LINEARES

4ª Lista de Exercícios de Programação I

Listas (Parte 1) Túlio Toffolo BCC202 Aula 09 Algoritmos e Estruturas de Dados I

Edital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010

INF 1620 P4 30/06/07 Questão 1 Nome:

4ª Lista de Exercícios de Programação I

REVISÃO DE PILHAS E FILAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

INF 1620 P2-01/11/03 Questão 1 Nome:

INF 1620 P4-09/07/03 Questão 1 Nome:

INF P4-12/12/09 Questão 1 Nome:

BCC202 - Estrutura de Dados I

Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35

Lista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função.

Exercícios: Recursão

INF 1620 P4 11/12/06 Questão 1 Nome:

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C

Listas Estáticas. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

Algoritmos e Estruturas de Dados Prof. Osório PIP/CA - Aula 05 Pag.: 1

Linguagem C: Listas Encadeadas

ÁRVORE B. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

ÁRVORES BINÁRIAS DE BUSCA. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira.

Árvores Binárias de Busca (ABB) 18/11

1ª Lista de Exercícios

ÁRVORES ABB (ÁRVORES BINÁRIAS DE BUSCAS) Sérgio Carlos Portari Júnior

INF 1620 P3-06/12/03 Questão 1 Nome:

INF 1620 P4-06/12/02 Questão 1 Nome:

Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB

Lista com descritor (continuação)

Árvores, Árvores Binárias e Árvores Binárias de Pesquisa. Rui Jorge Tramontin Jr.

Fila e Deque. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.

PRIMEIRA AVALIAÇÃO IDENTIFICAÇÃO. Nome: ID: 25/04/2005. PARTE I Questões Objetivas

Listas Lineares. continuando...

INF 1620 P3-27/11/04 Questão 1 Nome:

ASSOCIAÇÃO PARAIBANA DE ENSINO RENOVADO FACULDADE PARAIBANA DE PROCESSAMENTO DE DADOS ESTRUTURA DE DADOS

6 a Lista Complementar de Exercícios de CI208 Programação de Computadores 13/02/2014

Exercícios Repetição

Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira

Programação II. Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio

CADERNO DE EXERCÍCIOS ALGORITMOS

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

ESTRUTURA DE DADOS VETORES E LISTAS LINEARES

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010

Árvores Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação

UNIVERSIDADE DE SÃO PAULO ICMC SCC 202 Algoritmos e Estrutura de Dados I - 2º Semestre 2010 Profa. Sandra Maria Aluísio;

Algoritmos e Estruturas de Dados II IEC013

Prova 2 PMR2300 1o. semestre 2015 Prof. Thiago Martins

Listas: a última das 3 estruturas lineares (Pilhas, Filas e Listas)... árvores e grafos são não lineares!

Ordenação: QuickSort. Prof. Túlio Toffolo BCC202 Aula 15 Algoritmos e Estruturas de Dados I

Lista Encadeada (Linked List)

Árvores Binárias de Busca (ABB) 18/11

Métodos Computacionais. Listas Encadeadas

Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB

UFJF - DCC - Estrutura de Dados e Laboratório de Programação II

BCC202 - Estrutura de Dados I

Programação II. Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio

Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b.

4ª Série de Exercícios Variáveis Compostas Homogêneas 1. Faça um algoritmo que leia, via teclado, 10 valores do tipo inteiro e os guarde na memória.

Fila e Deque. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

LISTA DE EXERCÍCIOS - ro. 04

Programação de Computadores 1 Lista 2. Prof. Álvaro A. F. de Souza DECSI - ICEA - UFOP

INF 1620 P4-13/12/01 Questão 1 Nome:

Exercícios de Repetição

Pilhas e Filas Encadeadas. Algoritmos e Estruturas de Dados I

Estruturas de Dados II

Atividade de laboratório listas encadeadas simples

Universidade Federal do ABC Avaliação Disciplina Turma Professor Data Instruções para a prova (leia antes de começar): SelectionSort selectonsortrec

Edital de Seleção 053/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Árvores. Sérgio Carlos Portari Júnior

Copiar para o ficheiro ArvoreBinaria.h e adaptar as funções associadas às operações sobre árvores binárias (3.1 a 3.12)

Árvores Binária de Busca. Prof. César Melo DCC/ICE/UFAM

Transcrição:

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 Lista Obrigatória 02 - Prof. Rafael Oliveira (Deve ser entregue em PDF via Moodle: Escolha apenas 5 exercícios para entrega) Exercício 01 (Pilhas) Faça um programa que contenha um menu que apresente as opções abaixo: 1 Cadastar número 2 Mostrar todos os números pares cadastrados 3 Mostrar todos os números ímpares cadastrados 4 Mostrar todos os números cadastrados 5 Excluir número 6 Sair Observações: a) Implemente usando uma estrutura tipo pilha. b) Quando a opção 1 do menu for solicitada, só deve parar de cadastrar quando o usuário pressionar um número negativo. c) Mostrar mensagem para opção invalidade do menu Exercício 02 (Pilhas) Faça um programa que apresente o menu de opções abaixo: 1 Cadastrar aluno 2 Cadastrar nota 3 Calcular a média de um aluno 4 Listar os nomes dos alunos sem notas 5 Excluir aluno 6 Excluir nota 7 Sair Observações: a) Cadastre um aluno (número e nome) de cada vez em uma pilha. Os números dos alunos devem ser gerados automaticamente, partindo do nº 1. b) Cadastre uma nota (número do aluno e nota) de cada vez em uma fila. Uma nota só pode ser cadastrada se pertencer a um aluno cadastrado na pilha de alunos. Mostrar mensagem caso o aluno não esteja cadastrado. Valide as notas para que sejam digitadas no intervalo entre 0 e 10. c) O usuário deve digitar o número de aluno para exibir seu nome e sua respectiva média. Caso não existir o aluno ou não houver notas cadastradas para ele emitir mensagem de aviso ao usuário. d) Um aluno só pode ser excluído se não possuir notas. O usuário não deve escolher o aluno a ser excluído, pois deve obedecer as regras de funcionamento da estrutura de dados tipo pilha. e) As notas devem ser excluídas respeitando as regras de funcionamento de uma estrutura

Exercício 03 (Filas) Implemente um programa em C que utiliza a estrutura de fila dinâmica de elementos do tipo RG (num, nome, datanascimento). O programa deve mostrar ao usuario um menu permanente com quatro opções. Se o usuário escolher 1, a fila deve ser impressa por completa; se escolher 2, ele deve entrar com o valor do conteudo do novo elemento da fila. Se escolher 3, um elemento da fila deve ser removido. Se escolher 4, o programa encerra. Adicionalmente, implemente também a opção 5 do menu: que aciona uma outra rotina adicional chamada inverter que reposicione os elementos em uma fila F de forma que o início se torne o fim e vice-versa Exercício 04 (Listas Encadeadas) A função Lista* separa (Lista* l, int n); tem a funcionalidade de receber como parâmetro uma lista encadeada e um valor inteiro n e dividir a lista em duas, de tal forma que a segunda lista comece no primeiro nó logo após a primeira ocorrência de n na lista original. A figura a seguir ilustra essa separação: A função retorna um ponteiro para a segunda sub-divisão da lista original, enquanto l deve continuar apontando para o primeiro elemento da primeira subdivisão da lista. Abaixo, é possível averiguar a implementação de um possível código para implementar a função: /* função separa */ Lista* separa (Lista* l, int n) { Lista* p; /* variável auxiliar para percorrer a lista */ Lista* q; /* variável auxiliar para nova lista */ for (p = l; p!= NULL ; p = p->prox) { if (p->info == n) { q = p->prox; p->prox = NULL; return q; }} return NULL; } Implemente um programa de uma lista encadeada completa (com todas as operações) na qual seja possível testar e avaliar o funcionamento da função separa.

Exercício 05 (Listas encadeadas) Considere estruturas de listas encadeadas que armazenam valores reais. Como, por exemplo, a estrutura mostrada abaixo: Faça o que é requisitado: Implemente um programa que contenha uma estrutura de lista encadeada completa para gerenciar a struct descrita (inserir, remover, zerar, iniciar, etc). Implemente e teste uma função, que dadas duas listas encadeadas L1 e L2, concatene a lista L2 no final da lista L1, conforme é apresentado na figura abaixo. A função deve retornar a lista resultante da concatenação, obedecendo a seguinte assinatura: Lista* concatena (Lista* l1, Lista l2); Dica de implementação: percorra l1 até encontrar o final da lista. Então, faça o prox do final da l1 apontar para l2. Retorne l1 Exercício 06 (Ordenação) Implemente um programa para avaliar/comparar os tempos de execução dos seguintes algoritmos de ordenação: (1) Seleção, (2) Inserção, (3) Shellsort, (4) QuickSort e (5) BublleSort. Dica 1: Crie uma rotina para criar vetores com 1000 valores gerados randomicamente (valores entre 0 e 1000). Dica 2: Pesquisa e crie uma rotina para calcular o tempo de execução de funções em milissegundos. Dica 3: Implementa cada método de ordenação em uma função diferente.

Exercício 07 (Ordenação) Faça um código para replicar as comparações implementadas no execício anterior para os seguintes casos: vetor totalmente ordenado vetor totalmente desordenado Exercício 8 (Ordenação) Considere a execução do algoritmo Quicksort visto em sala (pivô escolhido no meio do vetor) com o vetor [ 2 10 1 8 20 5 14 13 9 ]. Implemente um programa que execute o QuickSort para esse vetor e imprima em tela: O número de chamadas do procedimento Partição para ordenar esse vetor Qual o pivô utilizado em cada uma das chamadas Quais são as partições (sub-vetores) resultantes de cada uma dessas chamadas Exercício 9 (Busca) Escreva um programa em C para ler um vetor A de dimensão definida pelo usuários e realizar uma Busca Sequencial no vetor de um elemento fornecido pelo usuário. O vetor deve conter uma lista de produtos a serem cadastrados com os seguitnes campos: Código(int), Nome (String) e Fornecedor (String). Produtos não podem ser cadastrados com um mesmo código. As buscas podem ser feitas de modo sequencial, utilizando qualquer um dos campos do produto. Buscas em campos que sejam strings não devem ser case sensitive. O programa deve conter ainda uma função para escrever todos os produtos que estão cadastrados. Exercício 10 (Busca) Refaça o Exercício 12 utilizando busca binária. Dessa vez, tais buscas devem ser feitas somente utilizando o campo Código. Obviamente, o vetor de produtos deve estar ordenado. Portanto, antes de fazer a busca, é necessário utilizar um algoritmo de ordenação para garantir sua efetividade.

Exercício 11 (Árvores de busca) Considere uma árvore binária de busca que armazena valores inteiros. Nesta estrutura, pode ocorrer repetições de um mesmo valor. Assim, os valores associados aos nós das sub-árvores à esquerda são menores que o valor associado à raiz e os valores da sub-árvore direita são maiores ou iguais: implemente a árvore e todas suas possíveis operações que podem ser acessadas pelo usuário por meio de um menu. Incluindo: leitura, remoção, busca e escrita todos os itens; Adicione no menu, uma opção que permita acessar uma função que retorne o número de ocorrências de um dado X na árvore. A função deve tirar proveito da estrutura da árvore e deve receber como parâmetro um ponteiro para a árvore e o valor inteiro buscado; Adicione no menu uma opção que permita acessar uma função que imprima todos os nós folhas da árvore. Exercício 12 (Árvores de busca) Escreva um programa que crie uma árvore de busca binária a partir de TADs de alunos lidas do teclado. A TAD alunos contém os seguintes campos: RA, Nome e Curso. O programa deve imprimir a árvore nos três modos de percurso. Portanto, o programa deve permitir: cadastro de alunos, busca de alunos pelo RA e impressão de todos os alunos.