Jorge Ivn Posada Gmez Autor Temas: Inrod!""#$n a %!neros Am#go es!d#ane Lee con atencin esta gua de laboratorio est! dise"ada #ara $edir la ca#acidad de dise"o ad%uirida durante el a#rendi&a'e del te$a( )s $u* i$#ortante %ue dedi%ues un tie$#o a leer los conce#tos tericos a%u #resentados * luego intenta solucionar los #roble$as utili&ando los conce#tos a#rendidos( Ten #resente %ue en $uc+as ocasiones la di,icultad de un #roble$a no est! en el lengua'e de #rogra$acin sino en las de,iciencias $ate$!ticas #or eso antes de co$en&ar la solucin es bueno %ue te #reguntes si conoces la $ate$!tica #ara resol-erlo en caso %ue no intenta su#lir esa de,iciencia( Una -e& est.s en condiciones de co$en&ar la solucin es $u* i$#ortante %ue utilices la meodo&og'a de so&!"#$n de %ro(&emas or#enada a %rograma"#$n e/#licada en el curso te a*udar! a construir un #rogra$a de ,or$a $!s estructurada( O()e#vos A,ian&ar los conce#tos sobre #unteros A,ian&ar los conce#tos -istos +asta a+ora en clase )sti$ular el a#rendi&a'e de #rogra$acin $odular 0esarrollar la ca#acidad de utili&ar el lengua'e de #rogra$acin C en la solucin de #roble$as Re"omenda"#ones: Antes de co$en&ar a #rogra$ar en lengua'e C es i$#ortante +acer gr!,icos %ue ,aciliten el entendi$iento del #roble$a * sus re%uisitos de solucin( Luego intenta +acer un es%ue$a de la solucin #ro#uesta es $u* +abitual en la ingeniera +acer diagra$as de blo%ues esto a*uda a resol-er el #roble$a #or #artes( Recuerda los conce#tos a#rendidos de diagra$a de ,lu'o * #seudo cdigo son una #ie&a cla-e al $o$ento de traducir un #roble$a a lengua'e de #rogra$acin( 11 Muc+os ./itos 22 A& *#na&#zar e& #em%o de &a(oraor#o se de(e +a"er enrega de: 1, -e debe entregar un docu$ento con las res#uestas a los #roble$as asignados al #ro,esor( ., Las res#uestas a las #reguntas debe ser detalladas #aso a #aso( Noa: Siga estas instrucciones son la ruta %ue el tutor le #ro#one #ara %ue usted alcance los ob'eti-os * desarrolle las co$#etencias #ro#uestas en este curso( Meodo&og'a )l #ro,esor le asigna 3 e'ercicios %ue debe ser en-iados al ,inali&ar el laboratorio 4cu$#liendo con las condiciones de entrega5 al correo electrnico: 'i#gcursos6g$ail(co$ Con el siguiente asunto: in,oI 7 89:3: ; 4d'a /!e &e o"a e& &a(oraor#o5 ; Lab<4n0mero de& a"!a& &a(oraor#o5 ; no$breC.dula No se recibe e'ercicio ba'o otras condiciones Pro(&emas a reso&ver :( )/#licar el sentido de cada una de las siguientes declaraciones: a5 int =#/> b5 ,loat a b> c5,loat =#a =#b> d5 ,loat a ? ;9(:@A> e5 ,loat =#a ? Ba> ,5 c+ar cl c8 c3> g5 c+ar =#cl =#c8 =#c3 ? Bcl> +5 double ,unc4double =a double =b int =c5> i5 double =,unc4double =a double =b int =c5> '5 double 4=a5 C:8D> E5 double =aC:8D> :5 c+ar =aC:8D> $5 c+ar =dCFD ? GUnorte :: surH r lI es te lIoestellI> n5 long 4=#5 C:9D C89D> o5 long =#C:9D C89I> #5 c+ar $uestra4int 4=#,5 4c+ar a c+ar b55> %5 int 4=#,5 4-oid5 > r5 int 4=#,5 4c+ar a c+ar b5> s5 int 4=#,5 4c+ar =a c+ar =b5> 8( )scribir una declaracin a#ro#iada #ara cada una de las siguientes sitnaciones: a5 0eclarar dos #unteros cu*os ob'etos sean las -ariables enteras i * '( b5 0eclarar un #untero a una cantidad en co$a ,lotante * otro a una en doble #recisin( c5 0eclarar una ,uncin %ue ace#te dos argu$entos enteros * de-uel-a un #untero a entero largo( d5 0eclarar una ,uncin %ue ace#te dos argu$entos * de-uel-a un entero largo( Cada argu$ento ser! un #untero a entero( e5 0eclarar un arra* unidi$ensional de ele$entos en co$a ,lotante usando la notacin de #unteros( '5 0eclarar un arra* bidi$ensional de ele$entos en co$a ,lotante con :J ,ilas * 39 colu$nas usando notacin de #unteros( g5 0eclarar un arra* de cadenas de caracteres cu*os -alores iniciales sean Hro'oH H-erdeH * Ha&ulH( +5 0eclarar una ,uncin %ue ace#te otra ,uncin corno argu$ento * de-uel-a un #untero a car!cter( La ,uncin #asada corno argu$ento ace#tar! corno argu$ento un entero * de-ol-er! otro entero( i5 0eclarar un #untero a una ,uncin %ue ace#te tres enteros corno argu$entos * de-uel-a una cantidad en co$a ,lotante( '5 0eclarar un #untero a una ,uncin %ue ace#te tres #unteros a enteros corno argu$entos * de-uel-a un #untero a una cantidad en co$a ,lotante( 3( Un #rogra$a en C contiene las siguientes instrucciones: c+ar u - ? KAK > c+ar =#u =#-> L((((((( =#- ? B-> =#- ? - M :> u ? =#- M :> #u ? Bu> Su#onga$os %ue cada car!cter ocu#a un b*te de $e$oria( Si el -alor asignado a u se al$acena en la direccin FNC 4+e/adeci$al5 * el -alor asignado a - se al$acena en FN0 entonces: a5 OPu. -alor es re#resentado #or B-Q b5 OPu. -alor es asignado a #-Q e5 OPu. -alor es re#resentado #or =#-Q d5 OPu. -alor es asignado a uQ e5 OPu. -alor es re#resentado #or BuQ '5 OPu. -alor es asignado a #uQ g5 OPu. -alor es re#resentado #or =#uQ F( Un #rogra$a en C contiene las siguientes instrucciones: int i ' ? 8J> int =#i =#' ? B'> =#' ? ' M J> i ? =#' M J> #i ? #'> =#i ? i M '> Su#onga$os %ue cada cantidad entera ocu#a 8 b*tes de $e$oria( Si el -alor asignado a i e$#ie&a en la direccin FRC 4+e/adeci$al5 * el -alor asignado a ' e$#ie&a en FR) entonces: a5 OPu. -alor es re#resentado #or BiQ b5 OPu. -alor es re#resentado #or B ' Q e5 OPu. -alor es asignado a #'Q d5 OPu. -alor es asignado a =#'Q e5 OPu. -alor es asignado a iQ '5 OPu. -alor es re#resentado #or #iQ g5 OPu. -alor ,inal es asignado a =#iQ +5 OPu. -alor es re#resentado #or 4# i M 85Q i5 OPu. -alor es re#resentado #or la e/#resin 4=#i M 85Q '5 OPu. -alor es re#resentado #or la e/#resin = 4#i M 85Q J( Un #rogra$a en C contiene las siguientes instrucciones: ,loat a ? 9(99: b ? 9(993> ,loat c =#a =#b> #a ? Ba> =#a ? 8 = a> #b ? Bb> c ? 3 = 4=#b ; =#a5> Su#onga$os %ue cada cantidad en co$a ,lotante ocu#a F b*tes de $e$oria( Si el -alor asignado a a e$#ie&a en la direccin ::39 4+e/adeci$al5 el -alor asignado a b e$#ie&a en ::3F * el -alor asignado a c e$#ie&a en ::3N entonces: a5 OPu. -alor es asignado a BaQ b5 OPu. -alores asignado a BbQ e5 OPu. -alor es asignado a BcQ d5 OPu. -alor es asignado a #aQ e5 OPu. -alor es re#resentado #or =#aQ '5 OPu. -alor es re#resentado #or B 4 = #a5 Q g5 OPu. -alor es asignado a #bQ +5 OPu. -alor es re#resentado #or =#bQ i5 OPu. -alor es asignado a cQ @( A continuacin se $uestra el es%ue$a de la estructura de un #rogra$a en C( int ,uncl4c+ar a c+ar b5> int ,unc84c+ar =#a c+ar =#b5> $ain 45 G c+ar a ? KS K > c+ar b ? KT K> int i '> i ? ,unc:4a b5 > #rint, 4U a?Vd b?VdWnH a b5> ' ? ,unc8 4Ba Bb5> #rint,4Ha?Vd b?VdWnH a b5> I int ,unc:4c+ar cl c+ar c85G cl ? KXK> c8 ? KPK> return44cl Y c85 Q cl : c85 > I int ,unc84c+ar =cl c+ar =e85G =cl ? KXK> =c8 ? KPK> L((( return 4 4=cl ? ? =c85 Q =cl =c85 > I a5 0entro de $ain O%u. -alor es asignado a iQ b5 OPu. -alor es asignado a 'Q e5 OPu. -alores son escritos #or la #ri$era instruccin #rint,Q d5 OPu. -alores son escritos #or la segunda instruccin #rint,Q Su#oner caracteres ASCII( A( )l es%ue$a de +i estructura de un #rogra$a en e se $uestra a continuacin(-oid ,unc4int =#5> $ain 45G int aCSD ? Gl9 89 39 F9 JOI> L( ,unc4a5> L( I -oid ,unc4int =#5G int i su$a ? 9> ,ar 4i ? 9> i Y J> MMi5 su$a M? =4# M i5> #rint, 4Usu$a?VdZ su$a5> return> I a5 OPu. ti#o de argu$ento se #asa a ,uncQ b5 OPu. ti#o de in,onnacin de-uel-e ,uncQ c5 OPu. ti#o de argu$ento ,onnal se de-uel-e dentro de ,uncQ d5 OCu!l es la ,inalidad del bucle ,or %ue a#arece dentro de ,uncQ e5 OPu. -alor es escrito #or la instruccin #rint, dentro de ,uncQ N( A continuacin se $uestra el es%ue$a de la estructura de un #rogra$a en C( -oid ,unc4int =#5> $ain 45G int aCJD Gl9 89 39 F9 J9I> L( ,unc 4a M 35> L( I -oid ,unc4int =#5G int i su$a ? 9> ,or 4i ?9> i Y 8> MMi5 su$a M> =4# M i5> #rint, 4Hsu$a>VdH su$a5> return> I a5 OPu. ti#o de argu$ento se #asa a ,uncQ b5 OPu. ti#o de in,onnacin de-uel-e ,uncQ e5 OPu. in,onnacin se #asa real$ente a ,uncQ el5 OCu!l es la ,inalidad del bucle ,or %ue a#arece dentro de ,uncQ e5 OPu. -alor es escrito #or la instruccin #rint, dentro de ,uncQ Co$#arar las res#uestas con las del #roble$a anterior( O)n %u. se di,erencian estos dos es%ue$as de #rogra$aQ R( A continuacin se $uestra el es%ue$a de la estructura de un #rogra$a en C( int =,unc4int =#5> $ain 45G static int aCJD ? Gl9 89 39 F9 J9I> int =#t$a/> L((( #t$a/ ? ,unc 4a5 > #rint, 4 H$a/>VdH=#t$a/5> I int =,unc4int =#5G int i i$a/ $a/ ?9> ,or 4i ?9> i Y J> MMi5 i, 4=4# M i5 [ $a/5 G $a/ ? = 4# M i5> i$a/ ? i> I return 4# M i$a/5> I a5 0entro de $ain O%u. es #t$a/Q b5 OPu. ti#o de in,or$acin de-uel-e ,uncQ e5 OPu. se asigna a #t$a/ cuando se accede a la ,uncinQ ti5 OCu!l es la ,inalidad del bucle ,or %ue a#arece dentro de ,uncQ e5 OPu. -alor es escrito #or la instruccin #rint, dentro de $ainQ Co$#arar las res#uestas con las de los dos #roble$as anteriores( O)n %u. se di,erencian estos es%ue$asQ :9( Un #rogra$a en C contiene la siguiente declaracin: static int /CND ? G:9 89 39 F9 J9 @9 A9 N9I> a5 OCu!l es el signi,icado de /Q b5 OCu!l es el signi,icado de 4/ M 85Q e5 OCu!l es el -alor de =/Q ti5 OCu!l es el -alor de 4=/ M 85Q e5 OCu!l es el -alor de = 4/ M 85Q ::( Un #rogra$a en C contiene la siguiente declaracin: statie ,loat tablaC8D C3D ? G G:(l :(8 :(3I G8(l 8(8 8(3I I > a5 OCu!l es el signi,icado de tablaQ b5 OCu!l es el signi,icado de4tabla M :5Q e5 OCu!l es el signi,icado de = 4tabla M :5Q d5 OCu!l es el signi,icado de 4= 4tabla M :5 M :5Q e5 OCu!l es el signi,icado de 4= 4tabla5 M :5Q ,5 OCu!l es el -alor de = 4= 4tabla M :5 M :5Q g5 OCu!l es el -alor de = 4= 4tabla5 M :5Q +5 OCu!l es el -alor de = 4= 4tabla M :55Q i5 OCu!les el -alor de =4=4tabla5 M :5 M :Q :8( Un #rogra$a en C contiene la siguiente declaracin: statie c+ar =colorC@D ? G Hro'oH> U-erdeZ Ua&ulZ UblancoZ HnegroH Ua$arilloZI> a5 OCu!l es el signi,icado de colorQ b5 OCu!l es el signi,icado de 4color M 85Q e5 OCu!l es el -alor de = colorQ d5 OCu!l es el -alor de = 4color M 85Q e5 O)n %u. se di,erencian color CJD * = 4color M J5Q :3( )scribir una declaracin a#ro#iada #ara cada una de las siguientes situaciones con #unteros: a5 0eclarar una ,uncin %ue ace#te un argu$ento %ue es un #untero a un entero * de-uel-a un #untero a un arra* de seis caracteres( b5 0eclarar una ,uncin %ue ace#te un argu$ento %ue es un #untero a un arra* de enteros * de-uel-a un car!cter( e5 0eclarar una ,uncin %ue ace#te un argu$ento %ue es un arra* de #unteros a enteros * de-uel-a un car!cter( d5 0eclarar una ,uncin %ue ace#te un argu$ento %ue es un arra* de enteros * de-uel-a un #untero a car!cter( e5 0eclarar una ,uncin %ue ace#te un argu$ento %ue es un #untero a un arra* de enteros * de-uel-a un #untero a car!cter( ,5 0eclarar una ,uncin %ue ace#te un argu$ento %ue es un arra* de #unteros a enteros * de-uel-a un #untero a car!cter( g5 0eclarar un #untero a una ,uncin %ue ace#te un argu$ento %ue es un #untero a un arra* de enteros * de-uel-a un car!cter( +5 0eclarar un #untero a una ,uncin %ue ace#te un argu$ento %ue es un #untero a un arra* de enteros * de-uel-a un #untero a car!cter( I5 0eclarar un #untero a una ,uncin %ue ace#te un argu$ento %ue es un arra* de #unteros a enteros * de-uel-a un #untero a car!cter( '5 0eclarar un arra* de :8 #unteros a ,unciones( Cada ,uncin ace#tar! co$o argu$entos dos cantidades en doble #recisin * de-ol-er! un n\$ero en doble #recisin( E5 0eclarar un arra* de :8 #unteros a ,unciones( Cada ,uncin ace#tar! co$o argu$entos dos cantidades en doble #recisin * de-ol-er! un #untero a un n\$ero en doble #recisin( l5 0eclarar un arra* de :8 #unteros a ,unciones( Cada ,uncin ace#tar! co$o argu$entos dos #unteros a cantidades en doble #recisin * de-ol-er! un #untero a un n\$ero en doble #recisin(