Você está na página 1de 10

ATIVIDADES PRTICAS

SUPERVISIONADAS
CST em Anlise e Desenvolvimento de Sistemas

4. Srie
Estrutura de Dados

A Atividade Prtica Supervisionada (ATPS) um procedimento metodolgico de


ensino-aprendizagem desenvolvido por meio de etapas, acompanhadas pelo
professor, e que tem por objetivos:
Favorecer a autoaprendizagem do aluno.
Estimular a corresponsabilidade do aluno pelo seu aprendizado.
Promover o estudo, a convivncia e o trabalho em grupo.
Auxiliar no desenvolvimento das competncias requeridas para o exerccio
profissional.
Promover a aplicao da teoria na soluo de situaes que simulam a
realidade.
Oferecer diferenciados ambientes de aprendizagem
Para atingir estes objetivos, a ATPS prope um desafio e indica os passos a
serem percorridos ao longo do semestre para a sua soluo.
Aproveite esta oportunidade de estudar e aprender com desafios da vida
profissional.

AUTORIA:
Thiago Salhab Alves
Faculdade Anhanguera de Santa Barbara do Oeste

CST em Anlise e Desenvolvimento de Sistemas 4 Srie Estrutura de Dados

Pg. 2 de 10

COMPETNCIAS E HABILIDADES
Ao concluir as etapas propostas neste desafio, voc ter desenvolvido as competncias
e habilidades que constam, nas Diretrizes Curriculares Nacionais, descritas a seguir.
Competncia para identificar, analisar e documentar oportunidades, problemas e
necessidades passveis de soluo via computao, e para empreender na
concretizao desta soluo.
Capacidade de abstrao, representao, organizao e viabilizao de solues de
software para diferentes domnios de aplicao.
Habilidade em tomar decises e saber implement-las.

Produo Acadmica

Relatrio 1 - Estrutura de Dados.


Relatrio 2 - Listas Ligadas.
Relatrio 3 - Filas e Pilhas.
Relatrio 4 - Grafos.

Participao
Esta atividade ser, em parte, desenvolvida individualmente pelo aluno e, em parte,
pelo grupo. Para tanto, os alunos devero:

organizar-se, previamente, em equipes de 2 a 5 participantes;

entregar seus nomes, RAs e e-mails ao professor da disciplina e

observar, no decorrer das etapas, as indicaes: Aluno e Equipe.

DESAFIO
Estrutura de Dados o nome dado a organizao de dados e algoritmos de forma
coerente e racional de modo a otimizar o seu uso. Por meio da maneira como os dadosso
organizados e como as operaes so efetuadas sobre estes dados, se podem solucionar de
forma simples problemas extremamente complexos. Existem diversos modelos de estruturas
de dados, e novos modelos so criados constantemente, pois acompanham tambm a
evoluo dos algoritmos e das linguagens de programao. Escolher uma estrutura de dados
ideal pode tornar-se um problema difcil para uma determinada soluo. As pesquisas e
estudos das estruturas de dados esto em constante desenvolvimento, apesar disso, existem
estruturas que tm se mostrado padro, ou seja, so clssicas. Podemos citar as listas, pilhas,
filas, rvores e grafos como estruturas de dados clssicas.
Neste desafio, dever ser apresentada uma soluo computacional baseada em
Estruturas de Dados para uma empresa area chamada VOEBEM que deseja automatizar
alguns processos adotados pela companhia. A empresa necessita de um sistema que permita
controlar a lista de voos dirios e de passageiros por vos, realize a reserva de assentos e
liberao para taxiamento das aeronaves, realize o controle de armazenamento das bagagens
no compartimento de carga e realize levantamento das rotas de voos.

Thiago Salhab Alves

CST em Anlise e Desenvolvimento de Sistemas 4 Srie Estrutura de Dados

Pg. 3 de 10

Objetivo do Desafio
Utilizar as estruturas de dados listas, pilhas, filas e grafos para resolver problemas
computacionais de uma empresa area atravs da construo de algoritmos para controle de
voos e passageiros, reserva de assentos e liberao para taxiamento de aeronaves, controle de
armazenamento das bagagens e levantamento das rotas de voos.

Livro Texto da Disciplina


