SCC-602 Algoritmos e Estruturas de Dados 1 (Engenharia de Computação) Profª. Maria das Graças Volpe Nunes. Trabalho Prático 2

Documentos relacionados
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação

Terceiro Trabalho Prático. Este trabalho tem como objetivo ordenar um arquivo de dados e implementar as operações cosequenciais de merging e matching.

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

Segunda Parte do Trabalho Prático (Parte II) Valor: 70%

Segundo Trabalho Prático Turma A

Trabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas

Primeiro Trabalho Prático Turma A. Descrição do Trabalho. Considere os seguintes dados a respeito de um livro:

Victor Hugo Andrade Soares monitor João Vitor dos Santos Tristão Primeiro Trabalho Prático

Primeira Parte do Trabalho Prático (Parte I) Valor: 30% Descrição do arquivo de dados

Trabalho Prático. Descrição do arquivo de dados

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)

Trabalho Prático. Primeira Parte do Trabalho (Parte I): peso 40%

Quarto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice simples ou linear. Descrição de páginas de disco

Primeira Parte do Trabalho Prático (Parte I) Valor: 40% Descrição do arquivo de dados

Trabalho 1 GRAFOS. 3. Implementar uma rotina chamada Dijkstra(G, o, d) que determina o menor caminho

Segundo Trabalho Prático

Segundo Trabalho Prático

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

Trabalho Computacional Jogo da Forca

Primeiro Trabalho Prático Projeto de Software - CI /1 Prof. Andrey Pimentel

Trabalho Prático. Descrição Considere os seguintes dados a respeito de uma pessoa:

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

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO

Manual de Instruções MEDTISS

Manual do Gerência do Cliente Resultados de Exames

Sistemas Operacionais

SCC Algoritmos e Estruturas de Dados II Profa. Cristina Oliveira. Terceiro Trabalho Prático Árvores B. Prazo máximo: 23:55h de 05/07/2012

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

UTILIZANDO O CODE BLOCKS

A seguir são apresentadas as funções implementadas na linha de produto Microsiga Protheus, expedidas neste pacote de atualização.

Se a senha tem de 2 a 30 caracteres. Se tiver mais ou menos caracteres, ela não será válida e deve mostrar a mensagem de erro abaixo:

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

DIGITAL SERPRO MOZILLA

Resultados via Internet

Programação II. Trabalho 2 Freecell

Como usar o P-touch Transfer Manager

BAIXA DO CERTIFICADO DIGITAL SERPRO MOZILLA FIREFOX GOOGLE CHROME INTERNET EXPLORER SOLUTI

Trabalho Prático 2015 Simulador de Circuitos Opção 1 Versão /11/2013

Manual SAGe Versão 1.0 (a partir da versão )

SCC Algoritmos e Estruturas de Dados II Profa. Graça Nunes. Trabalho Prático Unidade 2 Arquivos Divulgação: 24/5/2012 Prazo máximo: 20/06/2012

Universidade Estadual do Oeste do Paraná UNIOESTE Campus de Cascavel Colegiado de Ciência da Computação. Algoritmos Trabalho 3º Bimestre

Especificação do Trabalho Prático

CI218 - Trabalho - 2 o sem/2016

08. A figura seguinte representa uma tela do Excel XP.

Introdução à Programação de Computadores

INE5408 Estruturas de Dados. Apresentação e Programa da Disciplina

SCC-202 Algoritmos e Estruturas de Dados I. Profa. Graça Nunes 2º. Semestre 2010

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

Coordenação Geral de Tecnologia da Informação - CGTI. SOLICITA SISTEMA DE SOLICITAÇÃO DE ACESSO Manual de Usuário. Versão 1.0

Estruturas de Dados I Enunciado do Trabalho Prático

AULA 01 ESTRUTURA DE DADOS

Emparelhamentos Máximos em Grafos Bipartidos

Boletim Técnico. Plano de Desenvolvimento Individual (PDI) Desenvolvimento/Procedimento. Produto : Totvs Gestão de Pessoas Versão 12.1.

Segunda Parte do Trabalho Prático (Parte II) Valor: 60% Descrição do índice

Universidade Federal do Espírito Santo - CT - DI Trabalho Computacional - PD II - Engenharia de Computação Profa. Claudia Boeres

Guia do Portal do Fornecedor

Árvores B. Prof. Flávio Humberto Cabral Nunes

SOFTWARE PARA GERENCIAMENTO DE CADASTRO DE EQUIPES DO I TORNEIO DE FUTSAL DA FACULDADE DE TECNOLOGIA DE BOTUCATU

