Modelo Estrutura Do Desafio[1]
Transcript of Modelo Estrutura Do Desafio[1]
-
7/24/2019 Modelo Estrutura Do Desafio[1]
1/9
UNIVERSIDADE ANHANGUERA DE CAMPINAS - Unidade II
CURSO: Sistemas de Informao
DISCIPINA: Estr!t!ra de Dados
Ne"son Manoe" da Si"#a - RA $%&&$$'%''
ME(ODOS E ORGANI)A*OES DE PROCESSAMEN(O DE DADOS
Desafio apresentado como requisito para a
obteno de nota da disciplina Estrutura de
dados do Curso de Sistemas de Informao,
supervisionada pelo tutor presencial
Prof+, Sr.io
CAMPINAS/ %0 de no#em1ro de %2$3
-
7/24/2019 Modelo Estrutura Do Desafio[1]
2/9
E(APA '
',$, Im4"ementao da estr!t!ra ta5iamento,
Passo 2
1. a!er um pro"rama em #in"ua"em C que implemente a estrutura ta$iamento
%structta$iamento& para controlar a #iberao para 'a$iamento das (eronaves para
decola"em na pista de voos. ) ta$iamento e as decola"ens devem obedecer uma fila para
no *aver c*oques entre as aeronaves a decolar e que esto pousando. ( estrutura
ta$iamento deve ser implementada de forma din+mica e deve conter as se"uintes
informaes-
nmero do voo/
modelo da (eronave/
empresa (0rea/ *orrio de Sada/
2. Implementar a funo cadastrar'a$iamento%& que deve cadastras as informaes do
ta$iamento e decola"em com as informaes acima. ) cadastro deve obedecer 3 disciplina
de insero dos dados I) %irst In irst )ut&.
4. Implementar a funo autori!a'a$iamento%& que deve apresentar qual a sequencia de
ta$iamentos e decola"ens das aeronaves.
struct ta$iamento
5
int numero6oo/
int *orarioSaida/
c*ar modelo(eronave7189/
c*ar empresa(erea7189/
struct ta$iamento : pro$/ ;; ponteiro para o pr ?@##,:fim,:novo,:au$,:imprime/ ;; ponteiro para a struct voo
int opcao > 8/
A*ile%opcao B> 4&
5
printf%n&/
printf%719 Cadastrar 'a$iamenton&/
printf%729 )rdem de (utori!acao de 'a$iamento n&/
printf%749 Sair n&/
2
-
7/24/2019 Modelo Estrutura Do Desafio[1]
3/9
scanf%d, Fopcao&/
if%opcao >> 1&
5
novo > %struct ta$iamento:&malloc%si!eof%struct ta$iamento&&/
novoGHpro$ > %struct ta$iamento:&?@##/
printf%n&/
printf%Di"ite o numero do voo- &/
scanf%d, FnovoGHnumero6oo&/
printf%odelo da aeronave- &/
scanf%s, FnovoGHmodelo(eronave&/
printf%Empresa (erea- &/
scanf%s, FnovoGHempresa(erea&/printf%Jorario de Saida- &/
scanf%d, FnovoGH*orarioSaida&/
if%inicio>>%struct ta$iamento :&?@##&
5
inicio > novo/
fim > inicio/
=
else5
fimGHpro$ > novo/
fim > novo/
=
=
else if%opcao >> 2&
5
imprime > inicio/
printf%n&/
A*ile%imprime B> ?@##&
5
printf% )rdem de decola"em- n 6oo n.- d, odelo (eronave- s, Empresa (erea- s,
Jorario de Saida- dn, imprimeGHnumero6oo, imprimeGHmodelo(eronave,imprimeG
Hempresa(erea, imprimeGH *orarioSaida&/
imprime > imprimeGHpro$/ ;; aponta para o pr
-
7/24/2019 Modelo Estrutura Do Desafio[1]
4/9
return 8/
=/
Kesultado-
6i.!ra $ 7 E5e8!o 4asso % at4s 7 estr!t!ra ta5iamento,
Passo 4
1. a!er um pro"rama em #in"ua"em C que implemente a estrutura ba"a"em %struct
ba"a"em& para o controle de arma!enamento das ba"a"ens no compartimento de car"as.
) pro"rama deve controlar o empil*amento e desempil*amento das ba"a"ens e ser
implementado de forma din+mica, por meio das se"uintes informaes-
C
-
7/24/2019 Modelo Estrutura Do Desafio[1]
5/9
Minclude Nstdio.*H
Minclude Nstdlib.*H
Minclude Nconio.*H
struct ba"a"em
5
int codi"oLa"/
int numeroPassa"em/
int numero6oo/
int dataEmbarque/
int *oraEmbarque/
int portaoEmbarque/
struct ba"a"em: pro$/
=/
int main %int ar"c, c*ar :ar"v79&
5
struct ba"a"em: inicio > ?@##,:fim, :novo,:au$,:imprime/
int opcao > 8/
A*ile%opcao B> 4&
5
printf%n&/
printf%719 Cadastrar La"a"em n&/
printf%729 Kecuperar La"a"em n&/printf%749 Sair n&/
scanf%d, Fopcao&/
if%opcao >> 1&
5
;; aloca mem %struct ba"a"em:&malloc%si!eof%struct ba"a"em&&/
;; atuali!a fim do ponteiro
novoGHpro$ > %struct ba"a"em:&?@##/
printf%n&/
printf%Di"ite codi"o daba"a"em- &/
scanf%d, FnovoGHcodi"oLa"&/
printf%Di"ite o numero da passa"em- &/
scanf%d, FnovoGHnumeroPassa"em&/
printf%Di"ite o numero do 6oo- &/
scanf%d, FnovoGHnumero6oo&/
printf%Data do embarque- &/
scanf%d, FnovoGHdataEmbarque&/
printf%Jorario de Embarque- &/
5
-
7/24/2019 Modelo Estrutura Do Desafio[1]
6/9
scanf%d, FnovoGH*oraEmbarque&/
printf%Portao de embarque- &/
scanf%d, FnovoGHportaoEmbarque&/
if%inicio>>%struct ba"a"em:&?@##&
5
inicio > novo/
fim > inicio/
=
else
5
;;atribui o apontamento do primeiro re"istro para o ultimo da pil*anovoGHpro$ > inicio/
;;aponta o novo re"istro para o primeiro da pil*a
inicio > novo/
=
=
else if%opcao >> 2&
5
;; pro$imoOponto aponta para o mesmo de iniOponto, comea do incioimprime > inicio/
printf%n&/
;; mostra todos os dados
;; enquanto pro$imoOponto for diferente de ?@##
A*ile%imprime B> ?@##&
5
printf% Kecuperar ba"a"em -n Codi"o- d, ?umero da Passa"em- d, ?umero do 6oo- d,
Data de Embarque- d, Jorario de Embarque- d, Portao de Embarque- d n, imprimeG
Hcodi"oLa", imprimeGHnumeroPassa"em,imprimeGHnumero6oo, imprimeGH dataEmbarque,
imprimeGH*oraEmbarque, imprimeGHportaoEmbarque&/imprime > imprimeGHpro$/ ;; aponta para o pr
-
7/24/2019 Modelo Estrutura Do Desafio[1]
7/9
E(APA 0
Grafo
Informalmente, um grafo e um modelo matemtico para representar uma
coleo de objetos (camados !"rtices# $ue so ligados aos pares por outra
coleo de objetos (camados arcos ou arestas#% &m ilustra'es de grafos, os!"rtices so geralmente representados por pontos, crculos ou cai)as, e as
arestas por linas ligando os !"rtices% *eja a +gura 2%% &m tais diagramas
entende-se $ue as posi'es dos !"rtices e a forma das linas so irrele!antes. o
grafo representa apenas a topologia dos !"rtices e arestas, isto ", $uem est
ligado a $uem%
/rafos so e)tremamente uteis para modelar problemas em muitas reas de
aplicao% 0or e)emplo, a mala rodo!iria de um estado pode ser representada
por um grafo em $ue as cidades so os !"rtices, e cada treco de estrada entre
cidades consecuti!as e uma aresta% 1m circuito el"trico pode ser !isto como um
grafo onde os !"rtices so condutores metlicos e as arestas so resistores,
capacitores, e outros componentes% 1ma mol"cula pode ser abstrada por um
grafo onde os tomos so os !"rtices e as arestas so as liga'es co!alentes%
1ma trelia metlica pode ser entendida como um grafo onde as arestas so as
barras e os !"rtices so as juntas% /rafos so especialmente importantes em
computao, para modelar tanto ardare em !rios nn!eis (desde circuitos
digitais at" a internet mundial# $uanto conceitos de softare (como registros em
-
7/24/2019 Modelo Estrutura Do Desafio[1]
8/9
bancos de dados, blocos e mmdulos de programas, protocolos de transmisso
de dados, e muito mais#%
conceito abstrato de grafo e o estudo matemtico de suas propriedades foi
uma das muitas contribui'es do matemtico suo eonard &uler (7893#%
1m $uebra-cabeas famoso na "poca era encontrar um passeio $ue !isitasse
todas as pontes da cidade de :onigsberg (!eja a +gura 2%2#, passando uma
;nica !e< em cada ponte% &uler resumiu as propriedades essenciais do mapa por
um diagrama de pontos ligados por linas% =penas analisando esse diagrama
abstrato, ele pro!ou $ue o tal passeio era imposs!el% &ste trabalo (publicado
em 36# e considerado o primeiro artigo da teoria de grafos%
=s teorias matemtica dos grafos foi desen!ol!ida gradualmente no s"culo >,
$uando surgiram importantes aplica'es em $umica e engenaria% ?ua
import@ncia cresceu muito no s"culo 27, com o surgimento das redes de
telefonia, dos circuitos digitais, e por +m dos computadores%
Variedades de .rafos
J vrias maneiras diferentes de formali!ar o conceito de "rafo em matemtica. Cada autor
Pode adotar uma definio diferente, e qual delas e mel*or depende da aplicao. ?esta
Seo vamos apresentar as definies mais comuns.
Em todas as definies, um "rafo consiste de um conQunto de v0rtices e um conQunto
de arestas, que denotaremos por 6 e E , respectivamente. ) conQunto de v0rtices Re
arbitrrio/ a nature!a das arestas depende da definio, mas cada aresta tem sempre dois
e$tremos %no necessariamente distintos& que so v0rtices de . Dependendo da definio,
um "rafo pode ter outras informaes al0m dos conQuntos 6 e E .
Grafos orientados e no orientados
@m detal*e que varia entre as diferentes definies e a e$istncia de uma orientao ou
direo especfica em cada aresta, como a mo nica de certas vias urbanas. rafos queincluem essa informao so ditos "rafos orientados %ou diri"idos&, e os que no a re"istram
so no orientados %ou no diri"idos&.
Em um "rafo orientado, os e$tremos de cada aresta so distintos- um v0rtice Re considerado
a ori"em da aresta, e o outro seu destino. ?as ilustraes de "rafos diri"idos, o sentido de
cada aresta Re "eralmente indicado por uma seta da ori"em para o destino.
Arestas 4ara"e"as
Em al"umas aplicaes, tudo o que precisamos saber sobre as arestas 0 se dois v0rtices u
e v esto li"ados entre si ou no. ?esse caso, o conQunto E pode ser definido como um
9
-
7/24/2019 Modelo Estrutura Do Desafio[1]
9/9
conQunto de pares de v0rtices- u e v esto li"ados se e somente se o par %u, v& est em E .
Em outras aplicaes, pode *aver mais de uma li"ao entre dois v0rtices, e esse fato
precisa ser levado em conta pelo modelo. ?esses casos, costumaGse definir E como outro
conQunto arbitrrio, independente de 6 , e acrescentar ao "rafo uma funo de incidncia
que, para cada aresta, di! quem so seus dois e$tremos. ?este modelo, portanto, pode
*aver um nmero arbitrrio de arestas com os mesmos e$tremos.
Em um "rafo no orientado, duas arestas com os mesmos e$tremos so ditas paralelas
%ou mRmltiplas&. Em um "rafo orientado, duas arestas so paralelas se elas tm os mesmos
e$tremos e a mesma orientao %ou seQa, a mesma a ori"em e mesmo destino&. Se elas tem
os mesmos e$tremos mas orientaes opostas, elas so ditas antiparalelas.
aos
@ma aresta que li"a um v0rtice a ele mesmo, como uma viela circular que comea e termina
na mesma esquina, Re c*amada de lao. (l"umas definies permitem laos no "rafo/ outras
probem laos, e$i"indo que os dois e$tremos de cada aresta seQam v0rtices distintos.
Grafos sim4"es e m!"ti.rafos
(l"uns autores definem "rafos simples como sendo "rafos %orientados ou no& sem laos e
sem arestas paralelas. )utros definem "rafo e$cluindo arestas paralelas, e usam o termo
multi"rafos quando * tais arestas.
Grafos finitos e infinitos
@m "rafo pode ter infinitos v0rtices e;ou infinitas arestas. 'ais "rafos infinitos tem aplicaes
na matemtica, mas os que ocorrem em computao "eralmente so finitos em ambos os
aspectos.
>