A produo desta ATPS fundamentada no livro-texto da disciplina, que dever ser
utilizado para soluo do desafio:
TENENBAUM, Aaron M; AUGENSTEIN, Moshe J.; AUGENSTEIN, Yedidyah. Estruturas de
Dados Usando C. 1 ed. So Paulo: Makron Books, 2007.

ETAPA 1(tempo para realizao: 10 horas)


Aula-tema: Breve reviso da Linguagem C. Alocao Esttica de Memria. Conceito,
aplicaes, vantagens. Exemplos e exerccios.
Esta atividade importante para que voc conhea os fundamentos de Estruturas de
Dados e Alocao Esttica de Memria.
Para realiz-la, devem ser seguidos os passos descritos.

PASSOS
Passo 1 (Aluno)
1. Fazer a leitura do captulo 1: Introduo s Estruturas de Dados do livro texto da
disciplina de Estrutura de Dados (TENEMBAUM, A.; LANGSAM, Y.; AUGESTEIN, M.
Estrutura de Dados usando C. 1 ed. So Paulo: Pearson, 2007) focando a leitura em
Vetores em C e implementao de Estruturas em C.
2. Fazer a leitura do material de aula: Vetores e Matrizes. Disponvel em:
<https://docs.google.com/open?id=0B_uLQd5hdqlWcnBnQVk0YVpTUXFzUmMyc1N
WaVpvQQ>. Acesso em: 26 mar. 2012. Buscar compreender o conceito de Alocao
Esttica de Memria que faz a utilizao de Vetores e Matrizes.
Passo 2 (Equipe)
Fazer a discusso do contedo de texto e da aula lida, que ser utilizado para produzir
relatrio e implementao de uma estrutura, com destaque para:
1. alocao de Memria;
2. ponteiros em C;
3. estruturas de dados e C;
4. vetores em C;
5. implementando vetores unidimensionais;
6. operaes com strings de caracteres;
7. estruturas em C;
Thiago Salhab Alves

CST em Anlise e Desenvolvimento de Sistemas 4 Srie Estrutura de Dados

Pg. 4 de 10

8. implementando estruturas.
Passo 3 (Equipe)
Fazer as seguintes atividades:
1. Descrever e exemplificar o que alocao esttica de memria.
2. Fazer um programa em Linguagem C que implemente uma estrutura avio(structaviao),
permitindo o cadastro e a exibio, com os seguintes campos:
modelo;
fabricante;
passageiros;
comprimento;
altura;
velocidade;
altitude;
motor.
3. Considerar como exemplo a criao da estrutura aluno:
struct aluno
{
intra;
char nome[30];
charendereco[50];
char curso[60];
char email[60];
};
Passo 4 (Equipe)
Elaborar e entregar ao professor um relatrio com o nome de Relatrio 1 - Estrutura de
Dados contendo as atividades desenvolvidas nos passos anteriores.

ETAPA 2 (tempo para realizao: 10 horas)


Aula-tema: Listas em C: conceitos, tipos e aplicaes, exemplos e exerccios. Filas em
C: conceito, tipos, aplicaes, exemplos e exerccios. Pilhas em C: conceito, tipos,
aplicaes, exemplos e exerccios.
Esta atividade importante para que voc aplique os conceitos de Alocao Dinmica
de Memria e das Listas Simplesmente Encadeadas para desenvolver programas em
Linguagem C para controle da lista de voos e passagens areas.
Para realiz-la, devem ser seguidos os passos descritos.

PASSOS
Passo 1 (Aluno)
1. Fazer a leitura do material de aula: Alocao Dinmica de Memria. Disponvel em:
<https://docs.google.com/open?id=0B_uLQd5hdqlWTVFzdzZRYTZSSDJRRm9hLVg1Rj
Thiago Salhab Alves

CST em Anlise e Desenvolvimento de Sistemas 4 Srie Estrutura de Dados

Pg. 5 de 10

