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

Documentos relacionados
Universidade Federal do Espírito Santo - CT - DI Trabalho Computacional - PD II - Engenharia Elétrica Profa. Maria Cristina Rangel

2. Descrição do problema

Programação II Primeiro Trabalho

Trabalho Prático 1. Prof. Raphael de O. Santos April 29, 2008

08/09/10. Atividade Supervisionada: Programação de Computadores. Profa.: Alessandra Bussador

Trabalho de LP 15/07/2013. Prof. Flávio Miguel Varejão

Processamento de Dados I - 05/1

Programação Aplicada de Computadores. Trabalho 1 Freecell

Programação II. Trabalho 2 Freecell

Compiladores Prof. a Mariella Berger. Trabalho 2 Analisador Léxico

Trabalho de LP 14/03/2011. Prof. Flávio Miguel Varejão. I. Descrição

Trabalho de LP - C++ 19/05/2014. Prof. Flávio Miguel Varejão. I. Descrição do Problema

29/04/2015. Trabalho de Programação 3. Prof. Flávio Miguel Varejão. I. Descrição

Gauss-Seidel para Solução de Sistemas com Matrizes Banda Usando Armazenamento Especial

Compiladores Prof. a Mariella Berger. Trabalho 3 Analisador Semântico

Compiladores Prof. a Mariella Berger. Trabalho 1 Analisador Léxico

Trabalho de Programação 3 e LP

Especificação do Trabalho Prático

Estruturas de Dados II. Caixeiro Viajante

Exercícios: Arquivos

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

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

Não utilize caracteres acentuados ou especiais para nomes de pastas e arquivos.

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

Faculdade de Computação

CI218 - Trabalho - 2 o sem/2016

Caixeiro Viajante. Estruturas de Dados II. Prof. a Mariella Berger. 1. Objetivo

MAP Segundo exercício programa Splines cúbicos

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Máquinas de Busca. Estruturas de Dados II Prof. a Mariella Berger. 1. Objetivo

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

Exercícios: Vetores e Matrizes

Segundo Trabalho Prático

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

1 O filtro da mediana

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

Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 206 Departamento de Informática Centro Tecnológico

SCC0503 (Algoritmos e Estruturas de Dados II) Prof. Moacir P. Ponti Junior. Trabalho 2

Algoritmos e Estruturas de Dados I

Programação I A Linguagem C. Prof. Carlos Alberto

1ª LISTA DE EXERCÍCIOS

CCO 016 / COM 110 Fundamentos de Programação

4 O conceito de variável

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

Algoritmos e Programação

Laboratório de Introdução à Ciência da Computação I

GEQ Prof. Paulo R. Coelho. Lista para prova

Introdução aos Algoritmos e Estruturas de Dados 2011/2012

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

Segundo Trabalho Prático Turma A

Aula 1 Apresentação do Curso

Programação Básica. Estrutura de um algoritmo

Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 201 Departamento de Informática Centro Tecnológico

Segundo Trabalho Prático

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

Computação 2. Aula 3. Diego Addan Vetores de caracteres (strings)

Caderno de Exercícios Aula 2 (Variáveis, Tipos e Comandos Básicos)

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

EDITAL DE CHAMADA DE TRABALHOS CIENTIFICOS E INSCRIÇÕES I SIMPÓSIO DE SERVIÇO SOCIAL DA FACULDADE DR. LEÃO SAMPAIO

LISTA DE EXERCÍCIOS 2

Laboratório de Introdução à Ciência da Computação I

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores

EDITAL DE CHAMADA DE TRABALHOS CIENTIFICOS II SIMPÓSIO DE SERVIÇO SOCIAL DA FACULDADE DR. LEÃO SAMPAIO EDITAL Nº 01/2017

Aula 1 Apresentação do curso e Conceitos Fundamentais. Objetivo do curso

I CONGRESSO TOCANTINENSE DE TRAUMA E EMERGÊNCIAS MÉDICAS: EDITAL DE SUBMISSÃO DE TRABALHOS CIENTÍFICOS

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

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

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Ficheiros de texto 1. Ficheiros de texto. 1. Implementar um programa que leia uma frase do teclado e a escreva num ficheiro.

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

2 Representação de Imagens em Arquivos Texto

SSC304 Introdução à Programação Para Engenharias. Introdução a Linguagem C. GE4 Bio

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

1.2. Os resumos poderão ser enviados de 12/06 á 27/06/2012. Não serão aceitos trabalhos após essa data.

Vetores. e o programa deverá ler os valores separadamente:

Lista de Exercícios 5

Descrição do Algoritmo LZ77

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

Algoritmos e Técnicas de Programação

CONCEITOS DE ALGORITMOS

Encriptação de Mensagens

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