COMO INSTALAR O CATÁLOGO

1 Objetivo. 2 Descrição do domínio. Primeiro Trabalho - Segundo semestre de 2007 Sistema de Apoio a Jogos Lotéricos. 2.1 Caracterização dos jogos

Tutorial Instalador de configuração - Eduroam. 14/10/2016 Ver. 1.1

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

P R O J E T O: C A R N A V A L. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

SAM - Manual do Usuário

Symantec IT Management Suite 8.0 powered by Altiris technology

Tipos Abstratos de Dados

Motivação. Estrutura de Dados. Motivação. Motivação. Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto de software

Manual Sistema de Automação de Pedidos Data C

TREINAMENTO PORTAL SABIC 2016

Executar uma macro clicando em um botão da Barra de Ferramentas de Acesso Rápido

Limpar Itens Marcados (Riscados) no Microsoft Outlook IMAP

Manual do Usuário. Sistema Controle de Caixa (versão gratuita)

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO

Introdução ao Python. Programa Computacional

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

COMO INSTALAR O CATÁLOGO

Fundamentos de Lógica e Algoritmos Aula 2.5 Conceitos Básicos de Algoritmos. Prof. Dr. Bruno Moreno

Manual de Instalação SIP-Gestão.

Estruturas de controle: Estrutura de DECISÃO

Algoritmos e Estruturas de Dados II IEC013. TAD, Pilhas e Filas. Prof. César Melo

ATENÇÃO O TCP/IP não é um protocolo. TCP/IP é um conjunto de diversos protocolos em 04 camadas próprias que se relaciona com o modelo OSI.

Estrutura de Dados (DPADF 0056)

1 Introdução. 2 Especificação

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é:

Manual do InCD Reader

Programação II. Aula 3

Portal de Cotação da FCC S.A.

Agendamento Online de

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo

CADPREV Web Módulo de Aplicativo Web. Manual do Usuário. Cadastro de Acordos de Parcelamento. CADPREV - Manual do Usuário CADPREV-Web.

Estrutura de Dados. Aleardo Manacero Jr.

O que há de novo no Autodesk Navisworks 2011?

Solicitação do Cliente

MONITOR LCD. Versão 1.0. PN-L703A/PN-L603A/PN-70TA3/PN-60TA3/PN-ZL01/PN-ZL02 (Os modelos disponiveis variam de acordo com a regiao.

Emissão de Boletos. 2) O sistema exibirá uma mensagem com o número da Remessa. Esse número NÃO DEVE ser alterado (é automático) -> OK.

Linguagem C Princípios Básicos (parte 1)

Transcrição:

SCC-602 Algoritmos e Estruturas de Dados 1 (Engenharia de Computação) Profª. Maria das Graças Volpe Nunes Trabalho Prático 2 Descrição do Problema Data de divulgação: 14/10/10 Prazo para entrega: 05/11/10 Criar um programa em linguagem C que implemente certas operações sobre listas dinâmicas simplesmente encadeadas, como segue: O programa deve permitir a manipulação de duas listas dinâmicas L1 e L2. As listas contêm valores inteiros que podem variar de 1 a 99 e aceitam valores repetidos. Ao ser iniciado, o programa exibe as duas listas (que são inicialmente vazias) e define L1 como a lista ativa. A lista ativa é aquela na qual deve ser realizado o próximo comando do usuário. Uma sugestão de apresentação é a seguinte: L1: L2: Isso indica que ambas as listas estão vazias (i.e., sem conteúdo) e que L1 é a lista ativa. A qualquer momento, o programa deve permitir que o usuário alterne a lista ativa (i.e., de L1 para L2 e vice-versa); O programa deve permitir a realização de operações sobre a lista ativa; As operações devem ser oferecidas ao usuário através de um menu, que será exibido após cada operação. Esse menu deve conter as seguintes opções: 1. Alternar lista ativa 2. Inserção 3. Exclusão 4. Preenchimento 5. Intercalação 6. Balanceamento 7. Finalizar 1