RxZw>. Acesso em: 26 mar. 2012. Focar a leitura no funcionamento da alocao dinmica
de memria, funo malloc() e funo free().
2. Fazer a leitura do captulo 4: Filas e Listas do livro texto da disciplina de Estrutura de
Dados (TENEMBAUM, A.; LANGSAM, Y.; AUGESTEIN, M. Estrutura de Dados usando
C. 1 ed. So Paulo: Pearson, 2007) focando a leitura na implementao de Listas Ligadas.
3. Fazer a leitura do material de aula: Lista Simplesmente Encadeada. Disponvel em:
<https://docs.google.com/open?id=0B_uLQd5hdqlWQXdYT19jQUJUd2Vob1BYQ3dWZ
Ekydw>. Acesso em: 26 mar. 2012. Focar a leitura na implementao de listas
simplesmente encadeada.
Passo 2 (Equipe)
1. Fazer um programa em Linguagem C que criem uma estrutura de dados voo(struct voo)
para a empresa VOEBEM, que servir para implementar funes para controle da lista
dos voos. A estrutura voo deve ser implementada de forma dinmica e deve conter os
seguintes dados:
nmero do voo;
data do voo;
horrio do voo;
aeroporto de Sada;
aeroporto de Chegada;
rota;
tempo estimado de voo;
passageiros a bordo;
2. Implementar a funo cadastrarVoo() que deve permitir o cadastro de um novo voo;
3. Implementar a funo consultaVoo() que deve permitir obter as informaes do voo com
base na digitao do nmero do voo;
4. Implementar a funo removeVoo() que permita a excluso de um determinado voo.
Passo 3 (Equipe)
1. Fazer um programa em Linguagem C que implemente a estrutura passagem (struct
passagem) para a empresa VOEBEM que servir para implementar funes para controle
da lista de passagens areas vendidas. A estrutura passagem deve ser implementada de
forma dinmica e deve conter os seguintes dados:
nmero da Passagem;
nmero do Voo;
data Embarque;
horrio de Embarque;
porto de Embarque.
2. Implementar a funo cadastrarPassagem() que deve permitir o cadastro de uma nova
passagem;
3. Implementar a funo consultaPassagem() que deve permitir obter informaes sobre a
passagem com base na digitao do nmero da passagem.

Thiago Salhab Alves

CST em Anlise e Desenvolvimento de Sistemas 4 Srie Estrutura de Dados

Pg. 6 de 10

Passo 4 (Equipe)
Elaborar e entregar ao professor um relatrio com o nome Relatrio 2 - Listas Ligadas,
contendo as atividades desenvolvidas nos passos anteriores desta etapa. Para os programas,
apresentar no relatrio o cdigo fonte e telas do uso do sistema.

Socializao de resultados parciais


Cada equipe deve elaborar uma apresentao de acordo com os resultados obtidos nas
etapas 1 e 2, que contenha as dificuldades encontradas e possveis solues propostas. O
professor organizar as equipes para que todas apresentem este trabalho parcial, em sala de
aula, aos demais colegas, para compor o Seminrio Final desta ATPS.
Esta atividade tem o propsito de socializar as dinmicas de trabalho encontradas por
cada equipe, bem como trocar experincias a respeito dos resultados obtidos.

ETAPA 3 (tempo para realizao: 10 horas)


Aula-tema: Introduo Alocao Dinmica de Memria: conceito, funes e
aplicaes. Exemplos. Desenvolvimento de Filas e Pilhas com alocao dinmica.
Esta atividade importante para que voc manipule Filas e Pilhas utilizando a
alocao dinmica.
Para realiz-la, devem ser seguidos os passos descritos.

