Trabalho 3: Agenda de Tarefas
|
|
- Ana Júlia Maria do Pilar Guimarães Madureira
- 8 Há anos
- Visualizações:
Transcrição
1 INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma a permitir a criação de listas de tarefas associadas a datas específicas, bem como a consulta das tarefas previstas para uma determinada data ou período, entre outras coisas. struct agenda { struct entrada *p; }; typedef struct agenda Agenda; Essa agenda é representada pelo tipo Agenda, definido acima como um ponteiro para uma lista encadeada em que cada nó é do tipo de dados Entrada, que corresponde a uma entrada específica no calendário e aponta para uma lista de tarefas previstas para aquela data. Esse último é definido a partir da estrutura entrada, conforme descrito a seguir: struct entrada { Data d; Tarefa *t; struct entrada *p; }; typedef struct entrada Entrada; Observe que a estrutura entrada possui os campos d, t e p. O campo d armazena uma variável do tipo Data (descrito a seguir), que corresponde à data para a qual estão agendadas as tarefas da lista associada a essa entrada do calendário. O campo t é um ponteiro para o tipo Tarefa (descrito adiante) que indica a lista de tarefas associada a essa entrada. O campo p armazena um ponteiro para o próximo nó da lista de entradas. Essa lista é simplesmente encadeada e mantida em ordem cronológica. O tipo de dados Data é definido a partir da estrutura data, conforme descrito a seguir: struct data { int dd, mm, aa; }; typedef struct data Data; A estrutura data possui os campos dd, mm e aa, inteiros que armazenam o dia, mês e ano associados a uma entrada na agenda. Cada nó da lista de tarefas, por sua vez, é do tipo Tarefa, definido a partir da estrutura tarefa, conforme descrito a seguir: struct tarefa { char descr[81]; int tempo; int prio; struct tarefa *ant; struct tarefa *prox; }; typedef struct tarefa Tarefa;
2 A estrutura tarefa possui os campos descr, tempo, prio, ant e prox. O campo descr é uma cadeia de caracteres que contém a descrição da tarefa. O campo tempo é um inteiro que armazena o tempo de duração de uma tarefa (em minutos). O campo prio é um inteiro que armazena a prioridade da tarefa, um número de 1 (baixa) a 3 (alta). Os campos ant e prox armazenam ponteiros para o nó anterior e o próximo da lista de tarefas, respectivamente. Ou seja, a lista de tarefas é mantida como uma lista duplamente encadeada. A lista deve ser mantida ordenada considerando a prioridade e ordem de chegada. Ou seja, quando uma nova tarefa é introduzida, ela deve ser posicionado na lista após todas aquelas que têm prioridade igual ou maior a ela. Por outro lado, uma tarefa deve ser retirada sempre do início da lista. A Figura 1 exemplifica a estrutura descrita. Agd p Figura 1: Exemplo da representação de uma agenda de tarefas Observa-se que Agd, uma variável do tipo agenda, é um ponteiro para uma lista de variáveis do tipo Entrada, mantida em ordem cronológica. Neste exemplo, esta lista contém quatro nós, cada um deles apontando para uma lista duplamente encadeada de variáveis do tipo Tarefa. Cada uma destas listas é tratada como uma fila de prioridades, de tal forma que uma nova tarefa é posicionada na lista sempre atrás de todas as outras tarefas que têm prioridade igual ou maior. Por exemplo, na lista apontada pela entrada de data 18/11/08, uma nova tarefa com prioridade 1 seria inserida no final da lista. Se a
3 tarefa tivesse prioridade 2, seria inserida na segunda posição da lista (entre Malhar e Compras ). Com prioridade 3, a tarefa seria inserida no início da lista. Na retirada, é selecionada sempre a primeira tarefa da lista, respeitando-se o critério de uma fila. Função Cria_agenda Cria_tarefa Insere_tarefa Consulta_tarefa Remove_tarefa Exibe_dia Exibe_agenda Libera_agenda Descrição Cria uma agenda vazia. Aloca dinamicamente uma nova variável do tipo Tarefa, que posteriormente será inserida na agenda. Insere na agenda, em uma data fornecida como parâmetro, uma tarefa previamente criada. Se não existir uma entrada com a data fornecida na lista de entradas, a entrada deve ser criada e adicionada na ordem cronológica. Nesse caso, a tarefa será adicionada como a primeira da lista de tarefas apontada por essa entrada. Se a entrada já existir, a tarefa deve ser inserida na lista correspondente depois de todas as tarefas que têm prioridade maior ou igual a esta. Nesse caso, a tarefa só poderá ser inserida na lista associada a esta entrada se, após sua inclusão, o somatório do tempo de duração de todas as tarefas da lista não ultrapasse 8 horas (480 minutos). Verifica que tarefa está no início da lista, devolvendo um ponteiro para uma cadeia de caracteres alocada dinamicamente que deve receber a descrição da tarefa. Se a entrada correspondente a essa data não for encontrada, ou caso sejam fornecidos valores inválidos como parâmetro, a função deve retornar NULL. Retira a tarefa que está no início da lista, devolvendo um ponteiro para esta variável. Se a entrada correspondente a essa data não for encontrada, ou caso sejam fornecidos valores inválidos como parâmetro, a função deve retornar NULL. Se esse nó for o único elemento da lista de tarefas associada à entrada correspondente, então, após a remoção da tarefa, esta entrada também deverá ser removida da lista de entradas e liberada. Imprime na tela a as tarefas previstas para uma determinada data, respeitando a ordem da lista. Se a entrada correspondente a essa data não for encontrada, deve ser impressa a mensagem Nenhuma atividade prevista. Caso sejam fornecidos valores inválidos como parâmetros, deve ser impresso Data invalida. Exibe na tela todas as tarefas da agenda em ordem cronológica, respeitando a ordem da lista para cada entrada. Se a agenda estiver vazia deve ser impressa a mensagem Nenhuma atividade prevista. Libera todas as variáveis alocadas dinamicamente. As funções que devem ser implementadas estão descritas resumidamente na tabela acima, e detalhadamente --- com seus parâmetros de entrada e valores de retorno ---, no Anexo 1, que apresenta a interface da biblioteca agendadetarefas.h. O Anexo 2 mostra exemplos das saídas produzidas pelas funções Exibe_dia e Exibe_agenda.
4 OBSERVAÇÕES: 1 - A especificação dos tipos de dados e funções que devem ser implementadas estão no arquivo agendadetarefas.h, que está disponível no site do enunciado do trabalho e cujo conteúdo não pode ser alterado. 2 Os alunos deverão implementar e incluir em agendadetarefas.c todas as demais funções descritas no arquivo agendadetarefas.h. 3 Mesmo as funções que não forem implementadas devem ser acrescentadas no arquivo agendadetarefas.c com o corpo vazio ou com um retorno nulo (caso a função retorne algum valor) para evitar erro de compilação na submissão do trabalho. 4 A função main, fornecida no arquivo Testa_Agenda.c, tem somente a finalidade de demonstrar a utilização das funções implementadas, executando algumas das ações descritas no enunciado. Além disso, pode servir também como modelo para a implementação de testes mais completos. 5 O arquivo agendadetarefas.c deve ser enviado contendo apenas as funções implementadas. Ou seja, o seu arquivo submetido NÃO deve possuir a função main. A correção do trabalho será realizada pelo corretor automático, que terá um programa que chamará as funções conforme declaradas na interface agendadetarefas.h. 6 Programas que não compilarem receberão nota zero. O programa não pode ser escrito usando a sintaxe própria de C++ ou funções que não são do padrão de C. Programas que compilarem serão executados e avaliados numa seqüência de testes. 7- Certamente cada aluno pode discutir com seus colegas (e com seus professores) a forma de implementação que empregará. Observamos, entretanto, que os trabalhos são individuais. Trabalhos similares poderão ter suas notas reduzidas, podendo receber nota zero se o grau de similaridade for muito acentuado. 8 Data de entrega: 26 de Novembro.
5 Anexo 1 ****************************************************************** agendadetarefas.h ****************************************************************** ****************************************************************** Funcao Cria_agenda Cria uma agenda vazia. Nao tem parametros. Saída: Ponteiro para uma Agenda com campo p = NULL. ****************************************************************** Agenda* Cria_agenda(void); ****************************************************************** Funcao Cria_tarefa Aloca dinamicamente uma nova variavel do tipo Tarefa (que posteriormente sera inserida na agenda) e retorna um ponteiro para a nova variavel. Parametros de Entrada: k descricao (ponteiro para uma cadeia de caracteres); t tempo de duracao, em minutos (inteiro > 0); p prioridade (inteiro de 1 a 3); Saída: Ponteiro para a nova variavel. Se a operacao falhar, porque nao foi possível alocar espaco na memoria para mais um no da lista de tarefas, ou porque algum dos parametros recebeu valor invalido, a funcao deve retornar NULL. Obs: No caso de ocorrer alguma das falhas mencionadas, qualquer variavel dinamica que tenha sido alocada desnecessariamente deve ser liberada. ****************************************************************** Tarefa* Cria_tarefa(char *k, int t, int p); ****************************************************************** Funcao Insere_tarefa Insere na agenda uma tarefa previamente criada. Se nao existir uma entrada com a data indicada para esta tarefa na lista, a entrada deve ser criada e adicionada a lista de tarefas na ordem cronologica. Nesse caso, a nova tarefa sera a primeira da lista de tarefas correspondente. Se a entrada ja existir, a tarefa deve ser inserida na lista correspondente considerando sua prioridades, ou seja, devera ser posicionada depois de todas as tarefas que tem prioridade maior ou igual a esta. Uma tarefa so pode ser inserida na lista associada a uma certa entrada se, apos sua inclusao, o somatorio do tempo de execucao de todas as tarefas da lista nao for ultrapassar 8 horas (480 miunutos). Parametros de Entrada:
6 p ponteiro para a agenda; d dia do agendamento da tarefa (inteiro de 1 a 31); m mes do agendamento da tarefa (inteiro de 1 a 12); a ano do agendamento da tarefa (inteiro de 0 a 99); t ponteiro para a tarefa que deve ser inserida; Saída: Inteiro indicando se a operacao de criacao e insercao da tarefa foi bem sucedida, de acordo com os seguintes valores: 0 - operacao bem sucedida; -1 - operacao falhou porque nao foi possível alocar espaco na memoria para um no da lista de entradas da agenda; 1 - operacao falhou porque algum dos parametros continha valores invalidos; 2 - operacao falhou porque a inclusao desta tarefa iria ultrapassar o limite de tempo; Obs: No caso de ocorrer alguma das falhas mencionadas, qualquer variavel dinamica que tenha sido alocada desnecessariamente deve ser liberada ****************************************************************** int Insere_tarefa(Agenda *p, int d, int m, int a, Tarefa *t); ****************************************************************** Funcao Consulta_tarefa Verifica que tarefa esta no início da lista de tarefas apontada pela entrada correspondente a uma data fornecida. Devolve um ponteiro para uma string alocada dinamicamente que deve receber a descricao desta tarefa. Se a entrada correspondente a essa data nao for encontrada, ou caso sejam fornecidos valores invalidos como parametros, a funcao deve retornar NULL. Parametros de Entrada: p ponteiro para a agenda; d dia (inteiro de 1 a 31); m mes (inteiro de 1 a 12); a ano (inteiro de 0 a 99); Saída: ponteiro para uma string alocada dinamicamente que deve receber a descricao da tarefa que esta no inicio da lista apontada pela entrada correspondente a data fornecida como parametro. A funcao deve retornar NULL se a entrada correspondente a essa data nao for encontrada, ou caso sejam fornecidos valores invalidos como parametros. ****************************************************************** char* Consulta_tarefa(Agenda *p, int d, int m, int a); ****************************************************************** Funcao Remove_tarefa Retira a tarefa que esta no início da lista de tarefas apontada pela entrada correspondente a uma data fornecida, devolvendo um ponteiro para esta variavel. Se a entrada correspondente a essa data nao for
7 encontrada, ou caso sejam fornecidos valores invalidos como parametros, a funcao deve retornar NULL. Se essa tarefa for o único elemento da lista de tarefas associada a essa entrada, entao a entrada também devera ser removida (e liberada) apos a remocao da tarefa. Parametros de Entrada: p ponteiro para a agenda; d dia (inteiro de 1 a 31); m mes (inteiro de 1 a 12); a ano (inteiro de 0 a 99); Saída: ponteiro para a tarefa que estava no inicio da lista. A funcao deve retornar NULL se entrada correspondente a essa data nao for encontrada, ou caso sejam fornecidos valores invalidos como parametros. ****************************************************************** Tarefa* Remove_tarefa(Agenda *p, int d, int m, int a); ****************************************************************** Funcao Exibe_dia Exibe na tela as tarefas previstas para uma data, respeitando a ordem da lista. Se a entrada correspondente a essa data nao for encontrada, deve ser impressa a mensagem 'Nenhuma atividade prevista'. Caso sejam fornecidos valores invalidos como parametro, deve ser impressa a mensagem 'Data invalida'. Parametros de Entrada: p ponteiro para a agenda; d dia (inteiro de 1 a 31); m mes (inteiro de 1 a 12); a ano (inteiro de 0 a 99); ****************************************************************** void Exibe_dia(Agenda *p, int d, int m, int a); ****************************************************************** Funcao Exibe_agenda Exibe na tela todas as tarefas da agenda em ordem cronologica e respeitando a ordem da lista de tarefas para tarefas agendadas para a mesma data. Se a agenda estiver vazia deve ser impressa a mensagem 'Nenhuma atividade prevista'. Parametros de Entrada: p ponteiro para a agenda; ****************************************************************** void Exibe_agenda(Agenda *p); ****************************************************************** Funcao Libera_agenda Libera todas as variaveis alocadas dinamicamente para armazenar uma agenda, com sua lista de entradas e as respectivas listas de tarefas.
8 Parametros de Entrada: p ponteiro para a agenda; Saída: Inteiro indicando o numero de tarefas que foram apagadas, ou: 0 - se agenda estava vazia; -1 - se a operacao falhou por algum outro motivo; ****************************************************************** int Libera_agenda(Agenda *p);
9 Anexo 2 O quadro abaixo ilustra o formato correto da saída a ser mostrada na tela para a função Exibe_dia, com parâmetros indicando a data 18/11/08, considerando o mesmo exemplo apresentado na Figura 1. Observe que a função deve escrever o nome de uma tarefa em cada linha, obedecendo a ordem da lista de tarefas: Malhar Compras Ler Considerando a data de 20/11/08, a saída seria: Correr Praia Se a função for chamada com a data de 22/11/08, a saída seria: Nenhuma atividade prevista Se a função for chamada com a data fictícia de 22/15/08, a saída seria: Data invalida O quadro abaixo ilustra a saída da função Exibe_agenda. Observe que a função deve escrever o nome de uma tarefa em cada linha, obedecendo a ordem da lista de entradas e a ordem da lista de tarefas: Reuniao Estudar Cinema Malhar Compras Ler Correr Praia
Este trabalho tem como objetivo praticar o uso de tipos abstratos de dados e estruturas do tipo Lista.
Universidade Federal do Espírito Santo Departamento de Informática Estruturas de Dados (INF09292) 1 o Trabalho Prático Período: 2011/1 Prof a Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Data de
Leia maisINF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15
INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15 1. Um número racional é expresso por dois inteiros: um numerador e um denominador (este último diferente de zero!). Implemente um TAD para representar números
Leia maisINF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4
INF1 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4 1. Considere uma aplicação que utiliza pontos, retângulos e círculos para representações gráficas. Um ponto é composto pelas suas coordenadas x e y, um retângulo
Leia maisTRABALHO PRÁTICO Nro. 02 (Atualizado em 29/10/2008)
USP ICMC SSC SCE-283 Linguagens de Programação e Aplicações Professor responsável: Fernando Santos Osório Semestre: 2008/2 Horário: Segunda 14h20 E-mail: fosorio.at. icmc.usp.br fosorio.at. gmail.com Web:
Leia maisProf. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa
Prof. Yandre Maldonado - 1 PONTEIROS Prof. Yandre Maldonado e Gomes da Costa PONTEIROS Prof. Yandre Maldonado - 2 Ponteiro é uma variável que possui o endereço de outra variável; É um poderoso recurso
Leia maisAlgoritmos e Estrutura de Dados. Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 7 Estrutura de Dados: Listas Prof. Tiago A. E. Ferreira Introdução Um das formas mais usadas para se manter dados agrupados é a lista Lista de compras, itens de estoque,
Leia maisUNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO
Curso: Engenharia de Computação e Ciência da Computação Data: 10/09/2013 Disciplina: Programação Estruturada Valor: 3,0 pontos Professor: Henrique Monteiro Cristovão Nota: Aluno: Prova resolvida 4ª Prova
Leia maisEstruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos
Estruturas de Dados Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Árvores Conceitos Árvores binárias Árvores binárias de pesquisa Árvores binárias balanceadas Árvores ESTRUTURAS
Leia mais1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.
Lista de exercícios: Grupo I - programa seqüênciais simples 1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. 2. Fazer um programa
Leia maisMétodos Computacionais. Fila
Métodos Computacionais Fila Definição de Fila Fila é uma estrutura de dados dinâmica onde: Inserção de elementos se dá no final e a remoção no início O primeiro elemento que entra é o primeiro que sai
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisEAD Fila. - algumas operações realizam-se na frente/cabeça e outras na cauda da Fila
EAD Fila - os seus elementos são processados por ordem de chegada: - o primeiro elemento a entrar na Fila é o primeiro a sair - FIFO ( First In First Out ). - algumas operações realizam-se na frente/cabeça
Leia maisEste trabalho tem como objetivo praticar o uso de tipos abstratos de dados e estruturas do tipo Lista.
Universidade Federal do Espírito Santo Departamento de Informática Estruturas de Dados I (INF09292) 1 o Trabalho Prático Período: 2013/1 Prof a Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Data de
Leia maisDAS5102 Fundamentos da Estrutura da Informação
Fila de Prioridade A fila de prioridade nada mais é que uma fila comum que permite que elementos sejam adicionados associados com uma prioridade. Cada elemento na fila deve possuir um dado adicional que
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 14 Árvores Binárias Edirlei Soares de Lima Árvores Uma estrutura de dados do tipo árvore permite que dados sejam organizados de maneira hierárquica.
Leia maisINTRODUÇÃO À LINGUAGEM C++
INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem
Leia maisstruct LISTA item quant
UNIVERSIDADE SÃO JUDAS TADEU ESTRUTURA DE DADOS - PROF. H. Senger IMPLEMENTAÇÃO DE LISTAS COM VETORES A implementação de listas utilizando vetores é simples. Existe apenas uma pequena questão, com relação
Leia maisBUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES
BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES ALGORITMOS DE BUSCA EM LISTAS COM ALOCAÇÃO SEQÜENCIAL Busca em Listas Lineares A operação de busca é
Leia maisBusca. Pesquisa sequencial
Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um
Leia maisLinguagem de Programação I
Linguagem de Programação I Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2016 Linguagem de Programação C 2 1 Linguagem de Programação C Os programas em C consistem em
Leia mais5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES
CAPÍTULO 5 5 VETORES E MATRIZES 5.1 Vetores Um vetor armazena uma determinada quantidade de dados de mesmo tipo. Vamos supor o problema de encontrar a média de idade de 4 pessoas. O programa poderia ser:
Leia maisO conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio.
AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio. Nenhuma parte desta publicação pode ser reproduzida nem transmitida
Leia maisFilas: conceitos e implementações
Estrutura de Dados I Filas: conceitos e implementações Cesar Rocha cesar@pontoweb.com.br 1 Objetivos Explorar os conceitos fundamentais acerca do uso de filas utilizando a linguagem C Organização e implementação,
Leia maisIntrodução a Programação. Ponteiros e Strings, Alocação Dinâmica
Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros
Leia maiscompreender a importância de cada estrutura de controle disponível na Linguagem C;
Aula 3 Estruturas de controle Objetivos Esperamos que, ao final desta aula, você seja capaz de: compreender a importância de cada estrutura de controle disponível na Linguagem C; construir programas em
Leia maisINF1007: Programação 2 10 Árvores Binárias. (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 10 Árvores Binárias (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Introdução Árvores binárias Representação em C Ordens de percurso em árvores binárias Altura de uma árvore
Leia mais/*(Atenção: Em se tratando de uma lista estaticamente alocada, temos utilizado a estratégia de passa o tamanho máximo do vetor.)*/
========================TDA.H #include "info.h" #define TRUE 1 #define FALSE 0 #define INI_LISTA 1 #define OK 1; #define NOK -1; typedef struct nolista{ info dados; struct nolista *prox; struct nolista
Leia maisManual de Conciliação Bancária
Manual de Conciliação Bancária Índice Conciliação Bancária... 2 O módulo de Conciliação Bancária no SIGEF... 3 Conciliação Bancária Extrato Bancário... 5 Fazendo a Conciliação Bancária Extrato Bancário...
Leia maisMIT072 Manual de Operação do Portal - Professores
ACESSO AO PORTAL Para acessar o Portal, o professor deve entrar no site Https://meu.ifmg.edu.br/Corpore.Net/Logon.aspx. Na página apresentada será necessário fazer o login preenchendo os campos Usuário
Leia maisDAS5102 Fundamentos da Estrutura da Informação
Pilhas A estrutura de dados Pilha emula a forma de organização de objetos intuitiva que é utilizada diariamente nos mais diversos contextos da vida humana. Containeres são empilhados e desempilhados diariamente
Leia maisEstruturas de Dados Aula 15: Árvores 17/05/2011
Estruturas de Dados Aula 15: Árvores 17/05/2011 Fontes Bibliográficas Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos (Nivio Ziviani): Capítulo
Leia maisFigura 13.1: Um exemplo de árvore de diretório.
13. Árvores W. Celes e J. L. Rangel Nos capítulos anteriores examinamos as estruturas de dados que podem ser chamadas de unidimensionais ou lineares, como vetores e listas. A importância dessas estruturas
Leia maisConceitos básicos da linguagem C
Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por
Leia mais1 Funções básicas de implementação de arquivos
1 Funções básicas de implementação de arquivos 1.1 Definindo registros Depois de um objeto do mundo real ter sido modelado, ou seja, após seus atributos importantes (e relevantes) terem sido identificados,
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência
Leia maisPersistência de Dados
Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD
Leia maisTrabalho Prático 1 Tipos Abstratos de Dados
Universidade Federal de Minas Gerais Departamento de Ciência da Computação/ICEx Algoritmos e Estruturas de Dados II Prof. Jussara M. Almeida Trabalho Prático 1 Tipos Abstratos de Dados Data de entrega:
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia mais----------------------------------------------------------------------------------------------------- Prof. Marcelo Nogueira
LISTAS Uma lista é uma coleção de elementos do mesmo tipo dispostos linearmente que podem ou não seguir determinada organização, por exemplo: [E, E2, E, E4, E,...En], onde n deve ser >=0. Como exemplos
Leia maisResolução da lista de exercícios de casos de uso
Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se
Leia mais3.4 Representação física: alocação encadeada (dinâmica) Ptlista - variável ponteiro externa que indica o início da lista.
3.4 Representação física: alocação encadeada (dinâmica) As posições de memória são alocadas (ou desalocadas) na medida em que são necessárias (ou dispensadas). Os nós de uma lista encontram-se aleatoriamente
Leia maisPROGRAMAÇÃO II 3. FILA DINÂMICA
3. FILA DINÂMICA PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma fila é um tipo especial de lista na qual todas as inserções são feitas sempre depois do fim e as deleções no início. Por isso também recebe
Leia maisFigura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?
Índice BlueControl... 3 1 - Efetuando o logon no Windows... 4 2 - Efetuando o login no BlueControl... 5 3 - A grade de horários... 9 3.1 - Trabalhando com o calendário... 9 3.2 - Cancelando uma atividade
Leia maisAlgoritmos e Estruturas de Dados II. Trabalho Prático 2
Algoritmos e Estruturas de Dados II Entrega: 24/09/08 Devolução: 15/10/08 Trabalho individual Prof. Jussara Marques de Almeida Trabalho Prático 2 Você foi contratado pela XOL X Online para desenvolver
Leia maisO Windows também é um programa de computador, mas ele faz parte de um grupo de programas especiais: os Sistemas Operacionais.
MICROSOFT WINDOWS O Windows também é um programa de computador, mas ele faz parte de um grupo de programas especiais: os Sistemas Operacionais. Apresentaremos a seguir o Windows 7 (uma das versões do Windows)
Leia maisVariáveis e Comandos de Atribuição
BCC 201 - Introdução à Programação Variáveis e Comandos de Atribuição Guillermo Cámara-Chávez UFOP 1/47 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c e s s a d o r > < d e c l
Leia maisManual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20
As informações contidas neste documento estão sujeitas a alterações sem o prévio aviso, o que não representa um compromisso da Virtuem Informática. As pessoas, organizações ou empresas e eventos de exemplos
Leia maisBem-vindo ao tópico sobre administração de listas de preços.
Bem-vindo ao tópico sobre administração de listas de preços. Nesse tópico, você aprenderá a administrar listas de preços no SAP Business One. Sua empresa atualiza múltiplas listas de preços para fornecer
Leia maisExercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
Leia maisRelatório de Gestão de Mudanças
- UFRN CISGAP - Comitê Executivo de Integração de Sistemas de Gestão Administrativa e de Pessoas TÍTULO DO PROJETO CICLO-/e-log/SIPAC DEMANDANTE DO PROJETO, DPF e DPRF MÓDULO SIPAC Almoxarifado ÓRGÃO UFRN,,
Leia maisManual do Sistema de Almoxarifado P á g i n a 2. Manual do Sistema de Almoxarifado Geral. Núcleo de Tecnologia da Informação
Divisão de Almoxarifado DIAX/CGM/PRAD Manual do Sistema de Almoxarifado Geral Versão On-Line Núcleo de Tecnologia da Informação Universidade Federal de Mato Grosso do Sul Manual do Sistema de Almoxarifado
Leia maisLista de Exercícios da 3ª Unidade. ( Ponteiros, Alocação dinâmica, Arquivos, Estruturas de Dados)
Lista de Exercícios da 3ª Unidade ( Ponteiros, Alocação dinâmica, Arquivos, Estruturas de Dados) 1. (Seg. chamada - 2014.1) Construa um programa em C que realize as seguintes operações: a) Faça uma função
Leia maisMANUAL DO USUÁRIO PORTAL DO PROFESSOR
MANUAL DO USUÁRIO PORTAL DO PROFESSOR ACESSANDO O PORTAL DO PROFESSOR Para acessar o portal do professor, acesse o endereço que você recebeu através da instituição de ensino ou acesse diretamente o endereço:
Leia maisSistema Integrado CAPES - Programa de Apoio a Eventos no País
COORDENAÇÃO DE APERFEIÇOAMENTO DE PESSOAL DE NÍVEL SUPERIOR DIRETORIA DE GESTÃO DGES COORDENAÇÃO GERAL DE INFORMÁTICA CGIN COORDENAÇÃO DE DESENVOLVIMENTO E MANUTENÇÃO DE SISTEMAS CSI MANUAL DE UTILIZAÇÃO
Leia maisManual de utilização
Manual de utilização 1 Índice Calendário... 3 Usuários... 4 Contato... 5 Alterar... 5 Excluir... 5 Incluir... 5 Feriados... 9 Nacionais... 9 Regionais... 9 Manutenção... 9 Obrigações... 9 Obrigações Legais...
Leia mais- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções
1 - Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções Um programa pode possuir determinados processos realizados repetidas vezes ao longo da execução do programa. Estes processos podem se agrupar
Leia maisListas (Parte 2) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br. BCC202 Aula 10 Algoritmos e Estruturas de Dados I
Listas (Parte 2) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br BCC202 Aula 10 Algoritmos e Estruturas de Dados I Listas Encadeadas Características: Tamanho da lista não é pré-definido Cada elemento
Leia maisProcedimentos para Realização de Avaliação de Desempenho Etapa 1: Organizar Estrutura
Procedimentos para Realização de Avaliação de Desempenho Etapa 1: Organizar Estrutura Versão: V0_0_3 Data: 11 de abril de 2014 Diretoria Geral de Recursos Humanos - DGRH Site: http://www.dgrh.unicamp.br
Leia maisPara os demais formatos, o relatório será gerado mas virá com configurações incorretas.
Balancete Orçamentário Produto : TOTVS Gestão Patrimonial - 12.1.6 Processo : Relatórios Subprocesso : Balancete Orçamentário Data publicação da : 17/06/2015 O Balancete é um relatório contábil oficial
Leia maisTer o controle das pastas (Prontuários) armazenadas no "SAME", utilizando-se do recurso do "Volume".
Page 1 of 31 184771 Módulo: AMAP - SAME PDA 184771: Controle do Arquivamento de Pastas do SAME. SOLICITAÇÃO DO CLIENTE Ter o controle das pastas (Prontuários) armazenadas no "SAME", utilizando-se do recurso
Leia maisTrabalho Prático 1 Revisão de Programação, Tipos Abstratos de Dados e Combinação de Alocação Estática e Dinâmica de Memória
Trabalho Prático 1 Revisão de Programação, Tipos Abstratos de Dados e Combinação de Alocação Estática e Dinâmica de Memória Valor: 0,5 pontos (5% da nota total) Documentação em Latex: +0,1 pontos Data
Leia maisSimulado Informática Concurso Correios - IDEAL INFO
Simulado Informática Concurso Correios - IDEAL INFO Esta prova de informática é composta por 20 (vinte) questões de múltipla escolha seguindo o molde adotado pela UnB/CESPE. O tempo para a realização deste
Leia maisProgramação de Computadores I. Linguagem C Arquivos
Linguagem C Arquivos Prof. Edwar Saliba Júnior Novembro de 2011 Unidade 12 Arquivos 1 Trabalhando com Arquivos Um arquivo em Linguagem C pode representar diversas coisas, como: arquivos em disco, uma impressora,
Leia maisAplicação de RMAs - Instruções
Aplicação de RMAs - Instruções 1 - Registo do Utilizador na Plataforma Existem duas possibilidades de um utilizador se registar na plataforma de RMAs. Utilizador com acesso ao site Utilizador sem acesso
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Leia maisPROVA INFORMÁTICA BANCO DO BRASIL 2007
PROVA INFORMÁTICA BANCO DO BRASIL 2007 RESOLUÇÃO DE QUESTÕES FONTE: http://www.cespe.unb.br/concursos/bb12007/ E-BOOK SISTEMA FINANCEIRO NACIONAL Este e-book é recomendado para candidatos que estão se
Leia maisManual SIGEESCOLA Matrícula - 2009
Manual SIGEESCOLA Matrícula - 2009 GOVERNO DO ESTADO DO CEARÁ SECRETARIA DA EDUCAÇÃO BÁSICA COORDENADORIA DE DESENVOLVIMENTO DA ESCOLA PASSO A PASSO DA UTILIZAÇÃO DO SIGE ESCOLA 2009 1. PARA ACESSAR O
Leia maisREGISTRO DE PROJETOS
REGISTRO DE PROJETOS 1. REGISTRO DE PROJETOS Esta aplicação tem o objetivo de realizar o Registro de Projetos da Instituição. É possível, incluir, alterar ou excluir essas informações. 1.1. Acessando a
Leia mais- UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6) Curso: Informática
Programação 1I Prof. Osório Definição do Trabalho Prático (T.P. GRAU B) Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6) Curso: Informática PROGRAMAÇÃO II Disciplina:
Leia maisPROCEDIMENTOS PARA AQUISIÇÃO
PROCEDIMENTOS PARA AQUISIÇÃO Acesse o site www.teubilhete.com.br, selecione a opção Teu Online, e clique no botão, preencha o formulário com os dados de sua empresa. Reúna duas vias impressas do Contrato
Leia maisSOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum
SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Introdução
Leia maisMANUAL DE UTILIZAÇÃO DO SISTEMA ON LINE DE CONTROLE ACADÊMICO
MANUAL DE UTILIZAÇÃO DO SISTEMA ON LINE DE CONTROLE ACADÊMICO 009 SUMÁRIO ACESSANDO O SISTEMA ON LINE... ACESSANDO SEUS RECADOS... 4. Lendo um Recado Recebido... 5. Excluindo um Recado Recebido... 6. Recuperando
Leia maisProjeto Agenda Pessoal usando Lista Duplamente Encadeada
Projeto Agenda Pessoal usando Lista Duplamente Encadeada Para este projeto recomenda-se o uso da linguagem Python em qualquer ambiente operacional (DOS, Windows, Linux). O projeto apresentado a seguir
Leia maisTrabalho 7 Fila de prioridade usando heap para simulação de atendimento
Trabalho 7 Fila de prioridade usando heap para simulação de atendimento Data: 21/10/2013 até meia-noite Dúvidas até: 09/10/2013 Faq disponível em: http://www2.icmc.usp.br/~mello/trabalho07.html A estrutura
Leia maisSumário. 1. Propósito 1 2. Tabela de Ferragem 1 3. Criar Tabela de Ferragem 1 4. Conector de Ferragens 7
Ferragens Sumário 1. Propósito 1 2. Tabela de Ferragem 1 3. Criar Tabela de Ferragem 1 4. Conector de Ferragens 7 1. Propósito Para definirmos todos os materiais que devem compor uma estrutura de ferragem,
Leia maisIntrodução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza
Introdução Manipulação de arquivos em C Estrutura de Dados II Prof Jairo Francisco de Souza Manipulação de Arquivo em C Existem dois tipos possíveis de acesso a arquivos na linguagem C : sequencial (lendo
Leia maisCriar formulários preenchidos pelos usuários no Word
Página 1 de 5 Word > Criando documentos específicos > Formas Criar formulários preenchidos pelos usuários no Word Usando um modelo, você pode adicionar controles de conteúdo e texto com instrução no Microsoft
Leia maisGATI Gestão de Atendimento Inteligente. Manual de Uso. powered by OPUS Software v1.0
GATI Gestão de Atendimento Inteligente Manual de Uso powered by OPUS Software v1.0 2 Gestão de Atendimento Inteligente A Gati Gestão de Atendimento Inteligente registra todo tipo de comunicação entre as
Leia maisManual de uso do Borderô Credix
Manual de uso do Borderô Credix Após efetuar o download do aplicativo siga os passos para a instalação do sistema, ao final será criado um atalho na área de trabalho, como ilustra a figura 1. Figura 1
Leia maisEstrutura de Dados. Introdução a Ponteiros. Prof. Gerson Borges Estrutura de Dados I 1
Estrutura de Dados Introdução a Ponteiros Prof. Gerson Borges Estrutura de Dados I 1 Sumário è Explicação da importância do planejamento de ensino; è Métodos e técnicas que iremos trabalhar durante o semestre;
Leia maisPasso a Passo do Cadastro Funcionários no SIGLA Digital
Passo a Passo do Cadastro Funcionários no SIGLA Digital Funcionários Página 1 de 12 O cadastro de funcionários permite cadastrar o usuário que vai utilizar o SIGLA Digital e também seus dados pessoais.
Leia maisConfigurando a emissão de boletos no sistema
Configurando a emissão de boletos no sistema Entre nossos sistemas, o GIM, o GECOB, o GEM, o TRA-FRETAMENTO e os 15 sistemas da linha 4U (GE-COMERCIO 4U, GEPAD 4U, GE-INFO 4U, etc ) possuem funções para
Leia maisNOTIFICANDO USUÁRIOS SOBRE UMA NOVA EDIÇÃO
EDITOR NOTIFICANDO USUÁRIOS SOBRE UMA NOVA EDIÇÃO Em Edições Clicar em Notificar Usuários A página inicial do Editor exibe as submissões em diversas fases do processo editorial, como no caso deste exemplo:
Leia maisTutorial de uso da Planilha via Web
Tutorial de uso da Planilha via Web Este tutorial é destinado a docentes que irão fazer o registro de aulas e lançar faltas pela Web. Para utilizar o serviço, basta acessar a página do Inatel, entrar no
Leia maisSISTEMA DE BIBLIOTECAS DO IFRS
Manual do Usuário: SISTEMA DE BIBLIOTECAS DO IFRS Em 2013 foi adquirido o Sistema de Gerenciamento de Bibliotecas Pergamum para todas Bibliotecas do IFRS. A implantação está sendo feita de acordo com as
Leia maisEspecificação do Trabalho Prático
Especificação do Trabalho Prático O trabalho prático da disciplina consiste em desenvolver um programa utilizando a linguagem de programação C. A seguir, encontram-se a descrição do problema, a forma de
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia maisConsiderações: Leia a lista toda, o quanto antes, para evitar más interpretações e muitas dúvidas em cima da hora
Universidade Federal de Pernambuco Centro de Informática Lista 4 Introdução a Programação Prof: Adriano Sarmento Data: 16/12/2013 Data de entrega: 07/01/2014 Considerações: Leia a lista toda, o quanto
Leia maisInício Rápido para o Templo
Início Rápido para o Templo O FamilySearch.org facilita realizar as ordenanças do templo por seus antepassados. Todo o processo tem apenas alguns passos simples: 1. Descobrir antepassados que precisam
Leia maisDIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SETOR DE ESTÚDIO E SUPORTE MANUAL DE UTILIZAÇÃO DO WEBMAIL DA FTC EAD
DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SETOR DE ESTÚDIO E SUPORTE MANUAL DE UTILIZAÇÃO DO WEBMAIL DA FTC EAD Salvador Bahia Março/2010 MANUAL DE UTILIZAÇÃO DO WEBMAIL Este manual contém a descrição das
Leia mais2ª Lista de Exercícios
Universidade Federal de Minas Gerais Departamento de Ciência da Computação Algoritmos e Estruturas de Dados II (Turmas M, N, W, F) 1º Semestre de 2012 Profs. Camilo Oliveira, Gisele Pappa, Ítalo Cunha,
Leia maisVERSÃO 5.12.0 VERSÃO 5.0.0 FINANCEIRO NEFRODATA ESTOQUE FINALIZAÇÃO: 10 JUN.
VERSÃO 5.12.0 VERSÃO 5.0.0 FINANCEIRO NEFRODATA ESTOQUE ACD2016 FINALIZAÇÃO: 10 JUN. 13 04 NOV.2014 FEV. 201313 JUN. 2016 PUBLICAÇÃO: Prezado Cliente, Neste documento estão descritas todas as novidades
Leia maisEspecificação do 3º Trabalho
Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,
Leia maisManual Ilustrado Módulo At. Clínico Agenda, ASOs, Impressos
Manual Ilustrado Módulo At. Clínico Agenda, ASOs, Impressos Março 2014 Indíce Título do documento 1. Objetivo... 3 2. Como utilizar esse material em seus estudos de Atendimento Clínico... 3 3. Introdução...
Leia maisEsse produto é um produto composto e tem subprodutos
Indústria - Cadastro de produtos O módulo indústria permite controlar a produção dos produtos fabricados pela empresa. É possível criar um produto final e definir as matérias-primas que fazem parte de
Leia maisEspecificação do Trabalho Prático
Especificação do Trabalho Prático O professor Thomas é um homem muito ocupado. Tem, em sua agenda, uma série de compromissos que ele deve atender em 2009. De tantos compromissos que tem, resolveu contratar
Leia mais