Questão 01 (Neilor Tonin) Aula Prática 3: Estrutura Condicional. Entrada. Saída. Exemplo de entrada e Saída. - Procedimento para a entrega:.

Trabalho 1 ALGORITMOS E ESTRUTURAS DE DADOS I (SCC-202)

Estrutura de Programas e Tipos de Dados Simples

MAP Primeiro exercício programa Método de Diferenças Finitas para solução de problemas de contorno de equações diferenciais ordinárias

Faculdade de Tecnologia de Curitiba FATEC-PR REGULAMENTO DO I CAMPEONATO DE PROGRAMAÇÃO DA FATEC/PR - CTC REGULAMENTO

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral

1 Como compilar seu código? 2 Comandos de terminal:

Indexação e Busca. O objetivo deste trabalho é projetar e implementar um sistema de programas para indexação e busca em arquivos de texto.

Noções de algoritmos - Aula 1

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

Aula 20: Matrizes (Parte 2)

CI-202-D. Trabalho Prático 2 o Semestre 2015

Working 05 : Modularização

Laboratório de Introdução à Ciência da Computação I

MODULARIZAÇÃO - PARTE 1

Transcrição:

Universidade Federal do Espírito Santo - CT - DI Trabalho Computacional - PD II - Engenharia de Computação Profa. Claudia Boeres Considere o esboço do estado do ES e n cidades enumeradas de 1, 2,..., n. Na ilustração do mapa apresentado, consideramos n = 30. No entanto, o número de cidades a serem consideradas no problema podem variar entre 15 e 30. Desta forma, o valor de n, os nomes das cidades e as suas respectivas coordenadas x e y estão armazenadas no arquivo nome-coord.txt. Cada estrada entre duas cidades possui um custo por quilômetro que deve ser multiplicado pela distância para calcular o custo de viagem entre as cidades. Além disso, o hotel em cada cidade possui um determinado valor para a diária. Os valores das diárias e os custos por quilômetro estão armazenados no arquivo diaria-custo.txt. Observe que a fórmula para o cálculo do custo total de viagem mencionado nas questões seguintes é apresentada no item a) de {Observações Importantes}. Faça um programa na linguagem C para: 1. Ler o arquivo de dados nome-coord.txt 2. Ler o arquivo de dados diaria-custo.txt 3. Construir uma matriz D n n de distâncias entre todas as cidades e armazenar em um arquivo que se chamará distancia.txt 4. Construir uma matriz C n n de custos de viagem entre todas as cidades e armazenar em um arquivo que se chamará custo.txt 5. Criar o arquivo saida.txt que deverá conter em cada linha, as respostas dos itens 6, 7, 8 e 9 no seguinte formato: linha 1: respostas do item 6 separadas por espaços em branco linha 2: respostas do item 7 separadas por espaços em branco linha 3: respostas do item 8 separadas por espaços em branco linha 4: respostas do item 9 separadas por espaços em branco 6. Imprimir no arquivo saida.txt a(s) cidade(s) mais ao norte, mais ao sul, mais a oeste, mais a leste e a mais central. Defina o critério para encontrar a cidade mais central.

7. Construir (imprimir no arquivo saida.txt) o caminho da cidade 1 até a cidade n, passando por todas as cidades na ordem 1 2 3... 29 n. Calcular (imprimir no arquivo saida.txt) a distância total deste caminho (usando a matriz D) e o custo total desta viagem (usando a matriz C), considerando que o viajante dormirá uma noite em cada cidade, exceto a cidade 1. 8. Construir (imprimir no arquivo saida.txt) um caminho da cidade 1 até a cidade n seguindo a lei de formação: a cidade seguinte no caminho é a mais próxima e de maior ordem que a atual, considerando as cidades na ordem fornecida no arquivo nome-coord.txt e ilustradas no gráfico. Exemplo: se estamos na cidade 10 a cidade seguinte será uma cidade de maior ordem (por exemplo, a cidade 12 ou 15) e não uma cidade de menor ordem (por exemplo, a cidade 8 ou 9). Se houver empate com relação à distância, escolher a cidade de maior ordem. Calcular (imprimir no arquivo saida.txt) a distância total deste caminho e o custo total desta viagem. 9. Construir (imprimir no arquivo saida.txt) um caminho da cidade 1 até a cidade n seguindo a lei de formação: a cidade seguinte no caminho é a menos custosa e e de maior ordem que a atual, considerando as cidades na ordem fornecida no arquivo nome-coord.txt e ilustradas no gráfico. Se houver empate com relação ao custo, escolher a cidade de maior ordem. Calcular (imprimir no arquivo saida.txt) a distância total deste caminho e o custo total desta viagem. 10. Considere que a empresa de transporte de carga VIAJECOMPAZ possui um centro de armazenamento de carga na cidade 10. O centro tem que ser abastecido com a carga necessária à demanda das solicitações das cidades do estado. Essa carga chega ao Espírito Santo na cidade 1 e a empresa VIAJECOMPAZ é responsável pela sua distribuição para as cidades de 1 a 10 e abastecer o centro de armazenamento na cidade 10. As demais cidades do estado (11 a 30) não utilizam esta empresa e se responsabilizam por buscar no centro de armazenamento a carga solicitada. Devido à economia de custos e à possibilidade de interdições de estradas, a empresa VIAJECOMPAZ deseja fazer um estudo dos k (o valor de k deve ser lido pelo teclado) menores caminhos existentes entre as cidades 1 e 10 e que passem por todas as cidades entre elas (2 a 9), calculando a distância total de cada caminho. Para isso,