PASSOS
Passo 1 (Aluno)
1. Fazer a leitura do captulo 4: Filas e Listas do livro texto da disciplina de Estrutura de
Dados (TENEMBAUM, A.; LANGSAM, Y.; AUGESTEIN, M. Estrutura de Dados usando
C. 1 ed. So Paulo: Pearson, 2007) focando a leitura na implementao de Filas em C.
2. Fazer a leitura do captulo 2: A Pilha do livro texto da disciplina de Estrutura de Dados
(TENEMBAUM, A.; LANGSAM, Y.; AUGESTEIN, M. Estrutura de Dados usando C. 1
ed. So Paulo: Pearson, 2007) focando a leitura na implementao de Pilhas em C.
3. Fazer
a
leitura
do
material
de
aula:
Filas.
Disponvel
em:
<https://docs.google.com/open?id=0B_uLQd5hdqlWUVV6N0FxbzdRZm1KT0d2Y282b
U1Zdw>. Acesso em: 26 mar. 2012. Focar a leitura na implementao de filas.
4. Fazer
a
leitura
do
material
de
aula:
Pilhas.
Disponvel
em:
<https://docs.google.com/open?id=0B_uLQd5hdqlWUVV6N0FxbzdRZm1KT0d2Y282b
U1Zdw>. Acesso em: 26 mar. 2012. Focar a leitura na implementao de pilhas.
Passo 2 (Equipe)
1. Fazer um programa em Linguagem C que implemente a estrutura taxiamento
(structtaxiamento) para controlar a Liberao para Taxiamento das Aeronaves para
decolagem na pista de voos. O taxiamento e as decolagens devem obedecer uma fila para
no haver choques entre as aeronaves a decolar e que esto pousando. A estrutura

Thiago Salhab Alves

CST em Anlise e Desenvolvimento de Sistemas 4 Srie Estrutura de Dados

Pg. 7 de 10

taxiamento deve ser implementada de forma dinmica e deve conter as seguintes


informaes:
nmero do voo;
modelo da Aeronave;
empresa Area;
horrio de Sada;
2. Implementar a funo cadastrarTaxiamento() que deve cadastras as informaes do
taxiamento e decolagem com as informaes acima. O cadastro deve obedecer disciplina
de insero dos dados FIFO (First In First Out).
3. Implementar a funo autorizaTaxiamento() que deve apresentar qual a sequencia de
taxiamentos e decolagens das aeronaves.
Passo 3 (Equipe)
1. Fazer um programa em Linguagem C que implemente a estrutura bagagem (struct
bagagem) para o controle de armazenamento das bagagens no compartimento de cargas.
O programa deve controlar o empilhamento e desempilhamento das bagagens e ser
implementado de forma dinmica, por meio das seguintes informaes:
cdigo da Bagagem;
nmero da Passagem;
nmero do Voo;
data Embarque;
horrio de Embarque;
porto de Embarque.
2. Implementara funo cadastraBagagem() que deve permitir o cadastro de bagagens dos
passageiros. O cadastro deve obedecer disciplina de insero dos dados LIFO (Last In
First Out).
3. Implementar a funo recuperaBagagem() que deve resgatar as bagagens que foram
empilhadas pela funo cadastraBagagem().
Passo 4 (Equipe)
Elaborar e entregar ao professor um relatrio com o nome Relatrio 3 - Filas e Pilhas,
contendo as atividades desenvolvidas nos passos anteriores desta etapa. Para os programas,
apresentar no relatrio o cdigo fonte e telas do uso do sistema.

ETAPA 4 (tempo para realizao: 10 horas)


Aula-tema: Grafos: conceito, definio, tipos, aplicaes. Exemplos.
Esta atividade importante para que voc conhea e aplique os conceitos e aplicao
de Grafos em Linguagem C.
Para realiz-la, devem ser seguidos os passos descritos.

Thiago Salhab Alves

CST em Anlise e Desenvolvimento de Sistemas 4 Srie Estrutura de Dados

Pg. 8 de 10

