ATPS B1 EstruturaDeDados

5
ETAPA 1: Resolva o seguinte exercício: Vamos supor que um número real seja representado por uma estrutura em C, como esta: struct realtype { int left; int right;} on de left e ri gh t representam os dígitos posicionados à esquerda e à direita do ponto decimal, respectiamente! "e left for um inteiro negatio, o número real representado ser# negatio! a! $mpl emen te um progr ama em C para cri ar uma estru tura rep rese ntan do esse número e para ler um número real nesta estrutura! %! &este mes mo prog rama, fa'a a leitu ra de um mer o real em uma noa ar i# el desta mesma estrutura! (Referência: exercíc io 1.3.2, pag 83 d o PLT ) progra!a de"er# $er entreg%e i!pre$$o &'* co! progra!a$ ig%ai$ a o%tro$ gr%po$. &a$o exi$ta, o exercício de$ta etapa rece+er# ponto$. #include <stdio.h> #include <stdlib.h> #include <conio.h> struct realtye ! int le"t int right $real int %ain&int argc' char (argv)*+ ! int aux rint"&,-nEntre co% os nu%eros -n,+ rint"&,-n /igite a arte inteira: ,+ scan"&,0d,' real.le"t+ rint"&,-n /igite a arte deci%al: ,+ scan"&,0d,' real.right+  22"un34o ara n4o i% ri%ir nu%eros nega tivos na arte deci%al i" &real.right < 5+ real.right 6 real.right ( &1+ rint"&,-n# 7u%ero digitado: 0d.0d-n,'real.le"t'real.right+ return 5 $

Transcript of ATPS B1 EstruturaDeDados

Page 1: ATPS B1 EstruturaDeDados

8/15/2019 ATPS B1 EstruturaDeDados

http://slidepdf.com/reader/full/atps-b1-estruturadedados 1/5

ETAPA 1:

Resolva o seguinte exercício:

Vamos supor que um número real seja representado por uma estruturaem C, como esta:struct realtype {int left;int right;}onde left e right representam os dígitos posicionados à esquerda e à direita do pontodecimal, respectiamente! "e left for um inteiro negatio, o número real representado ser#negatio!

a! $mplemente um programa em C para criar uma estrutura representando esse númeroe para ler um número real nesta estrutura!

%! &este mesmo programa, fa'a a leitura de um número real em uma noa ari#eldesta mesma estrutura!

(Referência: exercício 1.3.2, pag 83 do PLT) progra!a de"er# $er entreg%e i!pre$$o&'* co! progra!a$ ig%ai$ a o%tro$ gr%po$. &a$o exi$ta, o exercício de$taetapa rece+er# ponto$.

#include <stdio.h>#include <stdlib.h>#include <conio.h>

struct realtye!

int le"tint right

$real

int %ain&int argc' char (argv)*+ !

int aux

rint"&,-nEntre co% os nu%eros -n,+

rint"&,-n /igite a arte inteira: ,+scan"&,0d,' real.le"t+rint"&,-n /igite a arte deci%al: ,+scan"&,0d,' real.right+

 22"un34o ara n4o i%ri%ir nu%eros negativos na arte deci%ali" &real.right < 5+

