Você está na página 1de 3

ATIVIDADE DA2 - 08/04/2011

1) Escreva um algoritmo para fazer uma busca sequencial em uma lista que no contm duplicatas e est em ordem crescente. Observaes O enunciado a tarefa que o aluno deve fazer !a" n#o o o$%etivo do al&orit!o que "er' de"envolvido( )! al&orit!o de $u"ca e! u!a li"ta te! *or o$%etivo localizar u! deter!inado valor na li"ta( O fato que o aluno dever' utilizar a $u"ca "eq+encial u!a e,i&-ncia da tarefa . co!o deve "er a l/&ica do *roce""o( 0#o inclu1!o" no o$%etivo do al&orit!o de $u"ca co!o e""e al&orit!o "e *roce""a( A*ena" o que ele deve fornecer na "a1da( O u"u'rio do al&orit!o de $u"ca "a$e que o al&orit!o fornece a localiza2#o do ite! *rocurado e a$"oluta!ente n#o *reci"a "a$er co!o o *roce""o que faz a $u"ca( O *roce""o de $u"ca "equencial "i!*le"!ente varre "equencial!ente a li"ta a *artir da *o"i2#o inicial da !e"!a 3ou da *o"i2#o final4( 5equencial!ente "i&nifica que u! cur"or avan2a 3ou retrocede4 "e!*re *ara a *o"i2#o con"ecutiva 3"e&uinte ou anterior4( 5e o cur"or *ula ele!ento" da li"ta a $u"ca n#o "equencial( 5e a li"ta e"t' ordenada 3orde! cre"cente ou alfa$tica4 a varredura deve "er efetuada at encontrar al&u! valor da li"ta que "e%a i&ual ou !aior que o valor *rocurado ou ent#o at que o cur"or ten6a atin&ido a *o"i2#o final da li"ta( 5e o cur"or varre a li"ta at o final !e"!o que o valor *rocurado "e%a !enor que o *ri!eiro da li"ta ent#o n#o foi con"iderada a *r-condi2#o7 a li"ta e"t' e! orde! cre"cente( O al&orit!o de $u"ca devolve o local onde "e encontra o valor *rocurado que u! n8!ero inteiro( 9a"o o valor *rocurado n#o "e%a encontrado na li"ta 3n#o i!*orta "e n#o e,i"te ou "e a li"ta vazia4 o al&orit!o dever' devolver u! "inal que va!o" identificar co! local i&ual a zero u!a vez que a *ri!eira *o"i2#o da li"ta a *o"i2#o 1( 9on"idera!o" que o" ele!ento" da li"ta A ocu*e! a" *o"i2:e" 1 2((( nA *or i""o qualquer ace""o ; *o"i2#o 0 ou ; *o"i2#o nA<1 con"iderado ace""o indevido e! 'rea de li,o que *ode co!*ro!eter a "a1da do al&orit!o( )! *roce""o de $u"ca "equencial que n#o leva e! con"idera2#o a *o""i$ilidade de n#o e,i"tir na li"ta o valor *rocurado te! que !anter o controle do cur"or *ara que n#o ultra*a""e o ta!an6o da li"ta( 5e n#o 6ouver u!a "entinela de $u"ca nece""'rio controlar o loo* co! u!a condi2#o du*la "o$ ri"co de criar u! loo* infinito( Al&orit!o $u"car O$%etivo7 =ocalizar u! valor > e! u!a li"ta A de n8!ero" inteiro" que n#o cont! du*licata" e e"t' e! orde! cre"cente( ?ar@!etro" de entrada7 A 3li"ta de inteiro4 nA3inteiro4 >3inteiro4 ?ar@!etro" de "a1da7 local3inteiro4 ?r-condi2#o7 A li"ta A n#o cont! du*licata" e e"t' e! orde! cre"cente( E"trutura" de Dado"7 A3li"ta de inteiro4 nA3inteiro4 Au"car3A nA > local4 local 0B "e 3nA C 04 ent#o D 1B enquanto 33> E AFDG4 e 3D H nA44 fa2a D D < 1B "e 3> I AFDG4 ent#o local D

2) Construir uma lista com os valores que tm frequncia m ima em uma lista de n!meros reais. E emplo" Entrada" # $.%
1

&.$
2

'.%
*

(.$
+

$.%
$

'.%
(

$.%
)

&.$
&

&.$
'

(.$
1%

).%
11

1%. %
12

&.$
1*

'.%
1+

'.%
1$

).%
1(

n # .

1(

,a-da" &.$
1

'.%
2

n.

Observaes O que "e *ede c6a!a-"e !ult1!oda . a li"ta do" valore" !ai" freq+ente" na li"ta dada( )!a e"trat&ia *ara re"olver o *ro$le!a7 1( Deter!inar a freq+-ncia de cada u! do" ele!ento" di"tinto" da li"ta = 2( Deter!inar a freq+-ncia !',i!a J( Identificar o" ele!ento" da li"ta = que *o""ue! frequ-ncia !',i!a e in"er1-lo" na li"ta A( 0a eta*a 1 *reci"a!o" &uardar e""a" frequ-ncia" e! u!a li"ta e !arcar o" ele!ento" indito" da li"ta =( I"to *ode "er feito *or !eio de u! crivo e! que !arca!o" co! zero a" du*licata" e co! u! contador de ocorr-ncia" o" ele!ento" di"tinto" e! =( ?ara o e,e!*lo aci!a ter1a!o"7 / *
1

+
2

+
*

2
+

%
$

%
(

%
)

%
&

%
'

%
1%

2
11

1
12

%
1*

%
1+

%
1$

%
1(

n /

1(

0a eta*a 2 te!o" que deter!inar o !',i!o na li"ta K( 0a eta*a J te!o" que localizar o" ele!ento" de K que t-! o valor !',i!o e in"erir o corre"*ondente ele!ento da li"ta = na li"ta A que e"t' "endo con"tru1da( Al&orit!o !ulti!oda O$%etivo7 O$ter a li"ta do" ele!ento" de u!a li"ta = que t-! frequ-ncia !',i!a( ?ar@!etro" de entrada7 =3li"ta de real4 n=3inteiro4 ?ar@!etro" de "a1da7 A3li"ta de real4 nA3inteiro4 ?r-condi2#o7 n#o 6' E"trutura" de Dado"7 =3li"ta de real4 n=3inteiro4 A3li"ta de real4 nA3inteiro4 K3li"ta de inteiro4 nK3inteiro4 !ulti!oda3= n= A nA4 nA 0B "e 3n= C 04 ent#o

inicializar o crivo F com 1 em todas as posies

construir o crivo marcando com 0 as duplicatas e os originais com um contador determinar max = maior valor de F Inserir na lista A todos os elementos de L que tm freqncia igual a max

Você também pode gostar