PASSOS
Passo 1 (Aluno)
1. Fazer a leitura do captulo 8: Grafos e Suas Aplicaes do livro texto da disciplina de
Estrutura de Dados (TENEMBAUM, A.; LANGSAM, Y.; AUGESTEIN, M. Estrutura de
Dados usando C. 1 ed. So Paulo: Pearson, 2005) focando a leitura na aplicao e
representaes de Grafos em C.
2. Fazer a leitura do material de aula: Grafos e Suas Aplicaes. Disponvel em:
<https://docs.google.com/open?id=0B_uLQd5hdqlWdU9tQi1yS1pTQXUzNEQ1d3Bsbk
ZBUQ>. Acesso em: 26 mar. 2012. Focar a leitura na implementao de filas.
Passo 2 (Equipe)
Fazer a discusso da leitura do captulo do livro texto e do material de aula, que ser
utilizado como base para a implementao de rotas de voos por meio da estrutura grafo, com
destaque para:
1. Representao de Grafos em C.
2. Algoritmo de Menor Caminho.
3. Representao por meio de Matriz de Adjacncia.
4. Caminhamento em Amplitude.
5. Caminhamento em Profundidade.
Passo 3 (Equipe)
1. Fazer um programa em Linguagem C que implemente um levantamento de rotas entre
uma Cidade A e uma Cidade B por meio de um Grafo, utilizando Matriz de Adjacncia.
Considerar um total de dez cidades e fazer a ligao entre elas considerando as distncias
e tempo voo. Para percorrer da Cidade A para a Cidade B, considerar como melhor opo
a distncia e o tempo de voo. A Figura 1 apresentada a seguir, representa um mapa de
rotas de voos de cidades brasileiras. Considerar, por exemplo, o deslocamento entre a
cidade de Belo Horizonte Fortaleza. Podem-se considerar as seguintes rotas de voos:
1. Belo Horizonte Fortaleza.
2. Belo Horizonte So Lus Fortaleza.
3. Belo Horizonte Recife Fortaleza.
4. Belo Horizonte Salvador Recife Fortaleza.

Thiago Salhab Alves

CST em Anlise e Desenvolvimento de Sistemas 4 Srie Estrutura de Dados

Pg. 9 de 10

Figura 1 MapadeRotas
Fonte: <http://donome.com.br/rotas-de-voos-da-azul-linhas-aereas-nacionais-internacionais-e-aeroportos/>.
Acesso em: 28 mar. 2012.

2. Implementar a funo montarGrafo() que permita cadastrar, aleatoriamente, dez cidades


e determinar se h ligao entre elas e qual a distncia de voo entre as cidades.
3. Implementar a funo caminhaGrafo() que permita determinar qual o melhor caminho
entre uma cidade A e uma cidade B, considerando a distncia e a ligao entre as cidades.
Passo 4 (Equipe)
Elaborar e entregar ao professor um relatrio com o nome Relatrio 4 - Grafos, contendo as
atividades desenvolvidas nos passos anteriores desta etapa. Para os programas, apresentar
no relatrio o cdigo fonte e telas do uso do sistema.

Seminrio de Concluso
Com o objetivo de apresentar os resultados obtidos por meio da ATPS, o Seminrio Final
pretende proporcionar aos estudantes a socializao das variaes de resultados, bem como o
debate a respeito das dificuldades e solues encontradas para a finalizao do desafio.
Cada equipe dever realizar uma apresentao de vinte minutos, contendo at vinte
slides.
Esta apresentao dever contemplar a seguinte estrutura:
Introduo: base terica utilizada para soluo do desafio.
Desenvolvimento: a partir da apresentao parcial elaborada na etapa 2, descrever
as solues encontradas para a resoluo final do desafio.
Concluso: explicar como as solues encontradas para a resoluo final do
desafio, podero contribuir efetivamente em sua vida profissional.
A apresentao do Seminrio Final de cada curso dever ocorrer em sua unidade, em
local e data a serem definidos pelo professor da disciplina e o coordenador de curso.

Thiago Salhab Alves

CST em Anlise e Desenvolvimento de Sistemas 4 Srie Estrutura de Dados

Pg. 10 de 10

Padronizao
O material escrito solicitado nesta atividade deve ser produzido de acordo com as
normas da ABNT, com o seguinte padro (exceto para produes finais no textuais):

em papel branco, formato A4;

com margens esquerda e superior de 3cm, direita e inferior de 2cm;

fonte Times New Roman tamanho 12, cor preta;

espaamento de 1,5 entre linhas;

se houver citaes com mais de trs linhas, devem ser em fonte tamanho 10, com
um recuo de 4cm da margem esquerda e espaamento simples entre linhas;

com capa, contendo:

nome de sua Unidade de Ensino, Curso e Disciplina;

nome e RA de cada participante;

ttulo da atividade;

nome do professor da disciplina;

cidade e data da entrega, apresentao ou publicao.


Para consulta completa das normas ABNT, acesse a Normalizao de Trabalhos Acadmicos
Anhanguera.
Disponvel
em:
<http://issuu.com/normalizacao/docs/normaliza____o_de_trabalhos_acad__m>.
Acesso
em: 13 maio 2014.

Thiago Salhab Alves