real.right 6 real.right ( &1+

rint"&,-n# 7u%ero digitado: 0d.0d-n,'real.le"t'real.right+

return 5$

Page 2: ATPS B1 EstruturaDeDados

8/15/2019 ATPS B1 EstruturaDeDados

http://slidepdf.com/reader/full/atps-b1-estruturadedados 2/5

ETAPA 8:

Resolva o seguinte exercício: 

"uponha que um inteiro precise de quatro %ytes, um número real precise de oito%ytes e um caractere precise de um %yte! (ressuponha as seguintes defini')es edeclara')es:

struct nametype {char first*+-;char midinit;char last*.-;};struct person {struct nametype name;

int %irthday*.-;struct nametype parents*.-;int income;int numchildren;char address*.-;char city*+-;char state*.-;$ s t r u c t erson ) 1 5 5 *

"e o endere'o inicial dep for +, quais ser/o os endere'os iniciais 0em%ytes1 de cada um dos seguintes2

a! p*+-%! p *.- ! name! midinitc! p* .- !incomed! p*.- !address*3-e! p * 3 - ! parents * + - ! l a s t * + -

(Referência: exercício 1.3.3, pag 83 do PLT)

Reosta:

a6 1915b6 8;11c6 ;588d6 ;5;9e6 =

Page 3: ATPS B1 EstruturaDeDados

8/15/2019 ATPS B1 EstruturaDeDados

http://slidepdf.com/reader/full/atps-b1-estruturadedados 3/5

ETAPA ;:

Resonda as seguintes uest?es sobre onteiros:

+! 4 que 5 um ponteiro2 6 para que sere um ponteiro2

6m programa'/o, um ponteiro ou apontador 5 um tipo de dado de uma linguagem

de programa'/o cujo alor se refere diretamente a um outro alor alocado em outra

#rea da mem7ria, atra5s de seu endere'o! 8m ponteiro 5 uma simples

implementa'/o do tipo refer9ncia que sere para indicar, ou armaenar, um

endere'o de mem7ria!

(onteiro n/o 5 um int, float, dou%le ou char e sim um tipo de dado que armaena o

endere'o em que esses est/o alocado!

.! uais das seguintes instru')es s/o corretas para declarar um ponteiro2a! int <ptr =;%! int >ptr;c! >int ptr;d! >=;

Resosta: letra b

?! ual 5 a maneira correta de referenciar ch, assumindo que o endere'o de ch foiatri%uído ao ponteiro indica2a! >indica;%! int >indica;c! >indic;d! che! >ch;

  Resosta: letra a

@! &a e=press/o float >pont; o que 5 do tipo float2a! a ari#el pont!%! o endere'o de pont!c! a ari#el apontada por pont!d! nenhuma das anteriores!

Resosta: letra c

Page 4: ATPS B1 EstruturaDeDados

8/15/2019 ATPS B1 EstruturaDeDados

http://slidepdf.com/reader/full/atps-b1-estruturadedados 4/5

3! Assumindo que o endere'o de num foi atri%uído a um ponteiro pnum, quale=press/o 5 erdadeira2a! num B pnum%! num B >pnum

c! pnum B >numd! pnum B num

Resosta: letra d

D! Assumindo que queremos ler o alor de =, e o endere'o de = foi atri%uído a p=, ainstru'/o seguinte 5 correta2 (or que2cin >>  *px;

Resosta: @ correto a"ir%ar' ois ara ler o contedo do onteiro x te%osue utiliBar o ( .

E! ual 5 a instru'/o que dee ser adicionada ao programa seguinte para que elefuncione corretamente2

!ain ( ) - int , /p0

/p 30 

Resosta: te%os ue indicar ara o onteiro C(D o endere3o de%e%Fria de CD ou seDa D 6 D.

%ain & + !

int D' (D

D 6 D

(D 6 ;

$

Page 5: ATPS B1 EstruturaDeDados

8/15/2019 ATPS B1 EstruturaDeDados

http://slidepdf.com/reader/full/atps-b1-estruturadedados 5/5

F! Assumindo que o endere'o da ari#el = foi atri%uído a um ponteiro p=, escreauma e=press/o que n/o usa = e diida = por 3!

 %ain&+ !

int x'(xx 6 xrint"&,0d,'(x29+return&5+

$

G! Considerando o seguinte trecho do programa:

int i 3, 0int /p0 p 4i0int /505 40

6%ai$ $er7o os alores das seguintes e=press)es:

a! 0>p1HH; o valor de ( 6; deois do incre%ento assa ser Gb. >p I >q; (6G (69 6 1c! 0>q1Hj; (69 H DH9 6 15

+!"eja a seguinte sequ9ncia de instru')es em um programa C:int >pti;int i B +;pti B i;

ual afirmatia 5 "alsa2a! pti armaena o endere'o de i%! >pti 5 igual a +c! ao se e=ecutar >pti B .; i passar# a ter o alor .d! ao se alterar o alor de i, >pti ser# modificado

e! pti 5 igual a +

Resosta: a alternativa "alsa e a letra c