Anda di halaman 1dari 42

ED Estrutura de Dados

Tpico 1

Tpicos da disciplina
1) Tipos de Dados:
Tipos Primitivos;
Mecanismos para Construo de Tipos;
Variveis, Declaraes e Expresses
2) Matrizes:
Matri!es "nidimensionais e Multidimensionais;
Matri!es Especiais e Matri!es Esparsas
3) Cadeias de Caracteres:
Tipos;
#peraes e aplicaes

Tipos de Dados

# con$unto de tipos de dados nativos %ue um computador pode


suportar & determinado pelas 'unes incorporadas em seu
(ard)are

Podemos visualizar o conceito de "tipo de dado" so* uma


perspectiva totalmente di'erente; no em termos do %ue um
computador pode 'a!er, mas em fun!o do "ue o usu#rio "uer
fazer

"m tipo de dado & um conceito a*strato, de'inido por um con$unto de


propriedades l+icas ,ssim %ue um tipo de dado a*strato & de'inido
e as operaes vlidas envolvendo esse tipo so especi'icadas,
podemos implementar esse tipo de dado -ou uma aproximao.

Tipos de Dados

, lin+ua+em C cont&m cinco tipos *sicos de dados/ int$


float$ c%ar$ dou&le e void

0a maioria dos computadores, esses %uatro tipos so


nativos no (ard)are da m%uina

Existem tr1s %uali'icadores %ue podem ser aplicados/


s%ort$ lon' e unsi'ned

Tipos de Dados

Tipos Primitivos
, 2in+ua+em C possui cinco tipos *sicos de dados 3eus
tipos, taman(o, intervalos e uso podem ser vistos a*aixo/

Tipos de Dados

Tipos Modi'icados
#s tipos *sicos -primitivos. podem ter vrios modi'icadores
precedendo4os "m modi'icador & usado para alterar o
si+ni'icado de um tipo *sico

Tipo (&strato de Dados )TD()

5 uma 'erramenta muito 6til para especi'icar as


propriedades l+icas de um tipo de dado

7undamentalmente, um tipo de dado si+ni'ica um


con$unto de valores e uma se%81ncia de operaes
%ue podem ser reali!adas so*re estes valores

Com o aux9lio de ponteiros, & poss9vel implementar


em 2in+ua+em C os TD,:s mais comuns/ pil(a, lista
e 'ila, assim como suas respectivas operaes

Tipo Enumerado

# tipo enumerado & muito utili!ado para


'acilitar a criao e, principalmente o
entendimento do pro+rama

Vamos supor a se+uinte situao/ "m cliente


pediu4nos %ue desenvolv1ssemos um
pro+rama onde o usurio di+ite um n6mero
entre ; e < -inclusive. e, o so't)are retorne o
dia da semana correspondente

;. 3olicita a entrada de um n6mero de ;
a < e atrav&s de uma estrutura =s)itc(>
devolve o dia da semana ao usurio, de
acordo com o n6mero di+itado
?. =s)itc(>, est testando as iniciais dos
dias da semana -se+, ter, %ua e etc.
@. Poss9vel devido A criao de um tipo
enumerado c(amado =diasBsemana> e,
lo+icamente, uma varivel c(amada
=dia> do tipo =diasBsemana>
C. ,o criarmos um tipo enumerado na
2in+ua+em C, as palavras %ue 'ormam o
tipo correspondero a um n6mero inteiro
e
se%8encial, iniciado em !ero 0o
exemplo a*aixo, =dom> vale !ero, =se+>
vale um, =ter> vale dois e assim por
diante

Definindo tipos***
Dinclude Estdio(F
tGpede' int inteiro;
tGpede' 'loat decimal;
int main -.
H
inteiro x I ;;
decimal G I ;J;
print'-KLIMd Nn OIM'NnNnK,x,G.;
return P;
Q






Constantes

, declarao de valores constantes pode ser


e'etuada de duas 'ormas/
R , primeira delas & usando a diretiva do
pr&4processador con(ecida como =+define>
R , se+unda & usando a palavra reservada =const>
Para criar uma constante usando a palavra
reservada =const>, 'a!4se necessrio tam*&m a
declarao do tipo da constante

E,emplo com +define
+include -stdio*%.
+include -stdli&*%.
+define /0/C/1 1
+define 2/M 1333
int main))
4
int i$,5
for )i 6 /0/C/15 i-62/M5 i77)
4
for ), 6 15 ,-6133333335 ,77) 4 8 99 :ausa contando at; 13*333*333 )dez mil%<es)
printf)" i6=d >n"$i)5
8
8

E,emplo com ?const@
+include -stdio*%.
+include -stdli&*%.
const int /0/C/1 6 1$ 2/M 6 13335
int main))
4
int i$,5
for )i 6 /0/C/15 i-62/M5 i77)
4
for ), 6 15 ,-6133333335 ,77) 4 8 99 :ausa contando at; 13*333*333 )dez mil%<es)
printf)" i6=d >n"$i)5
8
8












Declara um ponteiro p para
um inteiro;
Ponteiro p aponta para o
endereo de a
Endereo apontado por p
rece*e o valor ?
a no 'oi iniciali!ado com
nen(um valor, mas seu
endereo por meio do
ponteiro p rece*eu o valor ?

Sual o erroT










Dinclude Estdio(F
int 'at-int n.
H
i' -nIIP.
H
return ;;
Q
else
H
return nU'at-n4;.;
Q
Q
int main-.
H
int n;
print'-KNnNnDi+ite um valor para n/ K.;
scan'-KMdK, Vn.;
print'-KNn# 'atorial de Md IF MdK, n, 'at-n..;
return P;
Q

#*ri+ado
:rofessor Aonald Costa
sc(eroltW+mailcom
Ensino Buperior com foco em B12TC(AE D/EAEF
:eda'o'icamente correto*** Bocialmente Gusto***

Anda mungkin juga menyukai