deve-se escrever em um arquivo chamado caminhos.txt, as seguintes informações: o número k de caminhos construídos a lista com todos os k caminhos calculados e suas respectivas distâncias ordenadas em ordem crescente. Observações importantes: a) Para calcular o custo de viagem entre as cidades i e j, utilize a expressão: CV ij = c ij d ij + diaria j b) Os arquivos de dados nome-coord.txt e diaria-custo.txt estarão disponíveis na página da disciplina (www.inf.ufes.br/~pet) c) Data de Entrega: O trabalho deverá ser entregue até às 23:59 horas do dia 28/11/2008 (sexta-feira). A seguir, o esboço do ES com as n = 30 cidades.

27 26 25 24 23 22 21 20 19 21 24 20 25 30 29 26 23 27 22 28 18 17 16 15 16 17 19 18 14 13 12 11 10 9 9 10 8 15 11 14 12 13 8 7 6 5 4 3 1 7 6 2 3 5 4 2 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Forma de Entrega: 1. Compacte o arquivo texto (o nome do arquivo DEVE ser caminho.c) com o código fonte do programa do seu trabalho e envie o arquivo compactado para o e-mail boeres@inf.ufes.br. O nome do arquivo compactado deverá ser trab2.zip (por favor, não enviem.rar) 2. O assunto do e-mail deverá ser o seguinte (somente o que está entre aspas duplas): pd2:trab2:nome1:nome2, onde nome1 e nome2 (máximo 2 componentes) são os nomes dos integrantes do grupo. Substitua nome1 (e demais) pelo primeiro nome e último sobrenome, separados por espaços. Compacte o arquivo fonte utilizando o programa (ou comando) zip e envie o arquivo compactado em anexo. Ressaltamos que o arquivo trab2.zip gerado deverá conter apenas o arquivo com o código fonte do seu trabalho (não podem ter arquivos executáveis ou qualquer outro arquivo) 3. O recebimento dos trabalhos é automatizado. Siga as instruções à risca pois algum erro na submissão pode inviabilizar a entrega do seu trabalho. Não deixe para enviar seu trabalho nos momentos finais de seu prazo. É comum a ocorrência de problemas em virtude de erros na submissão. Logo, enviem com algumas horas de antecedência para que haja tempo hábil para eventuais correções Veja abaixo um exemplo de um e-mail de envio do trabalho do grupo formado por João da Silva e José Geraldo Castro (enviado por João da Silva). Apenas um integrante do grupo envia o trabalho. Não use acentos, cedilhas ou qualquer outro caractere especial. Para: boeres@inf.ufes.br De: Joao da Silva Assunto: pd2:trab2:joao Silva:Jose Castro Anexo: trab2.zip

Atenção: 1. No assunto, a disciplina (pd2) e a identificação do trabalho (trab2) devem ser escritos todos em letras minúsculas 2. NÃO escreva o seu nome com caracteres estendidos (ã, ç, é, etc) 3. Apenas um mail por trabalho deve ser enviado Outras Observações Importantes: 1. Os trabalhos serão verificados automaticamente por uma ferramenta de detecção de plágio. Em caso de deteção de cópia (parcial ou integral), todos os envolvidos recebem nota ZERO. Em outras palavras, tanto os alunos que copiaram quanto os que deixaram copiar recebem ZERO 2. Enviem o trabalho no prazo especificado e no formato especificado. Trabalhos recebidos fora do prazo ou em formato inadequado recebem nota ZERO 3. O trabalho deve ser enviado estritamente para o e-mail especificado acima 4. Trabalho que não compila recebe nota ZERO. Não adianta submeter 5. Os trabalhos serão compilados e verificados usando o compilador gcc no sistema operacional Linux 6. Os programas serão avaliados pela sua correção durante a execução e também pelo estilo de programação. Serão observados particularmente se os programas possuem os comentários apropriados, se usam nomes significativos para as variáveis e funções, se o código está indentado corretamente e se utilizam modularização sempre que possível e apropriado