Operações Inserção Esta operação solicita ao usuário um valor inteiro para inserção na lista ativa. A posição de inserção depende da ordem dos elementos na lista, pois a mesma deve ser mantida ordenada. Valores já existentes devem ser aceitos. Exclusão de Intervalo Esta operação solicita ao usuário dois valores inteiros N1 e N2 e remove da lista ativa todos os elementos cujas chaves estejam nesse intervalo (incluindo as chaves N1 e N2, se existirem). Preenchimento Esta operação solicita ao usuário dois valores inteiros N1 e N2 e percorre a lista ativa em busca de intervalos entre as chaves existentes e realiza a inserção de elementos intermediários a N1 e N2 (inclusive N1 e N2). Por exemplo, fornecidos os valores 5 e 10, o programa deverá inserir, na lista ativa os valores entre 5 e 10, mantendo a lista ordenada. Lista ativa: 1 2 6 6 8 11 Na lista acima, a operação de preenchimento deve inserir novas chaves, deixando a lista com a seguinte configuração: 1 2 5 6 6 7 8 9 10 11 Intercalação (Merging) Nesta operação, o programa deve realizar a intercalação de duas listas produzindo, colocando o resultado na lista ativa. A outra lista não é alterada. Exemplo: L1: 1 2 3 5 7 10 L2: 2 4 6 7 8 15 Resultado da intercalação: L1: 1 2 2 3 4 6 7 7 8 10 15 L2: 2 4 6 7 8 15 Balanceamento Esta operação deve transferir elementos da lista maior para a menor até que fiquem com a mesma quantidade de elementos ou com a diferença de um. Por exemplo: L1: 1 8 34 2

L2: 2 4 6 7 8 15 20 23 Resultado do balanceamento: L1: 1 2 6 8 34 L2: 4 7 8 15 20 23 Esta opção simplesmente encerra o programa. Fim Após cada operação o programa deve exibir o conteúdo atual de L1 e L2 (indicando a lista ativa) e esperar um novo comando. Ferramentas A implementação do trabalho será em linguagem C, utilizando o compilador GCC. Diversos ambientes de programação utilizam o GCC como compilador padrão, com é o caso do Dev-C++ (http://dev-c.softonic.com.br/) e o Code Block (http://www.codeblocks.org/), inclusive esse compilador é o padrão da maioria das distribuição Linux. Caso deseje instalar esse compilador para ser usado em linha de comando nos sistemas Windows, baixar o MinGW (http://www.mingw.org/, baixar em http://sourceforge.net/projects/mingw/). Entrega do Trabalho Deve ser entregue, até a data determinada, um arquivo zipado chamado GrupoXX.zip, onde XX corresponde ao número do seu grupo, contendo os arquivos abaixo: principal.c (Código onde se faz a interação com o usuário); listas.h (Header do TAD da implementação das operações sobre listas dinâmicas); listas.c (TAD da implementação das operações sobre listas dinâmicas); A entrega do arquivo deve ser pelo email arquivos.maziero@gmail.com. Serão considerados os email enviados até às 23:59 do dia 29/10/2010. Trabalhos fora do prazo serão penalizados (como descrito abaixo). 3

Critérios de Avaliação e Penalidade A nota do trabalho 1 (NT1) será constituída da seguinte maneira: NT1 = 0.5*NC + 0.2*NE + 0.1*NI + 0.2*NCF, onde: NC é a nota do critério Correção; NE é a nota do critério Eficiência; NI é a nota do critério Interface; NCF é a nota do critério Código Fonte. Correção (NC): o programa faz o que foi solicitado? Faz tudo o que foi solicitado? Utiliza encapsulamento de informação? Serão considerados nos critérios de avaliação: O uso correto dos TAD e operações de manutenção relacionadas; Cumprimento dos requisitos funcionais, ou seja, realiza as transações da maneira correta; Eficiência (NE): as operações são executadas da maneira mais eficiente para cada estrutura de dados? Evita código duplicado/redundante/não atingível? Interface (NI): é simples de usar, prático, tolera os erros mais óbvios? O trabalho foi entregue dentro das especificações (zipado, com os nomes de arquivo solicitados)? Interface do programa; Interface de entrega do trabalho; Código fonte (NCF): é claro e organizado? Nomes de variáveis são sugestivos? Está bem documentado? Clareza; Nomes de variáveis; Documentação/comentários no código. A nota do trabalho sofrerá penalidade se entregue depois do prazo estipulado, conforme os critérios abaixo: NT1 = k*nt1, onde k é um fator multiplicador dado por: k = 1.0, se o trabalho for entregue dentro do prazo determinado (não há penalidade); k = 0.7, se o trabalho for entregue até 24hs após o prazo determinado; k = 0.5, se o trabalho for entregue entre 24hs e 48hs após o prazo estipulado; k = 0.0, se o trabalho for entregue mais de 48hs após o prazo estipulado (será considerado desistente). 4

Para cada trabalho recebido por e-mail será enviada uma resposta de confirmação! 5