Você está na página 1de 11

ANHANGUERA EDUCACIONAL S.A.

Faculdade Anhanguera de Sorocaba


Curso Superior de Tecnologia em Anlise e Desenvolvimento de
Sistemas

jubileu de Souza - RA: 7089686576


Alessandro Flores Melo RA: 6818121252

Atividade Prtica Supervisionada


Relatrio 1 Estrutura de dados

Sorocaba
2014

Adenilson de Oliveira Lara RA: 7093586576


Lessandro Melo de Lisboa- RA: 6818446502

Atividade Prtica Supervisionada


Relatrio 1 Estrutura de dados

Relatrio apresentado, como exigncia


parcial para a obteno do grau de
Tecnlogo em Anlise e Desenvolvimento
de Sistemas, na Anhanguera Educacional
Ltda, sob a orientao do Prof.
Roberto Vanderlei De Arruda.

Sorocaba
2014

O nico lugar onde o sucesso vem antes do


trabalho no dicionrio.
Albert Einstein

Sumrio
Desafio

5
Etapa 1 Passos 1,2 e 3 6
Etapa 2 Passo 1 8
Referncias 10

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 dados
so 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 voos, 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.

Etapa 1

Descrever e exemplificar o que alocao esttica de


memria
Na alocao esttica de memria um espao a ser utilizado definido no inicio da execuo,
sendo assim no possvel alterar o tamanho desse espao durante a execuo do programa.
Aps o uso deve-se liberar o espao alocado, e quem faz essa liberao o programador via
linha de cdigo.
Exemplo 1 :
int vetor[20]; // Espao reservado para 20 valores do tipo int
char nome[10]; // Espao reservado para 10 valores do tipo char
char cidade; // Espao reservado para 1 valor do tipo char
Exemplo 2:
void quad(int n) {
n = n * n;
printf("n = %d\n"; n);
}
int main() {
int n;
n = 3;
quad(n);
printf("n = %d\n", n);
return 0;
}

Programa em Linguagem C que implemente uma


estrutura avio

Etapa 2

Resumo: Alocao Dinmica de Memria


Durante a sua execuo, os programas utilizam e solicitam memria para o seu
funcionamento, a esse processo da se o nome de alocao dinmica, e atravs dela que o
programa em C utiliza e solicita somente a quantia de memria necessria evitando o
desperdcio do recurso. Existem vrios exemplos de desperdcio de memria sendo um deles a
declarao de vetores, se declaramos um vetor com mais posies do que iremos utilizar,
estamos reservando espao desnecessrio e comprometendo a memria, que deveria estar
livre, o correto seria utilizar a alocao dinmica, para solicitar durante a execuo o espao a
ser usada afinal no temos certeza do espao necessrio para o programa. Em C temos
funes especificas que fazem a solicitao de memria, e quando a memria est cheia o
pedido negado.
As duas funes mais utilizadas para essa alocao, esto listadas abaixo.
malloc: faz um pedido de alocao de memria durante a execuo do programa
free: faz a liberao da memria alocada anteriormente, antes do termino de execuo do
programa, para que o espao possa ser utilizada por outra aplicao ou processo.
A plataforma .net foi criada para o desenvolvimento e execuo de apliacaoes e
sistemas. atraves dele que so invocadas todas as funes necessaias ao
funcionamento dos programas, sob qualqur sistema operacional, com isso
qualquer sistemas desenvolvido nessa plataforma ira rodar na maquina com
qualquer sistema operacional, tendo nela instalado a mesma verso do
net.framework que foi criado ou uma posterior.
C# uma liguagem de programao que foi desenvolvida pela microsoft, ela foi
baseada em algumas linguagens como c++ e java. A plataforma de
desenvolvimento o dotnet, ela composta por um conjunto padro de
bibliotecas, c# uma linguagem livre dos diversos problemas de
incompatibilidade que existiam em outras linguagens.
A linguagem c# esta vinculada ao .Net, que onde ele obtm suas classe e
funces. Um grande diferencial do c# que o cdigo organizado em
"namespaces" que so conjuntos onde as classes com funes similares so
agrupadas, como por exemplo "System Colections" que so para estrutura de
dados e "System Drawing" para grficos.

Resumo: Filas e Listas

As filas em C, funcionam como na vida real, ou seja, segue-se uma ordem para essa execuo,
os primeiros elementos a entrarem so os primeiro a serem atendidos.
Um termo muito conhecido para designar tal tipo de ideia FIFO - First In, First Out
(Primeiro
que
entra,
primeiro
que
sai).
Em termos de programao, dizemos que os elementos que chegam vo para a cauda da fila,
ou seja, para o final, sero atendidos por ltimo. Os elementos que sero primeiro atendidos
so
os
que
esto
na
cabea
da
fila
(na
frente).
Tambm chamamos o ato de colocar algo na fila de ENQUEUE, e de tirar de DEQUEUE.

Resumo: Lista Simplesmente Encadeada


Em uma lista, para cada elemento associado um endereo, no entanto esses endereos no
so contguos e para acess-los devemos utilizar os ponteiros, que iro identificar o cada
endereo.
Abaixo vemos um exemplo.
struct no
{
int valor;
struct no* prox;
};
typedef struct no lista;
Uma boa prtica dar o nome de struct lista para a funo que cria a lista, lembrando que no
obrigatrio. A funo de criao retorna uma lista sem nenhum registro, ou seja, o retorno
NULL.
Ao ser criada uma lista, podemos inserir valores na mesma atravs da funo de insero, que
no segue uma ordem para inserir esses dados.
Para verificarmos uma lista utilizamos uma funo mais fcil que as mencionadas
anteriormente, essa verifica se a lista est vazia ou no. Para verificar se um elemento est
presente na lista utilizamos a funo de busca, que percorrer toda a lista para identificar o
elemento.
Se quisermos retirar um valor da lista, devemos usar uma funo que informara o valor a ser
removido, uma funo mais complexa que as j mencionadas, ela ir procurar o elemento a
ser removido e guardar um referencia para o elemento anterior.

Referncias

https://docs.google.com/open?id=0B_uLQd5hdqlWcnBnQVk0YVpTUXFzUmMyc1N
WaVpvQQ. Acessado em 15/08/2014 as 08:00h.

https://docs.google.com/open?id=0B_uLQd5hdqlWTVFzdzZRYTZSSDJRRm9hLVg1Rj
RxZw. Acessado em 18/08/2014 as 16:00h.

https://docs.google.com/open?id=0B_uLQd5hdqlWQXdYT19jQUJUd2Vob1BYQ3dWZ
Ekydw. Acessado em 25/08/2014 as 17:00h.

TENEMBAUM, A.; LANGSAM, Y.; AUGESTEIN, M. Estrutura de Dados usando C.


1 ed. So Paulo: Pearson, 2007, cap.1.

http://www.di.ufpb.br/liliane/aulas/alocacao.html acessado em 15/09/2014 as 10:00h.