You are on page 1of 248

APUNTES DE LA MATERIA DE

PROGRAMACIN BSICA
FACULTAD DE CIENCIAS
Por
Hctor Eduardo Medell! A!a"a
#
Ta$la de Co!te!%do
I!troducc%&! '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' (
Ca)tulo *' I!troducc%&! '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' +
Ca)tulo #' Re,oluc%&! de )ro$le-a, co! la co-)utadora ''''''''''''''''''''''''''''''''''''''''''''''''''' *.
Ca)tulo /' I!troducc%&! al le!0ua1e de )ro0ra-ac%&! C '''''''''''''''''''''''''''''''''''''''''''''''''''''' *2
Ca)tulo .' Co!trol co!d%c%o!al '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' /+
Ca)tulo (' I!,trucc%o!e, de re)et%c%&! ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 3.
Ca)tulo 3' Fu!c%o!e, '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 2*
Ca)tulo +' Arre0lo, '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' *#/
Ca)tulo 4' Cade!a, de caractere, ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' *(4
Ca)tulo 2' E,tructura, " u!%o!e, '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' *25
Ca)tulo *5' Arc6%7o, ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' #*(
B%$l%o0ra8a ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' #.*
A)!d%ce, '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' #.#
/
.
I!troducc%&!
E,to, a)u!te, )rete!de! ,er u!a 0ua )r9ct%ca )ara lo, e,tud%a!te, del cur,o de co-)utac%&!
de la carrera de I!0e!%ero Electr&!%co de la Facultad de C%e!c%a,' Se %!clu"e! !u-ero,o,
)ro0ra-a, ta!to de e1e-)lo, re,uelto, co-o de )ro$le-a, )ro)ue,to,' Lo, )ro$le-a,
8uero! re,uelto, ut%l%:a!do el co-)%lador de C de7;C<< =ue )uede o$te!er,e de 8or-a
0ratu%ta e! la d%recc%&! 6tt)>??@@@'$lood,6ed'!et?'
El )r%-er ca)tulo co!t%e!e u!a $re7e 6%,tor%a de la co-)utac%&!A a, co-oA u!a de,cr%)c%&!
de la, co-)o!e!te, de u! ,%,te-a de c&-)uto' Ta-$%! ,e 6ace u!a %!troducc%&! a la,
$a,e, !u-r%ca,'
El ca)tulo # trata de la re,oluc%&! de )ro$le-a, co! la co-)utadora' Se de8%!e el co!ce)to
de al0or%t-o " ,e e,tud%a! al0u!o, e1e-)lo, de al0or%t-o,' Se de8%!e el le!0ua1e
al0ort-%co =ue ,e ut%l%:ar9 a lo lar0o de todo el teBto'
E! el ca)tulo / ,e %!troduce a la e,cr%tura de )ro0ra-a, e! el le!0ua1e C' Se de8%!e el
co!ce)to de 7ar%a$le e! )ro0ra-ac%&! " ,e re7%,a! lo, t%)o, $9,%co, de 7ar%a$le, del
le!0ua1e C' Se re7%,a! la, 8or-a, de a,%0!ar 7alore, a 7ar%a$le,A "a ,ea )or a,%0!ac%&! o
-ed%a!te ,e!te!c%a, de e!trada' Por Clt%-o ,e e,tud%a el u,o de la $%$l%oteca -at6'6 =ue
)er-%te ut%l%:ar la, 8u!c%o!e, -ate-9t%ca, -9, co-u!e, " ,u a)l%cac%&! e! la e7aluac%&!
8&r-ula, co! 8u!c%o!e, tr%0o!o-tr%ca,A eB)o!e!c%ale,A lo0art-%ca,A etc'
E! el cuarto ca)tulo ,e re7%,a! la, ,e!te!c%a, de co!trol de dec%,%&!' Se %!clu"e!
!u-ero,o, e1e-)lo, de eB)re,%o!e, relac%o!ale, " eB)re,%o!e, l&0%ca,' Co! $a,e e! e,ta,
eB)re,%o!e, ,e co!,tru"e! la, co!d%c%o!ale, if e if;else' Se e,tud%a! e1e-)lo, del u,o
de la ,e!te!c%a switch " del o)erador %!terro0ac%&!' Se %!clu"e! e1e-)lo, de a!%da-%e!to
" 7al%dac%&! de la e!trada'
El =u%!to ca)tulo e,t9 ded%cado a la, ,e!te!c%a, de re)et%c%&!' Se %!%c%a co! la de,cr%)c%&!
de la ,e!te!c%a whileA co! ella ,e re,uel7e! -uc6o, e1e-)lo, t)%co,' Se a!al%:a!
e1e-)lo, de c%clo, co!trolado, )or ce!t%!ela " c%clo, a!%dado,' Po,ter%or-e!teA ,e re7%,a la
,e!te!c%a forA =ue ,e ut%l%:aA 8recue!te-e!teA e! c%clo, co!trolado, )or co!tador' De,)u,
,e a!al%:a la ,e!te!c%a do-while " ,e da! e1e-)lo, de ,u, a)l%cac%o!e, -9, co-u!e,
co-o la 7al%dac%&! de e!trada'
El ca)tulo 3 e, u!a %!troducc%&! al u,o de 8u!c%o!e, e! C' Se -ue,tra! e1e-)lo, de
8u!c%o!e, co! )ar9-etro, =ue re0re,a! 7alore, !u-r%co,' Ta-$%! ,e %!clu"e! 8u!c%o!e,
,%! )ar9-etro, " 8u!c%o!e, de t%)o void' Se a!al%:a! la, re0la, de alca!ce de la, 7ar%a$le,
e! C' F%!al-e!te ,e e,tud%a! lo, )ar9-etro, )or re8ere!c%a " 8u!c%o!e, recur,%7a,'
E! el ca)tulo + ,e re7%,a! lo, arre0lo, e! el le!0ua1e C' Se a!al%:a! e1e-)lo, co! arre0lo,
de e!tero, de u!a d%-e!,%&!' Se e,tud%a la 8or-a de )a,ar arre0lo, co-o )ar9-etro, a
8u!c%o!e, " el u,o de a)u!tadore,' Se %!clu"e el u,o de arre0lo, de -9, de u!a d%-e!,%&!'
(
E! el ca)tulo 4 ,e e,tud%a el u,o de cade!a, de caractere, " la, $%$l%oteca, =ue )er-%te! ,u
-a!%)ulac%&!'
El ca)tulo 2 trata de e,tructura, " u!%o!e,' Se e,tud%a! !u-ero,o, e1e-)lo, del u,o de
e,tructura, " la 8or-a de )a,ar e,tructura, a 8u!c%o!e,' El ca)tulo %!clu"e e1e-)lo, del u,o
de e,tructura, a!%dada, " arre0lo, de e,tructura,'
El ca)tulo *5 e, u!a %!troducc%&! al u,o de arc6%7o, e! C' Se e,tud%a la 8or-a de leer "
e,cr%$%r arc6%7o, ,ecue!c%ale, " arc6%7o, $%!ar%o,' Se re7%,a el co!ce)to de 8lu1o e! el
-a!e1o de arc6%7o,' Se re7%,a la 8or-a de leer arc6%7o, de acce,o aleator%o " ,u,
a)l%cac%o!e,'
Lo, a)u!te, %!clu"e! !u-ero,o, e1e-)lo, t)%co, de )ro0ra-ac%&! e! cada u!o de lo,
ca)tulo, a, co-o de u!a colecc%&! -u" a-)l%a de )ro$le-a, " )ro"ecto, de
)ro0ra-ac%&!'
3
Ca)tulo *' I!troducc%&!
*'*' Bre7e 6%,tor%a de la co-)utac%&!
El 9$aco
La, )r%-era, 6erra-%e!ta, de c&-)uto ,e re-o!ta! a u!o, #(55 aDo, atr9,' D%7er,a,
8or-a, de 9$aco, 8uero! ut%l%:ada, )or lo, a!t%0uo,' Lo, -9, co-u!e, e! la actual%dad ,o!
el 9$aco c6%!oA el 1a)o!, " el ru,o' La ,%0u%e!te 8%0ura -ue,tra lo, tre, t%)o, de 9$aco,
re)re,e!ta!do al -%,-o !C-eroA */(A+54'
$aco c6%!o $aco 1a)o!, $aco ru,o
F%0ura *'*' El 9$aco'
Lo, lo0ar%t-o,
E! el ,%0lo EFII Go6! Na)%er %!7e!t& lo, lo0ar%t-o, )ara ,%-)l%8%car la, o)erac%o!e, de
-ult%)l%cac%&! " d%7%,%&!' Na)%er d%,eDo u!o, )al%llo, %-)re,o, co! la, ta$la, del * al 2 )ara
,%-)l%8%car lo, c9lculo,' Co! e,to, )al%llo,A lla-ado, ta-$%! e,tructura, de Na)%er ,e
)uede! real%:ar r9)%da-e!te o)erac%o!e, de -ult%)l%cac%&! -ed%a!te ,%-)le, ,u-a, de u!
,olo d0%to' La, e,tructura, )uede! co!,tru%r,e de -aderaA -etalA cart&!A etc' La,
e,tructura, de Na)%er ,e -ue,tra! e! la ,%0u%e!te 8%0ura'
F%0ura *'#' E,tructura, de Na)%er'
+
La re0la de c9lculo
La re0la de c9lculo e, u!a 6erra-%e!ta $a,ada e! lo, lo0ar%t-o,' E,t9 co-)ue,ta )or do,
re0la, )la!a, =ue ,e de,)la:a! u!a re,)ecto a la otra' T%e!e u! d%,)o,%t%7o %!d%cadorA
lla-ado cur,orA =ue )er-%te ,elecc%o!ar la, ca!t%dade, a o)erar' Co! la re0la de c9lculo e,
)o,%$le 6acer o)erac%o!e, de -ult%)l%cac%&! " d%7%,%&! de 8or-a -u" r9)%da co! u!a
)rec%,%&! de # o / d0%to, H. e! el -e1or de lo, ca,o,I' La re0la o)era ,u-a!do o re,ta!do
de,)la:a-%e!to, e! e,cala, lo0art-%ca,' La ,%0u%e!te 8%0ura -ue,tra u!a 8oto0ra8a de u!a
re0la de c9lculo'
F%0ura *'/' La re0la de c9lculo'
Al0u!a, re0la, )o,ee! e,cala, )ara calcular 8u!c%o!e, tr%0o!o-tr%ca,A eB)o!e!c%ale, "
lo0art-%ca,' T!0a,e e! cue!ta =ue -uc6o, de lo, c9lculo, =ue )er-%t%ero! lle7ar el
6o-$re a la lu!a 8uero! real%:ado, ut%l%:a!do re0la, de c9lculo'
M9=u%!a, ,u-adora, " -ult%)l%cadora,
Pa,cal H*3.#I Calculadora Mec9!%caA real%:a$a ,u-a, -ed%a!te rueda, de!tada,' Le%$!%:
H*325I la )er8ecc%o!& )ara real%:ar -ult%)l%cac%o!e,' Go,e)6 Mar%e Gac=uard H*45(I d%,eDo
u! telar co!trolado )or tar1eta, )er8orada,' C6arle, Ba$$a0e " Au0u,ta Ada B"ro! H*4/.I
%!7e!taro! u!a ,er%e de -9=u%!a, co-o la -9=u%!a d%8ere!c%alA ,e le, co!,%dera lo, )adre,
de la co-)utadora d%0%tal -oder!a' Her-a! Holler%t6 ut%l%:& tar1eta, )er8orada, )ara
)roce,ar el ce!,o de *425'
Pr%-era, -9=u%!a, electr&!%ca,
E! el ,%0lo EE lo, tra$a1o, -9, rele7a!te, ,o!> e!tre *2/2 " *2.( Ala! Tur%!0 tra$a1o e! el
)ro"ecto Colo,,u, e! Bletc6le" ParJA I!0laterra' E! *2.( ,e de,arroll& el Calculador e
I!te0rador Nu-r%co D%0%tal Electr&!%co HENIACI $a,ado e! tra$a1o, de Ata!a,o88 " Berr"'
Al0u!a, caracter,t%ca, de la ENIAC era!
4
*4A555 tu$o, de 7aco
+5A555 re,%,tore,
*5A555 ca)ac%tore,
*(5 J%lo7at%o, de )ote!c%a
*(A555 -etro, cuadrado, de ,u)er8%c%e
/5 to!elada, de )e,o
tra$a1o 45##/ 6ora,
Se )ro0ra-a$a -ed%a!te ala-$rado
Ge!erac%o!e,
Se )uede! reco!ocer ( 0e!erac%o!e, de co-)utadora, co! $a,e e! la tec!olo0a'
Pr%-era Ge!erac%&! H*2(*;*2(4I
La )r%-era 0e!erac%&! ,e $a,o e! tu$o, de 7acoA tar1eta, )er8orada,A ta-$ore, -a0!t%co,
" era! 0ra!de, " )e,ada, " co!,u-a! u!a 0ra! ca!t%dad de )ote!c%a elctr%ca' Su co,to era
-u" ele7ado )ara la )ocaA alrededor de *5A555 d&lare,' La IBM 3(5 e, u! e1e-)lo de e,ta
0e!erac%&!'
Se0u!da 0e!erac%&! H*2(4 K *23.I
U,o de tra!,%,tore, =ue 7%!%ero! a ,u,t%tu%r a lo, $ul$o,' Me-or%a de !Ccleo, de 8err%ta' Se
de,arrollaro! le!0ua1e, co-o FORTRAN " COBOL' Se crearo! la, -%!% co-)utadora, "
,e %!%c%& el )roce,a-%e!to re-oto' E1e-)lo, de e,ta 0e!erac%&! ,o! la (555 de Burrou06, "
la ATLAS de la U!%7er,%dad de Ma!c6e,ter'
Tercera Ge!erac%&! H*23.;*2+*I
De,arrollo de lo, c%rcu%to, %!te0rado, =ue )er-%t%ero! co-)actar u!a 0ra! ca!t%dad de
tra!,%,tore,' Lo, c%rcu%to, %!te0rado, recuerda! lo, dato,A "a =ue al-ace!a! la %!8or-ac%&!
co-o car0a, elctr%ca,' Se de,arrolla la -ult%)ro0ra-ac%&!' Se de,arrolla la %!du,tr%a del
,o8t@are' Co-o e1e-)lo, de e,ta 0e!erac%&! e,t9! la, -%!%co-)utadora, IBM /35 " DEC
PDP;*'
Cuarta Ge!erac%&! H*2+*;*24/I
Co-)utadora, $a,ada, e! el -%cro)roce,ador =ue %!te0ra e! u! ,olo c6%) toda la l&0%ca de
co!trol de la co-)utadora' Se de,arrolla! la, tec!olo0a, LSI " FLSI de c%rcu%to,
%!te0rado,' La -e-or%a ,e ree-)la:a )or c%rcu%to, %!te0rado,' A)arece! la, co-)utadora,
)er,o!ale, " la, ,u)erco-)utadora,'
2
Lu%!ta Ge!erac%&! H*24/ al )re,e!teI
Se eB)a!de el u,o de la, co-)utadora, )er,o!ale,' A)arece! !ue7o, e=u%)o, )er,o!ale,
co-o la, La)to)A Pal-to)A Net$ooJA etc' Se de,arrolla el c&-)uto )aralelo " d%,tr%$u%do'
A)arece I!ter!et' Se de,arrolla la %!tel%0e!c%a art%8%c%alA la ro$&t%caA lo, ,%,te-a, eB)erto, "
la, rede, de co-u!%cac%&!'
La, co-)utadora, t%e!e! cada 7e: u! u,o -9, eBte!d%do' Actual-e!te e!co!tra-o,
co-)utadore, e-$e$%do, e! todo t%)o de a)arato,A de,de tel8o!o, celulare,A l%cuadora,A
re)roductore, de aud%o MP/A etc' La co-)utac%&! 6a -e1orado ,u,ta!c%al-e!te la 7%da
6u-a!a " e, %!d%,)e!,a$le )ara ,u 8u!c%o!a-%e!to " )ro0re,o' La )ro0ra-ac%&! e, u!a
d%,c%)l%!a e!trete!%da " de alto !%7el de a$,tracc%&!'
*'#' Modelo de Fo! Neu-a!
El -ate-9t%co HC!0aro Go6! Fo! Neu-a! de8%!%& la ar=u%tectura de u! ,%,te-a de
c&-)uto -oder!o' E! e,te -odelo ,e al-ace!a! lo, dato, " lo, )ro0ra-a, e! la -%,-a
-e-or%a a d%8ere!c%a de lo, -odelo, a!ter%ore,' El -odelo co!,ta de c%!co )arte, $9,%ca,>
la unidad de controlA =ue e, la e!car0ada de co!trolar toda, la, o)erac%o!e, =ue real%:a el
,%,te-aM la unidad de memoriaA do!de ,e al-ace!e! lo, )ro0ra-a, " dato, =ue ,e ut%l%:a!
dura!te lo, c&-)uto,M la unidad lgica y aritmtica =ue real%:a la, o)erac%o!e, l&0%ca, "
ar%t-t%ca,M lo, dispositivos de entrada ,e e!car0a! de la %!troducc%&! de dato, "
)ro0ra-a, a la -e-or%a " lo, dispositivos de salida =ue de,)l%e0a! lo, re,ultado, de lo,
c&-)uto,' La ,%0u%e!te 8%0ura -ue,tra el -odelo $9,%co de Fo! Neu-a!'
F%0ura *'.' Modelo de Go6! Fo! Neu-a!'
La l!ea e!c%erra lo =ue ,e co!oce a6ora co-o unidad central de proceso =ue co!,ta de la
u!%&! de la u!%dad de co!trol " la u!%dad l&0%ca " ar%t-t%ca' La, 8lec6a, )u!teada, ,o!
l!ea, de co!trol e!tre la, d%7er,a, u!%dade, " la, 8lec6a, ,&l%da, %!d%ca! la, ruta, )or la,
=ue ,e -ue7e! lo, dato,'
*5
*'/' Ba,e, !u-r%ca,
La $a,e !u-r%ca =ue ut%l%:a-o, !or-al-e!te e, la $a,e dec%-al' E! e,ta $a,e ,e ut%l%:a!
*5 ,-$olo, )ara re)re,e!tar lo, d0%to, de lo, !C-ero,> 5A *A #A /A .A (A 3A +A 4 " 2 ' Lo,
!C-ero, ,e re)re,e!ta! -ed%a!te ,ecue!c%a, de e,to, d0%to,' El 7alor real de u! d0%to
de)e!de de ,u )o,%c%&! de!tro de la ,ecue!c%a' El d0%to e! el eBtre-o derec6o del !C-ero
re)re,e!ta la, u!%dade,A el ,%0u%e!te a la %:=u%erdaA re)re,e!ta la, dece!a,A el =ue le ,%0ue
la, ce!te!a, " a, ,uce,%7a-e!te' Por e1e-)lo el !C-ero /.(3. real-e!te re)re,e!ta>
/.(3. N / B *5
.
< . B *5
/
< ( B *5
#
< 3 B *5
*
< . B *5
5
N /5555 < .555 < (55 <35 < .
Otra, $a,e, %-)orta!te, e! co-)utac%&! ,o! la $a,e #A 4 " *3' E! la $a,e # ,olo ,e ut%l%:a!
# d0%to,> 5 " *' Lo, !C-ero, e! $a,e do, ,o! ,ecue!c%a, de *O, " 5O,' El ,%,te-a de $a,e #
,e lla-a ,%,te-a $%!ar%o'
Lo, d0%to, de u! !C-ero e! el ,%,te-a $%!ar%o re)re,e!ta! el 7alor del d0%to -ult%)l%cado
)or la )ote!c%a de # corre,)o!d%e!te' Al d0%to e! el eBtre-o derec6o le corre,)o!de la
)ote!c%a 5 de #A al ,%0u%e!te a la %:=u%erda la )ote!c%a * de #A " a, ,uce,%7a-e!te' Lo,
d0%to, $%!ar%o, rec%$e! el !o-$re de bit H$%!ar" d%0%tI' Por e1e-)loA el !C-ero *5*55*
re)re,e!ta
*5*55* N * B #
(
< 5 B #
.
< * B #
/
< 5 B #
#
< 5 B #
*
< * B #
5
N /# < 5 < 4 < 5 < 5 < * N .*
Se aco,tu-$ra )o!er u! ,u$!d%ce )ara %!d%car la $a,e cua!do ,e u,a! $a,e, d%8ere!te,A a,
*5*55*
#
N .*
*5
El ,%,te-a e! $a,e 4A lla-ado ,%,te-a octalA co!,ta de lo, d0%to,> 5A *A #A /A .A (A 3 " +' E!
e,te ,%,te-a lo, !C-ero, e,t9! $a,ado, e! )ote!c%a, de 4' El !C-ero .(#3 re)re,e!ta al
.(#3 N . B 4
/
< ( B 4
#
< # B 4
*
< 3 B 4
5
N . B (*# < ( B 3. < # B 4 < 3
N #5.4 < /#5 < *3 < 3 N #/25
.(#3
4
N #/25
*5
E! el ,%,te-a de $a,e *3 ,e ut%l%:a! *3 ,-$olo,> 5A *A #A /A .A (A 3A +A 4A 2A AA BA CA DA E "
F' E,te ,%,te-a ,e lla-a 6eBadec%-al' El !C-ero A/.E re)re,e!ta
A/.E N *5 B *3
/
< / B *3
#
< . B *3
*
< *. B *3
5
N *5 B .523 < / B #(3 < . B *3 < *. N .5235 < +34 < 3. <*. N .*453
A/.E
*3
N .*453
*5
**
*'.' Co!7er,%&! e!tre $a,e, !u-r%ca,
La co!7er,%&! de la $a,e dec%-al a cual=u%er otra ,e real%:a -ed%a!te el ,%0u%e!te
)roced%-%e!to> d%7%d%r el !C-ero e!tre la $a,e de,eada o$te!%e!do el re,%duoA re)et%r el
)roce,o d%7%d%e!do el coc%e!te de la d%7%,%&! 6a,ta =ue el re,ultado de la d%7%,%&! ,ea ceroA
el !C-ero co!7ert%do co!,ta de lo, 7alore, de lo, re,%duo,A co!7ert%do, a la $a,e !ue7aA
co-e!:a!do de %:=u%erda a derec6a )or el Clt%-o re,%duo o$te!%do'
E1e-)lo> Co!7ert%r /.3 de dec%-al a octal>

#
./
/.3 4
/
(
./ 4
(
5
( 4
El !C-ero co!7ert%do e, (/#' Para co-)ro$ar co!7ert%re-o, a $a,e *5>
(/#
4
N ( B 4
#
< / B 4
*
< # B 4
5
N ( B 3. < #. <# N /#5 < #3 N /.3
*5
E1e-)lo> Co!7ert%r .(35 de dec%-al a 6eBadec%-al>

5
#4(
.(35 *3
*/
*+
#4( *3
*
*
*+ *3
*
5
* *3
El !C-ero co!7ert%do e, **D5' Para co-)ro$ar co!7ert%re-o, a $a,e *5>
**D5
*3
N * B *3
/
< * B *3
#
<*/ B *3
*
< 5 B *3
5
N .523 < #(3 <#54 N .(35
*5
La co!7er,%&! e!tre la $a,e $%!ar%a " la, $a,e, octal " 6eBadec%-al e, e,)ec%al-e!te
,e!c%lla "a =ue 4 " *3 ,o! )ote!c%a, de #' Para co!7ert%r de $%!ar%o a octal ,%-)le-e!te ,e
a0ru)a! lo, $%t, de / e! / co-e!:a!do )or la derec6aA " a co!t%!uac%&! ,e co!7%erte cada
ter!a e! el d0%to octal corre,)o!d%e!te' E1e-)lo>
***5*55*55*
#
N ** *5* 55* 55* N / ( * * N /(**
4
La co!7er,%&! %!7er,a e, %0ual-e!te ,e!c%llaA e1e-)lo>
/.3+*
4
N 5** *55 **5 *** 55* N ***55**5***55*
#
Para co!7ert%r 6ac%a 6eBadec%-al ,e a0ru)a! de . e! cuatro " ,e co!7%erte cada 0ru)o e! el
d0%to 6eBadec%-al corre,)o!d%e!teA e1e-)lo>
****5*5555****
#
N ** **5* 5555 **** N / D 5 F N /D5F
*3
El )roce,o co!trar%o ,e %lu,tra e! el ,%0u%e!te e1e-)lo'
.FEA(
*3
N 5*55 **** ***5 *5*5 5*5* 555* 5**5 N *55******5*5*55*5*555*5**5
#
*#
Pro$le-a, )ro)ue,to,
*' Co!7%erta lo, !C-ero, de la $a,e %!d%cada a $a,e d%e:'
a' **55*
#
$' 3/+EE
*3
c' +3(#
4
d' ***55***
#
e' +3(#
*3
8' ///#***
*3
#' Co!7%erta de $a,e d%e: a la $a,e %!d%cada
a' #/25* a $a,e *3 $' #/25* a $a,e 4 c' #/25* a $a,e # d' *5*5* a $a,e #
/' Co!7%erta de $%!ar%o a octal " 6eBadec%-al'
a' *5*5*555**55 $' ***5****5** c' *555*5*5*5* d' *5***55***
.' Co!7%erta de HeBadec%-al " octal a $%!ar%o'
a' /#*(4 $' *5*5*4 c' EFEE*3 d' *5*5**3
(' co!7%erta a octal lo, ,%0u%e!te, !C-ero, e! 6eBadec%-al'
a' EDF#/* $' //EEAA c' (34/# d' ../#CC
3' co!7%erta a 6eBadec%-al lo, ,%0u%e!te, !C-ero, e! octal'
a' .(3/*# $' /#.(3 c' /.##.( d' +++***###
*/
Ca)tulo #' Re,oluc%&! de )ro$le-a, co! la co-)utadora
#'*' Al0or%t-o,
U! al0or%t-o e, la de,cr%)c%&! detallada de lo, )a,o, !ece,ar%o, )ara re,ol7er u! )ro$le-a'
U! al0or%t-o de$e cu-)l%r co! tre, caracter,t%ca,A a ,a$er> lo, )a,o, de$e! ,er ,%-)le, "
claro,M el orde! e! =ue ,e e1ecute! lo, )a,o, de$e ,er )rec%,oM el al0or%t-o de$e re,ol7er el
)ro$le-a e! u! !C-ero de )a,o, 8%!%to' Lo, al0or%t-o, de$e! ,er e,)ec%8%cado, co!
%!,trucc%o!e, =ue )ueda! ,er e1ecutada, )or al0u!a e!t%dad' La e!t%dad )uede ,er
cual=u%era =ue ,ea ca)a, de ,e0u%r %!,trucc%o!e, co-o u!a )er,o!aA u!a co-)utadoraA u!
ro$otA o al0o ,%-%lar'
U! e1e-)lo de al0or%t-o e, u!a receta )ara )re)arar ca8 %!,ta!t9!eo' E! e,te ca,o el
al0or%t-o e,t9 d%r%0%do a u!a )er,o!aA la cual )re)arar9 el ca8' Su)o!dre-o, =ue ,e
d%,)o!e de lo !ece,ar%o )ara )re)arar el ca8A co,a, tale, co-o u!a ta,aA u! rec%)%e!te )ara
cale!tar a0uaA e,tu8aA cuc6araA etc' El al0or%t-o )uede ,er el ,%0u%e!te>
*' Po!0a u!a ta,a de a0ua e! el rec%)%e!te )ara cale!tar ,o$re la e,tu8a'
#' Cal%e!te el a0ua 6a,ta 1u,to a!te, de 6er7%r'
/' Face el a0ua cal%e!te e! u!a ta,a'
.' A0re0ue la, cuc6arada, de ca8 =ue de,ee'
(' A0re0ue la, cuc6arada, de a:Ccar =ue de,ee'
3' re7uel7a 6a,ta =ue lo, %!0red%e!te, ,e -e:cle! adecuada-e!te'
Note =ue el al0or%t-o a!ter%or )uede ,er e,)ec%8%cado co! -a"or detalle de)e!d%e!do de a
=ue %!d%7%duo e,t d%r%0%do' Por e1e-)loA el )a,o # =u%:9 re=u%era e,)ec%8%car de =ue 8or-a
,e e!c%e!de la e,tu8aM a$r%e!do la lla7e del 0a, " )re,%o!a!do u! $ot&! o ut%l%:a!do u!a
cer%lla )ara e!ce!derlaA etc' Ha" =ue co!,%derar todo, lo, a,)ecto, )o,%$le, cua!do ,e trata
de %!,tru%r a u!a co-)utadora )ara re,ol7er u! )ro$le-a'
La, co-)utadora, )uede! e1ecutar ,olo u! co!1u!to de %!,trucc%o!e, l%-%tado' Lo, )a,o de
lo, al0or%t-o, de$e-o, e,)ec%8%carlo, ut%l%:a!do ,ola-e!te la, %!,trucc%o!e, =ue la
co-)utadora ,ea ca)a: de e1ecutar o al0u!a %!,trucc%&! e=u%7ale!te' Ge!eral-e!te u,a-o,
%!,trucc%o!e, e=u%7ale!te, a la, =ue u!a co-)utadora )uede e1ecutar de$%do a =ue lo,
le!0ua1e, de la, co-)utadora, ,e e,)ec%8%ca! co! )ala$ra, e! %!0l, o )or=ue la,
%!,trucc%o!e, de la co-)utadora ,o! d%8c%le, de e!te!der )ara lo, 6u-a!o,A tal e, el ca,o
del le!0ua1e C' A u! le!0ua1e ,%-%lar al le!0ua1e de la co-)utadora le lla-a-o, ),eudo
c&d%0o'
#'#' Le!0ua1e al0ort-%co
Para re,ol7er u! )ro$le-a co! la co-)utadora e, !ece,ar%o ,o$re todo e!te!der $%e! e! =ue
co!,%,te el )ro$le-a' U!a 7e: =ue el )ro$le-a ,e e!t%e!deA ,e )rocede al d%,eDo del
al0or%t-o )ara re,ol7erlo' De,)u, de =ue el al0or%t-o 6a ,%do e,cr%to " )ro$ado e! 8or-a
*.
de ),eudo c&d%0oA ,e )uede )roceder a traduc%rlo a al0C! le!0ua1e =ue la co-)utadora
e!t%e!da )ara =ue )ueda ,e e1ecutado )or ,ta'
De8%!%re-o, u! le!0ua1e )ara eB)re,ar lo, al0or%t-o, de u!a 8or-a co!7e!%e!te' El
le!0ua1e al0ort-%co ,er9 cerca!o al le!0ua1e C )ara 8ac%l%tar la traducc%&! a )ro0ra-a,
e1ecuta$le,' Fea-o, el ,%0u%e!te e1e-)lo>
Algoritmo Volumen de esfera' E,te al0or%t-o calcula el 7olu-e! de u!a e,8era dado ,u
rad%o' Se ut%l%:a la 7ar%a$le RADIO )ara re)re,e!tar el rad%o de la e,8era " la 7ar%a$le
FOLUMEN )ara re)re,e!tar ,u 7olu-e!' Su)o!e-o, a-$a, 7ar%a$le, co-o !C-ero,
reale,'
*' PLeer el rad%o de la e,8eraQ
LeerHRADIOI
#' PCalcular el 7olu-e! de la e,8eraQ
FOLUEN N .R/'*.*3RRADIOS/
/' PSe %-)r%-e! el dato " el re,ultadoQ
E,cr%$eHTEl rad%o de la e,8era e, TA RADIOI
E,cr%$eHTEl 7olu-e! de la e,8era e, UA FOLVMENI
.' PTer-%!aQ
Sal%r
El al0or%t-o ,e lla-a T7olu-e! de e,8eraU' E, co!7e!%e!te ,%e-)re a,%0!ar u! !o-$re a
cada al0or%t-o )ara )oder %de!t%8%carlo clara-e!te' E, co!7e!%e!te 6acer u!a $re7e
de,cr%)c%&! del )ro)&,%to del al0or%t-o al %!%c%oA ta-$%! e! e,ta ,ecc%&! ,e )uede de8%!%r el
t%)o " )ro)&,%to de cada u!a de la, 7ar%a$le, ut%l%:ada,' Cada )a,o del al0or%t-o e,ta
!u-erado ,ecue!c%al-e!te' Lo, co-e!tar%o, lo, e!cerrare-o, e! )ar!te,%, cuadrado,
H P Q I' E,to, co-e!tar%o, ,olo ,%r7e! )ara aclarar cada u!o de lo, )a,o, del al0or%t-o' Se 6a
ut%l%:ado la )ala$ra TSal%rU )ara %!d%car la ter-%!ac%&! del al0or%t-o e! la Clt%-a l!ea'
Otro, )odr9! te!er 7ar%o, 8%!ale,A e,to %-)l%ca =ue al0u!o, 8%!ale, !o ,e e!cue!tre! e! la
Clt%-a l!ea'
El )a,o * del al0or%t-o e, u!a ,e!te!c%a de e!trada de dato,A TLeerU' E!tre )ar!te,%,
e!cerrare-o, la, 7ar%a$le, =ue ,er9! leda,A e! e,te ca,o e, ,olo la 7ar%a$le RADIO' El
)a,o # co!t%e!e u! e!u!c%ado de a,%0!ac%&!' E,te e!u!c%ado t%e!e )or o$1eto e,ta$lecer el
7alor de u!a 7ar%a$leA e! e,te ca,o ,e calcula el 7alor del 7olu-e! de u!a e,8era " ,e le
a,%0!a e,te 7alor a la 7ar%a$le FOLUMEN' El 7olu-e! ,e calcula co! la eB)re,%&!
Volumen N . r
/
Fa-o, a e,cr%$%r la, eB)re,%o!e, lo -9, )arec%da, al le!0ua1e CA )or e,o 6e-o, ut%l%:ado u!
a,ter%,co TRU )ara %!d%car la o)erac%&! de -ult%)l%cac%&! " ade-9, e,cr%$%re-o, la,
)ote!c%a, -ed%a!te el car9cter TSU' El )a,o / co!t%e!e do, ,e!te!c%a, de ,al%da' E,ta, ,e
ut%l%:a! )ara -a!dar letrero, " 7alore, de 7ar%a$le, a la )a!talla " a, )oder 7er lo,
re,ultado,' La ,e!te!c%a $9,%ca de ,al%da e, TE,cr%$eU " 6a" =ue e,)ec%8%car de!tro de
)ar!te,%, lo =ue ,e 7a a de,)le0ar' E! la )r%-era ,e!te!c%a de ,al%da ,e de,)le0ar9 TEl
rad%o de la e,8era e,U ,e0u%do del 7alor del rad%oA cada ele-e!to de la ,e!te!c%a ,e ,e)ara
)or u!a co-a' La ,e0u!da ,e!te!c%a de ,al%da de,)le0ar9 TEl 7olu-e! de la e,8era e,U
*(
,e0u%do del 7alor calculado' El Clt%-o )a,o del al0or%t-o e, la ,e!te!c%a de ,al%da o
ter-%!ac%&!A e,ta ,e!te!c%a %!d%ca la 8%!al%:ac%&! del al0or%t-oA co-o ,e %!d%c&
a!ter%or-e!te'
E, co!7e!%e!te )ro$ar lo, al0or%t-o, =ue de,arrolle-o, )ara a,e0urar =ue e,to, 6ace! lo
=ue ,e e,)era =ue 6a0a!' Para )ro$ar u! al0or%t-o e1ecuta-o, cada u!o de ,u, )a,o, e!
orde! a,ce!de!te 6a,ta lle0ar a la ,e!te!c%a de Sal%da' S% e!co!tra-o, al0u!a ,e!te!c%a de
e!tradaA ,u-%!%,trare-o, u! 7alor )ara la, 7ar%a$le, =ue ,e %!troduc%r9'
Su)o!0a-o, =ue de,ea-o, calcular el 7olu-e! de u!a e,8era co! rad%o .'( c-' E!to!ce,A
e,te 7alor de .'( ,er9 la e!trada )ara la 7ar%a$le RADIO' E, co!7e!%e!te ta$ular lo, 7alore,
=ue ad=u%ere! la, 7ar%a$le, " la, ,e!te!c%a, de ,al%da e! cada )a,o del al0or%t-o'
Te!dre-o, u! re!0l&! )ara cada )a,o' La, 7ar%a$le, =ue !o te!0a! u! 7alor de8%!%do la,
%!d%care-o, -ed%a!te u! ,%0!o de %!terro0ac%&!'
E! el )a,o * ,e le a,%0!a .'( a RADIO' E! el )a,o # ,e calcula el 7olu-e! de la e,8era " ,e
le a,%0!a e,te 7alor a FOLUMEN' El )a,o . co!t%e!e la, ,e!te!c%a, de ,al%da' La ta$la de
)rue$a del al0or%t-o e, la ,%0u%e!te>
Pa,o RADIO FOLUMEN Sal%da
* .'( W
# .'( **.('**
/ .'( **.('** El rad%o de la e,8era e, .'(
El 7olu-e! de la e,8era e, **.('**
Note le, 7alore, de la, 7ar%a$le, )er-a!ece! ,%! ca-$%o u!a 7e: =ue ,o! a,%0!ado, o
ledo,'
*'/' Metodolo0a de la re,oluc%&! de )ro$le-a,
Para )oder re,ol7er )ro$le-a, co! la co-)utadora de$e-o, ,e0u%r al0u!o, )a,o,' Lo
)r%-ero e, te!er -u" claro el )ro$le-a =ue ,e 7a a re,ol7erA e,to =u%ere dec%r =ue de$e
e!te!der,e )er8ecta-e!te el )ro$le-a' Lue0o de$e-o, d%,eDar u! al0or%t-o =ue lo
re,uel7e' E,ta )arte e, a 7ece, lo -9, co-)l%cadoA ,o$re todo al )r%!c%)%oA de$%do a =ue ,e
carece de eB)er%e!c%a e! el d%,eDo de al0or%t-o,' S%! e-$ar0o e, la )arte -9, %-)orta!teA
dado =ue ,% )ode-o, d%,eDar u! al0or%t-oA )odre-o, co!7ert%r e,te al0or%t-o e! u!
)ro0ra-a =ue )ueda e1ecutar la co-)utadora'
U!a 7e: =ue ,e t%e!e el al0or%t-oA ,e de$e )roceder a )ro$ar el al0or%t-o co! dato, 79l%do,
" de e,ta -a!era 7er%8%ca-o, ,% el al0or%t-o re,uel7e o !o el )ro$le-a' El )a,o -9,
,e!c%llo e, la traducc%&! del al0or%t-o a u! )ro0ra-a de co-)utadora )ara =ue ,ea
e1ecutado )or e,ta' S% !ue,tro al0or%t-o !o re,uel7e el )ro$le-a de$e-o, -od%8%carlo )ara
=ue ,e o$te!0a la ,oluc%&! $u,cada' E,te )roce,o )uede re)et%r,e 6a,ta e!co!trar el
al0or%t-o adecuado =ue !o, lle7a a la ,oluc%&! del )ro$le-a'
*3
Para )ro$le-a, co-)l%cado, e, co!7e!%e!te )art%r de u! al0or%t-o e,)ec%8%cado co! )a,o,
-u" 0e!erale, e %r re8%!9!dolo 6a,ta e!co!trar la ,oluc%&! de,eada'
#'/' A)l%cac%o!e,
E! e,ta ,ecc%&! 7ere-o, al0u!o, e1e-)lo, de re,oluc%&! de )ro$le-a, -ed%a!te
al0or%t-o,' El )r%-er )ro$le-a e, deter-%!ar el alca!ce " el t%e-)o de 7uelo de u!
)ro"ect%l la!:ado co! u!a 7eloc%dad %!%c%al v
5
" 6ac%e!do u! 9!0ulo de 0rado, co! la
6or%:o!tal' Lla-are-o, al al0or%t-o TT%roU' E, co!7e!%e!te leer el 9!0ulo e! 0rado, "a =ue
e, -9, %!tu%t%7o )ara u! e,tud%a!te de c%e!c%a, e %!0e!%era' S%! e-$ar0oA co-o 7ere-o,
-9, adela!teA la, 8u!c%o!e, =ue ,u-%!%,tra! lo, le!0ua1e, de )ro0ra-ac%&! ut%l%:a! 9!0ulo,
e,)ec%8%cado, e! rad%a!e,' De$e-o, )or ta!to a0re0ar u!a 8&r-ula )ara co!7ert%r e!tre
0rado, " rad%a!e,' La, 8&r-ula, =ue u,are-o, ,o!>
*45

grados rad )ara co!7ert%r e!tre 0rado, " rad%a!e,'


g
v
R
# ,e!
#
5
-9B%-o alca!ce de u! )ro"ect%lA g e, la acelerac%&! de la 0ra7edad'
#
,e! #
#
5
v
T t%e-)o de 7uelo'
Al0or%t-o T%ro' E,te al0or%t-o calcula el alca!ce " el t%e-)o de 7uelo de u! )ro"ect%l'
U,are-o, la 7ar%a$le ANG )ara el 9!0ulo ledo " ANGRAD )ara el 9!0ulo co!7ert%do a
rad%a!e,' La 7eloc%dad %!%c%al e! -?, ,er9 al-ace!ada e! la 7ar%a$le FEL' El alca!ce ,e
al-ace!a e! la 7ar%a$le R " el t%e-)o de 7uelo e! la 7ar%a$le T'
*' Pleer dato, de e!tradaQ
LeerHANGAFELI
#' PCo!7ert%r el 9!0ulo a rad%a!e,Q
ANGRAD N ANGR/'*.*3?*45'5
/' PCalcula alca!ceQ
R N FELRFELRSENH#RANGRADI?2'4
.' PCalcula el t%e-)o de 7ueloQ
T N #RFELRSENHANGRADI?#
(' PDe,)l%e0a re,ultado,Q
E,cr%$e HTFeloc%dad %!%c%al UAFELI
E,cr%$e HT!0ulo del t%ro UAANGI
E,cr%$e HTAlca!ce UARI
E,cr%$e HTT%e-)o de 7uelo UATI
3' PF%!Q
Sal%r
Se de,ea re,ol7er u! ,%,te-a de ecuac%o!e, ,%-ult9!ea, de #B# de la 8or-a
a x < b y N c
d x < e y N f
*+
La ,oluc%&! de e,te ,%,te-a )uede e,cr%$%r,e co-o
bd ac
bf ce
x

bd ac
cd af
y

Al0or%t-o S%-ult9!ea,' Re,uel7e u! ,%,te-a de ecuac%o!e, de #B#' Lo, coe8%c%e!te, ,o! la,
7ar%a$le, AA BA CA DA E " F' La, ,oluc%o!e, ,e al-ace!a e! la, 7ar%a$le, E " X'
*' PLeer coe8%c%e!te,Q
LeerHAA BA CA DA EA FI
#' PCalcula la ,oluc%&!Q
E N HCRE K BRFI?HARC K BRDI
X N HARF K CRDI?HARC K BRDI
/' PI-)r%-e ,oluc%&!Q
E,cr%$e HTB N UA EI
E,cr%$e HT" N UA XI
.' PF%!Q
Sal%r
Pro$le-a, )ro)ue,to,
*' El ,%0u%e!te e, el -e!C de u! )ue,to de taco,' E,cr%$a u! al0or%t-o =ue lea el !C-ero de
cada taco orde!ado " calcule la cue!ta total'
Taco de $%,tec HY .I
Taco de arrac6era HY 4I
Taco al )a,tor HY 3I
Re8re,co HY 4I
Orde! de ce$oll%ta, HY (I
#' De,arrolle al0or%t-o, )ara real%:ar la, ,%0u%e!te, co!7er,%o!e,'
aI Leer u!a ca!t%dad e! euro, e %-)r%-%r el e=u%7ale!te e! d&lare, a-er%ca!o,'
$I Leer u!a ca!t%dad e! )e,o, -eB%ca!o, e %-)r%-%r el e=u%7ale!te d&lare, " e! euro,'
*4
Ca)tulo /' I!troducc%&! al le!0ua1e de )ro0ra-ac%&! C
/'*' Parte, de u! )ro0ra-a e! C
El le!0ua1e C 6a de-o,trado ,er u! le!0ua1e co!7e!%e!te )ara re,ol7er todo t%)o de
)ro$le-a,' E, u! le!0ua1e de )ro)&,%to 0e!eral =ue %0ual ,e ut%l%:& e! ,u, %!%c%o, )ara
e,cr%$%r ,%,te-a, o)erat%7o, co-o a6ora e! el de,arrollo de 1ue0o, " a)l%cac%o!e,
c%e!t8%ca,' El C e, el le!0ua1e e,t9!dar e! el de,arrollo de a)l%cac%o!e, e! %!0e!%era " todo
%!0e!%ero =ue ,e )rec%e de$e ,er ca)a: de leer " de,arrollar )ro0ra-a, e! l'
Para e!trar e! -ater%a e,cr%$%re-o, u! )r%-er )ro0ra-a e! C' E,cr%$a la, ,%0u%e!te, l!ea,
a,e0ur9!do,e =ue e,t9! %d!t%ca, a la, =ue ,e -ue,tra!'
/*Primer programa en C */
#include <stdio.h> /*biblioteca para entrada y salida*/
#include <conio.h> /*biblioteca para la funcin getch*/
int main!"/*a#u$ inicia el programa */
%
printf!&'ola mundo(.)n&"*/*sentencia de salida*/
getch!"*
return +*/*terminacin normal del programa*/
,/*fin del programa*/
La )r%-era l!ea e, u! co-e!tar%o' Lo, co-e!tar%o, %!%c%a! co! T?RU " ter-%!a! co! TR?U'
EB%,te otra 8or-a de e,cr%$%r co-e!tar%o, =ue 7ere-o, -9, adela!te' La ,e0u!da l!ea ,%r7e
)ara %!clu%r la $%$l%oteca de e!trada " ,al%da' El le!0ua1e C !o t%e!e %!,trucc%o!e, de e!trada
" ,al%da )ro)%a,A )or ta!to de$e-o, ,%e-)re %!clu%r al0u!a $%$l%oteca )ara real%:ar e,ta,
o)erac%o!e,'
La 8u!c%&! main e, la =ue co!t%e!e la, ,e!te!c%a, e1ecuta$le, del )ro0ra-a' Todo
)ro0ra-a e! C de$e te!er u!a 8u!c%&! main' La )ala$ra int a!te, de main %!d%ca =ue la
8u!c%&! re0re,a u! 7alor e!tero' La )ala$ra int e, u!a )ala$ra re,er7adaA a lo lar0o del
teBto la, )ala$ra, re,er7ada, ,er9! re)re,e!tada, co! t%)o !e0r%ta' Lo, )ar!te,%, de,)u,
de la )ala$ra main ,e u,a! )ara de8%!%r lo, )ar9-etro, de la 8u!c%&!A e! e,te ca,o !o t%e!e
!%!0C! )ar9-etro' E! al0u!a, oca,%o!e, lo, )ar9-etro, 7a! a ,er !ece,ar%o,'
La lla7e =ue a$re %!%c%a u! $lo=ue de %!,trucc%o!e,' La )r%-era %!,trucc%&! e,
printf!&'ola mundo()n&"*/*sentencia de salida*/
E,ta %!,trucc%&! e, u!a ,e!te!c%a de ,al%da' Note =ue ,e 6a %!clu%do u! co-e!tar%o )ara
aclarar el ,%0!%8%cado de e,ta l!ea' La )ala$ra printf ,e ut%l%:a )ara de,)le0ar letrero, "
7alore, de 7ar%a$le, o eB)re,%o!e,' E,ta )ala$ra de,%0!a a u!a 8u!c%&! e!car0ada de d%c6a,
o)erac%o!e,' Lo, )ar!te,%, ,%r7e! )ara del%-%tar lo, ele-e!to, de ,al%da' E! e,te ca,o e, u!
letrero el cual de$e %r e!cerrado e!tre co-%lla,A la, co-%lla, !o ,e de,)l%e0a!' E! e,te ca,o
*2
,e de,)le0ar9 la cade!a &'ola mundo()n&' La ,ecue!c%a de caractere, Z! %!d%ca =ue ,e
-ue7a el cur,or a la ,%0u%e!te l!eaA a e,te t%)o de co!trole, ,e le, lla-a ,ecue!c%a, de
e,ca)e'
La ,e!te!c%a getch!"e, u!a 8u!c%&! =ue lee u! car9cter de,de el tecladoA e,to )er-%te =ue
el )ro0ra-a ,e dete!0a 6a,ta =ue el u,uar%o )re,%o!e u!a tecla' Por Clt%-oA la ,e!te!c%a
return + %!d%ca u!a ter-%!ac%&! !or-al H,%! errore,I del )ro0ra-a' Note =ue toda, la,
,e!te!c%a, de$e! ter-%!ar,e co! u! )u!to " co-aA e,to 7a a ,er !ece,ar%o e! la -a"ora de
lo, ca,o, de la, ,e!te!c%a, e! C'
La 8u!c%&! printf %-)r%-e u! letrero " de1a el cur,or e! la )o,%c%&! =ue ,%0ue al Clt%-o
car9cter %-)re,o' El ,%0u%e!te e1e-)lo %-)r%-e u!a ,ola l!ea ut%l%:a!do tre, ,e!te!c%a,
printf'
/*-.emplo de varias sentencias prinf una sola l$nea de salida
*/
#include <stdio.h> /*biblioteca para entrada y salida*/
#include <conio.h> /*biblioteca para la funcin getch*/
int main!"%
printf!&-sta es una&"*
printf!& cadena impresa &"*
printf!&en una sola l$nea)n&"*
getch!"*
return +*
,
Ta-$%! )uede! %-)r%-%r,e 7ar%a, l!ea, -ed%a!te u!a ,ola ,e!te!c%a printfA )or
e1e-)lo>
/*-.emplo de printf/ una sentencia varias l$neas*/
#include <stdio.h>
#include <conio.h>
int main!"%
printf!&0$nea 1)n-sta es la l$nea 2)ny est3 es la 4)n&"*
getch!"*
return +*
,
Otra ,ecue!c%a de e,ca)e )ara 8or-atear la ,al%da e, )t Hta$uladorI' Med%a!te el ta$ulador
,e )uede! %-)r%-%r 7ar%a, cade!a, e! colu-!a, )redeter-%!ada,' E1e-)lo>
#include <stdio.h>
#include <conio.h>
int main!"%
#5
printf!&nombre)tdireccin)ttel5fono)n&"*
printf!&.uan)tolmo 2+6 )t7-12-12-46)n&"*
printf!&maria)tpino 898 )t7-46-2:-19)n&"*
getch!"*
return +*
,
El e1e-)lo %-)r%-e la ,%0u%e!te ,al%da>
;ombre direccin tel5fono
<uan olmo 2+6 7-12-12-46
=aria pino 898 7-46-2:-19
Pro$le-a, )ro)ue,to,
/'*'*' E,cr%$a u! )ro0ra-a =ue de,)l%e0ue ,u !o-$reA d%recc%&! " tel8o!o e! tre, l!ea,
,e)arada,'
/'*'#' E,cr%$a u! )ro0ra-a =ue -ue,tre la ,%0u%e!te ,al%da ut%l%:a!do cuatro ,e!te!c%a,
printfA toda, co! cade!a, !o 7aca,'
0engua.e de programacin C. Primer curso de programacin.
/'*'/' [Lu ,al%da de,)l%e0a el ,%0u%e!te 8ra0-e!to de )ro0ra-aW
printf!>)n)n-sta es una l$nea.)n-sta es otra l$nea.?"*
printf!> -sta es la continuacin)n)n)n-sta es la @ltima
l$nea.?"*
/'*'.' E,cr%$a u!a ,ola ,e!te!c%a printf =ue de,)l%e0ue la, ,%0u%e!te, l!ea,' Ut%l%ce
,ecue!c%a, de e,ca)e )ara ta$uladore, " al%-e!to, de l!ea'
aI
-#uipo .. .g .e .p pts
CruA BAul 8 2 1 9 :
Cuadala.ara 9 6 2 + 16
$I
DBCE0FBG G- CH-;CHBI
E;HJ-KIHGBG BEFL;M=B G- IB; 0EHI PMFMIN
Hngenier$a electrnica 0ic. -n D$sica
/'#' Co-)%lac%&! " e1ecuc%&! de u! )ro0ra-a
#*
A!te, de )oder e1ecutar )ro0ra-a, de$e-o, de d%,)o!er de al0C! co-)%lador de C' E!
I!ter!et ,e e!cue!tra! al0u!o, co-)%ladore, de u,o 0ratu%to co-o De7;C' U!a 7e: =ue
d%,)o!0a-o, del co-)%ladorA e,cr%$%-o, el )ro0ra-a e! el ed%tor de teBto " lo 0uarda-o,
co! al0C! !o-$re' Al0u!o, co-)%ladore, ,u)o!e! =ue lo, )ro0ra-a, t%e!e! eBte!,%&! T'cU
o T'c))U o al0o )arec%do' U!a 7e: 0uardado e! u! arc6%7o )ode-o, )roceder a traduc%rlo a
le!0ua1e de -9=u%!a )ara =ue )ueda ,er e1ecutado' El )roce,o de traducc%&! lo real%:a el
co-)%ladorA ,% !o 6a" errore, el co-)%lador 0e!erar9 u! arc6%7o e1ecuta$le =ue )ode-o,
correr'
S% el co-)%lador e!cue!tra cual=u%er t%)o de errorA e!7%ar9 el -e!,a1e adecuadoA ,o$re todo
,% el co-)%lador e, del t%)o de a-$%e!te de tra$a1o co-o De7;C' E! todo ca,oA de$er9
corre0%r lo, errore, e!co!trado, " 7ol7er a co-)%lar 6a,ta =ue !o 6a"a errore,'
El )roce,o de e1ecuc%&! )ode-o, ,e)ararlo e! 7ar%a, 8a,e,' La )r%-era 8a,e e, la e,cr%tura
del )ro0ra-a e! el ed%tor de teBto' Lue0o te!e-o, la 8a,e de co-)%lac%&! del )ro0ra-aA
e,ta, do, 8a,e, )uede! re)et%r,e e! ca,o de =ue 6a"a errore,' La 8a,e de co-)%lac%&! 0e!era
el )ro0ra-a e1ecuta$le ta-$%! lla-ado )ro0ra-a o$1eto' Por Clt%-o e,t9 la 8a,e de
e1ecuc%&! e! la =ue el )ro0ra-a e, e1ecutado )or la co-)utadoraA e! e,te )u!to ,e
%!troduce! lo, dato, de e!tradaA ,% lo, 6a"A " ,e de,)l%e0a la ,al%da =ue ,e 6a"a e,)ec%8%cadoA
ta-$%! ,% la 6a"' Ta-$%! e! la 8a,e de e1ecuc%&! ,e )re,e!ta! errore,A ,% lo, 6a"A e,to,
errore, ,e de$er9! =u%:9 a =ue el )ro0ra-a !o cu-)le co! la, e,)ec%8%cac%o!e, )ara
re,ol7er el )ro$le-a dado'
Se de$er9 a )roceder a corre0%r lo, errore, =ue ,e )re,e!te! e! la e1ecuc%&! re)%t%e!do todo
el )roce,o de e,cr%tura;co-)%lac%&!;e1ecuc%&! !ue7a-e!te'
/'/' Far%a$le, ,%-)le, " a,%0!ac%&!
La, 7ar%a$le, )er-%te! al-ace!ar !C-ero, de 7ar%a, cla,e,A a, co-o otro t%)o de dato,' Por
lo )ro!to eB)lorare-o, la, 7ar%a$le, =ue al-ace!a! !C-ero, e!tero,' Lo, !o-$re, de la,
7ar%a$le, de$e! ,er %de!t%8%cadore, 79l%do,' U! %de!t%8%cador e, 79l%do ,% e, u!a ,ecue!c%a
de letra,A d0%to, " 0u%o!e, $a1o, H\I =ue !o co-%e!ce co! u! d0%to' El le!0ua1e C
d%,t%!0ue e!tre letra, -a"C,cula, " -%!C,cula,A de tal -a!era =ue B# e, d%8ere!te de E#' E,
co!7e!%e!te ut%l%:ar )ala$ra, ,%0!%8%cat%7a, )ara de8%!%r 7ar%a$le,A de e,ta -a!era ,er9 -a,
,e!c%llo la e,cr%tura " de)urac%&! de )ro0ra-a,'
Toda, la, 7ar%a$le, e! C de$e! declarar,e a!te, de ,er ut%l%:ada,' La declarac%&! de la,
7ar%a$le, co!,%,te e! la de8%!%c%&! de ,u t%)o " !o-$reA o)c%o!al-e!te ,e )uede dar u!
7alor %!%c%al a la 7ar%a$le' La ,%!taB%, e, la ,%0u%e!te>
Fipo nombre*
O
Fipo nombre O valor*
##
Se )uede! declarar 7ar%a, 7ar%a$le, del -%,-o t%)o ,%-ult9!ea-e!te' E1e-)lo,>
int suma*
Declara la 7ar%a$le ,u-a de t%)o e!tero'
int cuenta/ promedio/ suma O +*
Declara la, 7ar%a$le, ,%0u%e!te,> cue!taA )ro-ed%o " ,u-a de t%)o e!tero " a,%0!a 5 a la
7ar%a$le ,u-a'
El le!0ua1e C ,u-%!%,tra 7ar%o, t%)o, de !C-ero, e!tero, " reale, =ue ,e ut%l%:a! co!
d%8ere!te, )ro)&,%to,' La ,%0u%e!te ta$la re,u-e e,to, t%)o,>
T%)o Lo!0%tud Ra!0o
unsigned char
4 $%t, 5 a #((
char
4 $%t, ;*#4 a *#+
enum
*3 $%t, ;/#A+34 a /#A+3+
unsigned int
*3 $%t, 5 a .A#2.A23+A#2(
short int
*3 $%t, ;/#A+34 a /#A+3+
int
/# $%t, ;#A*.+A.4/A3.4 a #A*.+A.4/A3.+
unsigned long
/# $%t, 5 a .A#2.A23+A#2(
long
/# $%t, ;#A*.+A.4/A3.4 a #A*.+A.4/A3.+
float
/# $%t, /'.B*5
;/4
a /'.B*5
</4
double
3. $%t, *'+B*5
;/54
a *'+B*5
</54
long double
45 $%t, /'.B*5
;.2/#
a *'*B*5
<.2/#
La a,%0!ac%&! e, la o)erac%&! -9, ele-e!tal =ue )uede a)l%car,e a u!a 7ar%a$le' El
o)erador TNU ,e ut%l%:a )ara e,ta )ro)&,%to' El ,%0u%e!te e1e-)lo a,%0!a 7alore, a do,
7ar%a$le, e!tera, " calcula la d%7%,%&! de lo, do, !C-ero,' El o)erador de d%7%,%&! e, la
d%a0o!al !or-al T/U'
/*asignacin de variables*/
#include <stdio.h>
#include <conio.h>
int main!"%
int divisor/ dividendo/ cociente*
divisor O 14*
dividendo O 68*
cociente O dividendo / divisor*
printf!&dividendoP Qd)n&/dividendo"*
printf!&divisorP Qd)n&/divisor"*
printf!&cocienteP Qd)n&/cociente"*
getch!"*
#/
return +*
,
E,cr%$aA co-)%le " corra el )ro0ra-a' Note =ue el re,ultado de la d%7%,%&! e, / "a =ue el
re,ultado de d%7%d%r do, !C-ero, e!tero, e, u! !C-ero e!tero ,%! )arte 8racc%o!ar%a' E! la,
,e!te!c%a, de ,al%da ,e ut%l%:a u! letrero =ue co!t%e!e el 8or-ato de la, 7ar%a$le, =ue ,e
de,)le0ara!' El 8or-ato )ara lo, !C-ero, e!tero, dec%-ale, e, T]dU' Para cada 7ar%a$le o
eB)re,%&! =ue ,e de,ee de,)le0ar de$e ut%l%:ar,e u! u!a e,)ec%8%cac%&! de 8or-ato' La
,al%da la )ode-o, 6acer co! u!a ,e!te!c%a printf co-o la ,%0u%e!te>
printf!&dividendoP Qd)ndivisorP Qd)ncocienteP Qd)n&/
dividendo/ divisor/ cociente"*
La o)erac%&! de a,%0!ac%&! )uede real%:ar,e e!tre 7ar%a$le, de d%8ere!te, t%)o,' El
co-)%lador %!8or-ar9 -ed%a!te u!a ad7erte!c%a ,% ,e 6ace u!a a,%0!ac%&! )ote!c%al-e!te
)el%0ro,aA tal co-o a,%0!ar a u! e!tero u! 7alor real Hde )u!to 8lota!teI "a =ue e,to lle7a a
u!a )o,%$le )rd%da de )rec%,%&!' El ,%0u%e!te e1e-)lo %lu,tra a,%0!ac%o!e, e!tre 7ar%a$le,
de t%)o float H)u!to 8lota!teI " e!tera,' Note =ue lo, 7alore, %-)re,o, )or el )ro0ra-a
,o! lo, Clt%-o, a,%0!ado, a la, 7ar%a$le,' El 7alor de a de$era ,er 4(55555555 )ero tal
!C-ero !o ca$e e! /# $%t,A )or ta!to ,e -o,trar9 ;#*.+.4/3.4'
/*-.emplo de asignaciones*/
#include <stdio.h>
#include <conio.h>
int main!"%
int a/b/c* /* 4 variables enteras */
float R/y/A* /* 4 variables reales */
a O 8*
b O -2*
c O 7*
R O a*
a O b*
y O R*
A O 7.8*
R O A*
a O 1e1+*R*
printf!&aOQd)nbOQd)ncOQd)n&/a/b/c"*
printf!&ROQf)nyOQf)nAOQf)n&/R/y/A"*
getch!"*
return +*
,
El 8or-ato de ,al%da )ara 7ar%a$le, de )u!to 8lota!te e, T]8U' U!a co!,ta!te de )u!to
8lota!te )uede co!,%,t%r de u! a ,ecue!c%a de d0%to, dec%-ale, o ta-$%! de do, ,ecue!c%a,
de d0%to, dec%-ale, ,e)arada, )or u! )u!to dec%-al' Ta-$%! )ode-o, re)re,e!tar co!
co!,ta!te, !C-ero, -u" 0ra!de, o )e=ueDo, ut%l%:a!do -ult%)l%cadore, )or )ote!c%a, de
#.
*5' El !C-ero *e*5 re)re,e!ta *B*5
*5
' Note =ue el co-)%lador e!7a u! -e!,a1e de
ad7erte!c%a H@ar!%!0I )or la a,%0!ac%&! Ta O 1e1+*RT "a =ue ,e a,%0!a u! float a u!
e!tero' E,ta ad7erte!c%a )uede ,er %0!orada )or el -o-e!to'
S% $%e! el co-)%lador !o to-a e! cue!ta el ,%0!%8%cado de lo, %de!t%8%cadore, ut%l%:ado,A e,
-u" reco-e!da$le ut%l%:ar )ala$ra, co! ,%0!%8%cado cua!do lo, de8%!a-o, )ara 8ac%l%tar la
lectura " co-)re!,%&! de lo, )ro0ra-a,' Por e1e-)lo ,% ,e 7a a re)re,e!tar -ed%a!te u!a
7ar%a$le lo, da, tra$a1ado,A e, -e1or ut%l%:ar el %de!t%8%cador diasStraba.ados o
diasFraba.ados =ue ,%-)le-e!te el %de!t%8%cador B'
Pro$le-a, )ro)ue,to,
/'/'*' De8%!a %de!t%8%cadore, co! ,%0!%8%cado )ara la, ,%0u%e!te, 7ar%a$le,>
a' te-)eratura )ro-ed%o $' 0rado, )or -%!uto c' ,e0u!do, de retra:o
d' 7eloc%dad de de,)e0ue
/'/'#' [Lue ,al%da 0e!era el ,%0u%e!te 8ra0-e!to de )ro0ra-aW
R O 8.:*
y O -12.8*
printf!>)n)Jalor de R O Qf)nJalor de yOQf?/R/y"*
/'/'/' [Lue ,al%da 0e!era el ,%0u%e!te 8ra0-e!to de )ro0ra-aW
int a/ b/ c*
float t/ w*
a O 2+*
b O a*
t O b*
a O 12*
c O t*
w O 8.2*
printf!>)na O Qd/ bO Qd/ w O Qf)n?/"*
printf!>)nc O Qd/ t O Qf)n?/"*
/'.' O)eradore, ar%t-t%co,
La ,%0u%e!te ta$la re,u-e lo, o)eradore, ar%t-t%co, $9,%co, de C'
O)erac%&! O)erador E1e-)lo
Su-a < ( < 4
Re,ta ; ( K #
Mult%)l%cac%&! R . R 4
D%7%,%&! ? # ? +
M&dulo ] ( ] /
#(
El o)erador -&dulo H]I calcula el re,%duo de la d%7%,%&!' E,te o)erador ,olo )uede
a)l%car,e a o)era!do, de t%)o e!teroA lo, t%)o, floatA double " long double =ueda!
eBclu%do,'
*+ ] 3.(
*+ ? 3.(
*3
/+
3.( *+

Lo, o)eradore, t%e!e! d%8ere!te, )r%or%dade, de e7aluac%&! cua!do a)arece! e! la -%,-a


eB)re,%&!' A e,ta, )r%or%dade, ,e le, lla-a re0la, de )recede!c%a " ,e re,u-e! e! la
,%0u%e!te ta$la>
O)erador O)erac%&! Orde! de e7aluac%&!
! "
A0ru)a eB)re,%o!e, T%e!e la )recede!c%a -9,
altaA ,e e7alCa! lo, -9,
%!ter!o, )r%-ero'
-/ T
S%0!o )o,%t%7o o !e0at%7o O)eradore, u!ar%o,
*/ // Q
O)eradore, -ult%)l%cat%7o, Se e7alCa! de %:=u%erda a
derec6a
-/ T
Su-a " re,ta O)eradore, $%!ar%o,' Se
e7alCa! de %:=u%erda a
derec6a
Lo, ,%0u%e!te, e1e-)lo, -ue,tra! la co!7er,%&! de al0u!a, eB)re,%o!e,>
EB)re,%&! al0e$ra%ca EB)re,%&! e! C
c
d
b a +
a T b U d/c
a -od c < d
a Q c T d
f c
b a

+
.
#
!2*a T b"/!6*c U f"
( )
bc
a
.
# ( +
8*!2Ta"/!6*b*c"o
8*!2Ta"/6/b/c
E, %-)orta!te la %!,erc%&! de )ar!te,%, )ara 0ara!t%:ar =ue la, eB)re,%o!e, e,t!
correcta-e!te e,cr%ta, e! C' E! la Clt%-a eB)re,%&! ,e )uede a6orrar u! )ar!te,%,
d%7%d%e!do e!tre .A lue0o e!tre $ " lue0o e!tre c' El ,%0u%e!te e1e-)lo calcula el 9rea "
7olu-e! de u!a e,8era'
#include <stdio.h>
#include <conio.h>
/*calcula el 3rea y el volumen de una esfera*/
int main!"%
#3
float r/area/volumen*/*radio/ 3rea y volumen de la esfera*/
r O 6.8*
area O 6*4.1619*r*r*
volumen O 6*4.1619*r*r*r/4*
printf!&el radio de la esfera es Qf)n&/r"*
printf!&el 3rea de la esfera es Qf)n&/area"*
printf!&el volumen de la esfera es Qf)n&/volumen"*
getch!"*
,
Pro$le-a, )ro)ue,to,
/'.'*' E,cr%$a la, ,%0u%e!te, eB)re,%o!e, al0e$ra%ca, e! C'
aI
*
*

+
+
x
x
b a $I
( ) d c b
a
+ #
cI
( ) b a # /
*
*
*

+
dI
x
*
*
*
*
*
*
+
+
+
/'.'#' E,cr%$a la, ,%0u%e!te, eB)re,%o!e, al0e$ra%ca, e! C ut%l%:a!do u! -!%-o de
)ar!te,%,'
aI
( )
abc
y x
#
+
$I
( ) ( )
( ) * #
*
/ ( . /


b c
a b a
/'.'/' E,cr%$a u! )ro0ra-a =ue calcule el 9rea " el 7olu-e! de u! c%l%!dro de rad%o /'/
u!%dade, " altura #'( u!%dade,' La, 8&r-ula, )ara el 9rea " el 7olu-e! de rad%o r " altura h
,o!>
h r cilindro volumen
r rh cilindro area
#
#
#

+
/'(' E!trada de,de el teclado
Para la e!trada de dato, ,e ut%l%:a la 8u!c%&! scanf de la $%$l%oteca ,td%o'6' La 8u!c%&!
lle7a al -e!o, do, ar0u-e!to,A el )r%-ero e, la cade!a =ue e,)ec%8%ca el 8or-ato de e!trada
" lo, de-9, ,o! la l%,ta de 7ar%a$le, a %!troduc%r' A,e0Cre,e de )o!er el 8or-ato adecuado a
la 7ar%a$le =ue ,e 7a a leerA de !o 6acerlo a,A el )ro0ra-a )uede 8allar' La ,%!taB%, de
scanf e,>
scanf!cadena de formato/ lista de variables"*
Cada u!a de la, 7ar%a$le, de la l%,ta de 7ar%a$le, de$e %r )reced%da del operador de
referencia H^I' Lo, 8or-ato, d%,)o!%$le, ,e -ue,tra! e! la ,%0u%e!te ta$la'
t%)o E!trada T%)o de ar0u-e!to
c
Carcter> lee el ,%0u%e!te car9cter' c6ar R
d
Entero con signo> E!tero dec%-al %!t R
#+
)o,%$le-e!te )reced%do )or ,%0!o < o ;'
e/ -/ f/
g/ C
Punto Flotante: Nmero decimal con punto
decimal, opcionalmente precedido por + o y
opcionalmente seguido de e o E y un nmero
8loat R
o
Entero octal: lee un nmero entero en octal
%!t R
s
Cadena de caracteres: Lee los caracteres
tecleados hasta el siguiente blanco.
c6ar R
u
Entero sin signo: E!tero dec%-al ,%! ,%0!o' u!,%0!ed %!t R
R/ V
Entero hexadecimal: lee un nmero entero
en hexadecimal
%!t R
Cua!do ,e e1ecuta la ,e!te!c%a scanf ,e ,u,)e!de la e1ecuc%&! del )ro0ra-a 6a,ta =ue ,e
%!trodu:ca! la, 7ar%a$le, de la ,e!te!c%a' La, 7ar%a$le, de$e! ,e)arar,e co! e,)ac%o, o
al%-e!to, de l!ea' El ,%0u%e!te e, u!a -od%8%cac%&! del e1e-)lo de d%7%,%&! 7%,to
a!ter%or-e!te>
#include <stdio.h>
#include <conio.h>
int main!"%
int divisor/ dividendo/ cociente*
printf!&Feclee el divisorP &"*/*informa #ue se va a leer*/
scanf!&Qd&/Wdivisor"* /*0ee -l divisor */
printf!&Feclee el dividendoP &"*
scanf!&Qd&/Wdividendo"* /*0ee el dividendo*/
cociente O dividendo / divisor*
printf!&dividendoP Qd)n&/dividendo"*
printf!&divisorP Qd)n&/divisor"*
printf!&cocienteP Qd)n&/cociente"*
getch!"*
return +*
,
S%e-)re =ue ,e 7a a leer u! 7alor e, -u" %-)orta!te eB6%$%r u! letrero =ue %!8or-e al
u,uar%o =u e, lo =ue ,e 7a a leerA de !o 6acerlo a,A !o ,e ,a$ra =ue e,t9 ocurr%e!do'
Fea-o, u! )ro0ra-a )ara calcular el 9rea de u! tr%9!0uloA dada, la, coorde!ada, de ,u,
7rt%ce,' El 9rea ,e calcula ut%l%:a!do la ,%0u%e!te 8&r-ula>
( )
# / * # / * / # / # # *
#
*
y x y x y x y x y x y x area + +
E! e,te ca,o la, 7ar%a$le, =ue de$er9! leer,e ,o! R1A R2A R4A y1A y2 " y4' El 9rea la
al-ace!are-o, e! la 7ar%a$le area' El )ro0ra-a e, el ,%0u%e!te>
//Programa para calcular el 3rea de un tri3ngulo
#include <stdio.h>
#4
#include <conio.h>
int main!"
%
float R1/R2/R4/y1/y2/y4* // coordenadas del tri3ngulo
float area* // 3rea del tri3ngulo
printf!&Feclee las coordenadas del primer puntoP &"*
scanf!&QfQf&/WR1/Wy1"*
printf!&Feclee las coordenadas del segundo puntoP &"*
scanf!&QfQf&/WR2/Wy2"*
printf!&Feclee las coordenadas del tercer puntoP &"*
scanf!&QfQf&/WR4/Wy4"*
area O !R1*y2TR2*y4TR4*y1-R1*y4-R2*y1-R4*y2"/2.+*
printf!&3reaP Qf)n&/area"*
getch!"*
return +*
,
Muc6o, )ro0ra-a, ,%0ue! u! e,=ue-a ,%-)le =ue co!,%,te e! la lectura de al0u!a,
7ar%a$le,A la e7aluac%&! de eB)re,%o!e, " el de,)l%e0ue de lo, re,ultado, o$te!%do,' Para
e,te t%)o de )ro$le-a, ,e )uede ,e0u%r el ,%0u%e!te al0or%t-o 0e!eral'
*' Deter-%!ar la, co!,ta!te,A 7ar%a$le, " ,u t%)o
#' E,cr%$%r la declarac%&! de 7ar%a$le,
/' E,cr%$%r la, ,e!te!c%a, de e!trada
.' E,cr%$%r la, eB)re,%o!e, )ara real%:ar lo, c9lculo,
(' E,cr%$%r la, ,e!te!c%a, de ,al%da
3' Pro$ar co! al0u!o, 7alore, de e!trada
El ,%0u%e!te e1e-)lo %lu,tra e,te al0or%t-o>
E,cr%$a u! )ro0ra-a =ue lea el rad%o de u! crculo e %-)r%-a ,u )er-etro " 9rea' De8%!a el
7alor de co-o /'*.*(2#'
*' Deter-%!ar la, co!,ta!te,A 7ar%a$le, " ,u t%)o>
Co!,tate,> H/'*.*(2#I ; !C-ero real
Far%a$le, de e!trada> rad%o K !C-ero real
Far%a$le, de ,al%da> area K !C-ero realA )er%-etro K !C-ero real
#' E,cr%$%r la declarac%&! de 7ar%a$le,
Declarac%&! de co!,ta!te> float pi O 4.1618X2*
Declarac%&! de 7ar%a$le, de e!trada> float radio*
Declarac%&! de 7ar%a$le, de ,al%da> float area/ perimetro*
#2
/' E,cr%$%r la, ,e!te!c%a, de e!trada
printf!>-scriba el radio del c$rculoP >"*
scanf!>Qf?/radio"*
.' E,cr%$%r la, eB)re,%o!e, )ara real%:ar lo, c9lculo,
area O pi*radio*radio*
perimetro O 2*pi*radio*
(' E,cr%$%r la, ,e!te!c%a, de ,al%da
printf!>el 3rea del c$rculo esP Qf)n>/area"*
printf!>el per$metro del c$rculo esP Qf)n>/perimetro"*
3' Pro$ar co! al0u!o, 7alore, de e!trada
Para )ro$ar el al0or%t-o 6a" =ue ,%-ular ,u e1ecuc%&! co! 7alore, de e!trada ace)ta$le'
Para e,to e, co!7e!%e!te 6acer u!a ta$la do!de ,e e,)ec%8%=ue e! cada )a,o lo, 7alore, de
la, 7ar%a$le, " lo, letrero, " 7alore, %-)re,o, e! la )a!talla' Hace-o, u!a ta$la co! la,
,%0u%e!te, colu-!a,> )a,oA u!a colu-!a )ara cada 7ar%a$le " ,al%da'
Pa,o
radio area perimetro
SALIDA
/ ( ; ; TE,cr%$a el rad%o del crculo> U
. ( +4'(. /*'.# ;
( ( +4'(. /*'.# Tel 9rea del crculo e,> +4'(.U
Tel )er-etro del crculo e,> /*'.#U
E! la ta$la ,e -ue,tra el e1e-)lo e! =ue ,e 6a tecleado co-o e!trada u! ( )ara el 7alor del
rad%o' E, -u" co!7e!%e!te )ro$ar el al0or%t-o )ara a,e0urar =ue re,uel7e el )ro$le-a
co-o real-e!te =uere-o,' El )ro0ra-a co-)leto e, el ,%0u%e!te>
#include <stdio.h>
#include <conio.h>
main!"%
float pi O 4.1618X29848* // valor de pi
float radio* // radio del c$rculo/ variable de entrada
float area/ perimetro* // 3rea y per$metro del c$rculo
printf!&-scriba el radio del c$rculoP &"*
scanf!&Qf&/Wradio"*
area O pi*radio*radio*
perimetro O 2*pi*radio*
printf!&el 3rea del c$rculo esP Qf)n&/area"*
printf!&el per$metro del c$rculo esP Qf)n&/perimetro"*
getch!"*
/5
return +*
,
Se de$e te!er cu%dado al e,cr%$%r eB)re,%o!e,' S% la, eB)re,%o!e, %!clu"e! !C-ero, de )u!to
8lota!teA 6a" =ue a,e0urar,e de =ue la, co!,ta!te, =ue a)are:ca! ,ea! ta-$%! de )u!to
8lota!te' Por e1e-)lo /?(R.'( ,e e7alCa co-o 5A "a =ue /?( da co-o re,ultado u! cero' Lo
correcto e, /'5?(R.'( o /?('5R.'( )ara o$te!er el 7alor correcto'
Pro$le-a, )ro)ue,to,
/'('*' E,cr%$a u! )ro0ra-a )ara calcular la -a0!%tud de la 8uer:a e!tre do, car0a,
elctr%ca, dada, la, coorde!ada, de la, car0a, " la -a0!%tud de cada car0a' La 8uer:a ,e
calcula co! la eB)re,%&! ,%0u%e!te do!de k N 4'22 B*5
2
'
( ) ( )
#
* #
#
* #
# *
y y x x
q q
k F
+

Do!de q
*
" q
#
,o! lo, 7alore, de la, car0a, 4)o,%t%7a, o !e0at%7a,IA Hx
*
A y
*
I " Hx
#
A y
#
I ,o! la,
coorde!ada, de q
*
" q
#
re,)ect%7a-e!te' De$er9 leer lo, 7alore, de> x
*
A y
*
A x
#
A y
#
A q
*
" q
#
'
/'('#' E,cr%$a u! )ro0ra-a =ue lea u! !C-ero e!tero re)re,e!ta!do ,e0u!do, " de,)l%e0ue
el e=u%7ale!te e! da,A 6ora,A -%!uto, " ,e0u!do,' Por e1e-)lo> /.A3## ,e0u!do, e,
e=u%7ale!te a 5 da,A 2 6ora,A /+ -%!uto,A # ,e0u!do,'
/'('/' E,cr%$%r u! )ro0ra-a )ara o$te!er la 6%)ote!u,a " lo, 9!0ulo, a0udo, de u! tr%9!0ulo
rect9!0ulo a )art%r de la, lo!0%tude, de lo, cateto,'
/'('.' La 8a-o,a ecuac%&! de E%,!te%! )ara la co!7er,%&! de u!a -a,a - e! e!er0a 7%e!e
dada )or la 8&r-ula E N -c
#
A do!de c e, la 7eloc%dad de la lu: %0ual a #'22+2#(B*5
*5
c-?,'
E,cr%$%r u! )ro0ra-a =ue lea u!a -a,a e! 0ra-o, " o$te!0a la ca!t%dad de e!er0a e!
Goule, )roduc%da de acuerdo co! la ecuac%&! de E%!,te%!'
/'3' B%$l%oteca -ate-9t%ca math.h
La $%$l%oteca math.h co!t%e!e la, declarac%o!e, de la, 8u!c%o!e, tr%0o!o-tr%ca,A
eB)o!e!c%ale,A etc' U! $re7e l%,tado e, el ,%0u%e!teA e! el a)!d%ce ,e da u! l%,tado -9,
co-)leto>
Fu!c%&! S%0!%8%cado
ceil!R"
redo!dea al e!tero -9, )e=ueDo !o -e!or =ue B'
cos!R"
co,e!o de B'
eRp!R"
e
x
fabs!R"
7alor a$,oluto de B'
floor!R"
redo!dea al e!tero -9, 0ra!de !o -a"or =ue B'
log!R"
lo0ar%t-o !atural de B'
/*
log1+!R"
lo0ar%t-o $a,e *5 de B'
pow!R/y"
x
y
'
sin!R"
,e!o de B'
s#rt!R"
ra: cuadrada de B'
tan!R"
ta!0e!te de B'
El ,%0u%e!te e1e-)lo calcula el 9rea de u! tr%9!0ulo co!oc%da, la, lo!0%tude, de lo, lado, aA
bA c ut%l%:a!do la 8&r-ula>
( ) ( )( ) c s b s a s s area
Do!de s e, el ,e-%)er-etro del tr%9!0uloA o ,eaA
#
c b a
s
+ +

*' Deter-%!ar la, co!,ta!te,A 7ar%a$le, de e!trada " de ,al%da " ,u t%)o
Far%a$le, de e!trada> aA $A c de t%)o real
Far%a$le %!ter-ed%a> , de t%)o real
Far%a$le de ,al%da> areaTr%a!0ulo de t%)o real
#' E,cr%$%r la declarac%&! de 7ar%a$le,
float a/ b/ c*/* lados del tri3ngulo */
float s* /*semiper$metro */
float areaFriangulo* /* 3rea del tri3ngulo */
/' E,cr%$%r la, ,e!te!c%a, de e!trada
printf!&Feclee las longitudes de los ladosP &"*
scanf!>QfQfQf?/Wa/Wb/Wc"* /* lee los lados */
.' E,cr%$%r la, eB)re,%o!e, )ara real%:ar lo, c9lculo,
s O !a T b T c"/2.+*
areaFriangulo O s#rt!s*!s-a"*!s-b"*!s-c""*
(' E,cr%$%r la, ,e!te!c%a, de ,al%da
printf!&3reaP Qf)n&/areaFriangulo"*
3' Pro$ar co! al0u!o, 7alore, de e!trada
Pa,o a $ c , areaTr%a!0ulo Sal%da
/ / . ( ; ; Tlas longitudes de los
/#
ladosPU
. / . ( 3
3 * # / 3
( / . ( 3 3 T9rea> 3U
El )ro0ra-a co-)leto e, el ,%0u%e!te>
//Programa para calcular el 3rea de un tri3ngulo
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main!"
%
float a/b/c* /* lados del tri3ngulo */
float s* /*semiper$metro */
float areaFriangulo* /* 3rea del tri3ngulo*/
printf!&Feclee las longitudes de los ladosP &"*
scanf!&QfQfQf&/Wa/Wb/Wc"* /* lee los lados */
s O !a T b T c"/2.+*
areaFriangulo O s#rt!s*!s-a"*!s-b"*!s-c""*
printf!&3reaP Qf)n&/areaFriangulo"*
getch!"*
return +*
,
El ,%0u%e!te )ro0ra-a calcula la altura -9B%-aA el alca!ce " el t%e-)o de 7uelo de u!
)ro"ect%l e! t%ro )ara$&l%co' Se da! co-o dato, de e!trada la 7eloc%dad %!%c%al del )ro"ect%l
" el 9!0ulo =ue 6ace la 7eloc%dad %!%c%al co! el e1e B' Sea 6 la altura -9B%-aA R el alca!ce "
T el t%e-)o de 7ueloA e,to, ,e calcula! co! la, ,%0u%e!te, 8&r-ula,>
g
sen v
h
#
# #
5

g
sen v
R
#
#
5

g
sen v
T

5
#

Co!,ta!te,>
PI K /'*.*(2#3(
0 ; 2'4*
Lo, dato, de e!trada ,o! la 7eloc%dad %!%c%al " el 9!0ulo del d%,)aro>
75 K 7eloc%dad %!%c%al Ht%)o 8loatI
a!0 K 9!0ulo del d%,)aro Ht%)o 8loatI
Lo, dato, de ,al%da ,o!>
6 K altura -9B%-a Ht%)o 8loatI
R K alca!ce -9B%-o Ht%)o 8loatI
T K t%e-)o de 7uelo Ht%)o 8loatI
//
La 7eloc%dad %!%c%al la ,u)o!dre-o, e! -?,' El 9!0ulo del t%ro lo ,u)o!dre-o, e! 0rado,'
La, 8u!c%o!e, tr%0o!o-tr%ca, ,u)o!e! el ar0u-e!to e! rad%a!e,A e, !ece,ar%o co!7ert%r el
9!0ulo de 0rado, a rad%a!e, )or e,ta ra:&!'
Al0or%t-o T%ro )ara$&l%co' Calcula la altura -9B%-aA el alca!ce " el t%e-)o de 7uelo de u!
)ro"ect%l e! t%ro )ara$&l%co'
*' PLeer dato,Q
LeerH75A a!0I
#' PCo!7ert%r a rad%a!e,Q
a!0 N a!0RPI?*45
/' PCalcular re,ultado,Q
6 N 75R75R,%!Ha!0IR,%!Ha!0I?#?0M
R N 75R75R,%!H#Ra!0I?0M
T N #R75R,%!Ha!0I?0M
.' PDe,)le0ar re,ultado,Q
E,cr%$eH6A RA TI
(' PTer-%!arQ
Sal%r
El )ro0ra-a co-)leto e, el ,%0u%e!te>
/*Calcula alcance/ altura m3Rima y tiempo de vuelo en un tiro
parablico*/
#include <stdio.h>
#include <conio.h>
#include <math.h>
main!"%
float PH O 4.1618X298*
float g O X.71*
float v+/ang*/* datos de entrada*/
float h/K/F* /* datos de salida*/
/*0eer datos*/
printf!&FHKM PBKBYM0HCM)n&"*
printf!&Feclee velocidad inicial !en m/s"P &"*
scanf!&Qf&/Wv+"*
printf!&Feclee angulo del tiro !en grados"P &"*
scanf!&Qf&/Wang"*
/*Convertir a radianes*/
ang O ang*PH/17+*
/*Calcular resultados*/
h O v+*v+*sin!ang"*sin!ang"/2/g*
K O v+*v+*sin!2*ang"/g*
F O 2*v+*sin!ang"/g*
/*Gesplegar resultados*/
printf!&altura maRimaP Qf m)n&/h"*
printf!&alcance maRimoP Qf m)n&/K"*
/.
printf!&tiempo de vueloP Qf s)n&/F"*
getch!"*
/*Ferminar*/
return +*
,
Pro$le-a, )ro)ue,to,
/'3'*' Dada, la, ,%0u%e!te, 7ar%a$le, e! C e,cr%$a u!a ,e!te!c%a )ara leer ,u, 7alore, de,de
el teclado e! el orde! =ue u,ted =u%era'
float a/b*
int m/n*
/'3'#' Su)o!0a =ue u! u,uar%o e,cr%$e la, ,%0u%e!te, l!ea, [Cu9l ,e!te!c%a e! C )roce,a!
la re,)ue,ta del u,uar%o ,%! errore,W
4.6 8 9.6
scanf!>QdQfQd?/Wa/ Wb/ Wc"*
scanf!>QdQfQf?/Wa/ Wb/ Wc"*
scanf!>QfQdQf?/Wa/ Wb/ Wc"*
/'3'/' E,cr%$a u! )ro0ra-a co!7%erta u!a 7eloc%dad e! -etro, )or ,e0u!do a J%l&-etro, )or
6ora'
/'3'.' E,cr%$a u! )ro0ra-a =ue lea u!a ca!t%dad de t%e-)o e! -%!uto, " la co!7%erta a
6ora,A da,A ,e-a!a, " -e,e,'
/'3'(' E,cr%$a u! )ro0ra-a =ue lea u!a d%,ta!c%a e! aDo, lu: " la co!7%erta e! J%l&-etro,A
-%lla, " )ar,ec, H* -%lla N *'352 J-A * )ar,ec N *(5A555A555 J-I
/'3'3' E,cr%$a u! )ro0ra-a =ue co!7%erta la altura de u!a )er,o!a de -etro, a )%e, "
)ul0ada,' De,)l%e0ue el re,ultado ,e)ara!do )%e, " )ul0ada,A e1e-)lo> *'+4 - N ( )%e, *5UA
a)roB%-ada-e!te'
/'3'+' E,cr%$a u! )ro0ra-a )ara calcular la d%,ta!c%a e!tre do, )u!to, e! el )la!o' Lo,
)u!to, e,t9! e,)ec%8%cado, )or ,u, coorde!ada, HxA yI le"e!do lo, 7alore, de x " y )ara lo,
do, )u!to,' La d%,ta!c%a ,e calcula ut%l%:a!do la eB)re,%&! ,%0u%e!te
( ) ( )
#
* #
#
* #
d%,ta!c%a y y x x +
/'3'4' La acelerac%&! de do, cuer)o, de -a,a m
*
" m
#
A u!%do, )or u!a cuerda e! u! )la!o
%!cl%!ado co-o ,e -ue,tra e! la 8%0uraA e,t9 dada )or la 8&r-ula>
/(
g
m m
m sen m
a
# *
* #
+


Do!de g e, la acelerac%&! de la 0ra7edad H2'4 -?,
#
I' E,cr%$a u! )ro0ra-a =ue lea lo,
7alore, de la, -a,a, m
*
" m
#
" el 9!0ulo He! 0rado,I del )la!o %!cl%!ado " calcule la
acelerac%&! de lo, cuer)o,'
/'3'2' La 8&r-ula de Lore!t: )ara la co!tracc%&! de la lo!0%tud de u! cuer)o e! 8u!c%&! de
,u 7eloc%dad e,t9 dada )or _ *
# #
L c v L A do!de LO e, ,u lo!0%tud e! re)o,o " c e, la
7eloc%dad de la lu: H#'22+2 B *5
4
-?,I' E,cr%$a u! )ro0ra-a =ue lea la 7eloc%dad del o$1eto
" calcule el )orce!ta1e de co!tracc%&! de acuerdo a la 8&r-ula de Lore!t:'
/'3'*5' E,cr%$a u! )ro0ra-a =ue deter-%!e la 7eloc%dad %!%c%al co! =ue de$e la!:ar,e u!
)ro"ect%l )ara alca!:ar u!a altura h ,% ,e la!:a co! u! 9!0ulo A e,to, dato, dado, )or el
u,uar%o'
/'3'**' U,a!do la 8&r-ula de E%!,te%! del )ro$le-a /'('( e,cr%$a u! )ro0ra-a =ue lea la
ca!t%dad de e!er0a ut%l%:ada e! al0C! )roce,o " calcule la ca!t%dad de -a,a =ue ,e
co!7%rt%& e! e!er0a'

/3
Ca)tulo .' Co!trol co!d%c%o!al
El co!trol co!d%c%o!al )er-%te alterar la ,ecue!c%a de e1ecuc%&! de la, ,e!te!c%a, de u!
)ro0ra-a' De e,ta -a!era ,e )uede e1ecutar o !o u!a o -9, ,e!te!c%a, de)e!d%e!do del
7alor de al0u!a eB)re,%&! de co!trol' E! e,te ca)tulo re7%,are-o, la, 8or-a, de to-ar
dec%,%o!e, e! u! )ro0ra-a'
.'*' O)eradore, relac%o!ale,
Lo, o)eradore, relac%o!ale, )er-%te! co-)arar do, !C-ero, o eB)re,%o!e,' E,to,
o)eradore, 0e!era! ,olo do, 7alore,> 5 o *' E! el le!0ua1e C el 7alor * re)re,e!ta el 7alor
7erdadero " 5 re)re,e!ta el 7alor 8al,o' Todo, lo, o)eradore, relac%o!ale, ,o! o)eradore,
$%!ar%o,A e, dec%rA ,e a)l%ca! a do, o)era!do,' La ,%0u%e!te ta$la re,u-e lo, o)eradore,
relac%o!ale,>
O)era!do S%0!%8%cado
OO
I0ualdadA * ,% lo, do, o)era!do, ,o! %0uale,A 5 e! otro ca,o'
>
Ma"or =ueA * ,% el )r%-er o)era!do e, -a"or =ue el ,e0u!doA 5 e! otro ca,o
<
Me!or =ueA * ,% el )r%-er o)era!do e, -e!or =ue el ,e0u!doA 5 e! otro ca,o
>O
Ma"or o %0ual aA * ,% el )r%-er o)era!do e, -a"or o %0ual al el ,e0u!doA 5
e! otro ca,o
<O
Me!or o %0ual aA * ,% el )r%-er o)era!do e, -e!or o %0ual al el ,e0u!doA 5
e! otro ca,o
(O
D%8ere!te aA * ,% el )r%-er o)era!do e, d%8ere!te al ,e0u!doA 5 e! otro ca,o
Al0u!o, e1e-)lo, de co-)arac%o!e, ,o! lo, ,%0u%e!te,>
1 > 2 N 5 8al,o
4 < 8 N * 7erdadero
!: U 6" OO 4 N * 7erdadero
1: >O !8 T 12" N * 7erdadero
i O 4* . O :*
i * . (O 21 N 5 8al,o
float aO+.1*
!4*aU+.4"OO+ N 5 8al,o HOGO co! lo, reale,I
4 > 1 > + N * 7erdadero
Note =ue ,% )ro$a-o, %0ualdad de !C-ero, reale,A el re,ultado de la co-)arac%&! )uede ,er
!o e,)eradoA e,to e, de$%do a =ue la re)re,e!tac%&! de u! !C-ero real !o e, eBacta' Se
)uede! ut%l%:ar eB)re,%o!e, relac%o!ale, )ara ,elecc%o!ar e!tre do, o -9, eB)re,%o!e, a
e7aluar' Por e1e-)lo>
!4*a T b"*!a<+" T !8*a U b"*!a>O+"
/+
Ser9 %0ual a 4*aT b ,% a e, -e!or =ue ceroA e %0ual a 8*a U b ,% a e, -a"or o %0ual a
cero' Por e1e-)lo ,e a O U4 " bO 6A la eB)re,%&! ,e e7aluara co-o>
!4*!U4"T6"*!U4<+"T!8*!U4"U6"*!U4>O+"O!UXT6"*!1"T!U18U6"*!+"O
U8
S% a O 2 " b O 6A el 7alor ,er9
!4*!2"T6"*!2<+"T!8*!2"U6"*!2>O+"O!9T6"*!+"T!1+U6"*!1"O9
Lo, o)eradore, relac%o!ale, t%e!e! u!a )r%or%dad de e7aluac%&! %!8er%or a lo, o)eradore,
ar%t-t%co,' La eB)re,%&! / < + `N ( K . ,e e7alCa co-o *5 `N *'
E1e-)lo de co!7er,%&! co! eB)re,%o!e, relac%o!ale,
El ,%0u%e!te )ro0ra-a co!7%erte u!a te-)eratura leda de,de el teclado de la e,cala Cel,%u,
a la Fare!6e%t " 7%ce7er,a' Se le ,ol%c%ta al u,uar%o el t%)o de co!7er,%&! =ue de,ea real%:ar>
#include <stdio.h>
#include <conio.h>
main!"%
float tempMriginal/tempConvertida*
int opcion*
printf!&Feclee temperaturaP &"*
scanf!&Qf&/WtempMriginal"*
printf!&Fipo de conversin !1 - C a D/ 2 - D a C"P &"*
scanf!&Qd&/Wopcion"* //solicita tipo de conversin
tempConvertida O !opcionOO1"*!X*tempMriginal/8T42"T
!opcionOO2"*!8.+/X*!tempMriginal-42""*
printf!&Jalor convertidoP Qf)n&/tempConvertida"*
getch!"*
,
La eB)re,%&! opcionOO* e, 7erdaderaA e, dec%rA 7ale * ,% la 7ar%a$le opcion 7ale * " la
eB)re,%&! opcionOO# 7ale * ,% opcion e, %0ual a #' De la -a!era -o,trada )ode-o,
,elecc%o!ar e!tre u!a ,er%e de eB)re,%o!e,' Por e1e-)loA ,% de,ea-o, co!7ert%r de
ce!t0rado, a Jel7%!A a0re0a-o, el tr-%!o ,%0u%e!te a la eB)re,%&!'
!opcionOO4"*!tempMriginalT2:4.19"
Pro$le-a, )ro)ue,to,
.'*'*' E,cr%$a u!a ,e!te!c%a )ara co!7ert%r de ce!t-etro, a )ul0ada, ,% u!a 7ar%a$le
opcion 7ale * " co!7ert%r de )ul0ada, a ce!t-etro, ,% opcion 7ale #'
/4
.'*'#' Mod%8%=ue el )ro0ra-a de co!7er,%&! de te-)eratura, )ara %!clu%r co!7er,%o!e, de
ce!t0rado, a ael7%! " ael7%! a ce!t0rado,'
.'*'/' E,cr%$a u! )ro0ra-a )ara co!7ert%r c- a )ul0ada,A )ul0ada, a c-A )%e, a c- " c- a
)%e,A ut%l%:a!do ,ola-e!te eB)re,%o!e, relac%o!ale, H* )ul0ada N #'(. c-A * )%e N *#
)ul0ada,I'
.'#' Se!te!c%a if
La ,e!te!c%a if )er-%te dec%d%r e1ecutar u!a o -9, %!,trucc%o!e, de)e!d%e!do del 7alor de
u!a eB)re,%&!' La ,%!taB%, de la ,e!te!c%a if e,>
if! condicin "
instruccin o blo#ue*
U! $lo=ue e,t9 8or-ado )or u!a ,er%e de %!,trucc%o!e, e!cerrado e!tre lla7e, bc' La
co!d%c%&! e, cual=u%er eB)re,%&! =ue 0e!ere u! 7alor !u-r%co real o e!tero' La %!,trucc%&!
o $lo=ue ,e e1ecutar9 ,% la co!d%c%&! to-a u! 7alor d%8ere!te de cero' E! el le!0ua1e
al0ort-%co u,are-o, la co!,trucc%&! ,%0u%e!te'
SI co!d%c%&! ENTONCES
,e!te!c%a,
El )ro0ra-a ,%0u%e!te deter-%!a ,% u! !C-ero tecleado e, )o,%t%7o o !e0at%7o>
#include <stdio.h>
#include <conio.h>
main!"%
float numero*
printf!&Feclee un n@meroP &"*
scanf!>Qd?/Wnumero"*
if!numero>O+"
printf!&n@mero positivo)n&"*
getch!"*
,
Para deter-%!are ,% u! !C-ero e, d%7%,%$le e!tre otro 7er%8%ca-o, ,% el re,%duo de la
d%7%,%&! e, cero' El ,%0u%e!te )ro0ra-a 7er%8%ca ,% u! !C-ero e, d%7%,%$le e!tre + o !o>
#include <stdio.h>
#include <conio.h>
main!"%
int numero*
/2
printf!&Feclee un n@meroP &"*
scanf!>Qd?/Wnumero"*
if!numeroQ:OO+"
printf!>Qd es divisible entre :)n?/numero"*
getch!"*
,
Su)o!0a-o, el ,%0u%e!te )ro$le-a' Se real%:a u! eBa-e! co! N )re0u!ta, " ,e de,ea ,a$er
,% u! alu-!o a)ro$& o !o el eBa-e! co! $a,e e! la, re,)ue,ta, correcta, =ue o$tu7o'
D%,eDare-o, u! al0or%t-o )ara re,ol7er e,te )ro$le-a' El al0or%t-o e! )r%-ara
a)roB%-ac%&! real%:ara lo, ,%0u%e!te, )a,o,'
*' Leer el total de )re0u!ta,
#' Leer el total de ac%erto,
/' Deter-%!ar ,% a)ro$& o re)ro$&
Nece,%tare-o, do, 7ar%a$le, e!tera,A u!a )ara el total de )re0u!ta, " otra )ara lo, ac%erto,'
Sea N el total de )re0u!ta, " A el total de ac%erto,' Su)o!dre-o, =ue )ara a)ro$ar ,e
re=u%ere de u! 5'3 de re,)ue,ta, correcta, )ara a)ro$ar' Ta-$%! re=uer%re-o, de u!a
7ar%a$le real FRACCION )ara al-ace!ar la 8racc%&! de re,)ue,ta, correcta,' U!a 7er,%&!
-9, detallada del al0or%t-o e, la ,%0u%e!te'
Al0or%t-o A)ro$ado' E,te al0or%t-o deter-%!a ,% u! alu-!o a)ro$& u! eBa-e!A el u,uar%o
teclea el !C-ero de )re0u!ta, " el total de ac%erto,' Se %-)r%-%r9 el letrero de a)ro$ado ,%
el coc%e!te de ac%erto, e, -a"or o %0ual a 5'3' E! N ,e al-ace!a el total de )re0u!ta, " e!
A el !C-ero de ac%erto,A FRACION al-ace!a el coc%e!te de A " N'
*' PLeer el total de )re0u!ta,Q
LeerHNI
#' PLeer el !C-ero de ac%erto,Q
LeerHAI
/' PCalcular la 8racc%&! de re,)ue,ta, correcta,Q
FRACCION N A?N
.' PA)ro$&WQ
SI FRACCION`N5'3 ENTONCES
E,cr%$eHTA)ro$adoUI
(' PTer-%!aQ
Sal%da
Ha" =ue te!er -uc6o cu%dado al traduc%r el )ro0ra-a a C' La %!,trucc%&! FRACCION N
A?N )uede dar co-o re,ultado =ue ,%e-)re o$te!0a-o, u! 7alor %0ual a 5A e,to de$%do a
=ue al d%7%d%r do, !C-ero, e!tero, el re,ultado e, u! !C-ero e!tero " el C!%co re,ultado
e!tero =ue )ode-o, o$te!er e, 5 de$%do a =ue N e, -a"or =ue A' Para e7%tar e,toA
u,are-o, u! ca-$%o de t%)o Ht")eca,tI =ue co!7%erta a !C-ero, reale, lo, 7alore, e!tero, "
6a0a la d%7%,%&! correcta-e!te' El )ro0ra-a e, el ,%0u%e!te'
.5
#include <stdio.h>
#include <conio.h>
main!"%
int n/a*
float fraccion*
/*0eer el total de preguntas*/
printf!&-scriba el total de preguntasP &"*
scanf!&Qd&/Wn"*
/*0eer el n@mero de aciertos*/
printf!&-scriba el total de aciertosP &"*
scanf!&Qd&/Wa"*
/*Calcular la fraccin de respuestas correctas*/
fraccion O !float"a/n*
/*BprobZ */
if!fraccion>O+.9"
printf!&Bprobado con Qf porciento&/fraccion*1++"*
getch!"*
,
La ,%!taB%, )ara ca-$%ar de t%)o e, la ,%0u%e!te>
!tipo nuevo" eRpresin*
Pro$le-a, )ro)ue,to,
.'#'*' E,cr%$a u! )ro0ra-a =ue lea do, !C-ero, e!tero, lue0o dec%da ,% el )r%-ero e,
d%7%,%$le e!tre el ,e0u!do e %!8or-e el re,ultado'
.'#'#' E,cr%$a u! )ro0ra-a =ue lea tre, !C-ero, reale, " dec%da ,% 8or-a! u! tr%9!0ulo'
Su)o!0a =ue lo, !C-ero, ,e lee! de -a"or a -e!or'
.'#'/' E,cr%$a u! )ro0ra-a =ue lea tre, !C-ero, reale, re)re,e!ta!do lo, lado, de u!
tr%9!0ulo " dec%da ,% el tr%9!0ulo e, rect9!0ulo o !o' Su)o!0a =ue lo, !C-ero, ,e lee! de
-a"or a -e!or'
.'#'.' E,cr%$a u! )ro0ra-a )ara ,u-ar do, ca!t%dade, e! 6ora,A -%!uto, " ,e0u!do,'
I-)r%-a lo, re,ultado, e! 8or-ato !or-al%:adoA e, dec%rA 66>--',,A do!de 5dN--dN(2 "
5dN,,dN(2'
.'/' Se!te!c%a %8 co-)leta
La ,e!te!c%a %8 co-)leta co!,ta de u!a )arte =ue ,e e1ecuta cua!do la co!d%c%&! e, * " otra
cua!do e, 5' La ,%!taB%, e,>
if! condicin "
.*
instruccin o blo#ue*
else
instruccin o blo#ue*
E! el le!0ua1e al0ort-%co u,are-o, la co!,trucc%&! ,%0u%e!te'
SI co!d%c%&! ENTONCES
,e!te!c%a,
SINO
,e!te!c%a,
El ,%0u%e!te e1e-)lo e, u! )ro0ra-a =ue deter-%!a ,% do, recta, ,e %!ter,eca! o !oA " ,% ,e
%!ter,eca! deter-%!a la, coorde!ada, HBA "I de la %!ter,ecc%&!' Su)o!0a =ue la, recta, ,e
re)re,e!ta! -ed%a!te u!a ecuac%&! de la 8or-a y N mx <b' Su)o!dre-o, =ue el u,uar%o
%!troduce lo, 7alore, de m " b )ara cada recta' Para =ue do, recta, ,e %!terce)te! e,
!ece,ar%o =ue la, )e!d%e!te, ,ea! d%8ere!te,A u,are-o, e,ta co!d%c%&! )ara re,ol7er el
)ro$le-a'
Far%a$le, !ece,ar%a,> toda, de t%)o real'
)e!d%e!te*A orde!ada* K )e!d%e!te " orde!ada al or%0e! de la )r%-era recta'
)e!d%e!te#A orde!ada# K )e!d%e!te " orde!ada al or%0e! de la ,e0u!da recta'
BA " K coorde!ada, BA" de la %!ter,ecc%&!'
Al0or%t-o I!ter,ecc%&!' Deter-%!a ,% do, recta, re)re,e!tada, -ed%a!te la eB)re,%&! " N
-B < $ ,e %!ter,eca!' Para =ue e,to ,uceda la, )e!d%e!te, de$e! ,er d%8ere!te,' La,
)e!d%e!te, ,o! )e!d%e!te* " )e!d%e!te# " la, orde!ada, ,o! orde!ada* " orde!ada#'
*' PLeer dato, de la, do, recta,Q
LeerH)e!d%e!te*A orde!ada*I
LeerH)e!d%e!te#A orde!ada#I
#' PDeter-%!a %!ter,ecc%&!A ,% eB%,teQ
SI )e!d%e!te* d%8ere!te de )e!d%e!te# ENTONCES
B N Horde!!ada# K orde!ada*I?H )e!d%e!te# ; )e!d%e!te*I
" N )e!d%e!te* R B < orde!ada*
SINO
E,cr%$eHTLa, recta, !o ,e %!ter,eca!UI
/' PTer-%!aQ
Sal%r
El )ro0ra-a e, el ,%0u%e!te>
#include <stdio.h>
#include <conio.h>
int main!"
%
float pendiente1/ pendiente2/ ordenada1 /ordenada2/R/y*
.#
/*0eer datos de las dos rectas*/
printf!&teclee la pendiente y ordenada al origen 1P &"*
scanf!&QfQf&/Wpendiente1/Wordenada1"*
printf!&teclee la pendiente y ordenada al origen 2P &"*
scanf!&QfQf&/Wpendiente2/Wordenada2"*
/*Getermina interseccin/ si eRiste*/
if!pendiente1 (O pendiente2"%
R O !ordenada2 - ordenada1"/! pendiente1- pendiente2"*
y O pendiente1*RT ordenada1*
printf!&0as rectas se interceptan enP Qf/ Qf&/R/y"*
,
else
printf!&0as rectas no se interceptan...&"*
getch!"*
,
Su)o!0a =ue de,ea-o, ,a$er cual e, el -a"or de do, !C-ero,' U!a 8or-a de re,ol7er e,te
)ro$le-a e, ut%l%:ar u!a co!,trucc%&! %8;el,e' El al0or%t-o e, el ,%0u%e!te'
Al0or%t-o Ma"or' De,)l%e0a el -a"or de do, !C-ero, %!troduc%do, )or el u,uar%o' U!o de
lo, !C-ero, e, A " el otro B'
*' PLeer lo, 7alore,Q
LeerHAA BI
#' Pde,)l%e0a el -a"orQ
SI A`B ENTONCES
E,cr%$eHAI
SINO
E,cr%$eHBI
/' PTer-%!aQ
Sal%r
El )ro0ra-a e, el ,%0u%e!te'
#include <stdio.h>
#include <conio.h>
main!"%
int a/b*
/*0eer los valores*/
printf!&HntroduAca dos enterosP &"*
scanf!&Qd Qd&/Wa/Wb"*
/*despliega el mayor*/
if!a>b"
printf!&Qd&/a"*
else
printf!&Qd&/b"*
./
getch!"*
,
E,to -%,-o )uede 6acer,e co! u!a eB)re,%&! =ue %!clu"a eB)re,%o!e, relac%o!ale, ,%
ca-$%a-o, el )a,o # )or
#' PDe,)l%e0a el -a"orQ
E,cr%$eHHA`BIRA<HB`AIRBI
Note =ue el al0or%t-o co! e,ta -od%8%cac%&! %-)r%-%r9 5 cua!do ,e de! do, 7alore, %0uale,'
Para corre0%r e,te ca,o 6a" =ue )o!er el o)erador `N e! al0u!a de la, do, eB)re,%o!e,
relac%o!ale,' Note =ue el al0or%t-o ,olo 8u!c%o!a )ara u! le!0ua1e co-o C e! el =ue lo,
7alore, $oolea!o, ,o! lo, e!tero, 5 " *A e! otro, le!0ua1e, lo, 7alore, $oolea!o, )uede! ,er
t%)o, )rede8%!%do, !o e!tero, o )uede! ,er e!tero, co! d%8ere!te, 7alore, )ara 7erdadero "
8al,oA co-o ;* " 5 o cual=u%er otro 7alor' E,cr%$a el ,%0u%e!te )ro0ra-a " )ru$elo'
#include <stdio.h>
#include <conio.h>
main!"%
int a/b*
printf!&HntroduAca dos enterosP &"*
scanf!&Qd Qd&/Wa/Wb"*
printf!&Qd&/!a>b"*aT!b>a"*b"*
getch!"*
,
Pro$le-a, )ro)ue,to,
.'/'*' E,cr%$a u! )ro0ra-a =ue lea u! !C-ero e %-)r%-a el letrero T!C-ero )o,%t%7oU ,% el
!C-ero ledo e, )o,%t%7o " el letrero T!C-ero !e0at%7oU ,% !o lo e,'
.'/'#' E,cr%$a u! )ro0ra-a =ue u!a o)c%&! )ara co!7ert%r de c- a )ul0ada,A de )ul0ada, a
c-A lue0o lea la ca!t%dad a co!7ert%r " de,)l%e0ue el re,ultado'
.'/'/' E,cr%$a u! )ro0ra-a =ue lea tre, !C-ero, " d%0a cuale, ,o! )are, " cuale, %-)are,'
.'/'.' E,cr%$a u! )ro0ra-a )ara e!co!trar la recta )er)e!d%cular a u!a recta dada e! u!
)u!to e,)ec8%co' Su)o!0a =ue la recta dada t%e!e )e!d%e!te - " orde!ada al or%0e! $A " el
)u!to t%e!e coorde!ada, BA"' Co!,%dere el ca,o e! =ue la )e!d%e!te dada e, cero'
.'/'(' E! u!a elecc%&! el ca!d%dato =ue o$t%e!e -9, 7oto, =ue la ,u-a de 7oto, de lo,
de-9, 0a!a la elecc%&!A ,%!o ,e 6ace u!a ,e0u!da ro!da de elecc%o!e,' De,arrolle u!
al0or%t-o =ue lea el !C-ero de 7oto, de u!a elecc%&! e!tre . ca!d%dato, " deter-%!e ,%
6a$r9 o !o u!a ,e0u!da 7uelta' Su)o!0a =ue el !C-ero de 7oto, ,e lee! orde!ada-e!te de
-a"or a -e!or'
..
.'.' O)eradore, l&0%co,
Lo, o)eradore, l&0%co, !o, )er-%te! co!,tru%r co!d%c%o!e, -9, co-)le1a,' EB%,te! cuatro
o)eradore, l&0%co, e! C' La, ,%0u%e!te, ,o! ,u, ta$la, de 7erdad'
O)erador O l&0%co H[[I>
EB)re,%&!* EB)re,%&!# EB)re,%&!* [[ EB)re,%&!#
5 5 5
5 * *
* 5 *
* * *
O)erador X l&0%co HWWI>
EB)re,%&!* EB)re,%&!# EB)re,%&!* WW EB)re,%&!#
5 5 5
5 * 5
* 5 5
* * *
O)erador O eBclu,%7o H\ e,te o)erador 8u!c%o!a a !%7el de $%tI>
EB)re,%&!* EB)re,%&!# EB)re,%&!* \ EB)re,%&!#
5 5 5
5 * *
* 5 *
* * 5
O)erador co-)le-e!to l&0%co H(I
EB)re,%&! (EB)re,%&!
5 *
* 5
La ,%0u%e!te eB)re,%&! e, 7erdadera )ara 7alore, de la 7ar%a$le R -a"ore, =ue cero "
-e!ore, =ue #5>
R > + WW R <2+
E! el ,%0u%e!te 8ra0-e!to ,e de,)l%e0a! ,olo lo, -Clt%)lo, de + o cuadrado, )er8ecto,
if!num Q : OO + [[ s#rt!num"-floor!s#rt!num""OO+"
printf!>Qd)n?/num"*
.(
La )arte numQ:OO+ deter-%!a ,% el !C-ero e, -Clt%)lo de +A " la )arte s#rt!num"-
floor!s#rt!num" re,ta la )arte e!tera de la ra: cuadrada de num de la ra: cuadrada
de numA ,% e,ta, ,o! %0uale,A el re,ultado ,er9 cero ,%e!do num u! cuadrado )er8ectoA de
otra 8or-a el re,ultado ,er9 d%,t%!to de cero'
Lo, o)eradore, l&0%co, t%e!e! -e!or )recede!c%a =ue lo, o)eradore, relac%o!ale,' S% eB%,te
al0u!a duda del orde e! =ue ,e e7aluar9 u!a eB)re,%&!A e, !ece,ar%o =ue ,e ut%l%ce!
)ar!te,%,' El ,%0u%e!te e1e-)lo %-)r%-%r9 do, u!o,'
#include <stdio.h>
#include <conio.h>
main!"%
int a/b/c/d*
a O 8* b O 4* c O -2*
d O aTb>c WW b>c*
printf!&Qd)n&/d"*
d O (aOOb-c [[ b>c*
printf!&Qd)n&/d"*
getch!"*
,
Deter-%!ac%&! del -a"or de tre, !C-ero,
Para deter-%!ar el -a"or de tre, !C-ero, )ode-o, ut%l%:ar co!d%c%o!e, co-)ue,ta,' Para
e,to de$e-o, co-)ararA co! u!a ,e!te!c%a ifA el )r%-ero de lo, !C-ero, co! lo, otro, do,'
De,)u, re)et%r la )r%-era ,e!te!c%a )ara el ,e0u!do " tercer !C-ero' Su)o!0a =ue a e, el
)r%-er !C-eroA b el ,e0u!do " c el tercero' El c&d%0o e! C e, el ,%0u%e!te'
if!a>bWWa>c"
printf!>Qd es el mayor)n?/a"*
if!b>aWWb>c"
printf!>Qd es el mayor)n?/b"*
if!c>bWWc>a"
printf!>Qd es el mayor)n?/c"*
Note =ue e,te c&d%0o ,u)o!e =ue lo, !C-ero, ,o! todo, d%8ere!te,A ,% !o lo ,o!A !o ,e
%-)r%-%r9 !%!0C! 7alor' La ,oluc%&! ,e )uede -e1orar ut%l%:a!do otra 7ar%a$le " ca-$%a!do
` )or `N' Fea-o, el c&d%0o>
if!a>ObWWa>Oc"
maR O a*
if!b>OaWWb>Oc"
maR O b*
if!c>ObWWc>Oa"
.3
maR O c*
printf!>Qd es el mayor)n?/maR"*
E,te c&d%0o 8u!c%o!a e! todo, lo, ca,o,'
U!a a)l%cac%&! -u" co-C! de la, co!d%c%o!e, co-)ue,ta, e, )ara )ro$ar ,% u! 7alor ,e
e!cue!tra e! u! %!ter7alo deter-%!ado' Su)o!0a =ue de,ea-o, ,a$er ,% la 7ar%a$le edad ,e
e!cue!tra e!tre *# " *4' U!a 8or-a de )ro$ar e, -ed%a!te la ,%0u%e!te ,e!te!c%a>
if!edad>O12 WW edad<O17"
La ,%0u%e!te ,e!te!c%a 7er%8%ca ,% u! 7alor R e, -e!or =ue *5 o -a"or =ue (5 " ade-9, ,%
e, u! !C-ero )ar>
if!R<1+ WW R>8+ WW RQ2OO+"
La, co!d%c%o!e, co-)ue,ta, )uede! lle0ar a ,er $a,ta!te co-)le1a,' E, co!7e!%e!te e,cr%$%r
eB)re,%o!e, =ue ,ea! 89c%le, de e!te!der )ara -a!te!er la le0%$%l%dad de lo, )ro0ra-a, "
8ac%l%tar ,u de)urac%&!' E! la ,%0u%e!te ,ecc%&! e,tud%are-o, otra 8or-a de to-ar dec%,%o!e,
co-)le1a, -ed%a!te el u,o de a!%da-%e!to'
Pro$le-a, )ro)ue,to,
.'.'*' Su)o!0a =ue a O 4A b O 8 " c O -4 [cu9le, de la, ,%0u%e!te, co!d%c%o!e, ,o!
7erdadera,W
aI 4*a <O 2*b [[ 2*b (O 1+
$I 8*aU2*bUc>O1+WW(!b<c"
cI !2*bT4*a>2+"WW!c<+"
dI (!aTc<O+"[[!2*aTbOO7"
eI (!6*aTc<O2+"[[!4*bT8>21"
.'.'#' E,cr%$a ,e!te!c%a, =ue ,ea! 7erdadera, )ara>
B N *A #A .A 4
B N +A *.A #*A eA .2
B N *A #A /A 3A +A 4A 2
B N eA ;(A ;/A ;*A 5A #A .A 3A e
.'.'/' E,cr%$a u! )ro0ra-a =ue lea e %-)r%-a el -a"or " el -e!or de tre, !C-ero,'
Su)o!0a =ue ,e lee! e! de,orde!' S% ,e %!troduce! 7alore, re)et%do,A de$er9 %-)r%-%r el
-a"or " -e!or u!a ,ola 7e:' Ut%l%ce co!d%c%o!e, co-)ue,ta,'
.'.'.' E,cr%$a u! )ro0ra-a =ue lea u! !C-ero " deter-%!e ,% el !C-ero e, u! cuadrado
)er8ecto o u! cu$o )er8ecto'
.+
.'.'(' E,cr%$a u! )ro0ra-a =ue lea tre, !C-ero, aA b " c " deter-%!e ,% lo, !C-ero,
,at%,8ace! la, ,%0u%e!te, eB)re,%o!e,> a
/
K .b
.
< (c
#
d /55 " .a
#
K /b
#
< c`*#5'
.'.'3' Dada la ecuac%&! de u!a c&!%ca AB
#
< BB" < C"
#
< DB < E" < F N 5 el d%,cr%-%!a!te
)er-%te ,a$er de =ue t%)o de c&!%ca ,e trata de acuerdo co! la ,%0u%e!te ta$la
d%,cr 0e!ero Rad%ca!do E,)ec%e de cur7a
d 5 el%),e tr%!o-%o de race, reale,
tr%!o-%o co! ra: do$le
tr%!o-%o de race, co-)le1a,
El%),e real
El%),e de0e!erada
El%),e %-a0%!ar%a
N 5 )ar9$ola $%!o-%o o -o!o-%o co! tr-%!o e! B
,%! tr-%!o e! B
N`5
N N 5
N d 5
Par9$ola real
Par9$ola =ue 6a de0e!erado
e!>
Do, recta, )aralela,
Do, recta, co%!c%de!te,
Par9$ola %-a0%!ar%a
` 5 6%)r$ola tr%!o-%o de race, reale,
tr%!o-%o co! ra: do$le
tr%!o-%o de race, co-)le1a,
H%)r$ola =ue corta el
d%9-etro
H%)r$ola =ue 6a de0e!erado
e! # recta, =ue ,e corta!
H%)r$ola =ue !o corta el
d%9-etro
Do!de d%,cr N BRBK.RARC " N e, el tr-%!o cuadr9t%co HB
#
K .ACIB
#
<#HBEK#CDIB<E
#
K
.CF' E,cr%$a u! )ro0ra-a =ue dado, lo, coe8%c%e!te, AA BA CA DA E " F deter-%!e de =ue
t%)o de c&!%ca ,e trata' Ut%l%ce co!d%c%o!e, co-)ue,ta,'
.'.'+' E! u!a elecc%&! el ca!d%dato =ue o$t%e!e -9, 7oto, =ue la ,u-a de 7oto, de lo,
de-9, 0a!a la elecc%&!A ,%!o ,e 6ace u!a ,e0u!da ro!da de elecc%o!e,' De,arrolle u!
al0or%t-o =ue lea el !C-ero de 7oto, de u!a elecc%&! e!tre . ca!d%dato, " deter-%!e ,%
6a$r9 o !o u!a ,e0u!da 7uelta' El !C-ero de 7oto, ,e leer9! e! de,orde!'
.'(' A!%da-%e!to de ,e!te!c%a, if
U!a ,e!te!c%a %8 )uede te!er otra ,e!te!c%a %8 co-o ,u ,e!te!c%a 7erdadera o 8al,a' E,to da
co-o re,ultado =ue u! %8 de)e!da de otro %8' A e,ta ,%tuac%&! ,e le lla-a a!%da-%e!to'
Co!,%dere el ,%0u%e!te e1e-)lo>
if!a > 8"
if!a < 1+"
printf!>Qd)n?/a"*
El 7alor de a ,e %-)r%-%r9 ,olo ,% e, -a"or =ue ( " e, -e!or =ue *5A e, dec%rA )ara a N 3A
+A 4 " 2' Note =ue lo -%,-o ,e )uede o$te!er )ara la ,%0u%e!te ,e!te!c%a co-)ue,ta>
.4
if!a > 8 WW a < 1+"
printf!>Qd)n?/a"*
El )ro$le-a de deter-%!ar el -a"or tre, !C-ero, )uede re,ol7er,e ut%l%:a!do a!%da-%e!to'
U!a ,oluc%&! e, la ,%0u%e!te>
if!a>b"
if!a>c"
printf!>Qd es el mayor)n?/a"*
else
printf!>Qd es el mayor)n?/c"*
else
if!b>c"
printf!>Qd es el mayor)n?/b"*
else
printf!>Qd es el mayor)n?/c"*
El ,%0u%e!te 8ra0-e!to de,)l%e0a el -a"or ut%l%:a!do co!d%c%o!e, co-)ue,ta, "
a!%da-%e!to>
if!a >O b WW a >O c"
printf!>Qd)n?/a"*
else
if!b >O a WW b >O c"
printf!>Qd)n?/b"*
else
if!c >O a WW c >O b"
printf!>Qd)n?/c"*
E, %-)orta!te el 8or-atear el teBto )ara =ue el )ro0ra-a ,ea le0%$le' El ,%0u%e!te e, u!
l%,tado e=u%7ale!te al a!ter%or )ero ,%! el ,a!0rado adecuado' Note =ue e, d%8c%l e,ta$lecer
el a!%da-%e!to' El co-)%lador de C %0!ora el 8or-ateo del c&d%0o )ero e, d%8c%l )ara u!a
)er,o!a leer c&d%0o -al 8or-ateado'
if!a >O b WW a >O c"
printf!>Qd)n?/a"*
else
if!b >O a WW b >O c"
printf!>Qd)n?/b"*
else
if!c >O a WW c >O b"
printf!>Qd)n?/c"*
Soluc%&! de u!a ecuac%&! cuadr9t%ca
Med%a!te ,e!te!c%a, if )ode-o, re,ol7er 89c%l-e!te u!a ecuac%&! cuadr9t%ca' Recuerde
=ue la ecuac%&! cuadr9t%ca de la 8or-a
.2
ax
#
< bx < c N 5
)uede te!er tre, t%)o, de ,oluc%o!e,> do, race, reale,A u!a ra: real )o,%t%7a " do, race,
co-)le1a, co!1u0ada,' La !aturale:a de la, ,oluc%o!e, de)e!de del 7alor del d%,cr%-%!a!te
de la ecuac%&!
d N b
#
K .ac
El ,%0u%e!te al0or%t-o Cuadr9t%ca e, u!a )o,%$le ,oluc%&! al )ro$le-a'
Al0or%t-o Cuadr9t%ca' Al0or%t-o )ara re,ol7er u!a ecuac%&! cuadr9t%ca co! coe8%c%e!te,
reale,' Lo, coe8%c%e!te, ,o! aA $ " c' La, ra%ce, reale, ,o! B* " B#' La )arte real e,
)arteReal " la )arte %-a0%!ar%a e, )arteI-a0%!ar%a'
*' PLeer coe8%c%e!te,Q
LeerHaA $A cI
#' PCalcular el d%,cr%-%!a!teQ
d N $R$;.RaRc
/' PDeter-%!ar t%)o de ,oluc%&!Q
SI d`5 ENTONCES
B* N H;$<,=rtHdII?#?a
B# N H;$;,=rtHdII?#?a
E,cr%$eHB*A B#I
SINO
SI dN5 ENTONCES
B* N ;$?#?a
E,cr%$eHB*I
SINO
)arteReal N ;$?#?a
)arteI-a0%!ar%a N ;,=rtH;dI?#?a
E,cr%$eH)arteRealA )arteI-a0%!ar%a
.' PTer-%!aQ
Sal%r
El )ro0ra-a e! C e, el ,%0u%e!te'
#include <stdio.h>
#include <conio.h>
#include <math.h>
main!"%
float a/b/c/d/R1/R2/ParteKeal/ParteHmaginaria*
printf!&Programa para resolver una cuadratica)n&"*
/*0eer coeficientes*/
printf!&Game los coeficientes de la ecuacion !a/b/c"P &"*
scanf!&Qf Qf Qf&/Wa/Wb/Wc"*
d O b*b-6*a*c*
(5
/*Geterminar tipo de solucin*/
if! d>+ "%
printf!&Gos raices reales diferentes.)n&"*
R1 O !-bTs#rt!d""/2/a*
R2 O !-b-s#rt!d""/2/a*
printf!&R1O Q.4f/ R2O Q.4f)n&/R1/R2"*
,else if! dOO+ "%
printf!&Ena raiA real repetida.)n&"*
R1 O -b/2/a*
printf!&R1O Q.4f)n&/R1"*
,else%
printf!&Kaices comple.as.)n&"*
ParteKeal O -b/2/a*
ParteHmaginaria O s#rt!-d"/2/a*
printf!&Parte KealOQ.4f Parte HmaginariaO Q.4f&/
ParteKeal/ ParteHmaginaria"*
,
getch!"*
,
E1e-)lo de do, 7e6culo,
Do, 7e6culo, ,e -ue7e! a d%8ere!te, 7eloc%dade, e! t N 5 co! acelerac%o!e, co!,ta!te, "
d%8ere!te, " ,e e!cue!tra! e! d%8ere!te )o,%c%&!' Ha0a u! )ro0ra-a =ue deter-%!e e! =ue
t%e-)o, " )o,%c%o!e, a-$o, 7e6culo, co%!c%de!'
Sea x
5*
A v
*
" a
*
la )o,%c%&! %!%c%alA la 7eloc%dad " la acelerac%&! co! =ue ,e -ue7e el )r%-er
7e6culo " x
5#
A v
#
" a
#
la )o,%c%&! %!%c%alA la 7eloc%dad " la acelerac%&! e! =ue ,e -ue7e el
,e0u!do 7e6culoA re,)ect%7a-e!te' La, ecuac%o!e, de -o7%-%e!to de cada cuer)o ,o!>
x
*
N x
5*
< v
*
t < 5'(a
*
t
#
x
#
N x
5#
<v
#
t < 5'(a
#
t
#
Lo, t%e-)o, )ed%do, ,e e!cue!tra! cua!do x
*
N x
#
o
x
5*
< v
*
t < 5'(a
*
t
#
N x
5#
<v
#
t < 5'(a
#
t
#
S%-)l%8%ca!do ,e lle0a a
5'( Ha
*
K a
#
I t
#
< Hv
*
K v
#
I t < x
5*
K x
5#
N 5
E,ta e, u!a ecuac%&! cuadr9t%ca de la 8or-a
a x
#
< b x < c N 5
Do!de>
(*
a N 5'( Ha
*
K a
#
I b N Hv
*
K v
#
I c N x
5*
K x
5#

Cu"a ,oluc%&! e,>
a
ac b b
t
#
.
#
t

E,ta t%e!e ,oluc%&! cua!do b


#
K . a c `N 5' E,to ,%0!%8%ca =ue ,% la ecuac%&! t%e!e al0u!a
,oluc%&! real " )o,%t%7aA lo, 7e6culo, ,e e!co!trar9! e! el 8uturoA e! ca,o co!trar%oA lo,
7e6culo, !o ,e e!co!trar9!' El al0or%t-o )ara re,ol7er el )ro$le-a e,>
Al0or%t-o Fe6culo,' Deter-%!a el t%e-)o e! =ue do, 7e6culo, =ue ,e -ue7e! co!
acelerac%&! co!,ta!te ,e %!ter,eca!' Solo !o, %!tere,a! la, ,oluc%o!e, co! t%e-)o, -a"ore,
=ue cero'
*' PLeer lo, 7alore, del )r%-er 7e6culoQ
LeerHB5*A 7*A a*I
#' PLeer lo, 7alore, del ,e0u!do 7e6culoQ
LeerHB5#A 7#A a#I
/' PCalcular lo, coe8%c%e!te, aA $ " cQ
a N 5'( R Ha* K a#I
$ N H7* K 7#I
c N B5* K B5#
.' PCalcular el 7alor del d%,cr%-%!a!teQ
d N $R$ K .RaRc
(' PDeter-%!a ,% 6a" ,oluc%&! " la calculaQ
SI el d%,cr%-%!a!te e, -a"or o %0ual a cero ENTONCES
t* N H;$ K ,=rtHdI?#?a
t# N H;$ < ,=rtHdI?#?a
SI t*`5 ENTONCES
)o,* N B5*<7*Rt*<5'(Ra*Rt*Rt*M
E,cr%$eHt*A )o,*I
FINSI
SI t#`5 ENTONCES
)o,# N B5*<7*Rt#<5'(Ra*Rt#Rt#M
E,cr%$eHt*A )o,*I
FINSI
SINO
E,cr%$eHfNo ,e e!cue!tra!fI
FINSI
3' PTer-%!arQ
Sal%r
E! e,te e1e-)lo te!e-o, u! SI;ENTONCES a!%dado' S% la ecuac%&! cuadr9t%ca )ara
calcular el t%e-)o t%e!e u!a ,oluc%&! realA e!to!ce, ,e calcula! la, ,oluc%o!e,A " ,% la
(#
,oluc%&! )ara el t%e-)o e, )o,%t%7aA ,e calcula la )o,%c%&! " ,e de,)l%e0a' Su)o!e-o, =ue
,olo !o, %!tere,a! lo, t%e-)o, =ue ,o! -a"ore, =ue ceroA u! t%e-)o -e!or =ue cero %!d%ca
=ue dada, la, co!d%c%o!e, del )ro$le-a el e!cue!tro ocurr%& e! el )a,ado' El )ro0ra-a
co-)leto e, el ,%0u%e!te>
#include <stdio.h>
#include <conio.h>
#include <math.h>
main!"%
//variables de entrada
float R+1/v1/a1/R+2/v2/a2*
//coeficientes de la cuadr3tica y discriminante
float a/b/c/d*
//tiempos y posiciones
float t1/t2/pos1/pos2*
//lectura de datos
printf!&-;CE-;FKM G- GMI J-'HCE0MI)n&"*
/*0eer los valores del primer veh$culo*/
printf!&teclee la posicin/ velocidad y aceleracin del
coche 1P &"*
scanf!&QfQfQf&/WR+1/Wv1/Wa1"*
/*0eer los valores del segundo veh$culo*/
printf!&teclee la posicin/ velocidad y aceleracin del
coche 2P &"*
scanf!&QfQfQf&/WR+2/Wv2/Wa2"*
printf!&t+1 O Qf/ R+1 O Qf/ a1 O Qf)n&/R+1/v1/a1"*
printf!&t+2 O Qf/ R+2 O Qf/ a2 O Qf)n&/R+2/v2/a2"*
/*Calcular los coeficientes a/ b y c*/
a O +.8*!a1-a2"*
b O v1-v2*
c O R+1-R+2*
d O b*b - 6*a*c*
/*Getermina si hay solucin y la calcula*/
if!d>O+"%
t1 O !-bTs#rt!d""/2/a*
t2 O !-b-s#rt!d""/2/a*
if!t1>+"%
pos1 O R+1Tv1*t1T+.8*a1*t1*t1*
printf!&se encontrar3n en tOQf s y ROQf m)n&/t1/pos1"*
,
if!t2>+"%
pos2 O R+1Tv1*t2T+.8*a1*t2*t2*
printf!&se encontrar3n en tOQf s y RO Qf m)n&/t2/pos2"*
,
,else
printf!&;M se encuentran)n&"*
(/
getch!"*
return +*
,
Pro$le-a, )ro)ue,to,
.'('*' Re,cr%$a la, ,%0u%e!te, ,e!te!c%a, de if a!%dado, ,%! u,ar !%!0C! a!%da-%e!to>
aI $I
if ! a < c " if ! a < b "
if ! b < c " if ! c >O b "
R O y* R O A*
else else
R O A* R O y*
else else
R O A* R O A*
.'('#' E,cr%$a la, ,%0u%e!te, ,e!te!c%a, co! co!d%c%o!e, co-)ue,ta, ut%l%:a!do ,e!te!c%a, %8
a!%dada,'
aI if!a(O:WWb<19" RO4* $I if!R>8WWy<O1+WWA>1"aO4*
if!a(O:WWb>O19" AO12* if!R>8WWy>1+WWA>1"bOa*
if!aOO:" y O 9* if!R>8WWy>1+WWA<O1"aO8*
.'('/' E,cr%$a u! )ro0ra-a =ue lea la, edade, de tre, )er,o!a, " de,)l%e0ue lo, !o-$re, de
lo, tre, e! orde! del -9, 7%e1o al -9, 1o7e!' Su)o!0a =ue lo, !o-$re, ,o! Gua!A Pedro "
RaCl' Ut%l%ce ,olo ,e!te!c%a, %8 a!%dada, co! co!d%c%o!e, ,%-)le,'
.'('.' U!a c%erta 8u!c%&! fHxI e,t9 de8%!%da co-o ,%0ue>
( )

'

<
< +
<

#5 *5 A *+
*5 ( A *( ( ? 4
( 5 A . /
#
#
x si x
x si x x
x si x x
x f
E,cr%$a u! )ro0ra-a =ue lea u! 7alor de x " calcule el 7alor de la 8u!c%&!' S% 5 g x d #5A
de,)l%e0ue el 7alor calculado ,%!o de,)l%e0ue u! 7alor de 5'
.'('(' E,cr%$a u! )ro0ra-a =ue lea do, 8ec6a, re)re,e!tada, cada u!a de ella, co-o tre,
!C-ero, e!tero,A u!o )ara el daA otro )ara el -e, " otro )ara el aDoA " calcule el !C-ero de
aDo, co-)leto, tra!,curr%do, e!tre la )r%-era " la ,e0u!da 8ec6a'
.'('3' U! ca1ero auto-9t%co d%,)o!e de $%llete, de (55A #55A *55A (5 " #5' De,arrolle u!
)ro0ra-a =ue lea u!a ca!t%dad " eB6%$a el !C-ero de $%llete, de cada de!o-%!ac%&! )ara
e!tre0ar e,e %-)orte'
.'('+' Dada la ecuac%&! de u!a c&!%ca AB
#
< BB" < C"
#
< DB < E" < F N 5 el d%,cr%-%!a!te
)er-%te ,a$er de =ue t%)o de c&!%ca ,e trata de acuerdo co! la ,%0u%e!te ta$la
(.
d%,cr 0e!ero Rad%ca!do E,)ec%e de cur7a
d 5 el%),e tr%!o-%o de race, reale,
tr%!o-%o co! ra: do$le
tr%!o-%o de race, co-)le1a,
El%),e real
El%),e de0e!erada
El%),e %-a0%!ar%a
N 5 )ar9$ola $%!o-%o o -o!o-%o co! tr-%!o e! B
,%! tr-%!o e! B
N`5
N N 5
N d 5
Par9$ola real
Par9$ola =ue 6a de0e!erado
e!>
Do, recta, )aralela,
Do, recta, co%!c%de!te,
Par9$ola %-a0%!ar%a
` 5 6%)r$ola tr%!o-%o de race, reale,
tr%!o-%o co! ra: do$le
tr%!o-%o de race, co-)le1a,
H%)r$ola =ue corta el
d%9-etro
H%)r$ola =ue 6a de0e!erado
e! # recta, =ue ,e corta!
H%)r$ola =ue !o corta el
d%9-etro
Do!de d%,cr N BRB ; .RARC " N e, el tr-%!o cuadr9t%co HB
#
; .ACIB
#
<#HBE;#CDIB<E
#
;
.CF' E,cr%$a u! )ro0ra-a =ue dado, lo, coe8%c%e!te, AA BA CA DA E " F deter-%!e de =ue
t%)o de c&!%ca ,e trata' Ut%l%ce ,e!te!c%a, a!%dada,'
.'3' Se!te!c%a switch
Otra ,e!te!c%a de dec%,%&! e, la ,e!te!c%a ,@%tc6 H,elecc%&!I' h,ta )er-%te ,elecc%o!ar e!tre
u!a ,er%e de alter!at%7a, )o,%$le,' La ,e!te!c%a e, co!trolada )or u!a eB)re,%&! de t%)o
e!tero' La ,%!taB%, e,>
switch !<eRpresin>"%
case <constante>P]case <constante>P^<sentencias>*break*
...
]defaultP<sentencias>*break*^
c
Para lo, al0or%t-o, u,are-o, la co!,trucc%&! ,%0u%e!te
SELECCIONA OPCION eB)re,%&!
Co!,ta!te> ,e!te!c%a,
Co!,ta!te> ,e!te!c%a,
SINO
,e!te!c%a,
Cada ca,o ,e )recede )or la )ala$ra re,er7ada case " u!a co!,ta!te !u-r%caA al 8%!al
de$e colocar,e la ,e!te!c%a break )ara =ue el co!trol )a,e al 8%!al de la ,e!te!c%a
switchA de !o 6acerlo a,A ,e e1ecutar9 la ,%0u%e!te ,e!te!c%a case' La )arte default e,
o)c%o!al " ,e e1ecuta e! ca,o de =ue !o ,e cu-)la !%!0C! ca,o'
((
El ,%0u%e!te )ro0ra-a ut%l%:a u!a ,e!te!c%a switch )ara de,)le0ar u! da de la ,e-a!aA ,%
el u,uar%o e,cr%$e u! !C-ero !o 79l%doA ,e de,)le0ar9 el letrero Tda !o 79l%doU'
#include <stdio.h>
#include <conio.h>
int main!"%
int dia*
printf!&teclee el n@mero del d$aP &"*
scanf!&Qd&/Wdia"*
switch!dia"%
case 1Pprintf!&0unes&"*break*
case 2Pprintf!&=artes&"*break*
case 4Pprintf!&=i5rcoles&"*break*
case 6Pprintf!&<ueves&"*break*
case 8Pprintf!&Jiernes&"*break*
case 9Pprintf!&Iabado&"*break*
case :Pprintf!&Gomingo&"*break*
defaultP printf!&d$a no v3lido&"*
,
getch!"*
,
La ,e!te!c%a ,@%tc6 e, -u" adecuada )ara -a!e1o de 7ar%a, o)c%o!e, de -e!C' El ,%0u%e!te
e1e-)lo -ue,tra u! -e!C de o)c%o!e,A e,)era a =ue el u,uar%o ,elecc%o!e al0u!a o)c%&! e
%-)r%-e u! -e!,a1e adecuado a la o)c%&! ,elecc%o!ada>
/* -.emplo de men@ */
#include <stdio.h>
#include <conio.h>
main!"%
int a*
printf!&)t)t=enu&"*
printf!&)n-----------------------------------&"*
printf!&)n1 - =icrosoft _ord&"*
printf!&)n2 - `ahoo messenger&"*
printf!&)n4 - ButoCBG&"*
printf!&)n6 - <ava Cames&"*
printf!&)n-----------------------------------&"*
printf!&)nHngrese numero de su preferenciaP &"*
scanf!&Qd&/Wa"* // leer entrada
switch !a"%
case 1P // si entrada es 1
printf!&)nPersonal Computer Ioftware)n&"*break*
case 2P // si entrada es 2
(3
printf!&)n_eb based Ioftware)n&"*break*
case 4P // si entrada es 4
printf!&)nIcientific Ioftware)n&"*break*
case 6P // si entrada es 6
printf!&)n-mbedded Ioftware)n&"*break*
defaultP printf!&)n-ntrada incorrecta)n&"*
,
getch!"*
,
For-ateo de la ,al%da
Para ter-%!ar e,ta ,ecc%&! re7%,are-o, al0u!a, o)c%o!e, )ara 8or-atear la ,al%da de 7alore,
!u-r%co,' Para e,to ut%l%:are-o, -od%8%cadore, de a!c6o " !C-ero de dec%-ale, e! lo,
8or-ato, de ,al%da' Para e,ta$lecer el a!c6o de u! ca-)o u,a-o, u!a co!,ta!te e!tera a!te,
del car9cter de 8or-ato' Por e1e-)lo> Q8dA %!d%ca u! ca-)o de a!c6ura c%!co )ara u!
!C-ero e!tero' Para lo, !C-ero, de )u!to 8lota!te ,e ut%l%:a u! -od%8%cador )ara el !C-ero
de dec%-ale, de,)u, del )u!to' Por e1e-)loA Q8.2f %!d%ca u! ca-)o de a!c6ura c%!co "
co! do, dec%-ale, de,)u, del )u!to'
//e.emplos de formatos
#include <stdio.h>
#include <conio.h>
main!"%
int aO7/bO89/cO148*
float RO12.61242/yO6.7X9:/AO1.9+724e-1X*
double RdO12.61242/ydO6.7X9:77:9/AdO1.9+724e-1X*
printf!&Q7dQ7dQ7d)n&/a/b/c"*
printf!&Q18fQ18fQ18f)n&/R/y/A"*
printf!&Q18.4fQ18.4fQ18.4f)n&/R/y/A"*
printf!&Q18fQ18fQ18f)n&/Rd/yd/Ad"*
printf!&Q18.4fQ18.4fQ18.4f)n&/Rd/yd/Ad"*
getch!"*
,
Note =ue ,% !o ,e de8%!e el !C-ero de d0%to, de,)u, del )u!toA ,e %-)r%-e! ,e%,
dec%-ale,'
E1e-)lo> Sueldo e! u!a e-)re,a
U!a e-)re,a )a0a )or 6ora a ,u, e-)leado, de acuerdo a ,u cate0ora ,e0C! la ,%0u%e!te
ta$la>
Cate0or%a Pa0o B 6ora
(+
* #3'25
# #.'/5
/ #*'(5
Ade-9, ,% el e-)leado tra$a1a -9, de *(5 6ora, -e!,uale, t%e!e u!a $o!%8%cac%&! del (]
de ,ueldo' El al0or%t-o e, el ,%0u%e!te' Se %!0re,ara el !o-$re del e-)leadoA ,e0u%do de ,u
cate0ora " al 8%!al el !C-ero de 6ora, tra$a1ada,'
Al0or%t-o E-)leado,' Deter-%!a el ,ueldo de u! tra$a1ador de)e!d%e!do de ,u cate0ora "
el !C-ero de 6ora, tra$a1ada, e! u! -e,' Lo, e-)leado, ,e reco!oce! )or ,u !C-ero de
e-)leado' La cate0ora e, u! e!tero de * a /' La 7ar%a$le )a0oHora al-ace!a el )a0o )or
6ora del tra$a1ador " ,ueldo al-ace!a el ,ueldo total'
*' PLeer dato,Q
LeerH!u-eroE-)leadoA cate0oraA 6ora,I
#' PDeter-%!ar ,ueldo e! $a,e a ,u cate0oraQ
SELECCIONA OPCION cate0ora
*> )a0oHora N #3'2
#> )a0oHora N #.'/
/> )a0oHora N #*'(
/' PCalcula ,ueldo $a,eQ
,ueldo N )a0oHoraR6ora,
.' PDeter-%!ar -o!to de $o!%8%cac%&!Q
SI 6ora,`*(5 ENTONCES
$o!%8%cac%o! N ,ueldoR*'5(
SINO
$o!%8%cac%o! N 5
(' PCalcula ,ueldo totalQ
,ueldo N ,ueldo<$o!%8%cac%o!
3' PI-)r%-%r !C-eroA cate0ora " ,ueldo totalQ
E,cr%$eH!u-eroE-)leadoA cate0oraA ,uedoI
+'PTer-%!arQ
Sal%r
La ,al%da ,e )re,e!tar9 e! 8or-a ta$ular 6ac%e!do u,o de ,ecue!c%a, de e,ca)e'
//Ialida en forma tabular
Printf!&)nn@mero)tCateg)t'oras)tPago/'r)tYoni.)tsueldo)nQd)t
Qd)tQd)tQf)tQf)t
Qf&/numero-mpleado/categoria/horas/pago'ora/bonificacion/suel
do"*
La ,al%da e, co! el ,%0u%e!te 8or-ato>
;@mero Categ 'oras Pago/'r Yoni. sueldo
468 2 14+ 26.4 + 418X
El )ro0ra-a co-)leto e, el ,%0u%e!te>
(4
#include <stdio.h>
#include <conio.h>
main!"%
int numero-mpleado* //nombre del empleado
int categoria* //categor$a 1/ 2/ 4
int horas* //horas traba.adas
float pago'ora/ sueldo/ bonificacion*
/*0eer datos*/
printf!&numero del empleadoP &"*
scanf!&Qd&/Wnumero-mpleado"*
printf!&categor$a !1/ 2 o 4"P &"*
scanf!&Qd&/Wcategoria"*
printf!&horas traba.adasP &"*
scanf!&Qd&/Whoras"*
/*Geterminar sueldo en base a su categor$a*/
switch!categoria"%
case 1Ppago'ora O 29.X+*break*
case 2Ppago'ora O 26.4+*break*
case 4Ppago'ora O 21.8+*break*
,
/*Calcula sueldo base*/
sueldo O horas*pago'ora*
/*Geterminar monto de bonificacin*/
if!horas>18+"
bonificacion O +.+8*sueldo*
else
bonificacion O +.+*
/*calcula sueldo total*/
sueldo O sueldoTbonificacion*
/*Ialida en forma tabular*/
printf!&)nn@mero)tCateg)t'oras)tPago/'r)tYoni.)tsueldo)nQd)t
Qd)tQd)tQ8.1f)tQ8.1f)tQ8.1f)n&/ numero-mpleado/ categoria/
horas/ pago'ora/ bonificacion/ sueldo"*
getch!"*
,
Cal%8%cac%&! de u! alu-!o
De,ea-o, 6acer u! )ro0ra-a =ue %-)r%-a u! letrero de)e!d%e!do de la cal%8%cac%&!
o$te!%da e! u! eBa-e!' La cal%8%cac%&! de el eBa-e! )uede ,er u! 7alor e!tero de 5 a *5' S%
la cal%8%cac%&! e,ta e!tre 5 " ( H%!clu,%7eIA ,e %-)r%-%r9 el letrero de Tre)ro$adoUA ,% e, 3A ,e
%-)r%-%r9 T,u8%c%e!teUA ,% e, +A %-)r%-%r9 T$%e!UA ,% e, 4A %-)r%-%r9 T-u" $%e!UA ,% e, 2A
%-)r%-%r9 TeBcele!teU " ,% e, *5A %-)r%-%r9 T,o$re,al%e!teU' El al0or%t-o e, el ,%0u%e!te'
Al0or%t-o Letrero,' I-)r%-e el letrero corre,)o!d%e!te a u!a cal%8%cac%&!'
(2
*' PLeer cal%8%cac%&!Q
LeerHcal%8%cac%o!I
#' PI-)r%-e letreroQ
SELECIONA OPCION cal%8%cac%o!
5A*A#A/A.A(> E,cr%$eHTre)ro$adoUI
3> E,cr%$e HT,u8%c%e!teUI
+> E,cr%$e HT$%e!UI
4> E,cr%$e HT-u" $%e!UI
2> E,cr%$e HTeBcele!teUI
+> E,cr%$e HT,o$re ,al%e!teUI
SINO
E,cr%$eHTCal%8%cac%&! !o 79l%daUI
/' PTer-%!aQ
Sal%r
El )ro0ra-a e! C e, el ,%0u%e!te' Note co-o e,cr%$%r la ,e!te!c%a switch' E! e,te ca,o
6a" u! ca,o de la ,e!te!c%a switch =ue ,e e1ecuta )ara 5A *A #A /A . " (' E! e,te ca,o
de$e-o, )o!er cada u!o de lo, 7alore,A !o 6a" 8or-a de )o!er u! %!ter7alo co-o de 5 a ('
#include <stdio.h>
#include <conio.h>
main!"%
int calificacion*
/*0eer calificacin*/
printf!&-scriba la calificacionP &"*
scanf!&Qd&/Wcalificacion"*
/*Hmprime letrero*/
switch!calificacion"%
case +Pcase 1Pcase 2Pcase 4Pcase 6Pcase 8P
printf!&reprobado)n&"*break*
case 9Pprintf!&suficiente)n&"*break*
case :Pprintf!&bien)n&"*break*
case 7Pprintf!&muy bien)n&"*break*
case XPprintf!&eRcelente)n&"*break*
case 1+Pprintf!&sobresaliente)n&"*break*
defaultPprintf!&calificacion no valida)n&"*
,
getch!"*
,
Pro$le-a, )ro)ue,to,
.'3'*' U!a e-)re,a )a0a a ,u, e-)leado, de acuerdo a ,u cate0ora' Ade-9, ,% u!
e-)leado t%e!e 35 o -9, aDo, rec%$e u! $o!o del (]' Lo, ,ueldo, )or cate0ora ,e
-ue,tra! e! le ,%0u%e!te ta$la>
35
Cate0ora Sueldo
* Y+A555
# Y+A455
/ Y4A(55
. Y2A555
Ha0a u! )ro0ra-a =ue lea la cate0ora " edad del e-)leado " deter-%!e el -o!to de ,u
,ueldo'
.'3'#' E,cr%$a u! )ro0ra-a =ue de,)l%e0ue lo, letrero, de la ,%0u%e!te ta$la de)e!d%e!do del
7alor de u!a 7ar%a$le !u-'
Falor Letrero
!e0at%7o T!C-ero !e0at%7oU
5 TceroU
#A .A 3A 4 T!C-ero )ar -e!or =ue *5U
*A /A (A +A 2 T!C-ero %-)ar -e!or =ue *5U
*5 Td%e:U
Ma"or =ue *5 T-a"or =ue *5U
.'3'/' E,cr%$a u! )ro0ra-a =ue lea el !C-ero de -e, " el da " calcule el !C-ero de da,
tra!,curr%do, de,de el *i de e!ero 6a,ta el da e,)ec%8%cado'
.'3'.' E,cr%$a u! )ro0ra-a =ue ut%l%ce u! -e!C )ara co!7er,%&! de u!a te-)eratura e!tre
la, e,cala, Fa6re!6e%tA Cel,%u, " ael7%!' Po!0a toda, la, )o,%$le, co!7er,%o!e, e!tre la,
tre,'
.'3'(' D%,eDe u! al0or%t-o " e,cr%$a el )ro0ra-a e! C )ara calcular la d%,ta!c%a e!tre do,
)u!to, e,)ec%8%cado, e! coorde!ada, recta!0ulare, o )olare, o cual=u%er -e:cla de e,ta,
coorde!ada,' De$er9 ut%l%:ar u! -e!C )ara ,elecc%o!ar el t%)o de dato, =ue ,e %!troduc%r9'
Lea lo, 9!0ulo, e! 0rado, " co!7%erta a rad%a!e,'
.'+' O)erador %!terro0ac%&!
EB%,te u! 8or-a alter!at%7a de ,e!te!c%a if -ed%a!te el o)erador %!terro0ac%&! HW>I'
EB%,te! do, 8or-a,A u!a =ue re0re,a u! 7alor " otra e=u%7ale!te a la ,e!te!c%a if-else'
La ,%!taB%, e,>
Co!d%c%&!W o)era!do*> o)era!do#M
o
Co!d%c%&!W %!,trucc%&!*> %!,trucc%&!#M
3*
E! el )r%-er ca,o la %!,trucc%&! re0re,a o)era!do* ,% ,e cu-)le la co!d%c%&!A ,%!o re0re,a
el o)era!do#' E! el ,e0u!do ca,o ,e e1ecutar9 la %!,trucc%&!* ,% ,e cu-)le la co!d%c%&!A
,%!o ,e e1ecutar9 la %!,trucc%&!#'
E1e-)lo,>
printf!cal>O9+Z>Bprobado?P>Keprobado?"*
E,ta ,e!te!c%a %-)r%-%r9 TA)ro$adoU ,e cal e, -a"or o %0ual a 35 e %-)r%-%r9
TRe)ro$adoU ,% e, -e!or =ue 35' Note =ue lo, )ar!te,%, ,o! !ece,ar%o, dado =ue el
o)erador W> t%e!e la -e!or )recede!c%a'
Ta-$%! e, 79l%do>
cal>O9+Zprintf!>Bprobado?"Pprintf!>Keprobado?"*
Se!te!c%a if ,e!te!c%a W
if!a>8" R O 9*else R O :* a>8 Z RO9P RO:*
if!R>7 WW R<12"
a O 2*bTc*
else
a O 4*bTc*
!R>7 WW R<12" Z
aO2*bTcPaO4*bTc*
if!a>b"
if!b>c"
R O 8*aTc*
else
R O 9*aTb*
else
R O 7*aT6*b*
!a>b"Z!b>cZ
RO8*aTcPRO9*aTb*"PRO7*aT6*b*
Note =ue el u,o de el o)erador W e, a 7ece, d%8c%l de de,c%8rar'
Pro$le-a, )ro)ue,to,
.'+'*' Traduc%r a ,e!te!c%a, if
y O !a>b"Z4*aTbP2*aTb*
A Oa>O2*RZ!a<9"Z6*aP8*aP4*aT1*
.'+'#' [Lu 7alore, ,e %-)r%-e! e! el ,%0u%e!te 8ra0-e!to de c&d%0oW
int aO7/bOX/RO8/y/A*
y O !a>b"Z4*aTbP2*aTb*
A Oa<O2*RZ!a<9"Z6*aP8*aP4*aT1*
printf!&y O Qf A O Qf)n&/y/A"*
3#
.'+'/' Tradu:ca la, ,e!te!c%a, %8 a ,e!te!c%a, co! el o)erador W>'
if!R>7" y O 24*else A O -8*
if!R>O7 WW R(O12"
A O s#rt!9*R"*
else
if!R>+"
A O sin!4*R"*
else
A O sin!8*R"*
.'+'.' Tradu:ca la ,%0u%e!te ,e!te!c%a co! el o)erador W a ,e!te!c%a, %8
R O !y>8" Z 2*yT1P!A<1+" Z 4*yT2P8*AT1*
.'+'(' La, 8ec6a, de lo, ,%0!o, :od%acale, ,e -ue,tra! e! la ,%0u%e!te ta$la' E,cr%$a u!
)ro0ra-a =ue lea el da " -e, de !ac%-%e!to " de,)l%e0ue el ,%0!o :od%acal
corre,)o!d%e!te' Ut%l%ce ,e!te!c%a, co! el o)erador W'
## d%c al #5 e!e> CAPRICORNIO
#* e!e al *2 8e$> ACUARIO
#5 8e$ al #5 -ar> PISCIS
#* -ar al #5 a$r> ARIES
#* a$r al #* -a"> TAURO
## -a" al #* 1u!> GEMINIS
## 1u! al ## 1ul> CANCER
#/ 1ul al #/ a0o> LEO
#. a0o al #/ ,e)> FIRGO
#. ,e) al #/ oct> LIBRA
#. oct al ## !o7> ESCORPION
#. !o7 al #* d%c> SAGITARIO
3/
Ca)tulo (' I!,trucc%o!e, de re)et%c%&!
('*' Mot%7ac%&!
Su)o!0a =ue ,e de,ea ,u-ar u!a l%,ta de #5 !C-ero, " o$te!er el )ro-ed%o' S%! e,tructura,
de re)et%c%&! 6a$ra =ue e,cr%$%r #5 ,e!te!c%a, de e!trada' Al0o co-o>
int n/suma O +*
printf! >tecle nP >"*
scanf!>Qd?/n"*
suma O suma T n*
Re)et%r la, tre, Clt%-a, ,e!te!c%a, *2 7ece,A o $%e! de8%!%r 7e%!te 7ar%a$le, d%8ere!te, "
e,cr%$%r u! c&d%0o co-o el ,%0u%e!te'
int n1/n2/ a /n2+/ suma O +*
printf! >teclee los 2+ valores >*
scanf!>QdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQd
Qd?/n1/n2/n4/n6/n8/n9/n:/n7/nX/n1+/n11/n12/n14/16/n18/n19/n1:
/n17/n1X/n2+"*
suma O n1 T n2 T a T n2+*
A-$a, ,oluc%o!e, ,o! )o,%$le,' S%! e-$ar0o ,% el !C-ero de 7alore, =ue ,e de$e! ,u-ar e,
d%8ere!teA 6a$r9 =ue -od%8%car cual=u%era de ello, )ara o$te!er u!a ,oluc%&! adecuada'
Ade-9, ,% el !C-ero de 7alore, a ,u-ar e, -u" 0ra!deA )ro0ra-a ,e 6ace
)ro6%$%t%7a-e!te 0ra!de' Por lo a!ter%or 7e-o, =ue de$e eB%,t%r otra alter!at%7a )ara
re,ol7er e,te t%)o de )ro$le-a,' La ,oluc%&! !o, la da! la, %!,trucc%o!e, de re)et%c%&!'
Pr%-ero re7%,are-o, la ,e!te!c%a while'
('#' Se!te!c%a while
La ,e!te!c%a while e, u!a e,tructura de co!trol =ue )er-%te re)et%r u!a o -9,
%!,trucc%o!e, -%e!tra, ,e cu-)la u!a co!d%c%&! l&0%ca' La ,%!taB%, e,>
while!condicin"
sentencia o blo#ue*
S% la co!d%c%&! ,e cu-)le ,e e1ecuta! la, ,e!te!c%a, del $lo=ue " ,e re0re,a el 8lu1o de
co!trol a e7aluar !ue7a-e!te la co!d%c%&!' El )roce,o ,e re)%te 6a,ta =ue la co!d%c%&! ,ea
8al,a' El c%clo )uede e1ecutar,e 5 7ece, ,% la co!d%c%&! !o ,e cu-)le al e!trar e! l' E! el
le!0ua1e al0ort-%co u,are-o, la ,%0u%e!te co!,trucc%&!' Ut%l%:are-o, u! ,a!0rado del
teBto de la, ,e!te!c%a, )ara %!d%car la, %!,trucc%o!e, %!ter!a, a cada c%clo'
*' P%!%c%o del c%cloQ
MIENTRAS co!d%c%&! HACER
#' PCuer)o del c%cloQ
3.
%!,trucc%o!e, =ue ,e re)et%r9!
/' PF%! del c%cloQ
FINMIENTRAS
El )ro0ra-a )ara ,u-a, #5 !C-ero, e, el ,%0u%e!te'
#include <stdio.h>
#include <conio.h>
int main!"%
float suma O +.+/ num*
int contador O +*

while!contador < 2+"%
printf!&Feclee un n@meroP&"*
scanf!&Qf&/Wnum"*
suma O suma T num*
contador O contador T 1*
,
printf!&)n0a suma de los 2+ n@meros esP Q8.+f)n&/suma"*
getch!"*
,
E! e,ta ,oluc%&! ,olo tu7%-o, =ue ut%l%:ar / 7ar%a$le, )ara ,u-ar #5 7alore,' F9c%l-e!te
)uede -od%8%car,e )ara ,u-ar otra ca!t%dad de 7alore,' La co!d%c%&! =ue co!trola la
,e!te!c%a while e, contador<2+' Cua!do ,e e1ecuta )or )r%-era 7e: la 7ar%a$le
co!tador 7ale 5 " la co!d%c%&! e, 7erdadera' De!tro de la, %!,trucc%o!e, del c%clo la 7ar%a$le
co!tador ,e %!cre-e!ta -ed%a!te la ,e!te!c%a contador O contador T 1A
e7e!tual-e!te lle0ar9 a 7aler #5 " e! e,e -o-e!to la co!d%c%&! de1ar9 de ,er 7erdadera "
)or lo ta!to el c%clo de1ar9 de e1ecutar,e'
('/' C%clo, co!trolado, )or ce!t%!ela
S% !o ,e co!oce de a!te-a!o el !C-ero de dato,A ,e ut%l%:a u! 7alor de e!trada e,)ec%al
co-o u!a $a!dera o ce!t%!ela )ara ter-%!ar la e!trada de dato,' Co-o e1e-)lo
,u)o!0a-o, =ue de,ea-o, calcular el )ro-ed%o de u!a ,er%e de 7alore, )o,%t%7o,' Pode-o,
u,ar co-o 7alor ce!t%!ela u! 7alor !e0at%7o' Lo, c%clo, co!trolado, )or ce!t%!ela re=u%era!
=ue ,e 6a0a u!a lectura a!te, de e!trar al c%clo " otra de!tro del c%clo cua!do ut%l%:a-o, u!
c%clo while'
Al0or%t-o Ce!t%!ela' Calcula el )ro-ed%o de u!a ,er%e de 7alore, reale,' Ut%l%:a u!
ce!t%!ela )ara ter-%!ar la e!trada de dato,'
*' PSol%c%tar u! !ue7o 7alor )ara )ro-ed%arQ
LeerH!u-I
#' PI!%c%a el la:o de lecturaQ
MIENTRAS !u- d%8ere!te de ;* HACER
3(
/' PAcu-ular ,u-a e %!cre-e!tar co!tadorQ
,u-a N ,u-a < !u-
co!tador N co!tador<*
.' PSol%c%tar !ue7o 7alor )ara )ro-ed%arQ
LeerH!u-I
(' PF%! c%cloQ
FINMIENTRAS
3 P7er%8%car ,% ,e le"ero! 7alore,Q
SI co!tador ` 5 ENTONCES
)ro-ed%o N ,u-a?co!tador
E,cr%$eH)ro-ed%oI
SINO
E,cr%$eHTNO ,e teclearo! 7alore,UI
+' PTer-%!aQ
Sal%r
El )ro0ra-a co-)leto e, el ,%0u%e!te>
#include <stdio.h>
#include <conio.h>
int main!"%
float suma O +.+/ num/ promedio*
int contador O +*
/*Iolicitar un nuevo valor para promediar*/
printf!&Feclee un n@mero !-1 O fin"P&"*
scanf!&Qf&/Wnum"*
/*Hnicia el laAo de lectura*/
while!num (O -1"%
/*Bcumular suma e incrementar contador*/
suma O suma T num*
contador O contador T 1*
/*Iolicitar un nuevo valor para promediar*/
printf!&Feclee un n@mero !-1 O fin"P&"*
scanf!&Qf&/Wnum"*
/*Din ciclo*/
,
/*verificar si se leyeron valores*/
if!contador>+"%
promedio O suma/contador*
printf!&)n-l promedio esP Q8.2f&/promedio"*
,
else
printf!&)n;o se teclearon valores)n&"*
getch!"*
,
33
La ,e!te!c%a suma O sumaTnumA a0re0a al 7alor actual de la 7ar%a$le suma el 7alor de
la 7ar%a$le numA de e,ta -a!era ,e 7a acu-ula!do el 7alor total de lo, !C-ero, ledo,'
S%-%lar-e!te la ,e!te!c%a contado O contadorT1A a0re0a * al 7alor actual de la
7ar%a$le contador' Note =ue 6a" do, lu0are, do!de ,e lee la 7ar%a$le num'
Se de,ea u! )ro0ra-a )ara leer la, cal%8%cac%o!e, de u! 0ru)o de alu-!o, " calcular el
)ro-ed%o 0e!eralA a, co-o el !C-ero de alu-!o, a)ro$ado, " re)ro$ado,' No co!oce-o,
el !C-ero de alu-!oA )or ta!to e, adecuado el e,=ue-a del ce!t%!ela' Nece,%tare-o, la,
,%0u%e!te, 7ar%a$le,>
co!tador K co!tador de cal%8%cac%o!e,
a)ro$ado, K co!tador de a)ro$ado,
re)ro$ado, K co!tador de re)ro$ado,
cal%8%cac%o! K cal%8%cac%&!
,u-a K ,u-a de cal%8%cac%o!e,
)ro-ed%o K )ro-ed%o de cal%8%cac%o!e,
Al0or%t-o Alu-!o, a)ro$ado,' Lee la, cal%8%cac%o!e, de u! 0ru)o de alu-!o, " calcula el
)ro-ed%o 0e!eral del 0ru)o' Ade-9, ,e cue!ta cua!to, alu-!o, 6a! a)ro$ado'
Su)o!dre-o, =ue la, cal%8%cac%o!e, t%e!e! 7alore, !u-r%co, de 5 a *5'
*' PLeer ,%0u%e!te cal%8%cac%&!Q
LeerHcal%8%cac%&!I
#' PC%clo de lectura )or ce!t%!elaQ
MIENTRAS cal%8%cac%&! d%8ere!te de ;* HACER
/' Pacu-ular ,u-aQ
,u-a N ,u-a<cal%8%cac%o!
.' PCue!ta lo, alu-!o, a)ro$ado, " re)ro$ado,Q
SI cal%8%cac%&!`N 3 ENTONCES
a)ro$ado, N a)ro$ado,<*
SINO
re)ro$ado, N re)ro$ado,<*
(' PI!cre-e!tar total de alu-!o,Q
total N total<*
3' PLeer ,%0u%e!te cal%8%cac%&!Q
LeerHcal%8%cac%&!I
+' PF%! c%cloQ
FINMIENTRAS
4' Pcalcular el )ro-ed%o e %-)r%-%rQ
SI total`5 ENTONCES
)ro-ed%o N ,u-a?total
E,cr%$eH)ro-ed%oI
E,cr%$eHa)ro$ado,I
E,cr%$eHre)ro$ado,I
SINO
E,cr%$eHTNO ,e %!trodu1ero! dato,UI
2' PTer-%!aQ
Sal%r
3+
La o)erac%&! de %!cre-e!to e, -u" co-C! ,o$re todo e! el u,o de!tro de c%clo,A e, )or e,o
=ue e! C eB%,te! o)eradore, )ara %!cre-e!tar o decre-e!tar u!a 7ar%a$le e!tera' El
o)erador de %!cre-e!to co!,%,te de do, ,%0!o, T<U a!te, o de,)u, de la 7ar%a$le' M9,
adela!te 7ere-o, la d%8ere!c%a e!tre colocar el o)erador a!te, o de,)u, de la 7ar%a$le' El
)ro0ra-a e, el ,%0u%e!te' Se ut%l%:a el o)erador << )ara la, o)erac%o!e, de %!cre-e!to'
#include <stdio.h>
#include <conio.h>
main!"%
int totalO+/ aprobadosO+/ reprobadosO+*
float calificacion/ sumaO+/promedio*
/*0eer siguiente calificacin*/
printf!>teclee calificacion !-1 para terminar"P?"*
scanf!>Qf?/Wcalificacion"*
/*Ciclo de lectura por centinela */
while!calificacion (O -1"%
/*acumular suma*/
suma O sumaTcalificacion*
/*Cuenta los alumnos aprobados y reprobados*/
if!calificacion >O 9.+"
aprobadosTT*
else
reprobadosTT*
/*Hncrementar total de alumnos*/
totalTT*
/*0eer siguiente calificacin*/
printf! >teclee calificacion !-1 para terminar"P?"*
scanf!>Qf?/Wcalificacion"*
/*Din ciclo*/
,
if!total>+"%
/*calcular el promedio e imprimir*/
promedio O suma/total*
printf! >PromedioP Q.4f)n?/promedio"*
printf! >aprobadosP Qd)n >/aprobados"*
printf! >reprobadosP Qd)n >/reprobados"*
,
else
printf! >no se introdu.eron datos.?"*
getch!"*
,
El e,=ue-a del ce!t%!ela )uede u,ar,e )ara co!trolar la e1ecuc%&! de u! )ro0ra-a'
A!ter%or-e!te 7%-o, u! e1e-)lo de t%ro )ara$&l%co' Su)o!0a =ue de,ea-o, re,ol7er e,e
)ro$le-a )ara 7ar%o, 7alore, de e!trada' El al0or%t-o ,era el ,%0u%e!te'
34
*' P)re0u!tar ,% de,ea re,ol7er u! )ro$le-a de t%roQ
LeerHco!t%!uarI
#' Pre)et%r -%e!tra, co!t%!uar e, *Q
MIENTRAS co!t%!uar e, * HACER
/' PPro$le-a del t%ro )ara$&l%coQ
I!,ertar a=u el al0or%t-o T%ro )ara$&l%co
.' P)re0u!tar ,% de,ea re,ol7er u! )ro$le-a de t%roQ
LeerHco!t%!uarI
(' P8%! de c%cloQ
FINMIENTRAS
3' PTer-%!arQ
Sal%r
El )ro0ra-a co-)leto =ueda co-o ,%0ue'
/*Calcula alcance/ altura m3Rima y tiempo de vuelo en un tiro
parablico*/
#include <stdio.h>
#include <conio.h>
#include <math.h>
main!"%
float PH O 4.1618X298*
float g O X.71*
float v+/ang*/* datos de entrada*/
float h/K/F* /* datos de salida*/
int continuar*
/*preguntar si desea resolver un problema de tiro*/
printf!>Gesea resolver un problema de tiro parabolicoZ ?"*
scanf!>Qd?/Wcontinuar"*
/*repetir mientras continuar es 1*/
while!continuar"%
/*Problema del tiro parablico*/
printf!&FHKM PBKBYM0HCM)n&"*
printf!&Feclee velocidad inicial !en m/s"P &"*
scanf!&Qf&/Wv+"*
printf!&Feclee angulo del tiro !en grados"P &"*
scanf!&Qf&/Wang"*
ang O ang*PH/17+* /* conversin a radianes*/
h O v+*v+*sin!ang"*sin!ang"/2/g*
K O v+*v+*sin!2*ang"/g*
F O 2*v+*sin!ang"/g*
printf!&altura maRimaP Qf m)n&/h"*
printf!&alcance maRimoP Qf m)n&/K"*
printf!&tiempo de vueloP Qf s)n&/F"*
/*preguntar si desea resolver un problema de tiro*/
32
printf!>Mtro problema de tiro parabolicoZ ?"*
scanf!>Qd?/Wcontinuar"*
/*fin de ciclo*/
,
getch!"*
return +*
,
Note =ue la co!d%c%&! del la:o e, ,olo el 7alor de la 7ar%a$le co!t%!uar' Cual=u%er 7alor
d%8ere!te de cero )ro7ocar9 =ue el c%clo ,e re)%ta' El )ro0ra-a ,e e1ecutar9 6a,ta =ue el
u,uar%o re,)o!da co! u! 5'
Otro e1e-)lo de ter-%!ac%&! de u! c%clo e, el ,%0u%e!te' Dado u! !C-ero e!tero )o,%t%7o ,e
d%7%d%r9 e!tre do, ,% e, )ar o ,%!o ,e -ult%)l%car9 )or / " ,e le ,u-ar9 *' El )roce,o ,e
re)et%r9 6a,ta =ue el re,ultado o$te!%do ,ea %0ual a *' Por e1e-)loA el !C-ero 3 0e!era la
,ecue!c%a> 3A /A *5A (A *3A 4A .A #A *' El al0or%t-o e, el ,%0u%e!te'
Al0or%t-o Secue!c%a de e!tero,' I-)r%-e la ,ecue!c%a 0e!erada a )art%r de u! !C-ero
e!tero )o,%t%7o al =ue ,e le d%7%de e!tre # ,% e, )ar " ,e -ult%)l%ca )or / " ,e le a0re0a * ,%
e, %-)ar'
*' PLeer !C-eroQ
LeerH!u-I
#' PHacer c%clo -%e!tra, !u- d%8ere!te de *Q
MIENTRAS !u- d%8ere!te de * HACER
.' PI-)r%-%r !u-Q
E,cr%$eH!u-I
/' Pdec%,%&! de =ue 6acerQ
SI !u- e, )ar ENTONCES
!u- N !u-?#
SINO
!u- N /R!u-<*
FINSI
(' PF%! del c%cloQ
FINMIENTRAS
3' PTer-%!arQ
Sal%r
La traducc%&! a C e, $a,ta!te ,%-)le'
#include <stdio.h>
#include <conio.h>
main!"%
int i*
/*0eer n@mero*/
printf!>Feclede numeroP ?"*
scanf!>Qd?/Wi"*
+5
/*'acer ciclo mientras num diferente de 1*/
while!i>1"%
/*Hmprimir num*/
printf!&Qd &/i"*
/*decisin de #ue hacer*/
if!iQ2OO+"
i O i/2*
else
i O 4*iT1*
/*Din del ciclo*/
,
printf!&Qd &/i"*
getch!"*
,
Pro$le-a, )ro)ue,to,
('/'*' E,cr%$a )ro0ra-a co! u! c%clo co!trolado )or ce!t%!ela )ara leer u!a ,er%e de
!C-ero, 6a,ta =ue el u,uar%o teclee el !C-ero 2222' De!tro del c%clo cue!te lo, -Clt%)lo,
de #A de / " de (' I-)r%-a cua!to, -Clt%)lo, ,e teclearo! e! cada ca,o'
('/'#' D%,eDe u! al0or%t-o )ara %-)r%-%r lo, cuadrado, " cu$o, de lo, )r%-ero, #5
!C-ero, e!tero,'
('/'/' E,cr%$a u! )ro0ra-a =ue calcule la ,u-a de cada tercer e!teroA co-e!:a!do )or % N #
He, dec%r ,u-a de # < ( < 4 < ** < eI )ara todo, lo, 7alore, de % -e!ore, =ue *55'
('/'.' E,cr%$a u! )ro0ra-a =ue calcule la ,u-a de cada tercer e!teroA co-e!:a!do )or % N #
)ara todo, lo, 7alore, de % -e!ore, =ue *55' Calcular la ,u-a de lo, e!tero, 0e!erado, =ue
,ea! d%7%,%$le, )or (' Ut%l%:ar do, -todo, d%,t%!to, )ara co-)ro$ar la d%7%,%$%l%dad>
aI Ut%l%:ar el o)erador W>
$I Ut%l%:ar u!a %!,trucc%&! %8'
('/'(' Mod%8%=ue el al0or%t-o TSecue!c%a de e!tero,U )ara =ue cue!te el !C-ero de
ele-e!to, =ue t%e!e la ,ecue!c%a de !C-ero, 0e!erada' E,cr%$a el )ro0ra-a
corre,)o!d%e!te'
('/'3' De,cr%$%r la ,al%da =ue 0e!erar9 lo, ,%0u%e!te, )ro0ra-a, e! C>
#include <stdio.h>
#include <conio.h>
main!"%
int iO+/RO+*
while!i<2+"%
if!iQ8OO+"%
R O R T i*
+*
printf!&Qd &/R"*
,
i O iT1*
,
printf!&)nR O Qd &/R"*
getch!"*
,
#include <stdio.h>
#include <conio.h>
main!"%
int iO1/RO+*
while!i<1+"%
if!iQ2OO1"
R O R T i*
else
R O R - 1*
printf!&Qd &/R"*
i O iT1*
,
printf!&)nR O Qd &/R"*
getch!"*
,
('/'+' De,arrolle u! al0or%t-o )ara calcular el )ro-ed%o )o!derado de ! !C-ero,A
ut%l%:a!do la 8&r-ula
x
-ed%a
N f
*
x
*
< f
#
x
#
<e f
n
x
n

do!de la, f ,o! lo, )e,o, de cada !C-ero " cu-)le! co!>
5 g f
i
d * " f
*
< f
#
<'''< f
n
N *
('.' C%clo, a!%dado,
Muc6o, )roce,o, re=u%ere! c%clo, =ue %!clu"e! c%clo, %!ter!o,' A e,to, c%clo, ,e le, lla-a
c%clo, a!%dado,' Por e1e-)loA ,u)o!0a =ue de,ea-o, %-)r%-%r u!a ta$la de -ult%)l%car de
lo, !C-ero, e!tre * " *5' Para e,to re=uer%-o, %-)r%-%r lo, -Clt%)lo, de * e! el )r%-er
re!0l&!A lue0o lo, -Clt%)lo, de # e! el ,e0u!do re!0l&!A " a, ,uce,%7a-e!te' El ,%0u%e!te
c&d%0o %-)r%-e la ta$la de -ult%)l%car>
numero O 1*
while!numero<O1+"%
factor O 1*
while!factor<O1+"%
printf! >W6d?/numero*factor"*
factorTT*
+#
,
printf!>)n?"*
numeroTT*
,
El ,%0u%e!te e1e-)lo %-)r%-e u! rect9!0ulo de a,ter%,co,A el u,uar%o e,cr%$e el a!c6o " el
alto del rect9!0uloA ,e 7al%da! la, d%-e!,%o!e, )ara a!c6o " alto del rect9!0ulo' E,te
)ro$le-a )uede re,ol7er,e 89c%l-e!te -ed%a!te u! c%clo de!tro de otro' El al0or%t-o e,
Al0or%t-o Recuadro' D%$u1a e! la )a!talla de ,al%da u! rect9!0ulo ut%l%:a!do el car9cter
TRU' Se ut%l%:a! c%clo, a!%dado,A el eBter%or co!trolado )or la 7ar%a$le r " el %!ter%or )or la
7ar%a$le c' La, d%-e!,%o!e, del rect9!0ulo ,o! a!c6o " alto'
*' PLeer d%-e!,%o!e,Q
LeerHa!c6oAaltoI
#' PI!%c%a c%clo eBter!oQ
r N 5
/' PRe)et%r alto 7ece,Q
MIENTRAS r d alto HACER
.' PI!%c%a c%clo %!ter!oQ
c N 5
(' PRe)et%r a!c6o 7ece,Q
MIENTRAS cda!c6o HACER
3' PI-)r%-e u! a,ter%,co ,%! ca-$%ar de re!0l&!Q
E,cr%$eHTRUI
c N c<*
+' PF%! del c%clo %!ter!oQ
FINMIENTRAS
4' PCa-$%ar de l!ea e %!cre-e!ta el co!tador de re!0lo!e,Q
E,cr%$eHI
r N r<*
2' PF%! del c%clo eBter%orQ
FINMIENTRAS
*5' PTer-%!aQ
Sal%r
El )ro0ra-a co-)leto e, el ,%0u%e!te' Se 6a ut%l%:ado u! ,a!0rado e! el teBto del )ro0ra-a
)ara clar%8%car el a!%da-%e!to de lo, c%clo,' E, %-)orta!te =ue -a!te!0a u! 8or-ato
adecuado del teBto e! )ro0ra-a, co! c%clo, a!%dado,A el !o 6acerlo )uede 6acer -u"
co!8u,o el teBto del )ro0ra-a'
#include <stdio.h>
#include <conio.h>
main!"%
int ancho/ alto/ c/ r*
/*0eer dimensiones*/
printf!&ancho del rectanguloP &"*
+/
scanf!&Qd&/Wancho"*
printf!&alto del rectanguloP &"*
scanf!&Qd&/Walto"*
/*Hnicia ciclo eRterno*/
r O +*
/*Kepetir alto veces*/
while!r<alto"%
/*Hnicia ciclo interno*/
c O +*
/*Kepetir ancho veces*/
while!c <ancho"%
printf!&*&"*
cTT*
/*Din del ciclo interno*/
,
/*Cambiar de l$nea e incrementa el contador de
renglones*/
printf!&)n&"*
rTT*
,
/*Din del ciclo eRterior*/
,
printf!&)n&"*
getch!"*
,
NC-ero, Pr%-o,
U! !C-ero e, )r%-o ,% ,olo e, d%7%,%$le e!tre el -%,-o " la u!%dad' De,arrolle-o, u!
al0or%t-o )ara deter-%!ar ,% u! !C-ero e, )r%-o o !o' Para deter-%!ar ,% e, )r%-o
de$e-o, re7%,ar ,% e, d%7%,%$le e!tre #A /A .A '' 6a,ta u! 7alor %0ual a ,u ra: cuadradaA "a
=ue u! !C-ero ,olo )uede te!er u! d%7%,or -e!or o %0ual a ,u ra: cuadrada' El al0or%t-o
e, el ,%0u%e!te'
Al0or%t-o Pr%-o' Deter-%!a ,% u! !C-ero ledo de,de el teclado e, )r%-o o !o' U,a el
e!tero d%7%,%$le )ara co!trolar el la:o'
*' PLeer u! !C-eroQ
LeerH!u-eroI
#' PCalcula el l-%te ,u)er%orQ
ra%: N ,=rtH!u-eroI
/' PI!%c%al-e!te ,u)o!e-o, =ue e, )r%-oQ
d%7%,%$le N 8al,o
d%7%,or N #
.' PRe)et%r -%e!tra, !o ,ea d%7%,%$le " d%7%,or -e!or =ue ra%:Q
MIENTRAS !o d%7%,%$le " d%7%,or -e!or o %0ual =ue ra%: HACER
(' PDeter-%!a ,% e, d%7%,%$leA ,%!o ,%0u%e!te d%7%,orQ
SI re,%duo de !u-ero?d%7%,or e, cero ENTONCES
+.
d%7%,%$le N 7erdadero
SINO
d%7%,or N d%7%,or < *
3' PF%! del c%cloQ
FINMIENTRAS
+' Pe, )r%-oWQ
SI d%7%,%$le ENTONCES
E,cr%$eHTNO e, )r%-oUI
SINO
E,cr%$eHTSI e, )r%-oUI
4' PTer-%!arQ
Sal%r
El )ro0ra-a e, el ,%0u%e!te'
#include <stdio.h>
#include <conio.h>
#include <math.h>
main!"%
int numero/divisor/divisible/raiA*
/*0eer un n@mero*/
printf!&Feclee un numeroP &"*
scanf!&Qd&/Wnumero"*
/*Calcula el l$mite superior*/
raiA O !int"s#rt!numero"*
/*Hnicialmente suponemos #ue es primo*/
divisible O +*
divisor O 2*
/*Kepetir mientras no sea divisible y divisor menor #ue
raiA*/
while!(divisible WW divisor<OraiA"
/*Getermina si es divisible/ sino siguiente divisor*/
if!numeroQdivisorOO+"
divisible O 1*
else
divisorTT*
/*es primoZ*/
if!divisible"
printf!&Qd ;M es primo&/numero"*
else
printf!&Qd IH es primo&/numero"*
getch!"*
,
A6ora co!,%dere-o, el )ro$le-a de deter-%!ar todo, lo, !C-ero, )r%-o, e!tre * " u!
7alor dado' E,te )ro$le-a %-)l%ca el u,o de c%clo, a!%dado,' El al0or%t-o e, el ,%0u%e!te'
+(
Al0or%t-o Pr%-o,' Deter-%!a lo, !C-ero, )r%-o, e!tre * " u! !C-ero dado'
*' PLeer el !C-ero l-%teQ
LeerHl%-%teI
#' PI!%c%a co!trol del c%cloQ
!u-ero N #
/' PLa:o eBter%orA a!al%:a cada !C-ero de * a l%-%teQ
MIENTRAS !u-erodl%-%te HACER
.' PAl0or%t-o Pr%-oA )a,o, # al 3Q
(' PS% e, )r%-oA de,)le0arloQ
SI !o d%7%,%$le ENTONCES
E,cr%$eH!u-eroI
3' P,%0u%e!te !u-eroQ
!u-ero N !u-ero<*
3' PF%! del c%clo eBter%orQ
FINMIENTRAS
+' PTer-%!aQ
Sal%r
El )ro0ra-a =ue %!clu"e a-$o, c%clo, e, el ,%0u%e!te'
#include <stdio.h>
#include <conio.h>
#include <math.h>
main!"%
int limite/numero/divisor/divisible/raiA*
printf!&Feclee un numeroP &"*
scanf!&Qd&/Wlimite"*
numero O 2*
while!numero<limite"%
raiA O !int"s#rt!numero"*
divisible O +*
divisor O 2*
while!(divisible WW divisor<OraiA"
if!numeroQdivisorOO+"
divisible O 1*
else
divisorTT*
if!(divisible"
printf!&Qd &/numero"*
numeroTT*
,
getch!"*
,
Pro$le-a, )ro)ue,to,
+3
('.'*' E,cr%$a u! )ro0ra-a )ara d%$u1ar u! )atr&! de ta$lero de a1edre: de ta-aDo # a #5
co-o ,e -ue,tra>
* * * *
* * * *
* * * *
* * * *
Ut%l%ce c%clo, a!%dado, " ,e!te!c%a, de ,al%da =ue %-)r%-a! u! a,ter%,co " e,)ac%o e!
$la!co'
('.'#' E,cr%$a u! )ro0ra-a =ue de,)l%e0ue la ,%0u%e!te 8%0ura' El ta-aDo de la 8%0ura )odr9
,er de / a *5 " de$er9 leer,e de,de el teclado'
*
*#
*#/
*#/.
*#/.(
*#/.
*#/
*#
*
('.'/' E,cr%$a u! )ro0ra-a )ara 0e!erar la ,%0u%e!te )%r9-%de de d0%to,>
1
242
46864
689:986
89:7X7:98
9:7X+1+X7:9
:7X+12421+X7:
7X+124686421+X7
X+124689:986421+X
+124689:7X7:986421+
No e,cr%$a ,ola-e!te d%e: cade!a, de caractere,' Co!,%0a u!a 8&r-ula )ara 0e!erar lo,
d0%to, corre,)o!d%e!te, )ara cada l!ea'
('.'.' U! !C-ero e, )er8ecto ,% e, %0ual a la ,u-a de ,u, d%7%,ore,A eBce)tua!do a ,%
-%,-o' Por e1e-)lo> 3 e, )er8ecto )or=ue e, %0ual a *<#</' D%,eDe u! al0or%t-o " 6a0a el
)ro0ra-a corre,)o!d%e!te )ara e!co!trar todo, lo, !C-ero, )er8ecto, e!tre * " *5555'
('.'(' D%,eDe u! al0or%t-o )ara calcular " ta$ular lo, 7alore, de la 8u!c%&!
++
( )
# #
# #
A
y x
y x
y x f
+

)ara x N #A .A 3A 4A " y N 3A 2A *#A *(A *4A #*'


('.'3' D%,eDe u! al0or%t-o )ara calcular el !C-ero de )u!to, co! coorde!ada, e!tera,
co!te!%do, e! u!a el%),e ce!trada e! el or%0e! co! ,e-%e1e -a"or A " ,e-%e1e -e!or B'
Lo, 7alore, de A " B de$er9! ,er ledo, de,de el teclado'
('(' O)eradore, de a,%0!ac%&!
E! C eB%,te! o)eradore, )ara a$re7%ar la, o)erac%o!e, de a,%0!ac%&!' Por e1e-)lo> c N c < /
)uede e,cr%$%r,e co-o c <N /' E! 0e!eral
7ar%a$le N 7ar%a$le o)erador eB)re,%&!
e, e=u%7ale!te a
7ar%a$le o)eradorN eB)re,%&!
O1o
a *O c T d
e=u%7ale a
a O a*!c T d" no a O a*c T d
Al0u!o, o)eradore, de a,%0!ac%&! ,o! lo, ,%0u%e!te,>
a O a T 4* a TO 4
c O 2*c* c *O 2*
R O R U A* R UO A*
s O s*b U s*c* s *O b U c*
d O d/!f T 8"* d /O f T 8*
r O r Q 8* r QO 8*
('3' O)eradore, de %!cre-e!to " decre-e!to
EB%,te! cuatro o)eradore, de %!cre-e!to " decre-e!to' El o)erador de )re%!cre-e!to H<
<7ar%a$leIA el o)erador de )o,%!cre-e!to H7ar%a$le<<IA el o)erador de )redecre-e!to H;;
7ar%a$leI " el o)erador de )o,decre-e!to H7ar%a$le;;I' Lo, o)eradore, de )re%!cre-e!to "
)redecre-e!to ,e e7alCa! co! la -9B%-a )r%or%dad cua!do a)arece! de!tro de u!a
eB)re,%&! " lo, o)eradore, de )o,%!cre-e!to " )o,decre-e!to ,e e7alCa! co! la )r%or%dad
+4
-9, $a1a' El o)erador de )re%!cre-e!to TTa e, e=u%7ale!te a a O a T 1 o a TO 1'
S%-%lar-e!te el o)erador de )redecre-e!to Ua e, e=u%7ale!te a a O a - 1 o a -O 1'
Co!,%dere-o, el ,%0u%e!te e1e-)lo de u,o de lo, o)eradore, de )re %!cre-e!to " )o,
%!cre-e!to'
#include <stdio.h>
#include <conio.h>
main!"%
int a/b/c*
a O 8*
printf!&Qd)n&/a"*
b O aTT*
printf!&Qd Qd)n&/a/b"*
c O TTaTbTT*
printf!&Qd Qd Qd)n&/a/b/c"*
getch!"*
,
La )r%-era l!ea %-)r%-e el 7alor a,%0!ado a aA o ,ea (' Lue0o ,e a,%0!a e,te 7alor a $ "
de,)u, ,e %!cre-e!ta le 7alor de a " ,e %-)r%-e 3 " (' Por Clt%-oA ,e %!cre-e!ta el 7alor
de aA lue0o ,e ,u-a e,te 7alor a $ " ,e le a,%0!a a cA " al Clt%-o ,e %!cre-e!ta el 7alor de $A
)or ta!to ,e %-)r%-e + )ara el 7alor de aA 3 corre,)o!d%e!te a $ " +<(N*#A corre,)o!d%e!te
a c' Por lo ta!to ,e %-)r%-%r9>
(
3 (
+ 3 *#
Pro$le-a, )ro)ue,to,
('3'*' [Lue 7alore, ,e %-)r%-e! e! el ,%0u%e!te 8ra0-e!to de )ro0ra-aW
int a O 7/ b/c*
b O TTa*
printf!&Qd Qd)n&/a/b"*
c O 2*aTT-TTb*
printf!&Qd Qd Qd)n&/a/b/c"*
('3'#' [Cu9l e, la ,al%da de lo, ,%0u%e!te, c%clo,W
i O +*
while!i < 1+"
printf!>QdQ1+d?/2*i/4*i*i"*
i TO 4*
,
+2
i O 8*
while!i > -2+"
printf!>QdQ1+d?/2*i/2*i*i"*
i -O 4*
,
('3'/' E,cr%$a u! )ro0ra-a )ara e!co!trar todo, lo, d%7%,ore, de u! !C-eroA E1e-)loA lo,
d%7%,ore, de #.3 ,o!> #A /A 3A .*A 4#A *#/'
('+' C%clo for
U!a 8or-a co!7e!%e!te de e,cr%$%r c%clo, co! co!tador e, ut%l%:a!do la ,e!te!c%a for' E,ta
,e!te!c%a )er-%te de8%!%r u! co!tadorA %!%c%ar el co!tadorA %!cre-e!tarlo " e,ta$lecer la
co!d%c%&! )ara el l-%te 8%!alA todo e! u!a ,ola %!,trucc%&!' La ,%!taB%, del c%clo for e,>
for!eRpresin1* eRpresin2* eRpresin4"
instruccin o bo#ue*
E,ta ,e!te!c%a e, e=u%7ale!te a u!a co!,trucc%&! while co-o la ,%0u%e!te>
eRpresion1*
while!eRpresion2"%
instruccin*
eRpresion4*
,
Ge!eral-e!te el ,%0!%8%cado de la, eB)re,%o!e, e, el ,%0u%e!te>
eB)re,%o!* N ,e!te!c%a de %!%c%ac%&!
eB)re,%o!# N co!d%c%&! de ter-%!ac%&!
eB)re,%o!/ N ,e!te!c%a de %!cre-e!to
La ,e!te!c%a de %!%c%ac%&! ,olo ,e e1ecuta u!a 7e: al %!%c%ar el c%cloA la co!d%c%&! de
ter-%!ac%&! ,e e7alCa e! cada c%cloA ,% e, 7erdadera ,e e1ecuta la ,e!te!c%a o $lo=ueA ,%!oA
,e ter-%!a el c%clo " la ,e!te!c%a de %!cre-e!to ,e e1ecuta al 8%!al de cada c%clo' Cual=u%era
de ella, o toda, )uede! ,er u!a ,e!te!c%a 7acaA e! e,te Clt%-o ca,o ,e t%e!e u! c%clo %!8%!%to
e=u%7ale!te a while!1"' Al0u!o, e1e-)lo, de la:o, for ,o! lo, ,%0u%e!te,>
aI -od%8%ca la 7ar%a$le de co!trol de * a *55 e! %!cre-e!to, de *'
for!i O 1* i <O 1++* iTT"
$I -od%8%ca la 7ar%a$le de co!trol de *55 a * e! decre-e!to, de *'
for!i O 1++* i >O 1* i--"
cI -od%8%ca la 7ar%a$le de co!trol de + a ++ e! %!cre-e!to, de +'
for!i O :* i <O ::* i TO :"
dI -od%8%ca la 7ar%a$le de co!trol de #5 a # e! decre-e!to, de ;#'
for!i O 2+* i >O 2* i -O 2"
45
eI -od%8%ca la 7ar%a$le de co!trol de # a #5 e! %!cre-e!to, de /'
for!i O 2* i <O 2+* i TO 4"
8I -od%8%ca la 7ar%a$le de co!trol de 22 a 5 e! decre-e!to, de ;**'
for!i O XX* i >O +* i -O 11"
U!a 7ar%a$le )uede ,er declarada de!tro de cual=u%er $lo=ue' La 7ar%a$le declarada de!tro
de u! $lo=ue ,olo )uede ,er ut%l%:ada de!tro de e,e $lo=ue' E, u! 6ec6o co-C! =ue la,
7ar%a$le, de co!trol de u! c%clo for ,ea! declarada, de!tro del c%clo co-o ,%0ue>
for!int i O +* i < 1++* iTT"%
suma TO i*
,
E! el e1e-)lo a!ter%or la 7ar%a$le % ,olo )uede ,er ut%l%:ada de!tro del $lo=ueA ,era %le0al
u,arla 8uera de l a -e!o, =ue eB%,ta otra declarac%&! a!te, del c%clo de la -%,-a 7ar%a$le'
La 7ar%a$le de co!trol de u! c%clo !o t%e!e =ue ,er 8or:o,a-e!te de t%)o e!teroA )uede
ut%l%:ar,e u!a 7ar%a$le de cual=u%er t%)o' Por e1e-)lo>
for!float R O +.+/ suma O +.+* R <O 1+.+* RTO+.1"%
suma TO R*
,
E,te e1e-)lo ,u-a todo, lo, !C-ero, reale, de,de 5 a *5 e! )a,o, de 5'*' Note =ue e,
)o,%$le %!%c%ar -9, de u!a 7ar%a$leA )ara e,to ,e)ara-o, cada %!%c%al%:ac%&! co! el o)erador
co-a HAI'
E1e-)lo
El %!ter, =ue otor0a! lo, $a!co, )or %!7ert%r u! ca)%tal )uede calcular,e co! la ,%0u%e!te
8&r-ula
I N C H* < rI
!
Do!de C e, el ca)%talA r e, la ta,a de %!ter, " ! e, el !C-ero de )er%odo,' E1e-)lo>
S% C N #5A555A r N +] " ! N /A
I N #5555H* < 5'5+I/ N #.A(55'43
El ,%0u%e!te )ro0ra-a ut%l%:a u! c%clo 8or )ara %-)r%-%r el -o!to del ca)%tal acu-ulado aDo
)or aDo de u! ca)%tal al (] de %!ter,'
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main!" %
4*
float monto* // monto del depsito
float principal O 1+++.+* // monto principal !al inicio"
float tasa O .+8* // tasa de inter5s
int anio*
printf!&Bnio =onto del depsito)n&"*
for !anio O 1* anio <O 1+* anioTT " %
monto O principal * pow! 1.+ T tasa/ anio "*
printf!&Q6dQ21.2f)n&/anio/monto"*
,
getch!"*
,
Su-a de ,er%e,
U!a a)l%cac%&! %-)orta!te de lo, c%clo, e, la ,u-a de ,er%e,' U!a ,er%e e, u!a ,ecue!c%a de
!C-ero, =ue cu-)le! co! al0u!a relac%&!' Por e1e-)lo>
A'''
4
*
A
.
*
A
#
*
E! e,ta ,er%e cada ele-e!to e, la -%tad del a!ter%or' La ,u-a de e,ta ,er%e e, %0ual a *
cua!do to-a-o, u! !C-ero -u" 0ra!de de ele-e!to,' El ,%0u%e!te )ro0ra-a calcula la
,u-a de e,ta ,er%e
#include <stdio.h>
#include <conio.h>
main!"%
float fraccion O 1/ suma O +.+*
int i*
for!iO+* i<2+* iTT"%
fraccion /O 2.+*
suma TO fraccion*
,
printf!&Q7.9f)n&/suma"*
getch!"*
,
Pode-o, ,u-ar ,er%e, e! la, =ue lo, ele-e!to, ca-$%e! de ,%0!o' Por e1e-)lo>
'''
(
*
.
*
/
*
#
*
+ +
Para ca-$%ar de ,%0!o e! cada tr-%!o de8%!%-o, u!a 7ar%a$le e!tera signoA la cual ,e
%!%c%a a * " e! cada )a,o del c%clo ,e %!7%erte el ,%0!o -ed%a!te la a,%0!ac%&! signo O
4#
-signo' E,ta ,er%e co!7er0e -u" le!ta-e!teA ,e reco-%e!da al lector co!,ultar al0C! l%$ro
de c9lculo )ara a7er%0uar a =ue 7alor co!7er0e' El )ro0ra-a e, el ,%0u%e!te>
#include <stdio.h>
#include <conio.h>
main!"%
float fraccion O 1/ suma O +.+*
int i/signo O 1*
for!iO2* i<1+++* iTT"%
fraccion O 1.+/i*
suma TO signo*fraccion*
signo O -signo*
,
printf!&)nQ7.8f)n&/suma"*
getch!"*
,
Pro$le-a, )ro)ue,to,
('+'*' E,cr%$a u! )ro0ra-a ut%l%:a!do u! c%clo 8or )ara ,u-ar lo, -Clt%)lo, de + e!tre 5 "
*555'
('+'#' E,cr%$a u! )ro0ra-a )ara ,u-ar lo, )r%-ero, *55 !C-ero, )r%-o,'
('+'/' E,cr%$a la, ,%0u%e!te, %!,trucc%o!e, co! c%clo @6%le ut%l%:a!do u! c%clo 8or'
int . O +/ suma O +*
while!. < 9+"%
suma TO 2*.T1*
. TO 4*
,
('+'.' E,cr%$a u! )ro0ra-a ut%l%:a!do u! c%clo 8or =ue de,)l%e0ue u!a ta$la co! 7alore, de
lo, cuadrado, " cu$o, de lo, !C-ero, de * a #5'
('+'(' U! !C-ero e, )er8ecto ,% e, %0ual a la ,u-a de ,u, d%7%,ore,A )or e1e-)lo 3 e,
)er8ecto )or=ue 3 N * < # < /' E,cr%$a u! )ro0ra-a )ara e!co!trar todo, lo, !C-ero,
)er8ecto, e!tre * " *5555 ut%l%:a!do c%clo, 8or'
('+'3' E,cr%$a u! )ro0ra-a =ue e!cue!tre lo, 8actore, )r%-o, de u! !C-ero' E1e-)lo> ,% ,e
%!troduce /5A el )ro0ra-a dar9 co-o ,al%da> #A /A ('
('+'+' E,cr%$a u! )ro0ra-a =ue 8actor%ce u! !C-ero e! )ote!c%a, de !C-ero, )r%-o,' Por
e1e-)lo> ,% ,e %!troduce /555A el )ro0ra-a dar9 co-o ,al%da> #S/R/S*R(S/'
4/
('+'4' E,cr%$a u! )ro0ra-a )ara ,u-ar la ,er%e ,%0u%e!te>
'''
+
*
(
*
/
*
+
('+'2' E,cr%$a u! )ro0ra-a )ara ,u-ar la ,er%e ,%0u%e!te>
'''
* /
*
'''
*5
*
+
*
.
*
+
+
+ + + +
n
('+'*5' U!a ter!a de !C-ero, aA bA c e, )%ta0&r%ca a
#
N b
#
< c
#
' E,cr%$a u! )ro0ra-a =ue
deter-%!e toda, la, ter!a, )%ta0&r%ca, )ara !C-ero, aA bA c e!te * " *55'
('4' C%clo do;@6%le
La tercer 8or-a de 6acer c%clo, e! C e, -ed%a!te el c%clo do-while' La d%8ere!c%a e!tre
e,te t%)o de c%clo " lo, do, a!ter%ore, e, =ue ,e e1ecuta al -e!o, u!a 7e:A )or e,to e, Ct%l
cua!do ,e re=u%ere e1ecutar u!a o -9, %!,trucc%o!e, al -e!o, u!a 7e:' La ,%!taB%, del c%clo
do-while e,>
do
instruccin
while!condicin"*
Se )uede! u,ar lla7e, alrededor de la %!,trucc%&!A au!=ue !o ,o! !ece,ar%a, )ara
%!,trucc%o!e, ,%-)le,A ,olo ,% la %!,trucc%&! e, u!a %!,trucc%&! co-)ue,taA ,%! e-$ar0oA e,
co!7e!%e!te ut%l%:ar la, lla7e, ,%e-)re )ara !o co!8u!d%r el while co! el %!%c%o de u! c%clo
while' El c%clo do-while ,e ut%l%:a -e!o, =ue lo, otro, do, c%clo,' S%! e-$ar0o e!
al0u!a, co!,trucc%o!e, al0ort-%ca, re,ulta -9, !atural' Co-o e1e-)loA co!,%dere el
,%0u%e!te )ro0ra-a =ue %-)r%-e lo, )r%-ero, *5 e!tero, " ,u, cuadrado,'
#include <sdtio.h>
#include <conio.h>
main!"%
int n O 1*
do%
printf!>Q2d)tQd)n?/n/n*n"*
nTT*
,while!n<11"*
getch!"*
,
U!a a)l%cac%&! )r9ct%ca del c%clo do-while e, cua!do ,e de,ea e1ecutar u! co!1u!to de
%!,trucc%o!e, u!a o -9, 7ece,' E! el ca)tulo . ,e 6%:o u! )ro0ra-a )ara e!co!trar la
%!ter,ecc%&! de do, recta, dada, la, )e!d%e!te, " la, orde!ada, al or%0e!' La ,%0u%e!te
4.
7er,%&! del )ro0ra-a =ue ,ol%c%ta al 8%!al u!a co!8%r-ac%&! ,% ,e de,ea re,ol7er otro
)ro$le-a'
#include <stdio.h>
#include <conio.h>
int main!"
%
float pendiente1/ pendiente2/ ordenada1 /ordenada2/R/y*
int opcion*
/*0eer datos de las dos rectas*/
do%
printf!&teclee la pendiente y ordenada al origen 1P &"*
scanf!&QfQf&/Wpendiente1/Wordenada1"*
printf!&teclee la pendiente y ordenada al origen 2P &"*
scanf!&QfQf&/Wpendiente2/Wordenada2"*
/*Getermina interseccin/ si eRiste*/
if!pendiente1 (O pendiente2"%
R O !ordenada2 - ordenada1"/! pendiente1- pendiente2"*
y O pendiente1*RT ordenada1*
printf!&0as rectas se interceptan enP Qf/ Qf)n&/R/y"*
,
else
printf!&0as rectas no se interceptan...)n&"*
printf!>otras rectas !1-si +-no"Z ?"*
scanf!> Qd?/Wopcion"*
,while!opcion(O+"*
,
Otra a)l%cac%&! !atural e, el c9lculo de race, de ecuac%o!e,' Lo, -todo, de ,oluc%&!
0e!eral-e!te co!,%,te! de u! al0or%t-o =ue ,e re)%te 6a,ta =ue ,e cu-)le al0u!a co!d%c%&!
co-o u! deter-%!ado !C-ero de )a,o, o la ,at%,8acc%&! de u! cr%ter%o de co!7er0e!c%aA o
a-$a,'
U! -todo -u" ,e!c%llo de ,oluc%&! e, el del punto fijo' E,te -todo co!,%,te e! de,)e1ar
de la ecuac%&! la %!c&0!%ta e! tr-%!o, de u!a eB)re,%&! al0e$ra%ca' Por e1e-)loA
co!,%dere la ecuac%&! x
/
< .x
#
K /x <+ N 5A )ode-o, de,)e1ar x de la ,%0u%e!te 8or-a>
x N HK.x
#
K +I?Hx
#
K /I
El ,%0u%e!te )a,o e, )ro)o!er u! 7alor )ara la %!c&0!%ta " calcular co! e,ta eB)re,%&! la
,%0u%e!te a)roB%-ac%&!' El )roce,o ,e re)%te 6a,ta 6acer u! c%erto !C-ero de )a,o, o 6a,ta
=ue el 7alor de la %!c&0!%ta !o ca-$%a' El ,%0u%e!te )ro0ra-a re,uel7e la ecuac%&! a!ter%or
-ed%a!te e,te -todo' Ca$e aclarar =ue la elecc%&! de la eB)re,%&! al0e$ra%ca e,
deter-%!a!te e! la co!7er0e!c%a del -todo' U!a -ala elecc%&! )uede 6acer =ue !o ,e
lle0ue a la ,oluc%&!'
4(
#include <stdio.h>
#include <conio.h>
#include <math.h>
main!"%
float R/Rvie.a*
int pasos O +*
R O +.+*
do%
Rvie.a O R*
R O !-6*R*R-:"/!R*R-4"*
pasosTT*
,while!pasos<2+WW!fabs!R-Rvie.a">1e-6""*
printf!&R O Q.8f)n pasos O Qd)n&/R/pasos"*
printf!&e# O Q.8f)n&/R*R*RT6*R*R-4*RT:"*
getch!"*
,
Todo, lo, t%)o, de c%clo, )uede! dar lu0ar a c%clo, %!8%!%to,A e, dec%rA c%clo, =ue ,e re)%te!
)or ,%e-)re' Por e1e-)loA u! la:o for co-o el ,%0u%e!te e, u! c%clo %!8%!%to' Note =ue la,
eB)re,%o!e, e! u! c%clo for )uede! ,er !ula,'
for!**"
instruccin*
S%-%lar-e!teA u! la:o while co-o el ,%0u%e!te>
while!1"
instruccin*
De 8or-a ,%-%larA )ara u! c%clo do-while>
do
instruccin
while!+"*
La ,e!te!c%a break )uede ut%l%:ar,e )ara ter-%!ar cual=u%er c%clo' Por e1e-)loA el
,%0u%e!te )ro0ra-a lee u!a ,er%e de !C-ero, " calcula ,u ,u-a' El c%clo ter-%!a cua!do ,e
e,cr%$e u! !C-ero !e0at%7o' Se ut%l%:a u!a ,e!te!c%a break )ara ter-%!ar el la:o %!8%!%to'
De 8or-a ,%-%lar )uede 6acer,e co! c%clo, while " do-while'
#include <stdio.h>
#include <conio.h>
main!"%
int n/suma O +*
for!**"%
43
scanf!& Qd&/Wn"*
if!n<+" break*
suma TOn*
,
printf!&la suma esP Qd)n&/suma"*
getch!"*
,
Pro$le-a, )ro)ue,to,
('4'*' E,cr%$a lo, ,%0u%e!te, c%clo, ut%l%:a!do la co!,trucc%&! do;@6%le'
aI for!i O +* i<2+* iTT"%
printf!>sen!Qf" O Qf)n?/ i*17+/=SPH/2+/
sin!i*=SPH/17+/2+""*
,
$I i O 4*
while!i<O44"%
printf!>8d)n?/i"*
i TO 2*
,
('4'#' E,cr%$a u! )ro0ra-a )ara calcular el )ro-ed%o de N !C-ero, reale,A N de$er9 ,er
ledo de,de el teclado' Ut%l%ce c%clo do-while'
('4'/' Re,uel7a la ,%0u%e!te ecuac%&! ut%l%:a!do el -todo del )u!to 8%1o> x
.
< x
/
K /x
#
< 4 N
5' Prue$e 7ar%a, 8or-a, de de,)e1ar la %!c&0!%ta 6a,ta co!,e0u%r u!a ,oluc%&! =ue co!7er1a'
('4'.' E,cr%$a u! )ro0ra-a =ue deter-%!e todo, lo, d%7%,ore, )r%-o, de u! !C-ero ledo
de,de el teclado' E1e-)loA ,% el !C-ero de e!trada e, .(A la ,al%da ,er9> *A /A (' Ut%l%ce
c%clo, do-while'
('4'(' E,cr%$a u! )ro0ra-a =ue deter-%!e la de,co-)o,%c%&! de u! !C-ero ledo de,de el
teclado )roducto, )ote!c%a, de ,u, d%7%,ore, )r%-o,' E1e-)loA ,% el !C-ero de e!trada e,
.(A la ,al%da ,er9> /S# (S*' Ut%l%ce c%clo, do-while'
('2' Fal%dac%&! de la e!trada
U!a a)l%cac%&! co-C! del c%clo do-while e, e! la 7al%dac%&! de 7alore, de e!tradaA e,
dec%rA cua!do ,e re=u%ere re,tr%!0%r el co!1u!to de 7alore, =ue el u,uar%o de$e %!troduc%r
)ara 0ara!t%:ar el $ue! 8u!c%o!a-%e!to de u! )ro0ra-a' El al0or%t-o de 7al%dac%&! )uede
re,u-%r,e e! lo, ,%0u%e!te, )a,o,>
Al0or%t-o de 7al%dac%&!>
*' Hacer c%clo
#' Leer dato,
4+
/' M%e!tra, dato, %!79l%do,
El ,%0u%e!te )ro0ra-a e, u! e1e-)lo de 7al%dac%&! =ue )er-%te al u,uar%o %!troduc%r u!
7alor -a"or =ue ceroA lue0o otro -e!or =ue cero " calcula ,u )roducto'
#include <stdio.h>
main!"%
int a/b*
do%
printf!&Feclee un n@mero positivo para BP &"*
scanf!&Qd&/Wa"*
,while!a<O+"*
do%
printf!&Feclee un n@mero positivo para YP &"*
scanf!&Qd&/Wb"*
,while!b<O+"*
printf!&a * b O Qd&/a*b"*
getch!"*
,
E1e-)lo de 7al%dac%&! de u!a 8ec6a
Para 7al%dar u!a 8ec6a de$e-o, a,e0urar =ue lo, da, ca%0a! e! el %!ter7alo de * a /* " lo,
-e,e, de * a *#' U!a -e1ora co!,%,te e! 7er%8%car lo, da, de acuerdo co! el -e,' Para
8e$rero e! aDo $%,%e,to el -9B%-o de da, e, #2 e! otro ca,o e, #4' Su)o!dre-o, la
declarac%&! de la, ,%0u%e!te, 7ar%a$le, de t%)o e!tero> a/ m/ d/ anyoYisiesto/
mes4+dias/ mes41dias y fechaJalida' Para 7er%8%car ,% el aDo $%,%e,to
de$e-o, deter-%!ar ,% e, -Clt%)lo de cuatro )ero !o -Clt%)lo de *55A )ara e,o u,a-o, la
,%0u%e!te eB)re,%&! $oolea!a,>
anyoYisiesto O !aQ6OO+"WW!aQ1++(O+"*
Para 7er%8%car lo, -e,e, de /5 " /* da,>
mes4+dias O !mOO6 [[ mOO9 [[ mOOX [[ mOO11"*
mes41dias O !mOO1[[mOO4[[mOO8[[mOO:[[mOO7[[mOO1+[[mOO12"*
U!a eB)re,%&! )ara 7al%dar 8ec6a de$e ,er 7erdadera ,% el !C-ero de da, e, -e!or o %0ual a
/5 " el -e, e, de /5 da, o ,% el !C-ero del da e, -e!or o %0ual =ue /* " el -e, e, de /*
da, o ,% el !C-ero del da e, -e!or o %0ual a #4 " el -e, e, 8e$rero o ,% el !C-ero del da
e, -e!or o %0ual a #2 " el -e, e, 8e$rero " e, aDo $%,%e,to' E,to )uede e,cr%$%r,e e! C
co-o>
fechaJalida O !d<O41 WW mes41dias"[[!d<O4+ WW mes4+dias"[[
!d<O27 WW mOO2"[[!d<O2X WW anyoYisiesto WW mOO2"*
44
El ,%0u%e!te )ro0ra-a lee u!a 8ec6a 7al%d9!dola'
#include <stdio.h>
main!"%
int d/m/a*//d$a/ mes/ abo
int anyoYisiesto/mes4+dias/mes41dias/fechaJalida*
do%
printf!&Feclee una fecha !dd mm aa"P &"*
scanf!&QdQdQd&/Wd/Wm/Wa"*
anyoYisiesto O !aQ6OO+"WW!aQ1++(O+"*
mes4+dias O !mOO6 [[ mOO9 [[ mOOX [[ mOO11"*
mes41dias O !mOO1 [[ mOO4 [[ mOO8 [[ mOO:
[[ mOO7 [[ mOO1+ [[ mOO12"*
fechaJalida O !d<O41 WW mes41dias"[[ !d<O4+ WW
mes4+dias"[[!d<O27 WW mOO2"[[!d<O2X WW
anyoYisiesto"*
,while!(fechaJalida"*
printf!&Qd de &/d"*
switch!m"%
case 1Pprintf!&enero&"*breac*
case 2Pprintf!&febrero&"*breac*
case 4Pprintf!&marAo&"*breac*
case 6Pprintf!&abril&"*breac*
case 8Pprintf!&mayo&"*breac*
case 9Pprintf!&.unio&"*breac*
case :Pprintf!&.ulio&"*breac*
case 7Pprintf!&agosto&"*breac*
case XPprintf!&septiembre&"*breac*
case 1+Pprintf!&octubre&"*breac*
case 11Pprintf!&noviembre&"*breac*
case 12Pprintf!&diciembre&"*breac*
,
printf!& de Qd)n&/a"*
getch!"*
,
Re7%,are-o, el )ro$le-a del c9lculo del )ro-ed%o de !C-ero, reale, e,tud%ado e! la
,ecc%&! del c%clo while' Pode-o, ree,cr%$%r el al0or%t-o co-o ,%0ue>
Al0or%t-o
*' HACER
#' Sol%c%tar !ue7o 7alor )ara )ro-ed%ar
/' SI 7alor ` ;* ENTONCES
.' Acu-ular ,u-a e %!cre-e!tar co!tador
(' MIENTRAS 7alor d%8ere!te de ;*
42
3' SI co!tador ` 5 ENTONCES
+' Calcular )ro-ed%o e %-)r%-%r
Note =ue e! e,te al0or%t-o ,ola-e!te e, !ece,ar%o leer u!a 7e: de!tro del c%clo' El
)ro0ra-a e,>
int main!"%
float suma O +.+/ num/ promedio*
int contador O +*
do%
printf!&Feclee un n@mero !-1 O fin"P&"*
scanf!>Qd/Wnum"*
if!num (O -1"%
suma O suma T num*
contador O contador T 1*
,
,while!num (O -1"*
if!contador>+"%
promedio O suma/contador*
printf!&)n-l promedio esP Wf)n&/promedio"*
,
else
printf!&)n;o se teclearon valores)n&"*
getch!"*
,
Pro$le-a, )ro)ue,to,
('2'*' E,cr%$a u! )ro0ra-a =ue lea tre, !C-ero, e!tero, )o,%t%7o, 7al%da!do de acuerdo a
lo ,%0u%e!te> el tercer !C-ero de$er9 ,er -a"or o %0ual al -a"or de lo, otro, do, " -e!or o
%0ual a la ,u-a de lo, do, )r%-ero,'
('2'#' U!a co-)aDa de auto, u,ado, )a0a Y(A555'55 a ,u, e-)leado, )or -e,A -9, u!a
co-%,%&! )or cada auto-&7%l 7e!d%do de Y#(5'55A -9, (] del 7alor de 7e!ta' De,arrolle u!
al0or%t-o co!trolado )or ce!t%!ela =ue lea el !C-ero de auto, 7e!d%do, )or u! e-)leado "
el 7alor de cada u!o de ello, " deter-%!e el -o!to =ue ,e le de$er9 )a0ar al 8%!al del -e,'
('2'/' E,cr%$a u! )ro0ra-a =ue e!cue!tre todo, lo, e!tero, u e!tre 5 " - =ue ,at%,8a0a! u
-od + N *A u -od **N3 " u -od */ N (A )ara - leda de,de el teclado'
25
Ca)tulo 3' Fu!c%o!e,
3'*' Declarac%&! de 8u!c%o!e,
La, 8u!c%o!e, ,o! lo, $lo=ue, de co!,trucc%&! -9, 8u!da-e!tale, e! C' El u,o de
8u!c%o!e, )er-%te la co!,trucc%&! de )ro0ra-a, -9, 0ra!de,A -e1or d%,eDado, " e! 0e!eral
-9, e8%c%e!te, e! ,u e1ecuc%&! " de)urac%&!' La, 8u!c%o!e, ,o! $lo=ue, de %!,trucc%o!e,
=ue e8ectCa! u! )roce,o e,)ec8%co " e! al0u!o, ca,o, re0re,a! 7alore,' El )ro)&,%to
8u!da-e!tal de la, 8u!c%o!e, e, d%7%d%r lo, )ro0ra-a, e! -&dulo, -9, -a!e1a$le, =ue
)er-%ta! re,ol7er )ro$le-a, -9, co-)le1o,' La, 8u!c%o!e, e! C ,e declara! -ed%a!te el
,%0u%e!te 8or-ato>
T%)o\de7uelto !o-$re\de\8u!c%o!Hl%,ta de )ar9-etro, o ar0u-e!to,Ib
Se!te!c%a, Hdeclarac%o!e,A %!,trucc%o!e,A etc'I
c
Trad%c%o!al-e!te e! C ,e declara! co-o prototipos al %!%c%o del )ro0ra-a' De,)u, ,e
declara la 8u!c%&! mainA " de,)u, ,e 6ace la declarac%&! 8or-al de la, 8u!c%o!e,'
Ta-$%! )uede! declarar,e la, 8u!c%o!e, al %!%c%o del )ro0ra-a " de,)u, declarar la
8u!c%&! main ,%! declarar )rotot%)o' Lo, )rotot%)o, co!,ta! de ,olo el e!ca$e:adoA e,
dec%rA el t%)o de7ueltoA el !o-$re de la 8u!c%&! " la l%,ta de )ar9-etro,A e! e,te ca,o la l%,ta
de )ar9-etro, )uede co!,tar ,olo de lo, !o-$re, de lo, t%)o, de cada )ar9-etro'
Lo, ,%0u%e!te, )rotot%)o, de 8u!c%o!e, -ue,tra! e1e-)lo, )o,%$le,>
Protot%)o S%0!%8%cado
int f!int a/ float R/ float y"*
Fu!c%&! 8 =ue de7uel7e u! 7alor e!tero
" t%e!e co-o ar0u-e!to, u! 7alor
e!tero " do, de )u!to 8lota!te'
double g!double a/ int c"*
Fu!c%&! 0 =ue de7uel7e u! 7alor de
do$le )rec%,%&! " t%e!e co-o
ar0u-e!to, u! 7alor de do$le )rec%,%&!
" u! 7alor e!tero'
short m!int n/ char c"*
Fu!c%&! - =ue de7uel7e u! e!tero
corto " t%e!e co-o )ar9-etro, u!
e!tero " u! car9cter'
El ,%0u%e!te )ro0ra-a de8%!e u!a 8u!c%&! )ara calcular el 9rea de u!a e,8era " la lla-a
de!tro de la 8u!c%&! main' El u,uar%o de$e e,cr%$%r el rad%o de la e,8era'
#include <stdio.h>
#include <conio.h>
/*prototipo de funcin/ devuelve un flotante y lleva
un par3metro de tipo flotante*/
float area-sfera!float"*
2*
main!"%
float r/area*
printf!&radioP &"*
scanf!&Qf&/Wr"*
/*llamada a la funcin area-sfera*/
area O area-sfera!r"*
printf!&-l area de la esfera esP Qf)n&/area"*
getch!"*
,
/*definicin de la funcin area-sfera*/
float area-sfera!float radio"%
return 6*4.1618X298487X:X*radio*radio*
,
La 8u!c%&! co!,ta de ,ola-e!te u!a ,e!te!c%a return' La ,e!te!c%a return ,e ut%l%:a
)ara =ue la 8u!c%&! ter-%!e " re0re,e el 7alor calculado' E! e,te ca,o el 7alor e, .radio
#
'
Al ,er lla-ada el co!trol del )ro0ra-a )a,a a e1ecutar la, %!,trucc%o!e, de la 8u!c%&! 6a,ta
e!co!trar u!a ,e!te!c%a return o la Clt%-a %!,trucc%&! de la 8u!c%&!' Po,ter%or-e!te el
co!trol del )ro0ra-a )a,a a la ,%0u%e!te %!,trucc%&! de,)u, de la lla-ada a la 8u!c%&!' E!
el e1e-)lo la ,%0u%e!te %!,trucc%&! e, la a,%0!ac%&! a la 7ar%a$le area del 7alor calculado
)or la 8u!c%&!'
La e1ecuc%&! del )ro0ra-a %!%c%a e! la 8u!c%&! main' E! e,ta 8u!c%&! ,e declara! do,
7ar%a$le, de t%)o float> r " area' El )ro0ra-a co!t%!uara co! la ,e!te!c%a printf "
scanf/ =ue de,)l%e0a la ,ol%c%tud del rad%o " lee la 7ar%a$le rA re,)ect%7a-e!te' La
,%0u%e!te ,e!te!c%a e, u!a a,%0!ac%&! a la 7ar%a$le areaA a la =ue ,e le a,%0!a el 7alor
calculado co! la 8u!c%&! area-sfera' E! e,te )u!to ,e 6ace u!a llamada a la funcin
area-sfera' El co!trol )a,ara a la, %!,trucc%o!e, de la 8u!c%&! area-sfera' La
8u!c%&! lle7a u! )ar9-etro lla-ado radioA e! 8u!c%&! main el 7alor de e,te )ar9-etro e,
el de la 7ar%a$le rA =ue ,era el 7alor tecleado )or el u,uar%o' La 8u!c%&! -ult%)l%ca . )or
/'*.*(2#3(/(42+2 )or el 7alor de r al cuadrado' El re,ultado ,e re0re,ara a =u%e! 6%:o la
lla-ada a la 8u!c%&!A e, dec%rA la %!,trucc%&! de a,%0!ac%&!A la =ue a,%0!ar9 el 7alor
calculado a la 7ar%a$le area' U!a 7e: =ue ,e e1ecute la a,%0!ac%&!A ,e e1ecutar9 la
,e!te!c%a ,%0u%e!teA e, dec%rA el printf!&-l area de la esfera esP
Qf)n&/area"'
Se 6ace !otar =ue el !o-$re del )ar9-etro e! la de8%!%c%&! de la 8u!c%&! e, %rrele7a!teA
au!=ue e, co!7e!%e!te =ue ,ea ,%0!%8%cat%7o' A e,te )ar9-etro ,e le lla-a parmetro
formal' E! la 8u!c%&! main e,te )ar9-etro e, ,u,t%tu%do )or el parmetro realA e, dec%rA la
7ar%a$le r' El 7alor de r e, ,u,t%tu%do e! todo, lo, lu0are, e! do!de a)arece el )ar9-etro
radio'
2#
El ,%0u%e!te e1e-)lo de8%!e la 8u!c%&! maR' E! e,te e1e-)lo !o ,e de8%!e u! )rotot%)o de la
8u!c%&!A ,%-)le-e!te ,e declara a!te, de la 8u!c%&! main' La 8u!c%&! co!t%e!e u!a
,e!te!c%a if-else e! cada alter!at%7a 6a" u!a ,e!te!c%a return =ue re0re,a el 7alor de
a ,% la co!d%c%&! del if e, 7erdaderaA ,%!o re0re,a el 7alor de b' La co!d%c%&! del if e,
7erdadera ,olo cua!do el )ar9-etro a e, -a"or =ue el )ar9-etro b' E! la 8u!c%&! main ,e
lla-a a la 8u!c%&! maR de!tro de la ,e!te!c%a de ,al%da printf' E! e,ta lla-ada lo,
)ar9-etro, reale, de maR ,o! numero1 " numero2A re,)ect%7a-e!te' El 7alor de
numero1 ,e u,ar9 co-o a " el de numero2 co-o b de!tro de la 8u!c%&! maR'
#include <stdio.h>
#include <conio.h>
//declaracin de la funcin maR/ no se define prototipo
double maR! double a/ double b"%
if !a > b"
return a* // a es el mayor
else
return b* // b es el mayor
,
int main!"
%
double numero1*
double numero2*
printf!&HntroduAca dos numerosP &"*
scanf!>QdQd?/Wnumero1/Wnumero2"*
printf!&-l mayor esP Qd)n&/maR! numero1/ numero2""*
getch!"*
,
La, 8u!c%o!e, ,o! $lo=ue, de co!,trucc%&! co! lo, cuale, ,e )uede! co!,tru%r !ue7a,
8u!c%o!e,' Pode-o, de8%!%r la 8u!c%&! maR4 =ue deter-%!e el -a"or de tre, !C-ero,
ut%l%:a!do la 8u!c%&! maR' La de8%!%c%&! ,era co-o ,%0ue>
double maR4!double a/ double b/ double c"%
return maR!maR!a/b"/c"*
,
La, 8u!c%o!e, )uede! te!er cual=u%er !C-ero de )ar9-etro,A %!clu,o cero' El ,%0u%e!te
e1e-)lo e, u!a 8u!c%&! =ue calcula el 9rea de u! tr%9!0ulo' La 8u!c%&! ace)ta co-o
)ar9-etro, lo, 7alore, de la $a,e " la altura del tr%9!0ulo'
float areaFriangulo!float base/ float altura"%
return base*altura*
,
2/
De la -%,-a 8or-a =ue declara-o, 7ar%a$le, de!tro de la 8u!c%&! mainA ,e )uede!
declarar 7ar%a$le, de!tro de u!a 8u!c%&!' La, 7ar%a$le, declarada, de!tro de u!a 8u!c%&! ,e
lla-a! variables locales' Se le, lla-a a, )or=ue ,olo )uede! ,er ut%l%:ada, de!tro de la
8u!c%&! e! =ue ,o! declarada,' Se )roduce u! error de co-)%lac%&! de %de!t%8%cador !o
declarado o de,co!oc%do ,% ,e ut%l%:a u!a 7ar%a$le 8uera de la 8u!c%&! e! la =ue 8ue
declarada' De acuerdo co! e,toA ,% ,e declara! 7ar%a$le, co! el -%,-o !o-$re e! la 8u!c%&!
main " e! al0u!a otra 8u!c%&!A cada u!a de la, 7ar%a$le, te!dr9 7al%de: ,olo e! la 8u!c%&!
e! =ue 8ue declaradaA " !o ,e )roduc%r9 !%!0C! t%)o de error'
Co!,%dere el ,%0u%e!te e1e-)lo de u!a 8u!c%&! co! u!a 7ar%a$le local' La 8u!c%&! calcula el
9rea de u! tr%9!0ulo )ero da!do co-o )ar9-etro, la, lo!0%tude, de lo, lado,' La 8u!c%&!
ut%l%:a do, 7ar%a$le, locale,> s " area' Note =ue ,e ut%l%:a la 8u!c%&! s#rt de la
$%$l%oteca -ath.hA )or lo ta!to )ara co-)%lar e,ta 8u!c%&! de$er9 %!clu%r,e e,a $%$l%oteca
al %!%c%o del arc6%7o'
float areaFriangulo2!float a/ float b/ float c"%
float s O !aTbTc"/2.+/ area*
area O s#rt!!s-a"*!s-b"*!s-c"*s"*
return area*
,
La 8u!c%&! areaFriangulo2 )uede -e1orar,e 7er%8%ca!do =ue lo, 7alore, )a,ado, co-o
)ar9-etro, ,at%,8a0a! la re,tr%cc%&! de =ue )ueda! 8or-ar u! tr%9!0ulo' Lo, 7alore, =ue
,at%,8ace! la e,ta re,tr%cc%&! e, e=u%7ale!te a =ue el rad%ca!do ,ea -a"or =ue ceroA e!to!ce,
la 8u!c%&! =uedara de la ,%0u%e!te -a!era'
float areaFriangulo2!float a/ float b/ float c"%
float s O !aTbTc"/2.+/ w*
w O !s-a"*!s-b"*!s-c"*s*
if!w>O+"
return s#rt!w"*
else
return +.+*
,
Al 6acer u!a lla-ada a u!a 8u!c%&! el co-)%lador 7er%8%ca =ue lo, t%)o, de lo, ar0u-e!to,
co%!c%da! co! lo, t%)o, declarado, e! al 8u!c%&!' Por e1e-)loA ,% te!e-o, el ,%0u%e!te
)rotot%)o de 8u!c%&!
int f!int a/ float R"*
La ,%0u%e!te lla-ada 0e!erar9 u!a ad7erte!c%a al co-)%lar' E, re,)o!,a$%l%dad del
)ro0ra-ador 6acer o !o ca,o de d%c6a ad7erte!c%a'
int R O f!4.8/ 6+"*
2.
Pro$le-a, )ro)ue,to,
3'*'*' EB)l%=ue el ,%0!%8%cado de lo, ,%0u%e!te, )rotot%)o, de 8u!c%o!e,>
aI int g!int a/ float c"*
$"char d!float f/ int a/ int b/ char R"*
cI double a!double c/ double n/ int f"*
3'*'#' Dado, lo, )rotot%)o, del )ro$le-a * e,cr%$a u!a lla-ada a)ro)%ada )ara cada
8u!c%&!'
3'*'/' E,cr%$a )rotot%)o, )ara cada u!a de la, e,)ec%8%cac%o!e, de 8u!c%o!e,>
aI U!a 8u!c%&! lla-ada potencia =ue de7uel7a u! 7alor 8lota!te " lle7e co-o
ar0u-e!to, do, e!tero,'
$I U!a 8u!c%&! lla-ada siguiente =ue de7uel7a u! 7alor e!tero " lle7e co-o
)ar9-etro, u! 8lota!te " u! e!tero'
cI U!a 8u!c%&! lla-ada reciproco =ue de7uel7e u! 7alor do$le )rec%,%&! " ace)te u!
)ar9-etro de t%)o e!tero corto'
dI U!a 8u!c%&! lla-ada inversa ace)ta u! car9cter " de7uel7e u! e!tero lar0o'
3'*'.' E,cr%$a )rotot%)o, adecuado, )ara la, 8u!c%o!e, -a%! =ue ,e -ue,tra!'
aI main!"%
int n/ m/ c*
...
c O func1!m/n"*
...
,
$I main!"%
float R/ y*
int a/b*
a
a O func2!2*R/ b/ y"*
a.
,
cI main!"%
int i/ .*
char c*
double R*
a
R O func4!c/ i/ RT."*
a.
,
2(
3'*'(' E,cr%$a u!a 8u!c%&! e! C )ara calcular el 7olu-e! de u!a e,8era' E,cr%$a u!a 8u!c%&!
main )ara )ro$ar la 8u!c%&!'
3'*'3' E,cr%$a u!a 8u!c%&! e! C )ara deter-%!ar el -9B%-o co-C! d%7%,or de do, e!tero,'
3'*'+' E,cr%$a u!a 8u!c%&! e! C )ara calcular el 7olu-e! de u! c%l%!dro co! rad%o R " altura
6' E,cr%$a u!a 8u!c%&! main =ue ,ol%c%te el rad%o " la altura del c%l%!dro " calcule ,u
7olu-e! ut%l%:a!do la 8u!c%&! =ue de8%!%&'
3'*'4' E,cr%$a u!a 8u!c%&! =ue calcule la ra: cC$%ca de u! !C-ero real' Ut%l%ce la 8u!c%&!
pow de la $%$l%oteca math.h' Ha0a u! )ro0ra-a )ara de,)le0ar u!a ta$la co! la, race,
cuadrada, " cC$%ca, de lo, !C-ero, de * a #5 )ara )ro$ar ,u 8u!c%&!'
3'*'2' E,cr%$a 8u!c%o!e, =ue re0re,e! u! 7alor e!tero 5 o * ,% lo, ar0u-e!to e!tero,
cu-)le! co! lo ,%0u%e!te>
aI E, u! !C-ero )r%-o'
$I E, u! !C-ero )er8ectoA e, dec%rA la ,u-a de ,u, d%7%,ore, e, %0ual a l -%,-o'
cI So! u!a ter!a )%ta0&r%caA e, dec%rA a
#
<b
#
Nc
#
A do!de aA b " c ,o! lo, ar0u-e!to,'
dI Su, do, ar0u-e!to, ,o! )r%-o, e!tre ,%'
eI Su, cuatro ar0u-e!to, ,o! d%8ere!te,'
eI Su, )r%-ero, cuatro ar0u-e!to, ,o! d%8ere!te, al =u%!to ar0u-e!to'
3'*'*5' El 8actor%al de u! !C-ero e!tero n )o,%t%7oA de!otado )or njA ,e de8%!e co-o el
)roducto de todo, lo, !C-ero, de,de * 6a,ta nA e, dec%rA nj N *R#R/ReRnA )or de8%!%c%&! 5j
N *' De8%!a u!a 8u!c%&! =ue calcule el 8actor%al de u! !C-ero' Ut%l%:a!do e,ta 8u!c%&! ,e
)uede calcular lo, coe8%c%e!te, de la eB)a!,%&! de u! $%!o-%o a cual=u%er )ote!c%a e!tera
)o,%t%7a' El coe8%c%e!te k;,%-o de la )ote!c%a n e,
( )j j
j
k n k
n
!
n
k

A do!de 5gkgnA ut%l%ce la


8u!c%&! 8actor%al )ara de8%!%r u!a 8u!c%&! =ue calcule lo, coe8%c%e!te, de la eB)a!,%&!
$%!o-%al' E,cr%$a u!a 8u!c%&! main =ue ,ol%c%te lo, coe8%c%e!te, aA b " el eB)o!e!te n de
u! $%!o-%o de la 8or-a Hax < byI
n
A " calcule " de,)l%e0ue la eB)a!,%&! $%!o-%al' E1e-)lo,>
Hx<yI
.
N x
.
<.x
/
y<3x
#
y
#
<.xy
/
<y
.
A H#x</yI
/
N 4x
/
</3x
#
y<(.xy
#
<#+y
/
'
3'#' Fu!c%o!e, de t%)o 7o%d
Se )uede! de8%!%r 8u!c%o!e, =ue !o de7uel7a! !%!0C! 7alor' E! al0u!o, le!0ua1e, co-o
Pa,cal e,to ,e co!oce co-o u! )roced%-%e!to' Se ut%l%:a el t%)o void )ara %!d%car =ue la
8u!c%&! !o re0re,a !%!0C! 7alor' U!a 8u!c%&! t%)o void !o de$e a)arecer e! u!a
%!,trucc%&! de a,%0!ac%&!' El )rotot%)o )ara 8u!c%o!e, t%)o void e,>
void nombreSfuncin!agrumentos"
23
U! e1e-)lo e, la 8u!c%&! printfA e,ta !o re0re,a !%!0C! 7alor' Por e1e-)loA ,% de,ea-o,
u!a 8u!c%&! =ue ,e e!car0ue de de,)le0ar el !o-$re del )ro0ra-ador e! la )a!tallaA
)odra-o, u,ar la ,%0u%e!te>
void despliega;ombre!"%
printf!>Programa hecho por Dulanito de Fal.)n?"*
,
Note =ue la 8u!c%&! !o t%e!e ar0u-e!to,A !o o$,ta!te de$e-o, )o!er lo, )ar!te,%, 7aco,'
Ta-$%! ,era 79l%do de8%!%r la 8u!c%&! )o!%e!do la )ala$ra void de!tro de lo, )ar!te,%,
co-o ,e -ue,tra a co!t%!uac%&!'
void despliega;ombre!void"%
printf!>Programa hecho por Dulanito de Fal.?"*
c
Para lla-ar u!a 8u!c%&! de t%)o voidA lo 6ace-o, co-o co! la 8u!c%&! printfA e, dec%rA
$a,ta co! )o!er el !o-$re de la 8u!c%&! ,e0u%do de ,u, ar0u-e!to, o al -e!o, )ar!te,%,
7aco, ,% !o lle7a ar0u-e!to,' La lla-ada a la 8u!c%&! despliega;ombre ,era
despliega;ombre!"*
E, !ece,ar%o )o!er lo, )ar!te,%, au!=ue la 8u!c%&! !o re=u%era ar0u-e!to, )ara =ue el
co-)%lador ,e)a =ue ,e trata de u!a 8u!c%&!'
La e!trada " ,al%da de dato, ,e )uede 8ac%l%tar co! el u,o de 8u!c%o!e,' E, %-)orta!te
d%,eDar lo, )ro0ra-a, $a,9!do!o, e! 8u!c%o!e,' U!a 8or-a de d%,eDo de a)l%cac%o!e, e, el
d%,eDo descendente' E! e,te e!8o=ue )r%-ero ,e d%,eDa la a)l%cac%&! )art%e!do de lo,
a,)ecto, 0e!erale, del )ro$le-a =ue ,e 7a a re,ol7er' E,to ,e 6ace de8%!%e!do la e,tructura
$9,%ca de la 8u!c%&! main $a,9!do!o, e! la ut%l%:ac%&! de 8u!c%o!e, =ue )o,ter%or-e!te
,er9! de8%!%da, co! )rec%,%&!' De,)u, ,e )rocede a co!,tru%r cada u!a de la, 8u!c%o!e, =ue
,e 6a! de8%!%do e! tr-%!o, -9, )rec%,o,' Puede ,er =ue e,ta, 8u!c%o!e, re=u%era! de otra,
8u!c%o!e, =ue ,e e,)ec%8%car9! )o,ter%or-e!te' El )roce,o ,e co!t%!Ca 6a,ta ter-%!ar la
a)l%cac%&!'
Co-o e1e-)lo co!,tru"a-o, u!a a)l%cac%&! $a,ada e! -e!C, )ara 6acer co!7er,%o!e, de
u!%dade, 8,%ca,' Pr%-ero de8%!%re-o, el e,=ue-a $9,%co de la 8u!c%&! -a%!' Su)o!dre-o,
=ue el )ro0ra-a ,e e1ecutar9 6a,ta =ue el u,uar%o el%1a la o)c%&! de ter-%!ar' U!a )r%-era
7er,%&! de la 8u!c%&! -a%! ,era>
main!"%
do%
desplegar=enu!"*
opcionOleerMpcion!"*
e.ecutarMpcion!opcion"*
,while!opcion(OIB0HK"*
2+
,
La 8u!c%&! desplegar=enu!" $orra la )a!talla " -ue,tra la, o)c%o!e, de co!7er,%&!
del )ro0ra-a' E,ta 8u!c%&! e, de t%)o void "a =ue !o ,e re=u%ere re0re,ar !%!0C! 7alor al
de,)le0ar el -e!C' leerMpcion e, u!a 8u!c%&! =ue leer9 u! car9cter =ue corre,)o!da a
al0u!a de la, o)c%o!e, de -e!CA %0!ora!do lo, caractere, %le0ale,' U!a 7e: leda la o)c%&!
a e1ecutar ,e lla-ar9 a la 8u!c%&! e.ecutarMpcion!opcion" )ara ,ol%c%tar lo, dato,
!ece,ar%o, " lle7ar a ca$o la co!7er,%&!' Co-e!ce-o, de8%!%e!do co! -9, )rec%,%&! la
8u!c%&! desplegar=enu!"' Ut%l%:a-o, la 8u!c%&! system!>cls?" de la $%$l%oteca
stdlib.h )ara $orrar la 7e!ta!a de ,al%daA e,ta 8u!c%&! )er-%te %!7ocar lo, co-a!do, del
,%,te-a o)erat%7oA el co-a!do Tcl,U $orra la )a!talla'
void desplegar=enu!"%
system!>cls?"*
printf!>)n)nCM;J-KIHM; G- E;HGBG-I)n)n?"* //algunas l$neas
vac$as
printf!>1. Jelocidad m/s a cm/h?"*
printf!>2. Jelocidad cm/h a mi/hr?"*
printf!>4. Femperatura dC a dD?"*
printf!>6. Femperatura dD a dC?"*
printf!>8. Ialir?"*
printf!>)n)n)n opcionP ?"*
,
L%-%tare-o, la, co!7er,%o!e, a 7eloc%dad " te-)eratura' Co! e,to e! -e!te )ode-o,
de8%!%r la 8u!c%&! e.ecutarMpcion!opcion"' E,ta lle7ar9 co-o )ar9-etro u!
car9cter )ara ,elecc%o!ar la o)c%&! a e1ecutar' Note =ue e! la %!,trucc%&! switch ,e u,a!
caractere, co-o et%=ueta,>
void e.ecutarMpcion!char opcion"%
float v/t*
switch!opcion"%
case e1ePprintf!&Jelocidad en mi/hrP &"*
scanf!& Qf&/Wv"*
printf!&0a velocidad en cm/hr esP
Q.2f&/v*1.9+X"*
break*
case e2ePprintf!&Jelocidad en cm/hrP &"*
scanf!& Qf&/Wv"*
printf!&0a velocidad en mi/hr esP
Q.2f&/v/1.9+X"*
break*
case e4ePprintf!&Femperatura en CP &"*
t O leerFemp!1"*
printf!&0a Femperatura en D esP Q.2f&/t"*
24
break*
case e6ePprintf!&Femperatura en DP &"*
t O leerFemp!2"*
printf!&0a Femperatura en C esP Q.2f&/t"*
break*
,
,
E! e,ta 8u!c%&! 6e-o, ut%l%:ado otro 8u!c%&! =ue aC! !o 6e-o, de8%!%doA leerFemp'
E,ta 8u!c%&! t%e!e el )ro)&,%to de 7al%dar la e!trada de te-)eratura,' La 7al%dac%&! co!,%,te
e! 0ara!t%:ar =ue el 7alor tecleado ,ea u!a te-)eratura 79l%daA e, dec%rA -a"or =ue el cero
a$,oluto ,e0C! la e,cala' S% el )ar9-etro de e,ta 8u!c%&! e, *A ,e leer9! 0rado, ce!t0rado,A
,%!oA ,e leer9! 0rado, Fare!6e%t' La 8u!c%&! leerFemp e,>
float leerFemp!int tipo"%
float R*
do%
scanf!& Qf&/WR"*
if!tipoOO1WWR<-2:4.+"
printf!&0a temperatura debe ser mayor a
-2:4()nFemperatura en CP &"*
if!tipoOO1WWR<-68+.+"
printf!&0a temperatura debe ser mayor a
-68+()nFemperatura en DP &"*
,while!!tipoOO1WWR<-2:4.+"[[!tipoOO2WWR<-68+.+""*
return R*
,
Solo 8alta la 8u!c%&! =ue lee la, o)c%o!e, de -e!C' E! e,ta 8u!c%&! ,e u,a la 8u!c%&!
getch!" =ue lee u! car9cter de,de el teclado' E,ta 8u!c%&! !o de,)l%e0a el car9cter =ue ,e
)re,%o!aA a, =ue 6a" =ue de,)le0arlo )or !ue,tra cue!ta'
char leerMpcion!"%
char c*
do%
c O getch!"*
if!c>Oe1eWWc<Oe8e"
printf!&Qc&/c"*
,while!c<e1e[[c>e8e"*
return c*
,
El )ro0ra-a co-)leto a0re0a!do al0u!a declarac%&! e, el ,%0u%e!te' Se 6a! declarado lo,
)rotot%)o, la, 8u!c%o!e, al )r%!c%)%o )ara re,)etar la co,tu-$re del le!0ua1e C' Se ut%l%:o la
$%$l%oteca iostrem )ara acceder a la 8u!c%&! system' E,ta 8u!c%&! )er-%te %!7ocar
co-a!do, del ,%,te-aA e! e,te ca,o %!7oca-o, el co-a!do TclsU =ue $orra la 7e!ta!aA lo
cual da u! a,)ecto -9, )ro8e,%o!al'
22
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void desplegar=enu!void"*
char leerMpcion!void"*
void e.ecutarMpcion!char "*
float leerFemp!int"*
main!"%
char opcion*
do%
desplegar=enu!"*
opcionOleerMpcion!"*
e.ecutarMpcion!opcion"*
,while!opcion(Oe8e"*
,
void desplegar=enu!"%
system!&cls&"*
printf!&)n)nCM;J-KIHM; G- E;HGBG-I)n)n&"*
printf!&1. Jelocidad mi/hr a cm/hr)n)n&"*
printf!&2. Jelocidad cm/h a mi/hr)n)n&"*
printf!&4. Femperatura C a D)n)n&"*
printf!&6. Femperatura D a C)n)n&"*
printf!&8. Ialir)n&"*
printf!&)n)n)n opcionP &"*
,
char leerMpcion!"%
char c*
do%
c O getch!"*
if!c>Oe1eWWc<Oe8e"
printf!&Qc&/c"*
,while!c<e1e[[c>e8e"*
return c*
,
float leerFemp!int tipo"%
float R*
do%
scanf!& Qf&/WR"*
if!tipoOO1WWR<-2:4.+"
printf!&0a temperatura debe ser mayor a
-2:4()nFemperatura en CP &"*
*55
if!tipoOO1WWR<-68+.+"
printf!&0a temperatura debe ser mayor a
-68+()nFemperatura en DP &"*
,while!!tipoOO1WWR<-2:4.+"[[!tipoOO2WWR<-68+.+""*
return R*
,
void e.ecutarMpcion!char opcion"%
float v/t*
switch!opcion"%
case e1ePprintf!&)nJelocidad en mi/hrP &"*
scanf!& Qf&/Wv"*
printf!&0a velocidad en cm/hr esP
Q.2f&/v*1.9+X"*
break*
case e2ePprintf!&)nJelocidad en cm/hrP &"*
scanf!& Qf&/Wv"*
printf!&)n0a velocidad en mi/hr esP
Q.2f&/v/1.9+X"*
break*
case e4ePprintf!&)nFemperatura en CP &"*
t O leerFemp!1"*
printf!&0a Femperatura en D esP Q.2f&/
t*X.+/8.+T42"*
break*
case e6ePprintf!&)nFemperatura en DP &"*
t O leerFemp!2"*
printf!&0a Femperatura en C esP Q.2f&/ !t-
42"*8.+/X.+"*
break*
,
getch!"*
,
Pro$le-a, )ro)ue,to,
3'#'*' E,cr%$a u!a 8u!c%&! =ue de,)l%e0ue u! rect9!0ulo de a,ter%,co, HkROI co-o ,e
-ue,tra' Pa,e co-o ar0u-e!to, el !C-ero de colu-!a, " re!0lo!e, del rect9!0ulo' Por
e1e-)loA ,% lo, )ar9-etro, ,o! 3 " /A ,e de,)le0ar9
RRRRRR
RRRRRR
RRRRRR
3'#'#' E,cr%$a u!a 8u!c%&! =ue de,)l%e0ue u! cuadrado u,a!do la 8u!c%&! del )ro$le-a
a!ter%or'
*5*
3'#'/' E,cr%$a u!a 8u!c%&! =ue %-)r%-a u!a 8ec6aA )o!0a co-o )ar9-etro, el daA el -e, "
el aDo' I!clu"a tre, 8or-ato, de ,al%da> dd;--;aaaaA dd?--?aaaaA dd de -- de aaaaA e!
e,te Clt%-o -- e, el !o-$re del -e,' Por e1e-)lo ,% lo, )ar9-etro, ,o! (A +A #5**A la 8ec6a
e,> (;+;#5** o (?+?#5** o ( de 1ul%o de #5**' I!clu"a u! cuarto )ar9-etro )ara e,)ec%8%car
el 8or-ato de,eado'
3'#'.' E,cr%$a u!a 8u!c%&! =ue ace)te u! t%e-)o e! ,e0u!do, " lo de,)l%e0ue e! aDo,A
-e,e,A da,A 6ora,A -%!uto, " ,e0u!do,' Por e1e-)loA #//4+. ,e0' N # da,A *3 6ora,A (+
-%!'A (. ,e0'
3'#'(' Para calcular la tra"ector%a de u! )ro"ect%l )ode-o, u,ar la, ecuac%o!e,
x N HV co, I t
y N HV ,e! I t K l gt
#

Do!de V e, la 7eloc%dad %!%c%al del )ro"ect%l H-?,IA e, el 9!0ulo de %!cl%!ac%&! He!
rad%a!e,IA t e, el t%e-)oA g e, la acelerac%&! de la 0ra7edad H2'4 -?,
#
IA " x " y ,o! la,
coorde!ada, del )ro"ect%l e! el t%e-)o t' E,cr%$a u!a 8u!c%&! =ue ace)te lo, )ar9-etro,
)ara V " " de,)l%e0ue la, coorde!ada, del )ro"ect%l e! %!ter7alo, de 5'* , 6a,ta =ue el
)ro"ect%l lle0ue a t%erra'
3'#'3' E,cr%$a u!a a)l%cac%&! $a,ada e! -e!C )ara re,ol7er ecuac%o!e, de )r%-er 0radoA
ecuac%o!e, de ,e0u!do 0radoA ecuac%o!e, ,%-ult9!ea de #B# " ecuac%o!e, ,%-ult9!ea, de
/B/' Ut%l%ce el d%,eDo de,ce!de!te'
3'/' E1e-)lo, de 8u!c%o!e, -ate-9t%ca,
Al0u!a, 8u!c%o!e, -ate-9t%ca, !o ,e e!cue!tra! e! la $%$l%oteca math.h' Pode-o,
%-)le-e!tarla, 89c%l-e!te e! C' Por e1e-)loA la ra: cC$%ca )uede eBtraer,e -ed%a!te la
8u!c%&! pow' El c&d%0o e! C e, el ,%0u%e!te>
double root4!double R"%
return pow!R/1.+/4.+"*
,
Note =ue de$e-o, e,cr%$%r *'5?/'5 )ara el eB)o!e!te "a =ue ,% u,a-o, *?/ ,e 6ar9 u!a
d%7%,%&! e!tera da!do co-o re,ultado de ele7ar a la )ote!c%a cero' Pode-o, de8%!%r
89c%l-e!te la, 8u!c%o!e, tr%0o!o-tr%ca, co-)le-e!tar%a,A )or e1e-)lo la cota!0e!te ,e
de8%!e co-o>
double cot!double R"%
return 1.+/tan!R"*
,
La 8u!c%&! 8actor%al e, -u" Ct%l e! -uc6o, c9lculo,' La 8u!c%&! 8actor%al n ,e de8%!e co-o
nj N *m#m/m. '''n' E, 89c%l calcularla ut%l%:a!do u! la:o for'
*5#
fO1*
for!int iO2*i<On*iTT"
f *Oi*
El 7alor de la 8u!c%&! 8actor%al crece co! -uc6a ra)%de:A )or e1e-)lo *5j N /3#4455' Por
e,te -ot%7o e, co!7e!%e!te de8%!%r el 8actor%al de t%)o do$le )rec%,%&!' La 8u!c%&! ,era'
double fact!int n"%
double f O 1.+*
for!int iO2*i<On*iTT"
f *Oi*
return f*
,
Al0u!a, 8u!c%o!e, re=u%ere! la e7aluac%&! de ,er%e, de )ote!c%a,' Por e1e-)loA la 8u!c%&!
eB)o!e!c%al e,ta de8%!%da )or la eB)a!,%&!'
'''
j / j # j *
*
/ #
+ + + +
x x x
e
x
Pode-o, calcularla -ed%a!te la ,%0u%e!te 8u!c%&!'
double eRp!double R"%
int i*
double sumaO+.+/potO1.+/fO1.+*
for!iO1*i<O2+*iTT"%
suma TO pot/f*
pot *O R*
f *O i*
,
return suma*
,
E,ta 8u!c%&! e7aluada e! *'5 0e!era #'+*4#4*4#4.(25.((' La 8u!c%&! eRp de la $%$l%oteca
math.h 0e!era #'+*4#4*4#4.(25.(*' E, de e,)erar,e =ue )ara 7alore, -9, 0ra!de, de B
lo, 7alore, 0e!erado, ,ea! d%8ere!te,A 6a$ra =ue 6acer u! c%clo de -9, de #5 )a,o, )ara
o$te!er la -%,-a )rec%,%&! o u,ar otro -todo )ara calcularla' La, 8u!c%o!e,
tr%0o!o-tr%ca, ta-$%! ,e de8%!e! e! tr-%!o, de ,er%e, de )ote!c%a,' La ,er%e )ara el ,e!o
e,>
'''
j ( j / j *
,e!
( /
+
x x x
x
La 8u!c%&! )ara e7aluarla e,>
*5/
double sen!double R"%
int i/sO1*
double sumaO+.+/potOR/fO1.+*
for!iO1*i<O2+*iTO2"%
suma TO s*pot/f*
pot *O R*R*
f *O !iT1"*!iT2"*
s O -s*
,
return suma*
,
El 7alor =ue 0e!era e,ta 8u!c%&! )ara B N 42i e, 5'2224.+32(*(3/2*5(A la 8u!c%&! ,%! de la
$%$l%oteca -at6'6 0e!era 5'2224.+32(*(3/2*#+5'
Pro$le-a, )ro)ue,to,
3'/'*' E,cr%$a 8u!c%o!e, e! C )ara calcular ,e!oA co,e!o " ta!0e!te 6%)er$&l%ca,' La,
8u!c%o!e, 6%)er$&l%ca, ,e de8%!e! de la ,%0u%e!te 8or-a>
#
,e!6
x x
e e
x

#
co,6
x x
e e
x

+

x
x
x
co,6
,e!6
ta!6
3'/'#' De8%!a 8u!c%o!e, )ara calcular lo ,%0u%e!te>
aI co,eca!te de B $I ,eca!te 6%)er$&l%ca de B cI l!n*<xn dI
( )
#
*
*
x
x f

3'/'/' E,cr%$a u!a 8u!c%&! )ara calcular


#
x
e

' Puede u,ar la eB)a!,%&! de e


x
,u,t%tu"e!do
cada x )or Kx
#
' E,cr%$a u!a 8u!c%&! -a%! )ara co-)arar el re,ultado calculado )or ,u
8u!c%&! " u,a!do la, 8u!c%o!e, de la $%$l%oteca -at6'6'
3'/'.' D%,eDe u!a 8u!c%&! co! do, )ar9-etro, x " nA tal =ue re0re,e el 7alor de la,
,%0u%e!te, eB)re,%o!e, de)e!d%e!do del 7alor de x>
( )

'

<
+
+

+
+

+
+
5 A
* *
5 A
#
A
* *
#
x si
n
x
n
x
x si
n
x
n
x
x
n x f
n n
n n
3'/'(' E,cr%$a u!a 8u!c%&! )ara calcular l!H*<xI )ara nxnd* $a,a!do,e e! la eB)a!,%&!
,%0u%e!te
( ) '''
. / #
* l!
. / #
+ + +
x x x
x x
*5.
3'.' NC-ero, aleator%o,
Lo, !C-ero, aleator%o, t%e!e! -uc6a a)l%cac%&! ,o$re todo e! 1ue0o,A ,%-ulac%o!e, " )ara
)ro$ar al0or%t-o,' Fa-o, a re7%,ar $re7e-e!te la, 8u!c%o!e, Ct%le, e! la 0e!erac%&! de
!C-ero, aleator%o,'
La 8u!c%&! $9,%ca de 0e!erac%&! de aleator%o, e, la 8u!c%&! rand!" de la $%$l%oteca
stdlib.h' E,ta 8u!c%&! 0e!era u! !C-ero ,e-%aleator%o e! el %!ter7alo e!tre 5 " /#+3+'
El 6ec6o de =ue ,ea ,e-%aleator%o %!d%ca =ue lo, 7alore, =ue ,e 0e!era! ,o! ,%e-)re
,%0u%e!do la -%,-a ,ecue!c%a =ue de)e!de de u!a ,e-%lla' La ,e-%lla )uede ca-$%ar,e
-ed%a!te la 8u!c%&! srand!semilla"' E,ta 8u!c%&! e,ta$lece la !ue7a ,e-%lla de
!C-ero, aleator%o,'
S% ,e de,ea 0e!erar !C-ero, aleator%o, e! u! %!ter7alo d%8ere!te ,e de$e to-ar el -&dulo
del 7alor 0e!erado " =u%:9, ,u-arle u! 7alor co!,ta!te' Por e1e-)lo ,% de,ea-o, !C-ero,
aleator%o, e!tre 5 " 2A %!clu,%7eA ,e de$er9 e,cr%$%r
rand!" Q 1+
Para ,%-ular el t%ro de u! dado de$e-o, 0e!erar !C-ero, e!tre * " 3' E,to lo 6ace-o, co!
la eB)re,%&!>
1 T rand!" Q 9
Pode-o, -a!e1ar e,ta, eB)re,%o!e, de!tro de 8u!c%o!e,' Por e1e-)lo> la 8u!c%&! =ue
0e!ere u! t%ro de u! dado ,era>
double tiroGado!"%
return 1 T rand!"Q9*
,
Co! la 8u!c%&! rand!" )ode-o, 0e!erar !C-ero, aleator%o, de do$le )rec%,%&! e! al0C!
%!ter7alo de8%!%e!do u!a 8u!c%&! a)ro)%ada co-o la ,%0u%e!te>
double randGoble!"%
return !double"!rand!"/42:9:.+"*
,
Note =ue la d%7%,%&! ,e 6ace e!tre el !C-ero 8lota!te /#+3+'5 !o e!tre el e!tero /#+3+ "a
=ue ,e al d%7%d%r e!tre u! e!tero o$te!dra-o, ,%e-)re cero de re,ultado' La 8u!c%&!
a!ter%or 0e!era !C-ero, aleator%o, e! el %!ter7alo de 5'5 a *'5' Para )ro$ar la 8u!c%&!
e,cr%$a la ,%0u%e!te 8u!c%&! main " e1ecCtela'
main!"%
for!int iO+* i<2+*iTT"
printf!>Qf?/randGoble!""*
getch!"*
*5(
,
Note =ue ,%e-)re =ue ,e e1ecuta el )ro0ra-a ,e 0e!era la -%,-a ,ecue!c%a de !C-ero,
aleator%o,' Para ,ecue!c%a, d%,t%!ta, de$e-o, -od%8%car la ,e-%lla de lo, !C-ero,
aleator%o,' U!a 8or-a )r9ct%ca " =ue e, -u" d%8c%l =ue ,e re)%ta e, to-ar la 6ora del da
)ara e,ta$lecer d%c6a ,e-%lla' La 8u!c%&! time!+" de la $%$l%oteca time.h !o, da la
6ora actual' S% )a,a-o, e,ta 6ora co-o ar0u-e!to a la 8u!c%&! srand e,ta$lecere-o,
,%e-)re u!a ,e-%lla d%8ere!te' E! la 8u!c%&! main del )ro0ra-a de$e-o, )o!er
srand!time!+""*
U!a 8or-a de o$te!er !C-ero, aleator%o, e!tre do, l-%te, cuale,=u%era e, -ed%a!te la
eB)re,%&!>
valor O limiteSinferior T rand!"*!limiteSsuperior U
limiteSinferior"*
E,ta eB)re,%&! )ode-o, u,arla e! u!a 8u!c%&! )ara o$te!er !C-ero, aleator%o, e!tre do,
l-%te,>
int aleatorio!int limiteSinferior/ int limiteSsuperior"%
return limiteSinferior T rand!"Q!limiteSsuperior U
limiteSinferior"*
,
Co-o u! e1e-)lo de !C-ero, aleator%o, co!,%dere-o, u! 1ue0o e! el =ue 1u0ador trata de
ad%7%!ar u! !C-ero ele0%do )or la co-)utadora e! ,e%, %!te!to,' El 1u0ador el%0e u!
!C-ero e!tre * " u! l-%te -9B%-o' La co-)utadora re,)o!de %!d%ca!do ,% el !C-ero e,
-a"or o -e!or =ue el !C-ero ele0%do )or ellaA o ,% e, %0ualA %!d%ca!do =ue el 1u0ador 0a!o'
E,te )roce,o ,e re)%te ,e%, 7ece,A ,% al 8%!al de lo, ,e%, %!te!to, el 1u0ador !o 6a ad%7%!adoA
el 1u0ador )%erdeA ,%!oA 0a!a' El al0or%t-o e, el ,%0u%e!te>
Al0or%t-o Gue0o de Ad%7%!a!:a'
*' La co-)utadora el%0e !C-ero aleator%o'
#' Re)et%r 3 7ece,
/' leer ,%0u%e!te %!te!to
.' ,% lo, !C-ero, ,o! %0uale,A 1u0ador 0a!& " ter-%!a
(' ,%!o ,% el ele0%do e, -a"or
3' %!8or-ar =ue el ele0%do e, -a"or
+' ,%!o
3' %!8or-ar =ue el ele0%do e, -e!or
(' 8%! de c%clo
3' Co-)utadora 0a!&'
*53
Co-o el c%clo 6a de e1ecutar,e al -e!o, u!a oca,%&!A e, co!7e!%e!te u! la:o do-while'
El )ro0ra-a co-)leto e, el ,%0u%e!te>
#include <stdio.h>
int aleatorio!int limiteSinferior/ int limiteSsuperior"%
return limiteSinferior T rand!"Q!limiteSsuperior -
limiteSinferior"*
,
int elegir!int inferior/ int superior"%
int elegido O aleatorio!inferior/superior"*
printf!&0a computadora ha elegido...)n&"*
return elegido*
,
int leerHntento!int n"%
int intento*
printf!&Feclee su intento QdP &/n"*
scanf!>Qd?/Wintento"*
return intento*
,
main!"%
int oculto/numHntentosO+/numero*
printf!&<E-CM G- BGHJH;B;fB)n&"*
oculto O elegir!1/1++"*
do%
numHntentosTT*
numero O leerHntento!numHntentos"*
if!ocultoOOnumero"%
printf!&Ested CB;B...)n&"*
getch!"*
return +*
,else
if!oculto>numero"
printf!&;umero mayor.)n&"*
else
printf!&;umero menor.)n&"*
,while!numHntentos<9"*
Printf!&-l n@mero fueP Qd)n&/oculto"*
getch!"*
,
E! el )ro0ra-a ,e ut%l%:a la 8u!c%&! )ara 0e!erar !C-ero, aleator%o, e!tre do, l-%te,'
Ta-$%! ,e de8%!%& la 8u!c%&! elegir )ara ,elecc%o!ar el !C-ero aleator%o de la
co-)utadora " la 8u!c%&! leerHntento )ara leer cada u!o de lo, !C-ero, del 1u0adorA
*5+
el )ar9-etro de e,ta 8u!c%&! ,e ut%l%:a )ara %!d%car al 1u0ador cual e, el !C-ero de %!te!to,
=ue lle7a'
Pro$le-a, )ro)ue,to,
3'.'*' E,cr%$a u!a 8u!c%&! =ue 0e!ere u! !C-ero real aleator%o e!tre do, 7alore, reale,
)o,%t%7o, o !e0at%7o,'
3'.'#' E,cr%$a u!a 8u!c%&! =ue 0e!ere u! 1ue0o )ro!&,t%co, de T-elateU' E,te co!,%,te de la
elecc%&! de ,e%, !C-ero, aleator%o, d%,t%!to,A lla-ado, !C-ero, !aturale,A e!tre * " (3A "
u! !C-ero aleator%o lla-ado el ad%c%o!al' De$er9 %-)r%-%r lo, !C-ero, aleator%o, e! orde!
" de,)u, el ad%c%o!al'
3'.'/' E,cr%$a u!a 8u!c%&! =ue 7er%8%=ue u!a =u%!%ela de T-elateU " de,)l%e0ue el !C-ero
de ac%erto, =ue o$tu7o el 1u0ador' La 8u!c%&! lle7ar9 co-o )ar9-etro, la =u%!%ela de
T-elateU H3 !C-ero, " el ad%c%o!alI " lo, ,e%, !C-ero, ele0%do, )or el 1u0ador' I-)r%-a el
lu0ar =ue ocu)a e!tre lo, )re-%o, H,% o$tu7o )re-%oI de acuerdo a la ta$la ,%0u%e!te'
Lu0ar A,%erto, Pre-%o
*er 3 !C-ero, !aturale, Far%a$le
#i ( !C-ero, !aturale, " el ad%c%o!al Far%a$le
/er ( !C-ero, !aturale, Far%a$le
.i . !C-ero, !aturale, " el ad%c%o!al Far%a$le
(i . !C-ero, !aturale, Far%a$le
3i / !C-ero, !aturale, " el ad%c%o!al Y*3*'#2
+i / !C-ero, !aturale, Y ./'5*
4i # !C-ero, !aturale, " el ad%c%o!al Y ./'5*
2i # !C-ero, !aturale, Y #*'(5
3'.'.' E,cr%$a u! )ro0ra-a =ue 0e!ere la =u%!%ela del T-elateU e! ,e%, 7ar%a$le, !*A !#A !/A
!.A !( " !3 )ara lo, !C-ero, !aturale, " u!a 7ar%a$le )ara el ad%c%o!al' Lue0o ,%-ule =ue
*5555 1u0adore, 1ue0a! )ara 0a!ar 0e!era!do la, =u%!%ela, corre,)o!d%e!te, cada u!a co!
,e%, 7alore,' Deter-%!e cua!to, 1u0adore, o$t%e!e! cada u!o de lo, lu0are, de la ta$la del
)ro$le-a a!ter%or'
3'(' Mod%8%cador static
El -od%8%cador static e, u!o de lo, -od%8%cadore, de la, d%8ere!te, cla,e, de
al-ace!a-%e!to de =ue d%,)o!e el le!0ua1e C' Lo, otro, -od%8%cadore, ,o! autoA
register " extern' El -od%8%cador auto ,e ut%l%:a )ara 7ar%a$le locale, " e, el 7alor
)or o-%,%&!A )or e,o ,e ut%l%:a rara 7e:' La, 7ar%a$le, de cla,e register ,e ut%l%:a )ara
,u0er%r al co-)%lador =ue e,a 7ar%a$le ,ea co!,er7ada e! lo, re0%,tro, del )roce,ador' El
-od%8%cador extern ,e ut%l%:a )ara declarar 7ar%a$le, o 8u!c%o!e, eBter!a, a u! arc6%7oA
ta-$%! e,te e, el 7alor )or o-%,%&!'
*54
S% declara-o, u!a 7ar%a$le local co-o static ,u 7alor ,e co!,er7ar9 e!tre d%8ere!te,
lla-ada, a la 8u!c%&!' Por e1e-)lo co!,%dere el ,%0u%e!te )ro0ra-a'
#include <stdio.h>
#include <conio.h>
void f!"%
int RO8*
printf!&R O Qd)n&/R"*
RTT*
,
void g!"%
static int RO8*
printf!&R O Qd)n&/R"*
RTT*
,
main!"%
f!"*
g!"*
f!"*
g!"*
getch!"*
,
E,te )ro0ra-a %-)r%-%r9
(
(
(
3
La 7ar%a$le local R e! f to-a el 7alor de ( cada 7e: =ue ,e lla-a a la 8u!c%&!' Por otro lado
la 7ar%a$le local R e! gA =ue e,ta declarada co-o staticA ret%e!e ,u 7alor e!tre lla-ada,'
La, 8u!c%o!e, ta-$%! )uede! ,er staticA e! tal ca,o ,er9! locale, al arc6%7o do!de ,e
declara! " !o )odr9! u,ar,e e! otro arc6%7o'
La declarac%&! de 7ar%a$le, e! C t%e!e el alca!ce de u! $lo=ue' Recuerde =ue u! $lo=ue e,
u! co!1u!to de ,e!te!c%a, e!cerrado, de!tro lla7e,' S% declara-o, u!a 7ar%a$le de!tro de u!
$lo=ueA e,ta ,olo ,er9 co!oc%da de!tro de el' El atr%$uto static )er-%te =ue la 7ar%a$le
rete!0a ,u 7alor cada =ue el $lo=ue ,e e1ecuta' El ,%0u%e!te e1e-)lo -ue,tra do, 7ar%a$le,
declarada, e! u! $lo=ueA u!a lla-ada te-)oral ,e %!%c%a cada =ue el $lo=ue ,e e1ecuta " la
otra lla-ada )er-a!e!te =ue ,olo ,e %!%c%a la )r%-era 7e: =ue ,e e1ecuta el $lo=ueA
co!,er7a!do ,u 7alor e!tre lla-ada,'
#include <stdio.h>
*52
#include <conio.h>
main!" %
int i*
for !i O +* i < 4* TTi" %
int temporal O 1*
static int permanente O 1*
printf!&Femporal Qd Permanente Qd)n&/temporal/
permanente"*
TTtemporal*
TTpermanente*
,
getch!"*
,
Nu-ero, de F%$o!acc%
U!a ,ecue!c%a de !C-ero, de -uc6a %-)orta!c%a e, la ,ecue!c%a de F%$o!acc%' Lo, do,
)r%-ero, 7alore, de la ,ecue!c%a de F%$o!acc% ,o! * " *' Lo, de-9, 7alore, ,e o$t%e!e!
,u-a!do lo, do, a!ter%ore,A la ,ecue!c%a =ue ,e o$t%e!e e,> *A *A #A /A (A 4A */A #*A /.A e La
,%0u%e!te 8u!c%&! lla-ada fibonacci calcula d%c6a ,ecue!c%a' Se ut%l%:a! do, 7ar%a$le,
f1 " f2 declarada, co-o e,t9t%ca, )ara recordar ,u 7alor a!ter%or' La 8u!c%&! re0re,a u!
e!tero lar0o "a =ue crece co! $a,ta!te ra)%de:' Note =ue )ara 0e!erar la ,ecue!c%a ,e de$e
lla-ar a la 8u!c%&! de,de * 6a,ta el 7alor de,eado'
long int fibonacci!int count"%
static long int f1O1/f2O1*
long int f*
if!cont<4"
f O 1*
else
f O f1Tf2*
f2 O f1*
f1 O f*
return f*
,
U! e1e-)lo de e1ecuc%&! de la 8u!c%&! fibonacci e, el ,%0u%e!te'
#include <stdio.h>
#include <conio.h>
long int fibonacci!int count"*
main!"%
int cont/n*
printf!&Cuantos numeros de Dibonacci deseaP &"*
**5
scanf!& Qd&/Wn"*
for!contO1*cont<On*contTT"
printf!&nO Qd)t DibOQd)n&/cont/fibonacci!cont""*
getch!"*
,
long int fibonacci!int count"%
static long int f1O1/f2O1*
long int f*
if!count<4"
f O 1*
else
f O f1Tf2*
f2 O f1*
f1 O f*
return f*
,
Pro$le-a, )ro)ue,to,
3'('*' De,cr%$%r la ,al%da 0e!erada )or lo, ,%0u%e!te, )ro0ra-a,'
aI #include <stdio.h>
int func1!int cont"*
main!"%
int a/ cont*
for!contO1*cont<O8*contTT"%
aOfunc1!cont"*
printf!>Qd ?/a"*
,
,
func1!int R"%
int yO+*
yTOR*
return y*
,
$I #include <stdio.h>
int func1!int cont"*
main!"%
int a/ cont*
for!contO1*cont<O8*contTT"%
aOfunc1!cont"*
printf!>Qd ?/a"*
,
,
func1!int R"%
static int yO+*
yTOR*
***
return y*
,
cI #include <stdio.h>
int func1!int cont"*
int func2!int cont"*
main!"%
int a/ b O 1/cont*
for!contO1*cont<O8*contTT"%
bO func1!a"T func2!a"*
printf!>Qd ?/b"*
,
,
func1!int a"%
int b*
b O func2!a"*
return b*
,
func2!int a"%
static int bO1*
bTT*
return bTa*
,
3'('#' E,cr%$a u!a 7er,%&! de la 8u!c%&! fibonacci =ue !o ut%l%ce 7ar%a$le, de cla,e
static " calcule el !;,%-o !C-ero de F%$%!acc%'
3'('/' E,cr%$a u! )ro0ra-a =ue ut%l%ce la 8u!c%&! fibonacci del )ro$le-a a!-ter%or )ara
-o,trar =ue el coc%e!te de do, !C-ero, de F%$o!acc% co!,ecut%7o, t%e!de a H*<o(I?#'5 N
*'3*45/ co!8or-e lo, !C-ero, ,o! -9, 0ra!de,'
3'3' Par9-etro, )or 7alor " )or re8ere!c%a
E! la 8u!c%&! scanf re=u%ere =ue ,u, ar0u-e!to, 7ar%a$le, ,ea! )reced%do, )or el
o)erador d%recc%&! ^' E,te o)erador %!8or-a al co-)%lador =ue ,e )a,ar9 co-o )ar9-etro
la d%recc%&! de la 7ar%a$leA !o ,u 7alor' S% ,e o-%te e,te o)erador el )ro0ra-a )odr9 ,er
co-)%lado )ero !o 8u!c%o!ar9 co-o ,e e,)era' Lo, )ar9-etro, )reced%do, de a-)er,a!d
H^I ,e co!oce! co-o )ar9-etro, de referencia e %!d%ca! al co-)%lador =ue la, 7ar%a$le,
)uede! ,er -od%8%cada, de!tro de la 8u!c%&!' Por e1e-)loA el ,%0u%e!te )ro0ra-a
a)are!te-e!te -od%8%ca u!a 7ar%a$le )ero al e1ecutarlo e!co!trar9 =ue !o e, a,'
void f!int a"%
a O 8*
,
main!"%
int bO4*
printf!>Qd ?/b"*
**#
f!b"*
printf!>Qd ?/b"*
getch!"*
,
Para de8%!%r )ar9-etro, de re8ere!c%a e, !ece,ar%o a!te)o!er a la, 7ar%a$le, el o)erador de
%!d%recc%&! o de,re8ere!c%a HRI =ue %!d%ca =ue lo =ue )a,ar9 co-o )ar9-etro ,er9 u!a
d%recc%&! de -e-or%a' S% declara-o, u!a 7ar%a$le int *RA )ara 6acer re8ere!c%a al 7alor
de la 7ar%a$le de$e-o, u,ar la !otac%&! *RA )or e1e-)lo ,% de,ea-o, a,%0!arle u! 7alor al
lu0ar de -e-or%a a)u!tado )or RA e,cr%$%re-o, *R O valor' Ca$e aclarar =ue R !o e,
u! e!teroA ,%!o u! a)u!tador a u! e!teroA e! u! ca)tulo )o,ter%or tratare-o, a-)l%a-e!te
de lo, a)u!tadore,' Por otro lado ,% te!e-o, la declarac%&! int yA Wy %!d%ca la d%recc%&!
do!de ,e e!cue!tra el 7alor de y' La 8u!c%&! corre0%da ,era'
void f!int *a"%
*a O 8*
,
main!"%
int bO4*
printf!>Qd ?/b"*
f!Wb"*
printf!>Qd ?/b"*
getch!"*
,
Lo, 7alore, %-)re,o, ,er9!> / (' Co-o u! e1e-)lo H)oco )r9ct%coI del u,o de )ar9-etro, de
re8ere!c%a 7ea-o, u!a 8u!c%&! =ue ,u-a do, t%e-)o,' Su)o!e-o, =ue el t%e-)o lo
re)re,e!ta-o, co-o 6ora,A -%!uto, " ,e0u!do,A cada u!o co-o u!a ca!t%dad e!tera' La
8u!c%&! suma ace)ta co-o )ar9-etro, lo, 7alore, de do, t%e-)o, " re0re,a co! )ar9-etro,
)or re8ere!c%a el re,ultado de la ,u-a de e,to, t%e-)o, de$%da-e!te !or-al%:ado' El
)ro0ra-a ,%0u%e!te de8%!e la 8u!c%&! suma " u!a 8u!c%&! lla-ada escribe )ara
de,)le0ar u! t%e-)o'
#include <stdio.h>
#include <conio.h>
void suma!int/int/int/int/int/int/int */int */int *"*
void escribe!int/int/int"*
main!"%
int h1O8/m1O46/s1O1:/h2O19/m2O68/s2O84/h4/m4/s4*
escribe!h1/m1/s1"*
escribe!h2/m2/s2"*
suma!h1/m1/s1/h2/m2/s2/Wh4/Wm4/Ws4"*
escribe!h4/m4/s4"*
getch!"*
,
**/
void suma!int h1/ int m1/ int s1/ int h2/ int m2/ int s2/
int *h4/ int *m4/ int *s4"%
*m4 O +*
*h4 O +*
*s4 O s1Ts2*
if!*s4>8X"%
*s4 O *s4-9+*
*m4 O 1*
,
*m4 O m1Tm2T*m4*
if!*m4>8X"%
*m4 O *m4-9+*
*h4 O 1*
,
*h4 O h1Th2T*h4*
,
void escribe!int h/ int m/ int s"%
printf!&QdhQdmQds)n&/h/m/s"*
,
Note =ue !o e, !ece,ar%o )o!er lo, %de!t%8%cadore, de lo, )ar9-etro, e! lo, )rotot%)o, de
la, 8u!c%o!e,' La, do, 8u!c%o!e, ,o! de t%)o voidA )or ta!to $a,ta co! e,cr%$%r el !o-$re
de la 8u!c%&! " lo, ar0u-e!to, )ara %!7ocarla,'
No )uede u,ar,e u! 7alor e!tero co!,ta!te co-o )ar9-etro real ,% e, u! )ar9-etro )or
re8ere!c%a' Por e1e-)loA ,% de8%!%-o, lo ,%0u%e!te
void f!int *R"%
*R O 8*
,
main!"%
int a*
f!Wa"*
f!8"*
,
Se 0e!erar9 u! error e! la l!ea f!8" %!d%ca!do =ue !o ,e )uede co!7ert%r de int a intR'
Ta-$%! f!a" 0e!erar9 u! error ,%-%lar'
Nue7a-e!te la cuadr9t%ca
De8%!%re-o, u!a 8u!c%&! co! )ar9-etro, )or re8ere!c%a )ara re,ol7er la ecuac%&!
cuadr9t%ca' Recorde-o, =ue la, ,oluc%o!e, de u!a cuadr9t%ca )uede! ,er de do, t%)o,A reale,
o co-)le1a,' De$e-o, %!clu%r u! ar0u-e!to )or re8ere!c%a )ara %!8or-ar la !aturale:a de la
**.
,oluc%&!' La 8u!c%&! re=u%ere )or ta!to tre, )ar9-etro, )or 7alor )ara lo, coe8%c%e!te,A do,
)ar9-etro, )or re8ere!c%a )ara la race, " u! )ar9-etro )or re8ere!c%a )ara %!d%car ,% la,
race, ,o! reale, o co-)le1a,' La 8u!c%&! e, la ,%0u%e!te>
void cuadratica!double a/double b/double c/
double *R1/double *R2/int *caso"%
double d O b*b - 6*a*c*
if!d>+"%
*R1 O !-b - s#rt!d""/2/a*
*R2 O !-b T s#rt!d""/2/a*
*caso O 1*
,else%
*R1 O -b/2/a*
*R2 O !s#rt!-d""/2/a*
*caso O 2*
,
,
Pro$le-a, )ro)ue,to,
3'3'*' Dada la ,%0u%e!te de8%!%c%&! de 8u!c%o!e, d%0a cuale, de la, lla-ada, ,o! 79l%da, "
cuale, !o'
void intercambia!int *a/int *b"%
int t*
t O *a* *a O *b* *b O t *
,
int suma!int R/int y"%
return RTy *
,
aI intercambia!suma!WR"/WR" *
$I intercambia!:/4" *
cI suma!2+" M
dI R O suma!11" *
eI A O intercambia!WR/Wy"*
8I intercambia!R/y"*
0I intercambia!WR/Wy"*
3'3'#' E,cr%$a u!a 8u!c%&! )ara re,ol7er u! ,%,te-a de ecuac%o!e, ,%-ult9!ea, de #B#'
Po!0a co-o ar0u-e!to, )or 7alor lo, coe8%c%e!te, de la, ecuac%o!e, " co-o ar0u-e!to,
)or re8ere!c%a la, %!c&0!%ta,' S% el ,%,te-a !o t%e!e ,oluc%&! re0re,e cero, e! la ,oluc%&!'
3'3'/' Hac%e!do u,o de la 8u!c%&! de8%!%da e! el )ro$le-a a!ter%or d%,eDe u!a a)l%cac%&!
ut%l%:a!do el -todo de d%,eDo de,ce!de!te )ara 6acer u! )ro0ra-a %!teract%7o )ara
re,ol7er ecuac%o!e, ,%-ult9!ea, de #B#'
**(
3'3'.' E,cr%$a u!a 8u!c%&! =ue ace)te co-o ar0u-e!to, la, ecuac%o!e, de do, recta,
H)e!d%e!te " orde!ada al or%0e!I " re0re,e e! ar0u-e!to, )or re8ere!c%a la, coorde!ada, de
la %!ter,ecc%&! " e! otro ar0u-e!to )or re8ere!c%a u! 7alor * ,% 6u$o %!ter,ecc%&! o 5 ,% !o
la 6u$o'
3'3'(' E,cr%$a u!a 8u!c%&! )ara deter-%!ar lo, )u!to, de %!ter,ecc%&! de u!a recta " u!
crculo' I!8or-eA -ed%a!te u! ar0u-e!toA cua!ta, %!ter,ecc%o!e, 6u$oA 5A * o #'
3'3'3' E,cr%$a u!a 8u!c%&! )ara deter-%!ar lo, )u!to, de %!ter,ecc%&! de do, el%),e,'
I!8or-eA -ed%a!te u! ar0u-e!toA cua!ta, %!ter,ecc%o!e, 6u$oA 5A *A #A /A . o (' El 7alor (
%!d%car9 =ue la, el%),e, ,o! co%!c%de!te,'
3'+' Fu!c%o!e, recur,%7a,
Se d%ce =ue u!a 8u!c%&! e, recur,%7a ,% de!tro del cuer)o de la 8u!c%&! ,e 6ace u!a lla-ada
a ,% -%,-a' Por e1e-)lo'
void f!int n"%
if!n>+"%
printf!>Qd >/n"*
f!n-1"*
,
,
La 8u!c%&! 8 ace)ta u! )ar9-etro e!teroA ,% e, -a"or =ue cero lo %-)r%-e " ,e lla-a a ,
-%,-a' E,ta lla-ada ,e 6ace co! u! )ar9-etro %0ual a n-1' Por e1e-)loA ,% %!7oca-o,
f!8"A ,e %-)r%-%r9 ( " ,e %!7ocar9 f!6"A e,ta lla-ada %-)r%-%r9 . e %!7ocar9 f!4"A a,
,uce,%7a-e!te 6a,ta =ue ,e lla-e a f!1"A la cual %-)r%-%r9 * e %!7ocar9 f!+"' E! e,te
)u!to la 8u!c%&! rec%$e )ar9-etro %0ual a 5 " ,%-)le-e!te ter-%!a' Co-o re,ultado la
8u!c%&! %-)r%-%r9 la l%,ta de todo, lo, !C-ero, de,de el 7alor del )ar9-etro 6a,ta *' La,
8u!c%o!e, recur,%7a, de$e! cu-)l%r lo ,%0u%e!te>
*' De$e eB%,t%r u!a ,al%da e! la =ue !o ,e 6a0a la lla-ada recur,%7a
#' La lla-ada recur,%7a de$e ,er 7er,%&! -9, ,%-)le =ue la lla-ada =ue la %!7oc&'
E! el ca,o de la 8u!c%&! de8%!%da a!ter%or-e!te la ,al%da !o recur,%7a ,e da cua!do !o ,e
cu-)le la co!d%c%&! de la ,e!te!c%a if' La lla-ada recur,%7a ,e e1ecuta )ara u! 7alor de
)ar9-etro -e!or =ue el de la lla-ada or%0%!alA e! e,e ,e!t%do e, u!a 7er,%&! -9, ,%-)le'
Pode-o, ca-$%ar la lla-ada recur,%7a )or f!nT1"A e,to lle7ar9 a =ue la 8u!c%&! ,e lla-e
recur,%7a-e!te 6a,ta =ue ,e recorra! todo, lo, e!tero, )o,%t%7o, " ,e lle0ue a u! 7alor
!e0at%7o' E,to )uede 6acer =ue el )ro0ra-a a0ote la -e-or%a d%,)o!%$le " el )ro0ra-a ,e
cuel0ue'
Cada lla-ada recur,%7a %-)l%ca 0uardar la d%recc%&! de retor!o " lo, )ar9-etro, de la
lla-ada e! la -e-or%a' E,to %-)l%ca =ue ,% ,e 6ace! ,u8%c%e!te, lla-ada, recur,%7a,A la
**3
-e-or%a )odra a0otar,e' U! e1e-)lo t)%co de la recur,%7%dad e, la 8u!c%&! 8actor%al 7%,ta
a!ter%or-e!te' U!a 7er,%&! recur,%7a e, la ,%0u%e!te'
double fact!int n"%
if!nOO+"
return 1*
else
return n*fact!n-1"*
,
Por e1e-)lo ,e 6ace-o, la lla-ada )ara fact!8" ,e 0e!erar9! la, ,%0u%e!te,
fact!8" O 8*fact!6"
O 8*6*fact!4"
O 8*6*4*fact!2"
O 8*6*4*2*fact!1"
O 8*6*4*2*1*fact!+"
O 8*6*4*2*1*1
O 8*6*4*2*1
O 8*6*4*2
O 8*6*9
O 8*26
O 12+
Al0u!o, al0or%t-o, ,e )la!tea! e! -ate-9t%ca, de 8or-a recur,%7a' U! e1e-)lo de e,to e,
la deter-%!ac%&! del -9B%-o co-C! d%7%,or HMCDI' U! al0or%t-o recur,%7o e, el
,%0u%e!te'
*' El MCD de do, !C-ero, B e " e, " ,% "dB " B e, d%7%,%$le e!tre "'
#' El MCD de do, !C-ero, B e " e, %0ual al MCD de " " B ,% Bd"
/' El MCD de do, !C-ero, B e " e, %0ual al MCD de " " el re,%duo de la d%7%,%&! B?"'
El )r%-er )a,o del al0or%t-o e, la ,al%da !o recur,%7a del al0or%t-o' El ,e0u!do )a,o ,olo
%!d%ca =ue el MCD de u! !C-ero -9, )e=ueDo =ue otro e, %0ual al MCD del -9, 0ra!de "
el )e=ueDoA e,ta e, u!a lla-ada recur,%7a =ue ,olo reaco-oda lo, )ar9-etro,' Por Clt%-o el
)a,o / e,ta$lece =ue el MCD de do, !C-ero, e, %0ual al MCD del !C-ero -9, )e=ueDo "
el re,%duo de la d%7%,%&! del 0ra!de e!tre el )e=ueDoA e,te re,%duo ,%e-)re e, -9, )e=ueDo
=ue el d%7%,orA )or ta!to e, u!a 7er,%&! -9, ,%-)le =ue la lla-ada or%0%!al'
S% de8%!%-o, la 8u!c%o! -cdHBA"I co-o el MCD de B " "A El al0or%t-o lo )ode-o, eB)re,ar
,e la ,%0u%e!te -a!era'

*' SI H"dBI^^HB]"NN5I ENTONCES
REGRESAR "
#' SINO
/' SI Bd" ENTONCES
REGRESAR 0cdH"ABI
**+
.' SINO
REGRESAR 0cdH"A B ] "I
La 7er,%&! e! C e, 89c%l de e,cr%$%r de la ,%0u%e!te -a!era'
int mcd!int R/ int y"%
if!!y<OR"WW!RQy OO +"
return y*
else if!R < y"
return gcd!y/R"*
else
return gcd!y/R Q y"*
,
La lla-ada mcd!67/2+" 0e!erar9 la, ,%0u%e!te, lla-ada,>
mcd!67/2+" O mcd!2+/67Q2+"
O mcd!2+/7"
O mcd!7/2+Q7"
O mcd!7/6"
O 6
La ,%0u%e!te 8u!c%&! e, u!a 7er,%&! recur,%7a )ara calcular el !;,%-o !C-ero de
F%$o!acc%' La d%8ere!c%a co! lo, a!ter%ore, e, =ue ,e 6ace! do, lla-ada, recur,%7a, cada
7e: =ue la 8u!c%&! e, %!7ocada co! u! )ar9-etro -a"or =ue *' E,to %-)l%ca =ue el !C-ero
de lla-ada, cre:ca de 8or-a eB)o!e!c%al'
int fib!int n"%
if!n OO + [[ n OO1 "
return n*
else
return fib!n-1"Tfib!n-2"*
,
U!a lla-ada a fib!8" ,e eB)a!de de la ,%0u%e!te -a!era'
fib!8" O fib!6" T fib!4"
O fib!4" T fib!2" T fib!2" T fib!1"
O fib!2" T fib!1" T fib!1" T fib!+"T fib!1" T fib!+" T 1
O fib!1" T fib!+" T 1 T 1 T +T 1 T + T 1
O 1 T+ T 1 T 1 T +T 1 T + T 1
O 8
Co-o )uede a)rec%ar,e ,e 0e!era! lla-ada re)et%da, de la 8u!c%&! co! lo, -%,-o, 7alore,
de lo, )ar9-etro,' E,to %-)l%ca u! de,)erd%c%o de t%e-)o lle7a!do a ca$o lo, -%,-o,
c9lculo,' E,to !o %-)l%ca =ue la recur,%7%dad !o ,ea Ct%l e! -uc6o, ca,o,' El )roce,a-%e!to
de e,tructura, d%!9-%ca, de dato, co-o l%,ta, " 9r$ole, ,e 8ac%l%ta de -a!era !ota$le
**4
ut%l%:a!do al0or%t-o, recur,%7o, ,%! detr%-e!to 0ra7e e! e8%c%e!c%a' Al0u!o, )ro$le-a,
t%e!e! u!a ,oluc%&! -u" co-)l%cada ut%l%:a!do al0or%t-o, %terat%7o, co!7e!c%o!ale, "
t%e!e! u!a ,oluc%&! recur,%7a e8%c%e!te " ele0a!te -ed%a!te u! al0or%t-o recur,%7o'
Al0u!o, le!0ua1e, $a,a! ,u e,tructura de co!trol e! la recur,%&!A tal e, el ca,o del le!0ua1e
LOGO'
Para cerrar e,ta ,ecc%&! co!,%dere-o, u! )ro$le-a cl9,%co de la recur,%7%dad e! la =ue la
,oluc%&! %terat%7a e, eBtre-ada-e!te co-)l%cadaA el )ro$le-a de la, torre, de Ha!o%' La,
torre, co!,ta! de tre, )%7ote, al%!eado, e! la, =ue ,e a)%la! u!a ,er%e de d%,co, todo, de
ta-aDo, d%8ere!te,' El )ro$le-a co!,%,te e! )art%r de la )o,%c%&! %!%c%al e! la =ue lo, d%,co,
)er8orado, ,e e!cue!tra! e! el )%7ote de la %:=u%erdaA co-o ,e -ue,tra e! la 8%0uraA "
tra,ladarlo, u!o )or u!o al )%7ote de la derec6a )o!%e!do ,%e-)re d%,co, -9, )e=ueDo,
,o$re lo, -9, 0ra!de,'
El )%7ote ce!tral )uede u,ar,e co-o u! )%7ote auB%l%ar )ara 6acer lo, -o7%-%e!to,' El
o$1et%7o e, 6acer el -e!or !C-ero de -o7%-%e!to, )o,%$le' E! )r%!c%)%o e, d%8c%l de8%!%r
u! al0or%t-o ca)a: de re,ol7er e,te )ro$le-a' S%! e-$ar0oA ,e )uede )la!tear u! al0or%t-o
recur,%7o $a,9!do!o, e! =ue e, 89c%l tra,ladar u! ,olo d%,co " el )ro$le-a de tra,ladar ! ,e
,%-)l%8%ca u! )oco ,% tra,lada-o, !;*' U! )r%-er e,$o:o de al0or%t-o e,'
Al0or%t-o Torre,' Gue0a el 1ue0o de Torre, de Ha!o% )ara ! d%,co,'
*' SI !N* ENTONCES
-o7er el d%,co al )%7ote derec6o
#' SINO
-o7er !;* d%,co, del )%7ote %:=u%erdo al )%7ote ce!tral u,a!do el derec6o co-o
auB%l%ar
-o7er el ! al )%7ote derec6o
-o7er !;* d%,co, del )%7ote ce!tral al )%7ote derec6o u,a!do el %:=u%erdo co-o
auB%l%ar
La ,%0u%e!te 8%0ura -ue,tra co-o ,e lle7ar9 a ca$o el -o7%-%e!to de lo, d%,co, )ara u!a
torre de . d%,co,'
**2
Note =ue e! e,te al0or%t-o lo, )ar9-etro, ,o! -u" %-)orta!te,' Puede !otar,e =ue eB%,te!
tre, )ar9-etro,> el )%7ote or%0e! el )%7ote de,t%!o " el )%7ote auB%l%ar' De8%!a-o, la 8u!c%&!
torre, de la ,%0u%e!te -a!era'
void torres!int n/char desde/char hasta/char auRiliar"
Su)o!dre-o, =ue lo, )%7ote, ,e et%=ueta! co-o kAOA kBO " kCOA " lo, d%,co, lo, !u-erado,
de,de *A )ara el -9, )e=ueDoA 6a,ta ! el -9, 0ra!de' E!to!ce,A torre,H(AOAOAOCOAOBOIM
-ue7e ( d%,co, dl )%7ote kAO al kCO u,a!do e! )%7ote kBO co-o auB%l%ar' S% traduc%-o, el
al0or%t-o Torre, a C'
void torres!int n/char desde/char hasta/char auRiliar"%
if!nOO1"
printf!>mover disco 1 de gQch a gQch?/desde/hasta"*
else%
torres!n-1/desde/auRiliar/hasta"*
printf!>mover disco Qd de Qc a Qc?/n/desde/hasta"*
torres!n-1/auRiliar/hasta/desde"*
,
,
La ,oluc%&! =ue 0e!era e,ta 8u!c%&! )ara ! N . e,
*#5
-o7er d%,co * de _A_ a _B_
-o7er d%,co # de _A_ a _C_
-o7er d%,co * de _B_ a _C_
-o7er d%,co / de _A_ a _B_
-o7er d%,co * de _C_ a _A_
-o7er d%,co # de _C_ a _B_
-o7er d%,co * de _A_ a _B_
-o7er d%,co . de _A_ a _C_
-o7er d%,co * de _B_ a _C_
-o7er d%,co # de _B_ a _A_
-o7er d%,co * de _C_ a _A_
-o7er d%,co / de _B_ a _C_
-o7er d%,co * de _A_ a _B_
-o7er d%,co # de _A_ a _C_
-o7er d%,co * de _B_ a _C_
EB%,te! -uc6o, otro, )ro$le-a, =ue )uede! re,ol7er,e ut%l%:a!do la recur,%7%dad' E,
%-)orta!te co!ocer e,ta tc!%ca )or=ue al0u!o, )ro$le-a, ,o! d%8c%le, de )la!tear o
re,ol7er )or -todo, %terat%7o,'
Pro$le-a, )ro)ue,to,
3'+'*' [Cua!to, -o7%-%e!to, de d%,co, ,e 6ace! e! el al0or%t-o recur,%7o de la, torre, de
Ha!o% )ara ! d%,co,W
3'+'#' De,cr%$a la ,al%da 0e!erada )or lo, ,%0u%e!te, )ro0ra-a,'
aI #include <stdio.h>
int func1!int n "*
main!"%
int n O 1+*
printf!>Qd?/func1!n""*
,
int func1!int n"%
if!n>+" return!n T func1!n-1""*
,
$I #include <stdio.h>
int func1!int n "*
main!"%
int n O 1+*
printf!>Qd?/func1!n""*
,
int func1!int n"%
if!n>+" return!n T func1!n-2""*
,
*#*
3'+'/' La -ult%)l%cac%&! de do, e!tero, )uede de8%!%r,e recur,%7a-e!te de la ,%0u%e!te
-a!era'
*' -ultHaA$I N aA ,% $N*
#' -ultHaA$I N a<-ultHaA$;*I
3'+'.' E,cr%$a u!a 8u!c%&! recur,%7a )ara calcular el )roducto de do, e!tero,'
3'+'(' El tr%9!0ulo de Pa,calA =ue ,e 7e e! la 8%0uraA ,e o$t%e!e al to-ar lo, coe8%c%e!te, de
la eB)a!,%&! de u! $%!o-%o a la n' E,to, coe8%c%e!te, ta-$%! )uede! o$te!er,e a )art%r del
!C-ero de co-$%!ac%o!e, de n o$1eto, to-ado, de m e! mA la, cuale, ,e eB)re,a! co-o
n
m
! '
1
1 1
1 2 1
1 4 4 1
1 6 9 6 1
1 8 1+ 1+ 8 1
1 9 18 2+ 18 9 1
etc'
Co-o )uede 7er,e cada tr-%!o ,e o$t%e!e de la ,u-a de lo, do, e!c%-a de l' E,to
)ode-o, eB)re,arlo e! 8or-a recur,%7a co-o
* *
*

+
n
m
n
m
n
m
! ! ! A )ara 5dmdnA do!de n e, el
!C-ero del re!0l&!' E,cr%$a u!a 8u!c%&! recur,%7a =ue calcule u! coe8%c%e!te del tr%9!0ulo
de Pa,cal e! 8u!c%&! de n " m' E,cr%$a u!a 8u!c%&! main =ue lea el 7alor de n e %-)r%-a el
re!0l&! del tr%9!0ulo de Pa,cal corre,)o!d%e!te'
3'+'3' La 8u!c%&! de AcJer-a! A e,t9 de8%!%da )ara todo, lo, e!tero, )o,%t%7o, m " n co-o
,%0ue>
"H5A nI N n < *
"HmA 5I N "Hm K *A *I
"HmA nIN "Hm K *A "HmA n K *II
E,cr%$a u!a 8u!c%&! e! C )ara calcular el 7alor de la 8u!c%&! de AcJer-a!' Prue$e
e7alua!do al0u!o, 7alore, de AH*A nIA AH#A nI " AH/A nI' De8%!a eB)re,%o!e, ,%-)le, )ara
e,ta, 8u!c%o!e,' La 8u!c%&! t%e!e u! crec%-%e!to eBtre-ada-e!te 0ra!de )ara 7alore, de m
-a"ore, =ue /A )or e1e-)lo AH.A#I N #
3((/3
K /A e7alCe AH.A*I'
3'+'+' De,arrolle la eB)a!,%&! de la 8u!c%&! de AcJer-a! del )ro$le-a a!ter%or )ara lo,
,%0u%e!te, )ar9-etro,> AH*A#IA AH*A/I " AH#A*I
*##
Ca)tulo +' Arre0lo,
+'*' Arre0lo, de u!a d%-e!,%&!
U! arre0lo e, u!a colecc%&! orde!ada de ele-e!to, del -%,-o t%)o' Ta-$%! ,e ut%l%:a el
tr-%!o 7ectorA 8or-ac%&! u orde!ac%&!' Lo, arre0lo, )er-%te! re8er%r,e a u!a colecc%&! de
7alore, -ed%a!te u! ,olo !o-$re' Para acceder a lo, ele-e!to, %!d%7%duale, de u! arre0lo
,e ut%l%:a u!o o -9, #ndices =ue de$e! ,er u! !C-ero e!tero o u!a eB)re,%&! de t%)o e!tero'
Lo, arre0lo, )uede! ,er de cual=u%er t%)o> intA floatA doubleA charA o ,e )uede te!er
ele-e!to, =ue ,ea e,tructura, -9, co-)le1a,' Cada ele-e!to del arre0lo al-ace!a u! 7alor
del t%)o $9,%co'
Lo, arre0lo, de u!a d%-e!,%&! ,olo ut%l%:a! u! !d%ce )ara local%:ar cada u!o de ,u,
ele-e!to, co-)o!e!te,' Para re8er%r,e a u! ele-e!to del arre0lo ,e ut%l%:a! corc6ete, HPA QI
)ara e!cerrar el !d%ce del ele-e!to del arre0lo' E! el le!0ua1e C lo, !d%ce, 7ara! e!tre
cero " u! -9B%-o %0ual al !C-ero de ele-e!to, del arre0lo -e!o, u!o' U!a re)re,e!tac%&!
0r98%ca e, la de la 8%0ura ,%0u%e!te'
El arre0lo ,e lla-a A t%e!e N<* ele-e!to,' Pode-o, d%recc%o!al cada u!o de ,u, ele-e!to,
-ed%a!te el !d%ceA a, el )r%-er ele-e!to e, AP5QA el ,e0u!do AP*QA el =u%!to ele-e!to ,er9
AP.QA " a, ,uce,%7a-e!te' El Clt%-o ele-e!to del arre0lo a!ter%or e, APNQ' La declarac%&!
de 7ar%a$le, de t%)o arre0lo ,e 6ace e! C ,%0u%e!do la ,%0u%e!te ,%!taB%,>
Fipo nombre]tamabo^*
El ta-aDo e, cual=u%er co!,ta!te e!tera )o,%t%7a -a"or =ue cero' Lo, ele-e!to, E1e-)lo,>
int a]24^* ; declara u! arre0lo de #/ ele-e!to, de t%)o e!tero'
float m]12+^* ; declara u! arre0lo de *#5 ele-e!to, de t%)o 8lota!te'
char c]289^* ; declara u! arre0lo de #(3 ele-e!to, de t%)o car9cter'
unsigned char y]1+26^* ; declara u! arre0lo de *5#. ele-e!to, de t%)o car9cter
,%! ,%0!o'
Al %0ual =ue la, 7ar%a$le, de t%)o ,%-)leA ,e )uede! %!%c%ar lo, 7alore, de u! arre0lo al
-o-e!to de declararlo' Se le a,%0!a 7alor a al0u!o, o a todo, lo, ele-e!to, del arre0lo' S%
6a" al0u!o, ele-e!to, =ue !o 6a"a! ,%do %!%c%al%:ado,A a e,to, ,e le, a,%0!a! 7alore, !ulo,
H5I' E! lo, ,%0u%e!te, e1e-)lo, le a,%0!a-o, 7alor a todo, lo, ele-e!to, del arre0lo A " ,e
le a,%0!a 7alor a lo, )r%-ero, tre, ele-e!to, del arre0lo w a lo, ele-e!to co! !d%ce, / a 2
,e le, a,%0!a 5'5'
*#/
int A]1+^ O %2/6/9/7/1+/12/16/19/17/2+,*
double w]1+^ O %12.8/-68.4/7.:,*
Lo, arre0lo, de caractere, )uede! %!%c%ar,e co! cade!a, de caractere,A co-o ,e -ue,tra'
char s]1+^ O >hola?*
o
char s]1+^ O %ghh/hoh/hlh/hah,*
El ,%0u%e!te )ro0ra-a %!%c%al%:a " de,)l%e0a do, arre0lo, de caractere, " -ue,tra cada u!o
de lo, ele-e!to,' E! el e1e-)lo ,e de,)l%e0a cada arre0lo ut%l%:a!do el 8or-ato Qs =ue
,%r7e )ara de,)le0ar o leer cade!a, de caractere,' Ta-$%! ,e de,)l%e0a cada ele-e!to
co-o u! car9cter " co-o u! !C-ero e!tero' Note =ue a lo, ele-e!to, !o %!%c%ado, el
co-)%lador le, a,%0!a u! 7alor !ulo H5I'
#include <stdio.h>
#include <conio.h>
main!"%
char a]1+^O&hola&*
char b]1+^O%ehe/eoe/ele/eae,*
printf!&Qs)n&/a"*
printf!&Qs)n&/b"*
for!int iO+*i<1+*iTT"
printf!&Q6d QcQ6d Qc)n&/a]i^/a]i^/b]i^/b]i^"*
getch!"*
,
El )ro0ra-a de,)le0ar9 lo, ,%0u%e!te, 7alore,>
hola
hola
1+6 h 1+6 h
111 o 111 o
1+7 l 1+7 l
X: a X: a
+ +
+ +
+ +
+ +
+ +
+ +
E! el ca,o de arre0lo de caractere, ,olo )odr9! %!%c%ar,e u,a!do la !otac%&! de cade!a, ,% la
cade!a e, de lo!0%tud -9, corta =ue el ta-aDo del arre0loA "a =ue C %!,erta
auto-9t%ca-e!te u! car9cter !ulo HkZ5OI al 8%!al de la cade!a'
*#.
Se )uede o-%t%r el ta-aDo de u! arre0lo ,% ,e %!%c%al%:a e! la declarac%&!' E! el ca,o de
arre0lo, de caractere, ,e a0re0a al 8%!al u! car9cter !ulo' S% !o ,e %!%c%al%:a e, 8or:o,o
declarar el ta-aDo del arre0lo' Por e1e-)lo'
int a]^ O %1/ 2/ 4/ 6,*
char m]^ O %gDh/hih/hnh,*
char s]^ O >color?*
Se declara u! arre0lo de e!tero, de . ele-e!to, co! lo, ,%0u%e!te, 7alore,'
a]+^ O 1*
a]1^ O 2*
a]2^ O 4*
a]4^ O 6*
El arre0lo de caractere, m te!dr9 tre, ele-e!to, co! el ,%0u%e!te co!te!%do'
-P5Q N kFOM
-P*Q N k%OM
-P#Q N k!OM
S% ,e de,)l%e0aA )or e1e-)lo ut%l%:a!do printf!m" a)arecer9 $a,uraA de,)u, de la
cade!a TF%!UA =ue ,e e!cue!tre e! la -e-or%a "a =ue !o ,e a0re0a el ter-%!ador !ulo' El
arre0lo s ,e %!%c%a co! ,e%, ele-e!to, co! el ,%0u%e!te co!te!%do'
,P5Q N kcOM
,P*Q N koOM
,P#Q N klOM
,P/Q N koOM
,P.Q N krOM
,P(Q N kZ5OM
E! lo, ,%0u%e!te, e1e-)lo, ,e %!%c%a! lo, arre0lo, ele-e!to )or ele-e!to' El ,%0u%e!te
e1e-)lo %!%c%al%:a la 7ar%a$le R co! !C-ero, %-)are, co!,ecut%7o,>
int R]1++^/ i*
for!i O +* i<1++ * iTT"
R]i^ O 2*i T 1*
A co!t%!uac%&! ,e %!%c%a u! arre0lo R co! !C-ero, aleator%o, e!tre #( " +.>
int R]1++^/ i*
for!i O +* i<1++ * iTT"
R]i^ O rand!"Q8+ T 28*
*#(
Para %!%c%a lo, ele-e!to, )are, B co! !C-ero, -Clt%)lo, de / " lo, %-)are, co! -Clt%)lo,
de . u,a-o,>
int R]1++^/ i*
for!i O +* i<1++ * iTT"
if!iQ2OO+"
R]i^ O 4*i*
else
R]i^ O 6*i
El ,%0u%e!te c&d%0o %!%c%a R co! lo, !C-ero, de F%$o!acc%>
int R]4+^/ i*
R]+^ O 1*
R]1^ O 1*
for!i O 2* i<4+ * iTT"
R]i^ O R]i-1^TR]i-2^* //1/1/2/4/8/7/14/21/46/..
Lo, ,%0u%e!te, arre0lo, de caractere, ,e %!%c%al%:a! co! la, 7ocale, " co! la, co!,o!a!te,>
char v]^O%hah/heh/hih/hoh/huh,*
char c]^O%hbh/hch/hdh/hfh/hgh/hhh/h.h/
hch/hlh/hmh/hnh/hph/h#h/hrh/hsh/hth/hvh/hwh/hRh/hyh/hAh,*
Se )uede leer d%recta-e!te lo, ele-e!to, de u! arre0lo' Por e1e-)loA el ,%0u%e!te
8ra0-e!to )ro0ra-a lee lo, *5 ele-e!to, de u! arre0lo :A lue0o calcula la ,u-a " la ,u-a
de lo, cuadrado, de e,to, ele-e!to,' O$,er7e =ue de$e-o, colocar el o)erador ^ a!te, del
ele-e!to e! la 8u!c%&! ,ca!8'
float A]1+^/sumaO+.+/sumaCuadradoO+.+*
for!i O +*i<1+*iTT"
scanf!>Qf?/WA]i^"*
for!i O +*i<1+*iTT"%
suma TO A]i^*
sumaCuadrado TO A]i^*
,
C9lculo de de,7%ac%&! e,t9!dar
El ,%0u%e!te )ro0ra-a =ue a!al%:are-o, calcula la de,7%ac%&! e,t9!dar de u!a colecc%&! de
dato,' La de,7%ac%&! e,t9!dar ,e calcula ut%l%:a!do la ,%0u%e!te eB)re,%&! e! la =ue ,e
re=u%ere calcular )re7%a-e!te el 7alor )ro-ed%o'
*#3
( )
*
*

$
x x
$
i

El )ro0ra-a e,t9 e,cr%to ut%l%:a!do 8u!c%o!e,A cada u!a e!car0ada de lle7ar a ca$o u!a
acc%&! e! )art%cular' El arre0lo R " el e!tero maR ,e declara! co-o 7ar%a$le, 0lo$ale,
a!te, de la declarac%&! de la, 8u!c%o!e,' E,to 6ace )o,%$le =ue ,e )ueda te!er acce,o a e,ta,
7ar%a$le, de!tro de cual=u%er 8u!c%&!' E,ta )r9ct%ca !o e, de lo -9, reco-e!dado "a =ue
cual=u%er 8u!c%&! )uede -od%8%car ar$%trar%a-e!te lo, 7alore, del arre0loA lo correcto ,era
)a,ar co-o )ar9-etro el arre0lo " ,u ta-aDo a la, 8u!c%o!e,' El )a,o de )ar9-etro, de
arre0lo a 8u!c%o!e, lo 7ere-o, -9, adela!te' El )ro0ra-a e, el ,%0u%e!te>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define FB;B;`M 8+
double R]FB;B;`M^*
int maR*
double promedio!"*
double desviacion!"*
void saludo!"*
void 0eerGatos!"*
void resultados!"*
main!"%
saludo!"*
0eerGatos!"*
resultados!"*
getch!"*
,
void saludo!"%
printf!&)tPKM=-GHM ` G-IJHBCHM; -IFB;GBK G- ; JB0MK-I)n&"*
,
void 0eerGatos!"%//lee los elementos del arreglo
int iO+*
double num*
do%
printf!&Feclee un numero !-1 O terminar"P&"*
scanf!>Qlf?/Wnum"*
if!num>+"%
R]i^ O num* iTT*
,
*#+
,while!num>+"*
maR O i*
,
double promedio!"%
int i*
double sumaO+*
for!iO+*i<maR*iTT"
suma TOR]i^*
return suma/maR*
,
double desviacion!"%
int i*
double sumaO+/prom*
promOpromedio!"*
for!iO+*i<maR*iTT"
suma TO!R]i^-prom"*!R]i^-prom"*
return s#rt!suma/!maR-1""*
,
void resultados!"%
int i*
printf!&JB0MK-I H;FKMGECHGMI)n?"*
for!iO+*i<maR*iTT"%
printf!>Q7.4f?/R]i^"*
if!iQ7OO+WWi>+"
printf!>)n?"*
,
printf!>)n?"*
printf!&-l promedio esP Q7.4f)n&/promedio!""*
printf!&0a desviacion estandar esP Q7.4f)n&/desviacion!""*
,
La 8u!c%&! saludo!" %!8or-a el )ro)&,%to del )ro0ra-a' La 8u!c%&! 0eerGatos!" lee
lo, dato, de,de el teclado al-ace!a!do cada 7alor e! el arre0lo B' El )roce,o de lectura
ter-%!a cua!do el u,uar%o teclea u! 7alor -e!or =ue cero' La, 8u!c%o!e, promedio!" "
desviacin!" calcula! el )ro-ed%o de lo, 7alore, " la de,7%ac%&! e,t9!dar " re0re,a!
u! !C-ero de do$le )rec%,%&!' Por Clt%-o la 8u!c%&! resultados!" -ue,tra lo, 7alore,
%!troduc%do, e! re!0lo!e,A el )ro-ed%o " la de,7%ac%&! e,t9!dar de e,to, 7alore,'
Pro$le-a, )ro)ue,to,
+'*'*' De,cr%$%r el arre0lo de8%!%do e! cada u!a de la, ,%0u%e!te, %!,trucc%o!e,>
aI char nombre]7+^*
*#4
$I #define ; 8+
char color];^*
cI #define =BV 4+
float R]=BV^*
dI double v]4+^*
+'*'#' De,cr%$%rla el arre0lo de8%!%do e! cada u!a de la, ,%0u%e!te, %!,trucc%o!e,' I!d%car
=u 7alore, ,o! a,%0!ado, a lo, ele-e!to, %!d%7%duale, del arre0lo'
aI float A]7^ O %2./ 8./ 4./ -6./ 12./ 12./ +./ 7.,*
$I float R]7^ O %2./ 8./ 4./ -6.,*
cI int num]12^ O %+/ 2/ 4/ 8/ 7,*
dI char valor ]6^ O %gFh/ eKh/ eEe/ g-h,*
#I char valor ]8^ O %gFe/ eKh/ hEe/ e-h,*
8I char valor ]^ O &FKE-&*
0I char valor ]^ O &DB0I-&*
+'*'/' E,cr%$%r u!a de8%!%c%&! a)ro)%ada de arre0lo )ara cada u!o de lo, ,%0u%e!te,
)ro$le-a,'
aI De8%!%r u! arre0lo de *# ele-e!to, e!tero, lla-ada c' A,%0!ar lo, 7alore, *A .A +A *5A '''A
/. a lo, ele-e!to, del arre0lo'
$I De8%!%r u! arre0lo de caractere, lla-ada direccion' A,%0!ar la cade!a fOESTEf a lo,
ele-e!to, del arre0lo' Ter-%!ar la cade!a co! el car9cter !ulo'
cI De8%!%r u! arre0lo de cuatro caractere, lla-ada letras' A,%0!ar lo, caractere, kNOA kTOA
kSO " kCO a lo, caractere, del arre0lo'
dI De8%!%r u! arre0lo de ,e%, ele-e!to, e! co-a 8lota!te lla-ada constante' A,%0!ar lo,
,%0u%e!te, 7alore, a lo, ele-e!to, del arre0lo> /'*.*3A #'+*4#4A *'.*.#A 5'32/*.A 5'/5*5/A
5'/*4/*'
+'*'.' De,cr%$%r la ,al%da )roduc%da )or lo, ,%0u%e!te, )ro0ra-a,
aI #include <stdio.h>
main!"%
int a/ b O +*
static int c]1+^ O %1/ 2/ 4/ 6/ 8/ 9/ :/ 7/ X/ +,*
for !a O +* a < 1+* TTa"
if !c]a^ Q 2 OO +" bTO a]a^*
printf!&Qd&/ b"*
,
$I #inc1ude <stdio.h>
main!"%
int a/ b O M*
static int c]1+^ O %1/ 2/ 4/ 6/ 8/ 9/ :/ 7/ X/ +,*
for!a O +* a < 1+* TTa"
if !!a Q 2" (O +" bTO c]a^*
printf!&Qd&/ b"*
,
*#2
cI #inc1ude <stdio.h>
main!,%
int a/bO+*
int c]1+^ O %1/ 2/ 4/ 6/ 8/ 9/ :/ 7/ X/ +,*
for!a O +* a < 1+* TTa"
bTO c]a^*
printf%&Qd&/ b"*
,
dI #inc1ude <stdio.h>
int c]1+^ O %1/ 2/ 4/ 6/ 8/ 9/ :/ 7/ X/ +,*
main!"%
int a/ b O M*
for!a O +* a < 1+* TTa"
if!!c]a^ Q 2" (O 1" bTO c]a^*
printf%>Qd&/ b"*
,
+'*'(' I!%c%e u! arre0lo de #5 e!tero, co! !C-ero, co!,ecut%7o, de *#5 e! adela!te'
+'*'3' I!%c%e u! arre0lo de (5 !C-ero, 8lota!te, co! 7alore, rec)roco, de lo, !C-ero, de *
a (5'
+'*'+' U! 7ector e! el )la!o )uede re)re,e!tar,e co-o u! arre0lo de do, co-)o!e!te,'
E,cr%$a u! )ro0ra-a =ue lea do, 7ectore, " calcule el 9!0ulo e!tre ello, ut%l%:a!do la
de8%!%c%&! de )roducto e,calar'
+'*'4' E,cr%$a u! )ro0ra-a =ue %!%c%e u! arre0lo co! lo, (5 )r%-ero, !C-ero, )r%-o,'
+'*'2' Co!,%derar la, ,%0u%e!te, -o!eda, eBtra!1era, " ,u, e=u%7ale!c%a, e! d&lare,
a-er%ca!o,>
L%$ra e,terl%!a> 5'3( l%$ra, )or d&lar USA
D&lar ca!ad%e!,e> *'. d&lare, )or d&lar USA
Xe! 1a)o!,> 24 "e!e, )or d&lar USA
Pe,o -eB%ca!o> /'. )e,o, )or d&lar USA
* Fra!co ,u%:o> *'/ 8ra!co, )or d&lar USA
E,cr%$%r u! )ro0ra-a %!teract%7oA 0u%ado )or -e!C,A =ue ace)te do, -o!eda, eBtra!1era, "
de7uel7a el 7alor de la ,e0u!da -o!eda )or cada u!%dad de la )r%-era -o!eda' HPor
e1e-)loA ,% la, do, -o!eda, ,o! el "e! 1a)o!, " el )e,o -e1%ca!oA el )ro0ra-a de7ol7er9
el !C-ero de )e,o, -eB%ca!o, e=u%7ale!te, a u! "e! 1a)o!,'I Ut%l%:ar lo, dato, dado,
a!ter%or-e!te )ara real%:ar la, co!7er,%o!e,' D%,eDar el )ro0ra-a de -odo =ue ,e e1ecute
re)et%da-e!teA 6a,ta =ue ,e ,elecc%o!e la co!d%c%&! de ,al%da del -e!C'
+'#' Arre0lo, " a)u!tadore,
*/5
U!a caracter,t%ca -u" )odero,a del le!0ua1e C ,o! lo, a)u!tadore,' U! a)u!tador e, u!a
7ar%a$le =ue al-ace!a u!a d%recc%&! de -e-or%aA e! la cual ,e )uede al-ace!ar al0C! t%)o
de dato,' Lo, a)u!tadore, ,e ut%l%:a! )ara re8er%r,e a dato, co-u!e,A arre0lo, " ,o$re todo a
e,tructura, d%!9-%ca, -9, ,o8%,t%cada, co-o )%la,A l%,ta,A cola,A etc' Lo, a)u!tadore, ,e
ut%l%:a! )ara de8%!%r )ar9-etro, )or re8ere!c%a'
Co!,%dere-o, el ,%0u%e!te )ro0ra-a =ue de8%!e u!a 7ar%a$le e!tera B " u! a)u!tador a u!
e!tero )B' Co-o )uede 7er,e )ara de8%!%r u!a 7ar%a$le a)u!tador $a,ta co! a!te)o!er a la
7ar%a$le el o)erador de %!d%recc%&! HRI' El )ro0ra-a a,%0!a 7alor a la 7ar%a$le B " lue0o
a,%0!a 7alor al a)u!tadorA )ara e,to ut%l%:a-o, el o)erador d%recc%&! H^I =ue al a)l%carlo a
u!a 7ar%a$le re0re,a la d%recc%&! de -e-or%a de la 7ar%a$leA e! e,te ca,o le a,%0!a-o, al
a)u!tador )B la d%recc%&! de la 7ar%a$le B' No )uede a,%0!ar,e d%recta-e!te u! 7alor a u!
a)u!tador eBce)to el 7alor !ulo HNULLIA la a,%0!ac%&! de$e 6acer,e a tra7, del o)erador
d%recc%&! o al0u!a 8u!c%&! adecuada'
#include <stdio.h>
#include <conio.h>
main!"%
int *pR/R*
R O 12*
pR O WR*
printf!&RPQd pRPQd)n&/R/pR"*
printf!&WRPQd *pRPQd)n&/WR/*pR"*
printf!&*WRPQd WpRPQd)n&/*WR/WpR"*
getch!"*
,
El )r%-er printf de,)l%e0a el co!te!%do de R " el de pR' Se de,)le0ar9 u! *# " la
d%recc%&! de -e-or%a =ue ,e le 6a"a a,%0!ado a la 7ar%a$le R' El ,e0u!do printf
de,)l%e0a la d%recc%&! de R ut%l%:a!do el o)erador W " el co!te!%do de la d%recc%&! ,eDalada
)or pR ut%l%:a!do el o)erador *' Se de,)le0ar9 !ue7a-e!te la d%recc%&! de la 7ar%a$le R "
el co!te!%do de la d%recc%&! =ue e, ,eDalada )or pRA e, dec%r *#' El Clt%-o printf
de,)l%e0a el re,ultado de a)l%car el o)erador W " * a la 7ar%a$le RA co-o e,to, ,o!
o)eradore, %!7er,o,A al a)l%car a-$o, lo =ue o$te!e-o, e, el 7alor de la 7ar%a$le RA " )or
Clt%-o ,e de,)l%e0a la d%recc%&! del a)u!tador pR' U!a )o,%$le ,al%da e, la ,%0u%e!te>
RP12 pRP22X4919
WRP22X4919 *pRP12
*WRP12 WpRP22X492+
El -a)a de -e-or%a %!d%ca e,te re,ultado ,e re)re,e!ta e! la ,%0u%e!te 8%0ura' Se -ue,tra el
co!te!%do de la -e-or%a de,)u, de e1ecutar la, a,%0!ac%o!e,' Note =ue e! pR ,e al-ace!a
la d%recc%&! de la 7ar%a$le R' La d%recc%&! de pR e,t9 . $"te, -9, all9 =ue la d%recc%&! de
RA e,to ,%0!%8%ca =ue la 7ar%a$le R ocu)a . $"te,' El o)erador siAeofHI re0re,a el ta-aDo
e! $"te, de u!a 7ar%a$le o t%)o' S% e1ecuta-o, printf!>Qd?/siAeof!int""* ,e
*/*
%-)r%-%r9 u! .' U! a)u!tador ta-$%! t%e!e u! ta-aDo de . $"te' E,to, ta-aDo, )uede!
7ar%ar de)e!d%e!do del co-)%lador " la -9=u%!a e! =ue ,e e1ecute'
Lo, arre0lo, e! C t%e!e! -uc6a, ,%-%l%tude, co! lo, a)u!tadore,' U!a 7ar%a$le de t%)o
arre0lo e, e! real%dad u! a)u!tador al )r%-er ele-e!to del arre0lo' E! el ,%0u%e!te e1e-)lo
,e declara u! arre0lo de e!tero,A u! arre0lo de doubleA u! a)u!tador a e!tero, " u!
a)u!tador a double' El arre0lo de e!tero, ,e %!%c%al%:a co! lo, !C-ero, del 5 al 2 " el de
double co! lo, 7alore, 5'2A 5'+A 5'(A 5'/ " 5'*' Se a,%0!a al a)u!tador a e!tero, la
d%recc%&! del )r%-er ele-e!to del arre0lo de e!tero, " ,e de,)l%e0a el )r%-er ele-e!to
ut%l%:a!do el ,u$!d%ce 5 " el a)u!tador a e!tero,' A co!t%!uac%&! ,e ,u-a * al a)u!tadorA
el co-)%lador ,u-a e! real%dad u!a ca!t%dad %0ual al ta-aDo de la 7ar%a$le a)u!tada )or el
a)u!tadorA e! e,te ca,o .' De,)u, ,e 6ace lo -%,-o co! el a)u!tador de doubleA !ote
=ue e! e,te ca,o ,e %!cre-e!ta el a)u!tador e! 4 "a =ue el ta-aDo de u! double e, 4
$"te,'
#include <stdio.h>
#include <conio.h>
main!"%
int *pR/R]1+^ O %+/1/2/4/6/8/9/:/7/X,*
double *pd/d]8^ O %X.+/:.+/8.+/4.+/1.+,*
pR O R*
printf!&R]+^PQd *pRPQd pRPQd)n&/R]+^/*pR/pR"*
pR O pRT1*
printf!&*pRPQd pRPQd)n&/*pR/pR"*
pd O d*
printf!&d]+^PQ8.1f *pdPQ8.1f pdPQd)n&/d]+^/*pd/pd"*
pd O pdT1*
printf!&*pdPQ8.1f pdPQd)n&/*pd/pd"*
getch!"*
,
Note =ue !o ,e re=u%ere el u,o del o)erador de d%recc%&! e! la a,%0!ac%&! pR O RA "a =ue
R e, la d%recc%&! del ele-e!to 5 del 7ector RA ta-$%! ,e )uede e,cr%$%r e,ta a,%0!ac%&!
co-o pR O WR]+^' Pode-o, ,u-ar o re,tar cual=u%er ca!t%dad a u! a)u!tador " )uede!
u,ar,e lo, o)eradore, de %!cre-e!to " decre-e!to' La ,al%da del )ro0ra-a e, la ,%0u%e!te>
R]+^P+ *pRP+ pRP22X4882
*pRP1 pRP22X4889
d]+^P X.+ *pdP X.+ pdP22X4677
*/#
*pdP :.+ pdP22X46X9
La, cade!a, de caractere, )uede! ,er %!%c%al%:ado, co! cade!a, co!,ta!te, ,% ,o! declarado,
%!d%,t%!ta-e!te co-o arre0lo, o co-o a)u!tadore,' El ,%0u%e!te )ro0ra-a -ue,tra do,
cade!a,A u!a declarada co-o arre0lo " otra co-o a)u!tador de t%)o car9cter'
#include <stdio.h>
#include <conio.h>
main!"%
char R]^ O >-sta cadena es un arreglo.?*
char *y O >-sta cadena es un apuntador.?*
printf!>Qs)n?/R"*
printf!>Qs)n?/y"*
getch!"*
,
Lo a!ter%or !o )uede 6acer,e e! arre0lo, de otro, t%)o,' E, 8or:o,o declararlo, co-o
arre0lo, )ara %!%c%al%:arlo, e! la declarac%&! co-o ,e -ue,tra'
int R]^ O %1/2/4/6/8,*
int y]7^ O %4/6/8/7,*
int *A O %1/2/4,* //;M es aceptable
A!te, de %!%c%ar lo, 7alore, de u! arre0lo declarado co-o a)u!tador ,e de$e crear el arre0lo
d%!9-%ca-e!te' La 8u!c%&! malloc de la $%$l%oteca stdlib.h )er-%te la a,%0!ac%&! de
-e-or%a a a)u!tadore,' Por e1e-)loA el ,%0u%e!te )ro0ra-a declara u! a)u!tador - a
e!tero,' Lue0o crea u! arre0lo de e!tero, de *5 ele-e!to, d%!9-%ca-e!te " le a,%0!a ,u
d%recc%&! de %!%c%o a -' U!a 7e: creado )ode-o, u,ar la !otac%&! de arre0lo o de a)u!tador
)ara 6acer o)erac%o!e, co! el arre0lo' De$e u,ar,e el ca-$%o de t%)o )ara crear el arre0lo
de e!tero, "a =ue malloc re0re,a u! a)u!tador a void H,%! t%)oI' No a,%0!ar u!a
d%recc%&! 79l%da a u! a)u!tador )uede ,er de,a,tro,o' De,)u, de u,ar la -e-or%a e,
co!7e!%e!te re0re,arla -ed%a!te la 8u!c%&! free'
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main!"%
int *m*
m O !int *"malloc!1+*sizeof!int""*
m]6^ O 8*
printf!&Qd)n&/*!mT6""*
getch!"*
free!m"*
,
*//
Note =ue mT6 O 6TmA e,o ,%0!%8%ca =ue de$e ,er ace)ta$le e,cr%$%r m]6^ co-o 6]m^A
al0u!o, co-)%ladore, =ue ,o)orta! ANSI C lo ace)ta!'
Pro$le-a, )ro)ue,to,
+'#'*' EB)l%car cada u!a de la, ,%0u%e!te, declarac%o!e,>
aI int *pi*
$I float a/ b*
float *pa/ *pb*
cI float R O 4.8*
float *pR O WR*
dI char cl/ c2/ c4*
char *pcl/ *pc2/ *pc4 O Wc1*
+'#'#' U! )ro0ra-a e! C co!t%e!e la, ,%0u%e!te, %!,trucc%o!e,>
char u/ v O eBe*
chat *pu/ *pv O Wv *
*pv O vT1*
pu O *pvT1*
pu O Wu *
Su)o!0a-o, =ue cada car9cter ocu)a u! $"te de -e-or%a' S% el 7alor a,%0!ado a u ,e
al-ace!a e! la d%recc%&! F4C b6eBadec%-alI " el 7alor a,%0!ado a 7 ,e al-ace!a e! F4DA
e!to!ce,>
aI [Lu 7alor e, re)re,e!tado )or WvW
$I [Lu 7alor e, a,%0!ado a pvW
cI [Lu 7alor e, re)re,e!tado )or *pvW
dI [Lu 7alor e, a,%0!ado a uW
eI [Lu 7alor a, re)re,e!tado )or WuW
1I [Lu 7alor e, a,%0!ado a puW
0I [Lu 7alor e, re)re,e!tado )or *puW
+'#'/' U! )ro0ra-a t%e!e la ,%0u%e!te declarac%&!>
int a]1+^ O %4/8/:/X/11/14/18/1:/1X/21,*
D%0a el ,%0!%8%cado o el 7alor de la, ,%0u%e!te, eB)re,%o!e,>
aI a
$I aT2
cI *a
dI *!aT8"
eI *!aT*!aT1""
+'#'.' Dada la ,%0u%e!te declarac%&! e,cr%$a la, ,%0u%e!te, eB)re,%o!e, ut%l%:a!do !otac%&!
de arre0lo, " el o)erador ^'
int a]1+^ O %4/8/:/X/11/14/18/1:/1X/21,*
aI a
$I aT2
*/.
cI *a
dI *!aT8"
eI *!aT*!aT1""
+'#'(' Dada la ,%0u%e!te declarac%&! e,cr%$a la, ,%0u%e!te, eB)re,%o!e, ut%l%:a!do !otac%&!
de a)u!tadore,'
int a]1+^ O %4/8/:/X/11/14/18/1:/1X/21,*
aI a]4^
$I a]a]2^^
cI a]i-2*.^
dI Wa]:Q
eI Wa]a]1^^
+'/' Pa,o de arre0lo, co-o )ar9-etro,
La, 8u!c%o!e, )uede! ace)tar arre0lo, co-o )ar9-etro,' El ta-aDo del arre0lo )uede o !o
e,)ec%8%car,e e! la declarac%&! de la 8u!c%&!' Lo, )ar9-etro, ,%e-)re )a,a! )or re8ere!c%aA
e, dec%rA !o ,e co)%a! lo, 7alore, a la 8u!c%&! " ,%e-)re e, )o,%$le -od%8%car lo, 7alore, de
lo, )ar9-etro, reale,'
E! lo, )rotot%)o, de la, 8u!c%o!e, )uede! o !o %!clu%r,e el !o-$re de lo, )ar9-etro,
8or-ale,' S% !o ,e %!clu"e! 6a" =ue colocar u!o, corc6ete, )ara %!d%car =ue ,e trata de u!
arre0lo'
Note =ue !o ,e ut%l%:a el o)erador de %!d%recc%&!A lo, )ar!te,%, cuadrado, HPQI t%e!e! la
-%,-a 8u!c%&!' E! la -a"ora de lo, ca,o, 6a" =ue %!d%car el ta-aDo del arre0lo co-o u!
)ar9-etro ad%c%o!al a la 8u!c%&!' Por e1e-)loA ,% de,ea-o, de8%!%r u!a 8u!c%&! =ue calcule
el )ro-ed%o de u! arre0loA e, !ece,ar%o )a,ar co-o )ar9-etro el !C-ero de ele-e!to, =ue
,e )roce,ar9!'
double promedio!double R]^/ int tamanio"%
int i*
double suma O +*
for!iO+ * i<tamanio* iTT"
suma TO R]i^*
return suma/tamanio*
,
int main!"%
double a]^O%4/6.8/9.8/:/8/9/7,*
double b]^O%8.4/9.2/:.8/9/8/6/8/:/9/X,*
printf!&Promedio de a es Q9.2f)n&/promedio!a/:""*
printf!&Promedio de b es Q9.2f)n&/promedio!b/1+""*
getch!"*
,
*/(
U!a 8u!c%&! )ara calcular la de,7%ac%&! e,t9!dar ,e )uede $a,ar e! e,ta 8u!c%&! =ue calcula
el )ro-ed%o'
double desviacion!double R]^/ int tamanio"%
int i*
double sumaO+/prom*
promOpromedio!R/tamanio"*
for!iO+*i<tamanio*iTT"
suma TO!R]i^-prom"*!R]i^-prom"*
return s#rt!suma/!maR-1""*
,
La ,%0u%e!te 8u!c%&! e, u! e1e-)lo de %-)re,%&! de u! arre0lo' El arre0lo ,e de,)l%e0a e!
re!0lo!e, de oc6o ele-e!to,'
void imprimeBrreglo!double a]^/ int n"%
int i*
for!i O +* i< n* iTT"%
printf!>Q7.2f?/a]i^"*
if!!iT1"Q7OO+"
printf!&)n&"*
,
printf!&)n&"*
,
Co-o otro e1e-)lo de )roce,a-%e!to de arre0lo, 7ere-o, u!a 8u!c%&! =ue %!7%erte lo,
ele-e!to, de u! arre0lo' El e! )roce,o ,e ut%l%:a u!a 7ar%a$le auB%l%ar )ara al-ace!ar
te-)oral-e!te lo, ele-e!to, =ue ,e %!terca-$%a!'
void invierteBrreglo!double a]^/ int n"%
int i*
double temp*
for!i O +* i< n/2* iTT"%
temp O a]i^*
a]i^ O a]n-i-1^*
a]n-i-1^ O temp*
,
,
U!a o)erac%&! %-)orta!te e, la $C,=ueda de dato, e! u! arre0lo' E,ta ,e real%:a
co-)ara!do cada ele-e!to co! el ele-e!to $u,cado' La ,%0u%e!te 8u!c%&! $u,ca u!
ele-e!to de!tro de u! arre0lo " re0re,a el !d%ce al ele-e!to do!de e!co!tr& la )r%-era
co%!c%de!c%a o u! ;* ,% la $C,=ueda 8raca,&'
int busca!double R/ double a]^/ int n"%
int i*
for!i O +* i<n* iTT"
*/3
if!ROOa]i^"
return i*
return -1*
,
La $C,=ueda )uede -e1orar,e ,% el arre0lo e,t9 orde!ado' La orde!ac%&! e, otra o)erac%&!
%-)orta!te e! arre0lo,' Fere-o, el -todo -9, ,%-)le de orde!ac%&!' E,te co!,%,te e!
co-)arar ele-e!to, del arre0loA ,% el de !d%ce -e!or e, -9, 0ra!deA ,e %!7%erte!A al 8%!al
de e,te )roce,o te!dre-o, el ele-e!to -9, )e=ueDo al )r%!c%)%o del arre0lo' El )roce,o ,e
re)%te 6a,ta aco-odar lo, re,ta!te,' La ,%0u%e!te 8u!c%&! lle7a a ca$o e,te )roce,o'
void Yurbu.a!double a]^/int tam"%
for!int i O +* i< tam - 1 * iTT"
for!int . O i* .< tam*.TT"
if!a]i^>a].^"%
double temp O a]i^*
a]i^Oa].^*
a].^Otemp*
,
,
U!a 7e: orde!ado u! arre0lo )ode-o, ut%l%:ar u! al0or%t-o -9, e8%c%e!te )ara lle7ar a
aca$o $C,=ueda, e! l' El al0or%t-o de $C,=ueda $%!ar%a Ho de $%,ecc%&!I e, u!o de lo, -9,
co-u!e,' E,te al0or%t-o co!,%,te e! ele0%r co-o )r%-er ele-e!to )ara $u,car al ele-e!to
de la -%tad del arre0loA ,% e, el =ue $u,ca-o,A el )roce,o ter-%!aA ,%!o " el ele-e!to e, -9,
0ra!de =ue el =ue $u,ca-o,A ele0%-o, el ele-e!to de la -%tad %!8er%or del arre0loA ,%!o
ele0%-o, el de la -%tad ,u)er%or del arre0lo' El )roce,o co!t%!Ca 6a,ta e!co!trar el
ele-e!to o te!er u! %!ter7alo de $C,=ueda !ulo'
Al0or%t-o BC,=ueda $%!ar%a' Bu,ca e! u! arre0lo a de dato, orde!ado,' Se ut%l%:a! la,
7ar%a$le, $a1o " alto )ara de8%!%r el %!ter7alo de $C,=ueda' La 8u!c%&! re0re,a el !d%ce del
ele-e!to ,% ,e e!cue!tre el 7alor $u,cadoA ,%!o re0re,a ;*'
*' HACER
#' -ed%o N H$a1o<altoI?#
/' SI aP-ed%oQNNB ENTONCES
re0re,ar -ed%o
.' SINO
SIHaP-ed%oQ`BI
alto N -ed%o;*
SINO
$a1o N -ed%o<*
(' MIENTRASH$a1odNaltoI
3' re0re,ar ;*
El ,%0u%e!te )ro0ra-a de8%!e u! arre0lo a " $u,ca cuatro ele-e!to, e! l'
#include <stdio.h>
*/+
#include <conio.h>
int buscaYinaria!int a]^/int R/int n"*
main!"%
int b]^O%1/4/6/8/7/12/18/2+/28/46,*
printf!&Qd)n&/buscaYinaria!b/1/1+""*
printf!&Qd)n&/buscaYinaria!b/28/1+""*
printf!&Qd)n&/buscaYinaria!b/46/1+""*
printf!&Qd)n&/buscaYinaria!b/29/1+""*
getch!"*
,
int buscaYinaria!int a]^/int R/int n"%
int medio/ba.oO+/altoOn-1*
do%
medio O !ba.oTalto"/2*
if!a]medio^OOR"
return medio*
else
if!a]medio^>R"
alto O medio-1*
else
ba.o O medioT1*
,while!ba.o<Oalto"*
return -1*
,
Se )uede ut%l%:ar la !otac%&! de a)u!tador )ara el )a,o de arre0lo, co-o )ar9-etro, a
8u!c%o!e,' Por e1e-)loA la 8u!c%&! Bur$u1a =ue orde!a u! arre0lo de double )uede
e,cr%$%r,e de la ,%0u%e!te -a!era'
void Yurbu.a!double *a/int tam"%
for!int i O +* i< tam - 1 * iTT"
for!int . O i* .< tam*.TT"
if!*!aTi"> *!aT.""%
double temp O *!aTi"*
*!aTi" O *!aT."*
*!aT." O temp*
,
,
Pro$le-a, )ro)ue,to,
+'/'*' E,cr%$a u!a 8u!c%&! =ue ace)te u! arre0lo de 8lota!te, " u! e!tero =ue re)re,e!te el
!C-ero de ele-e!to, del arre0lo " de,)l%e0ue u! 6%,to0ra-a del arre0lo' A1u,te el ta-aDo
de la, $arra, )ara -o,trar el ele-e!to -9, 0ra!de co! u!a cade!a de a,ter%,co, de lo!0%tud
*/4
/5' E1e-)loA ,% u! arre0lo de ( ele-e!to, co!t%e!e #'5A /'5A ('5A *'5 " 3'5A de,)le0ar la
,%0u%e!te 8%0ura>
2 **********
4 ***************
8 *************************
1 *****
9 ******************************
+'/'#' E,cr%$a 8u!c%o!e, )ara lo ,%0u%e!te>
aI U!a 8u!c%&! =ue re0re,e el 7alor del ele-e!to -9, 0ra!de de u! arre0lo' E,cr%$a otra
8u!c%&! )ara e!co!trar el ele-e!to -9, )e=ueDo'
$I U!a 8u!c%&! =ue re0re,e el 7alor del ele-e!to -9, 0ra!de e! 7alor a$,oluto de u!
arre0lo' E,cr%$a otra 8u!c%&! )ara e!co!trar el ele-e!to -9, )e=ueDo e! 7alor a$,oluto'
cI U!a 8u!c%&! =ue cue!te lo, ele-e!to, -a"ore, =ue cero e! u! arre0lo'
dI U!a 8u!c%&! =ue calcule la ,u-a de lo, cuadrado, de u! arre0lo de ele-e!to, de do$le
)rec%,%&!'
eI U!a 8u!c%&! =ue el%-%!e lo, ele-e!to, re)et%do, de u! arre0lo de e!tero,' De$er9
-od%8%car el ta-aDo del arre0lo de!tro de la 8u!c%&!'
8I U!a 8u!c%&! =ue cue!te el !C-ero de ele-e!to, de u! arre0lo de e!tero, =ue ,o!
-e!ore, =ue ceroA %0uale, a cero " -a"ore, =ue cero' Puede re0re,ar lo, re,ultado, e! otro
arre0lo de tre, ele-e!to,'
0I U!a 8u!c%&! =ue e!cue!tre el 7alor del ele-e!to =ue -9, ,e re)%te e! u! arre0lo'
6I U!a 8u!c%&! =ue e!cue!tre el J;,%-o e!tero -9, )e=ueDo de u! arre0lo de !C-ero,
e!tero, a'
+'/'/' S% u! arre0lo t%e!e ! ele-e!to,A [cu9l e, el !C-ero -9B%-o de c%clo, 6ec6o, )or el
al0or%t-o de $C,=ueda $%!ar%aW
+'/'.' E,cr%$%r u!a 8or-a recur,%7a del al0or%t-o de $C,=ueda $%!ar%a'
+'.' Arre0lo, de do, d%-e!,%o!e,
Lo, arre0lo, )uede! te!er -9, de u!a d%-e!,%&!' Cada d%-e!,%&! )uede te!er d%8ere!te
!C-ero de co-)o!e!te,' U! arre0lo de do, d%-e!,%o!e, )uede re)re,e!tar,e co-o u!a
ta$la' Lo, arre0lo, de do, d%-e!,%o!e, ,e declara! de acuerdo al e,=ue-a
t%)o 7ar%a$lePre!0lo!e,QPcolu-!a,QM
*/2
Por e1e-)lo el ,%0u%e!te arre0lo declara u!a ta$la co! c%!co re!0lo!e, " cuatro colu-!a,'
Lo, re!0lo!e, 7ara! de 5 a . " la, colu-!a, de 5 a /'
int a]8^]6^*
Pode-o, re)re,e!tarlo co-o u!a ta$la co-o ,e -ue,tra'
a]+^]+^ a]+^]1^ a]+^]2^ a]+^]4^
a]1^]+^ a]1^]1^ a]1^]2^ a]1^]4^
a]2^]+^ a]2^]1^ a]2^]2^ a]2^]4^
a]4^]+^ a]4^]1^ a]4^]2^ a]4^]4^
a]6^]+^ a]6^]1^ a]6^]2^ a]6^]4^
Lo, arre0lo, de do, d%-e!,%o!e, ,e %!%c%al%:a! de 8or-a ,%-%lar a lo, de u!a d%-e!,%&!'
Ha" 7ar%a, o)c%o!e, e! la !otac%&! =ue ,e -ue,tra! a co!t%!uac%&!'
int a]6^
]4^ O %%4/9/1,/%8/:/2,/%2/1/8,/%7/:/9,,*
int a]^
]4^ O %%4/9/1,/%8/:/2,/%2/1/8,/%7/:/9,,*
int a]6^
]4^ O %4/9/1/8/:/2/2/1/8/7/:/9,*
Note =ue la o)c%&!
int a]6^]^ O %%4/9/1,/%8/:/2,/%2/1/8,/%7/:/9,,*
No e, ace)tada )or el co-)%lador "a =ue de$e de8%!%r,e el ta-aDo de toda, la, d%-e!,%o!e,
eBce)to la )r%-ero'
La %!%c%al%:ac%&! de arre0lo, de do, d%-e!,%o!e, re=u%ere del u,o de c%clo, a!%dado,' El
,%0u%e!te 8ra0-e!to de c&d%0o %!%c%al%:a u! arre0lo de . re!0lo!e, " ( colu-!a, co!
7alore, %0uale, al )roducto de ,u, !d%ce,'
int a]6^]8^/i/.*
for!iO+*i<6*iTT"
for!.O+*.<8*.TT"
a]i^].^ O i*.*
Co-o u! e1e-)lo del u,o de arre0lo, $%d%-e!,%o!ale, 7ea-o, el 1ue0o de la 7%da de8%!%do
)or el -ate-9t%co Go6! Horto! Co!@a" e! *2+5' E,te co!,%,te e! ,%-ular u!a )o$lac%&!
$%d%-e!,%o!al de clula,' La, clula, )uede! e,tar e! u!o de do, e,tado, )o,%$le,A 7%7a, o
-uerta,' La, clula, %!teractCa! co! ,u, oc6o 7ec%!o,A do, a cada ladoA u!o arr%$aA otro
*.5
a$a1o " cuatro e! d%recc%&! d%a0o!al' E! cual=u%er -o-e!to )uede! ocurr%r la, ,%0u%e!te,
tra!,%c%o!e,>
*' U!a clula =ue te!0a -e!o, de do, 7ec%!o, -uere )or cau,a de la $a1a )o$lac%&!'
#' U!a clula =ue te!0a -9, de tre, 7ec%!o, -uere )or cau,a de la alta )o$lac%&!'
/' U!a clula =ue te!0a do, o tre, 7ec%!o, ,o$re7%7e a la ,%0u%e!te 0e!erac%&!'
.' U!a clula -uerta =ue te!0a eBacta-e!te tre, 7ec%!o, 7%7o,A 7uel7e a la 7%da'
Re)re,e!tare-o, el -u!do do!de 7%7e! la, clula, -ed%a!te u! arre0lo de do, d%-e!,%o!e,
lla-ado -u!do' U,are-o, u! arre0lo de la, -%,-a, d%-e!,%o!e, )ara 6acer lo, c9lculo, e!
cada )a,o ,%! alterar el e,tado %!%c%al' Se ut%l%:a! do, 7ectore,A dB " d"A )ara 0e!erar lo,
!d%ce, de lo, 7ec%!o, de cada clula' I!%c%al-e!te el -u!do t%e!e 7alore, aleator%o, de 5 "
*' A cada )a,o ,e co)%a el -u!do e! el arre0lo te-)oralA " de,)u, ,e a)l%ca! la, re0la, de
,o$re 7%7e!c%a al arre0lo te-)oral ele-e!to )or ele-e!to " ,e actual%:a el arre0lo -u!do'
El al0or%t-o e, el ,%0u%e!te'
Al0or%t-o Gue0o de la 7%da' S%-ula le e7oluc%&! de u! ,%,te-a de clula,' Se ut%l%:a! do,
arre0lo, u!o =ue re)re,e!te el -u!do de clula, " otro te-)oral )ara 6acer lo, c9lculo,'
Lo, arre0lo, to-a! do, 7alore, *A ,% la clula e,t9 7%7a " 5 ,% e,t9 -uerta' Se ut%l%:a! do,
arre0lo, dB N b*A5A*A*A*A5A;*A;*c " d" N b;*A;*A;*A5A*A*A*A5c )ara calcular lo, 7ec%!o, de
cada clulaA B " " ,o! la, coorde!ada, del 7ec%!o'
*' I!%c%al el -u!do co! 7alore, aleator%o,'
#' REPETIR
/' co)%ar -u!do al arre0lo te-)oral
.' PARA re!0lo! N 5 HASTA MAEREN ;* HACER
(' PARA colu-!a N * HASTA MAEREN;* HACER
3' ,u-a N 5
+' PARA 7ec%!oN* HASTA 4 HACER
4' B N %<dBP7ec%!oQ
2' SI Bd5 ENTONCES
B N MAEREN;*
*5' SI B N MAEREN ENTONCES
B N 5
**' " N 1<d"P7ec%!oQ
*#' SI "d5 ENTONCES
" N MAECOL;*
*/' SI " N MAECOL ENTONCES
" N 5
*.' ,u-a N ,u-a < -u!doPBQP"QI
*(' FINPARA P7ec%!oQ
*3' PSe a)l%ca! la, re0la, de ,o$re 7%7e!c%aQ
SI H-u!doPre!0lo!QPcolu-!aQN*IENTONCES
SIH,u-ad# O ,u-a`/I ENTONCES
-u!doPre!0lo!QPcolu-!aQ N 5
SINO
SI ,u-aN/ ENTONCES
-u!doPre!0lo!QPcolu-!aQ N *
*.*
*+' FINPARA Pcolu-!aQ
*4' FINPARA Pre!0lo!Q
*+' HASTA ,%e-)re
El )ro0ra-a co-)leto e! C e, el ,%0u%e!te' Lo, arre0lo, dB " d" ,e ,u-a! a lo, !d%ce,
re!0l&! " colu-!a del arre0lo $%d%-e!,%o!al )ara o$te!er la, coorde!ada, HBA "I del
7ec%!o' La coorde!ada B del 7ec%!o ,e al-ace!a e! B " la coorde!ada " e! "' U!a clula e!
la 8ro!tera del arre0lo e, 7ec%!a de la, clula, del otro eBtre-o del arre0loA lo -%,-o de
a)l%ca a la, e,=u%!a,' Por e1e-)loA la clula e! H5A5I e, 7ec%!a de la, clula, e! H5A *IA H*A *IA
H*A 5IA HMAEREN ;*A *IA HMAEREN ;*A 5IA HMAEREN ;*A MAECOL ;*IA H5A MAECOL
;*I " H*A MAECOL ;*IA do!de ,e 6a )ue,to )r%-ero el re!0l&! " lue0o la colu-!a' El
)ro0ra-a ,e det%e!e e! cada c%clo 6a,ta =ue ,e )re,%o!e la letra k=O'
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define =BVK-; 1+
#define =BVCM0 1+
main!"%
int mundo]=BVK-;^]=BVCM0^/temp]=BVK-;^]=BVCM0^*
int dR]7^O%-1/+/1/1/1/+/-1/-1,*
int dy]7^O%-1/-1/-1/+/1/1/1/+,*
int i/./c/suma/R/y*
char c*
srand!time!+""*
for!iO+*i<=BVK-;*iTT"
for!.O+*.<=BVCM0*.TT"
mundo]i^].^Orand!"Q2*
do%
printf!&)n&"*
for!iO+*i<=BVK-;*iTT"%
for!.O+*.<=BVCM0*.TT"%
temp]i^].^Omundo]i^].^*
printf!&Qd &/mundo]i^].^"*
,
printf!&)n&"*
,
for!iO+*i<=BVK-;*iTT"
for!.O+*.<=BVCM0*.TT"%
suma O +*
for!cO+*c<7*cTT"%
R O iTdR]c^*
if!R<+"RO=BVK-;-1*
if!ROO=BVK-;"RO+*
y O .Tdy]c^*
*.#
if!y<+"yO=BVCM0-1*
if!yOO=BVCM0"yO+*
suma TO temp]R^]y^*
,
if!mundo]i^].^"%
if!suma<2[[suma>4"
mundo]i^].^O+*
,else
mundo]i^].^OsumaOO4*
,
cOgetch!"*
,while!c(Oe#e"*
,
Pro$le-a, )ro)ue,to,
+'.'*' De,cr%$a lo, arre0lo, declarado, e! cada ca,o'
aI int m]8^]8^*
$I #define B 99
#define Y 142
char memo]B^]Y^*
c" #define =BVV 2+
#define =BV` 28
double tablero]=BV`^]=BVV^*
d" #define B;C'M 7*
#define B0FM 7
unsigned char .uego]B0FM^]B;C'M^*
+'.'#' De,cr%$%r el arre0lo de8%!%do e! cada u!a de la, ,%0u%e!te, %!,trucc%o!e,' I!d%car =u
7alore, ,o! a,%0!ado, a lo, ele-e!to, %!d%7%duale, del arre0lo'
aI int p]2^]6^ O %1/ 4/ 8/ :,*
$I int p]2^]6^ O %1/ 1/ 4/ 4/ 8/ 8/ :/ :,*
cI int P]2^]6^ O %%1/ 4/ 8/ :,/%2/ 6/ 9/ 7,,*
dI int p]2^]6^ O%%1/ 4,/%8/ :,,*
eI char damas]7^]7^ O %%+/1/+/1/+/1/+/1,/ %1/+/1/+/1/+/1/1,/
%+,/%+,/%+,/%+,/%+/2/+/2/+/2/+/2,/ %2/+/2/+/2/+/2/+,,*
+'.'/' E,cr%$%r u!a de8%!%c%&! a)ro)%ada de 8or-ac%&! )ara cada u!o de lo, ,%0u%e!te,
)ro$le-a,'
aI De8%!%r u!a 8or-ac%&! $%d%-e!,%o!al de e!tero,A de /B.A lla-ada ventas' A,%0!ar lo,
,%0u%e!te, 7alore, %!%c%ale, a lo, ele-e!to, de la 8or-ac%&!
1+ 12 16 19
2+ 22 26 29
4+ 42 46 49
$I De8%!%r u!a 8or-ac%&! $%d%-e!,%o!al de e!tero,A de .B+A lla-ada co-)ra,' A,%0!ar lo,
,%0u%e!te, 7alore, %!%c%ale, a lo, ele-e!to, de la 8or-ac%&!
*./
1+ 12 16 + + + +
+ 2+ 22 + + + +
+ 4+ 42 + 26 12 4X
+ + + + + + 12
+'.'.' Mod%8%=ue el )ro0ra-a del 1ue0o de la 7%da )ara )er-%t%r =ue el u,uar%o de8%!a la
co!8%0urac%&! %!%c%al de la, clula,' Al0u!a, co!8%0urac%o!e, !o ca-$%a!A )or e1e-)loA
cuatro clula, 8or-a!do u! ro-$o o u! cuadrado' Otra, ,o! ccl%ca,A tre, clula, al%!eada,
alter!a! e!tre u!a d%,tr%$uc%&! 6or%:o!tal " u!a 7ert%cal' El )ro0ra-a e, -9, %lu,trat%7o ,% el
-u!do ,e -a!t%e!e 8%1o e! la 7e!ta!a " ,e -ue,tra! lo, ca-$%o, a cada )a,o' Co!,ulte
co-o lo0rar e,to co! el co-)%lador de C =ue ut%l%:a e %-)le-!telo'
+'(' Pa,o de arre0lo, de do, d%-e!,%o!e, co-o )ar9-etro, a
8u!c%o!e,
Para e,)ec%8%car arre0lo, de do, d%-e!,%o!e, co-o )ar9-etro, e! u!a 8u!c%&!A ,e de$e
e,)ec%8%car el ta-aDo de ,e0u!da d%-e!,%&!A e! la )r%-era d%-e!,%&! ,e )uede )o!er ,olo
u! )ar de corc6ete, 7aco,' Por e1e-)loA la ,%0u%e!te 8u!c%&! de,)l%e0a u! arre0lo de do,
d%-e!,%o!e, de caractere,' Pa,a-o, co-o ar0u-e!to, el !C-ero de re!0lo!e, " colu-!a,
del arre0lo'
void despliega!char a]^]1+^/int r/int c"%
int i/.*
for!iO+*i<r*iTT"%
for!.O+*.<c*.TT"
printf!>Q2c?/a]i^].^"*
printf!>)n?"*
,
,
Cal%8%cac%o!e, de u! 0ru)o de alu-!o,
U! )ro8e,or cal%8%ca 6ac%e!do tre, eB9-e!e, )arc%ale, lo, cuale, cue!ta! el 45] de la
cal%8%cac%&! 8%!al " u! eBa-e! 8%!al =ue cue!ta el otro #5]' Para )roce,ar la, cal%8%cac%o!e,
de8%!%re-o, u! arre0lo de do, d%-e!,%o!e, co! #( re!0lo!e, " ( colu-!a,' La, )r%-era, /
colu-!a, al-ace!ar9! la, / cal%8%cac%o!e, )arc%ale,A la cuarta colu-!a al-ace!ar9 la
cal%8%cac%&! del eBa-e! 8%!al " la =u%!ta el )ro-ed%o 8%!al'
#include <stdio.h>
#include <conio.h>
void leerCalificaciones!float cal]^]8^/int nBlumnos"*
void procesaCalificaciones!float cal]^]8^/int nBlumnos"*
void imprime!float cal]^]8^/int nBlumnos"*
main!"%
*..
float calificaciones]28^]8^*
int numBlumnos*
printf!&Cuantos alumnosZ&"*
scanf!&Qd&/WnumBlumnos"*
leerCalificaciones!calificaciones/numBlumnos"*
procesaCalificaciones!calificaciones/numBlumnos"*
imprime!calificaciones/numBlumnos"*
getch!"*
,
void leerCalificaciones!float cal]^]8^/int nBlumnos"%
int i/.*
for!i O +*i<nBlumnos*iTT"%
printf!&Feclee calificaciones de alumno Qi)n&/i"*
for!.O+*.<9*.TT"%
scanf!&Qf&/Wcal]i^].^"*
,
,
,
void procesaCalificaciones!float cal]^]8^/int nBlumnos"%
int i/.*
float suma*
for!i O +*i<nBlumnos*iTT"%
sumaO+*
for!.O+*.<8*.TT"
sumaTOcal]i^].^*
cal]i^]9^Osuma/8*+.7Tcal]i^]8^*+.2*
,
,
void imprime!float cal]^]8^/int nBlumnos"%
int i/.*
printf!&;o.)t1)t2)t4)t6)t8)t9)tfinal)n&/i"*
for!i O +*i<nBlumnos*iTT"%
printf!&Qd&/i"*
for!.O+*.<:*.TT"%
printf!&)tQ8.1f&/cal]i^].^"*
,
printf!&)n&"*
,
,
La 8u!c%&! de lectura de dato, )er-%te =ue la, cal%8%cac%o!e, ,ea! %!troduc%da, e! u! ,olo
re!0l&! ,e)ara!do cada !C-ero )or e,)ac%o, e! $la!co' U! e1e-)lo de e!trada e, el
,%0u%e!te>
*.(
Cuantos alumnosZ4
Feclee calificaciones de alumno +
2 6 7 9
Feclee calificaciones de alumno 1
9 9 : :
Feclee calificaciones de alumno 2
: : 7 7
;o. 1 2 4 -D Cal final
+ 2.+ 6.+ 7.+ 9.+ 8.8
1 9.+ 9.+ :.+ :.+ 9.:
2 :.+ :.+ 7.+ 7.+ :.:
U!a -atr%: e, u! arre0lo de do, d%-e!,%o!e, de !C-ero, de )u!to 8lota!te' La, -atr%ce,
t%e!e! -uc6a, a)l%cac%o!e, e! el a!9l%,%, de ,%,te-a, l%!eale,A tale, co-o rede, elctr%ca,'
La, o)erac%o!e, co! -atr%ce, -9, co-u!e, ,o! la, o)erac%o!e, ar%t-t%ca,> ,u-aA re,ta "
-ult%)l%cac%&!' La, -atr%ce, ,e caracter%:a! )or el !C-ero de re!0lo!e, " de colu-!a, =ue
t%e!e!A a e,to, !C-ero, ,e le, lla-a ra!0o " ,e eB)re,a co-o re!0lo!e, E colu-!a,' Por
e1e-)loA u!a de ( re!0lo!e, " 4 colu-!a, ,e eB)re,a )or (B4'
Por e1e-)loA la ,u-a de -atr%ce, ,e de8%!e co-o u!a -atr%: e! la =ue lo, ele-e!to, ,o!
%0uale, a la ,u-a de lo, ele-e!to, corre,)o!d%e!te, de la, -atr%ce, or%0%!ale,' La, -atr%ce,
de$e! te!er el -%,-o !C-ero de re!0lo!e, " de colu-!a, )ara )oder ,u-ar,e' U!a 8u!c%&!
)ara ,u-ar -atr%ce, e, la ,%0u%e!te'
void suma=atriA!double a]^]1+^/double b]^]1+^/int ren/ int
col/double c]^]1+^"%
for!int iO+ *i<ren *iTT"
for!int .O+ *.<col *cTT"
c]i^].^ O a]i^].^T b]i^].^*
,
La -ult%)l%cac%&! e, u!a o)erac%&! u! ta!to -9, co-)l%cada' Dada, do, -atr%ce, A de - B
! " B de ! B )A el )roducto de e,ta, e, u!a -atr%: C de - B )A tal =ue el ele-e!to HiA jI del
)roducto ,e calcula co-o'

+ + + +
n
k
kj ik nj in j i j i j i ij
b a b a b a b a b a c
*
/ / # # * *
'''
Do!de ,e 6a ut%l%:ado la !otac%&! de ,u-ator%a' Ade-9, a
ik
e, el ele-e!to del re!0l&! i
colu-!a k de la -atr%: AA b
kj
e, el ele-e!to del re!0l&! k colu-!a j de la -atr%: BA " c
ij
e,
el ele-e!to del re!0l&! i colu-!a j de la -atr%: C' U!a 8u!c%&! )ara e!co!trar el )roducto
de do, -atr%ce, e, la ,%0u%e!te'
void producto=atriA!double a]^]1+^/int ra/ int ca/
double b]^]1+^/int rb/ int cb/double c]^]1+^"%
double suma *
*.3
for!int iO+ *i<ra *iTT"
for!int .O+ *.<cb *cTT"%
suma O +.+*
for!int cO+ *c<ca *cTT"%
suma O a]i^]c^*b]c^].^*
c]i^].^ O suma*
,
,
Otra 8or-a de -a!e1ar arre0lo, de do, d%-e!,%o!e, e, ut%l%:ar a)u!tadore,' El a)u!tador
,eDala al %!%c%o de u! arre0lo u!%d%-e!,%o!al " ,e )a,a co-o )ar9-etro el !C-ero de
re!0lo!e, " colu-!a, de la -atr%:' U!a 8u!c%&! )ara ,u-ar -atr%ce, e, la ,%0u%e!te'
void suma=at!int nren/int ncol/float *mat1/ float *mat2/
float *mat4"%
int i/ .*
for! iO+* i<nrow* iTT "
for! .O+* .<ncol* .TT "
mat4]i*ncolT.^ O mat1]i*ncolT.^Tmat2]i*ncolT.^*
/* *!mat4Ti*ncolT."^ O *!mat1Ti*ncolT."T*!mat2T i*ncolT."*/
,
El ,%0u%e!te )ro0ra-a ,u-a " -ult%)l%ca do, -atr%ce, de .B.' Se %!clu"e u!a 8u!c%&! )ara
%-)r%-%r u!a -atr%:'
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void leer=at!int nren/int ncol/float *mat"%
int i/ .*
for! iO+* i<nren* iTT"
for! .O+* .<ncol* .TT"
scanf!> Qf?/Wmat]i*ncolT.^"*
,
void suma=at!int nren/int ncol/float *mat1/ float *mat2/
float *mat4"%
int i/ .*
for! iO+* i<nren* iTT "
for! .O+* .<ncol* .TT "
mat4]i*ncolT.^ O mat1]i*ncolT.^Tmat2]i*ncolT.^*
/* *!mat4Ti*ncolT."^ O *!mat1Ti*ncolT."T*!mat2T i*ncolT."*/
,
void prod=at!int nren/int ncol/float *mat1/float *mat2/float
*mat4"%
*.+
int i/./c*
for!iO+* i<nren* iTT "
for!.O+* .<ncol* .TT "%
mat4]i*ncolT.^ O +*
for!cO+*c<ncol*cTT"
mat4]i*ncolT.^ TO mat1]i*ncolTc^*mat2]c*ncolT.^*
,
,
void print=at!int nren/int ncol/float *mat" %
int i/.*
for!iO+* i<nren* iTT "%
for!.O+* .<ncol* .TT "
printf!&Q.+f &/mat]i*ncolT.^"*
printf!&)n&"*
,
printf!&)n&"*
,
int main!void" %
float *a/*b/*c*
int ren/col*
printf!>Feclee num. de renglones y columnasP >"*
scanf!> Qd Qd?/Wren/Wcol"*
a O !float *"malloc!ren*col*sizeof!float""*
b O !float *"malloc!ren*col*sizeof!float""*
c O !float *"malloc!ren*col*sizeof!float""*
printf!>Feclee datos para la matriA B.>"*
leer=at!ren/col/a"*
printf!>Feclee datos para la matriA Y.>"*
leer=at!ren/col/b"*
print=at!ren/col/!float *"a"*
print=at!ren/col/!float *"b"*
suma=at!ren/col/!float *"a/!float *"b/!float *"c"*
print=at!ren/col/!float *"c"*
prod=at!ren/col/!float *"a/!float *"b/!float *"c"*
print=at!ren/col/!float *"c"*
getch!"*
,
Pro$le-a, )ro)ue,to,
+'('*' Para cada u!a de la, ,%0u%e!te, ,%tuac%o!e,A e,cr%$%r la, de8%!%c%o!e, " declarac%o!e,
!ece,ar%a, )ara tra!,8er%r la, 7ar%a$le, " lo, arre0lo, %!d%cado, de,de -a%! 6a,ta la 8u!c%&!
lla-ada -ue,tra' E! cada ca,oA a,%0!ar el 7alor de7uelto )or la 8u!c%&! a la 7ar%a$le 8loat B'
aI Tra!,8er%r la, 7ar%a$le, de t%)o 8loat a " $ " la 8or-ac%&! u!%d%-e!,%o!al de #5 ele-e!to,
e!tero, 1 ,tar'
*.4
$I Tra!,8er%r la 7ar%a$le e!tera !A la 7ar%a$le car9cter c " la 8or-ac%&! u!%d%-e!,%o!al de (5
ele-e!to, e! do$le )rec%,%&! 7alore,'
cI Tra!,8er%r la 8or-ac%&! $%d%-e!,%o!al de caractere, de *# B (5A lla-ada teBto'
dI Tra!,8er%r la 8or-ac%&! u!%d%-e!,%o!al de .5 caractere, -e!,a1e " Ia 8or-ac%&!
$%d%-e!,%o!al de (5B*55 ele-e!to, e! co-a 8lota!te cue!ta,'
+'('#' De,cr%$%r la ,al%da )roduc%da )or lo, ,%0u%e!te, )ro0ra-a,
eI #inc1ude <stdio.h>
#define DH0BI 4
#define CM0E=;BI 6
int A]DH0BI^]CM0E=;BI^ O %1/ 2/ 4/ 6/ 8/ 9/ :/ 7/ X/ 1+/ 11/
12,*
main!"%
int a/ b/ c O XXX*
for!a O +* a < DH0BI* TTa"
for!b O +* b < CM0E=;BI* TTb"
if!A]a^]b^<c" c O A]a^]b^*
printf!eQd?/ C"*
,
8I #inc1ude <stdio.h>
#define DH0BI 4
#define CM0E=;BI 6
int A]DH0BI^]CM0E=;BI^ O %1/ 2/ 4/ 6/ 8/ 9/ :/ 7/ X/ 1+/ 11/
12,*
main!"%
int a/ b/ c*
for!a O +* a<DH0BI* TTa"%
c O XXX*
for!b O +* b<CM0E=;BIP TTb"
if!A]a^]b^<c"c O A]a^]b^*
printf!>Qd ?/ c"*
,
,
0I #include <stdio.h>
#define DH0BI 4
#define CM0E=;BI 6
void sub1!int A]^]CM0E=;BI^"*
main!"%
static int A]DH0BI^]CM0E=;BI^O%1/2/4/6/8/9/:/7/X/1+/11/12,*
sub1!A,*
,
void sub1!int R]^]6^"%
int a/b/c*
for!b O +* b<CM0E=;BI* TTb"%
c O +*
for!a O +* a<DH0BI* TTa"
*.2
if!R]a^]b^>c"c O R]a^]b^*
printf!>Qd >/ C"*
,
,
+'('/' E,cr%$a u!a 8u!c%&! =ue calcule la Ttra:aUA e, dec%rA la ,u-a de lo, ele-e!to, de la
d%a0o!al de u!a -atr%: cuadrada'
+'('.' E,cr%$a u!a 8u!c%&! =ue re0re,e el ele-e!to -9, 0ra!de de u!a -atr%: de N B M de
ele-e!to, e!tero,'
+'('(' E,cr%$a u!a 8u!c%&! =ue re0re,e el ele-e!to -9, )e=ueDo de u!a -atr%: de N B M de
ele-e!to, e!tero,'
+'('3' E,cr%$a u!a 8u!c%&! =ue rec%$a co-o dato u! arre0lo $%d%-e!,%o!al de e!tero, " lo
de,)l%e0ue e! 8or-a e,)%ral co-o la 8%0ura =ue ,e -ue,tra'
+'('+' E,cr%$a u!a 8u!c%&! =ue o$te!0a la tra,)ue,ta de u!a -atr%: cuadrada' La tra,)ue,ta
de u!a -atr%: e, otra -atr%: o$te!%da de la or%0%!al al %!terca-$%ar re!0lo!e, )or colu-!a,'
Por e1e-)lo>
1
1
1
]
1

1
1
1
]
1

4 / +
+ 3 #
. ( *
4 + .
/ 3 (
+ # *
T
+'('4' U!a -atr%: e, ,%-tr%ca ,% e, %0ual a ,u tra,)ue,ta' E,cr%$a u!a 8u!c%&! =ue deter-%!e
,% u!a -atr%: e, ,%-tr%caA e! cu"o ca,o la 8u!c%&! de$er9 re0re,ar u! *A ,%!oA de$er9
re0re,ar u! 5'
+'('2' E,cr%$a u! )ro0ra-a $a,ado e! -e!C, )ara 6acer o)erac%o!e, co! do, -atr%ce,'
Ha0a 8u!c%o!e, )ara ca)turar u!a -atr%:A re,tar do, -atr%ce,A de,)le0ar u!a -atr%:'
+'3' Arre0lo, -ult%d%-e!,%o!ale, " a)u!tadore,
*(5
Lo, arre0lo, de d%-e!,%o!e, )uede! declarar,e co-o a)u!tadore,' La declarac%&!
Fipo arreglo]tamabo1^]tamabo2^*
E, e=u%7ale!te a
Fipo !*arreglo"]tamabo2^*
E,ta Clt%-a declarac%&! de8%!e u! )u!tero a arre0lo de e!tero, de ta-aDo ta-aDo#' E,
d%8ere!te a la ,%0u%e!te =ue e, u! arre0lo de )u!tero, a e!tero,A de$%do a =ue el o)erador PQ
t%e!e -a"or )r%or%dad =ue el o)erador R'
Fipo *arreglo]tamabo 2^*
Por e1e-)lo ,% declara-o, el arre0lo ,%0u%e!te>
char a]4^]8^ O %%g1h/h2h/h4h/h6h/h8h,/%gah/heh/hih/hoh/huh,/
%gBh/h-h/hHh/hMh/hEh,,*
E,tare-o, de8%!%e!do el la -e-or%a el ,%0u%e!te co!te!%do )ara el arre0lo a'
12468aeiouB-HME
S% declara-o, u! a)u!tador a arre0lo de e!tero, de la ,%0u%e!te -a!eraA ,e te!dr9 u!
a)u!tador a arre0lo, de ( caractere,'
char !*b"]8^ O a*
S%! e-$ar0o ,% ,e declara u! arre0lo de a)u!tadore, a charA de la ,%0u%e!te -a!era' Lo
=ue ,e t%e!e e, u! arre0lo de / a)u!tadore, a char' Nece,%ta-o, / a)u!tadore, )or=ue a e,
u! arre0lo de / arre0lo, de t%)o charA cada u!o de ( caractere,'
char *c]4^*
El ,%0u%e!te )ro0ra-a co!t%e!e e,ta, declarac%o!e,' Ta-$%! ,e %-)r%-e! lo, ta-aDo, de
la, 7ar%a$le, " de ,u, co!te!%do,'
#include <stdio.h>
#include <conio.h>
main!"%
char a]4^]8^ O %%e1e/e2e/e4e/e6e/e8e,/
%eae/eee/eie/eoe/eue,/%eBe/e-e/eHe/eMe/eEe,,*
char !*b"]8^ O a*
char *c]4^*
c]+^ O a]+^*
*(*
c]1^ O a]1^*
c]2^ O a]2^*
printf!&tamabo aP Qd tamabo a]+^P
Qd)n&/siAeof!a"/siAeof!a]+^""*
printf!&tamabo bP Qd tamabo *bP
Qd)n&/sizeof!b"/sizeof!*b""*
printf!&tamabo cP Qd tamabo *cP
Qd)n&/sizeof!c"/sizeof!*c""*
getch!"*
,
Lo, 7alore, =ue ,e %-)r%-%r9! ,o!>
tamabo aP 18 tamabo a]+^P 8
tamabo bP 6 tamabo *bP 8
tamabo cP 12 tamabo *cP 6
Note =ue a t%e!e u! ta-aDo de /R(N*( $"te,A " u! re!0l&! de a ,o! ( $"te,' El ta-aDo de
e, el ta-aDo de u! a)u!tadorA . $"te, " lo a)u!tado )or $ e, u! arre0lo de ( caractere, H(
$"te,I' Por Clt%-oA c e, u! arre0lo de / a)u!tadore, cada u!o de . $"te, o ,ea *# $"te,A "
cada ele-e!to del arre0lo c e, u! a)u!tador de . $"te,' El ,%0u%e!te c&d%0o de,)l%e0a el
co!te!%do de cual=u%era de la, 7ar%a$le, aA $ o c ut%l%:a!do !otac%&! de arre0lo, o de
)u!tero,A ,olo ,u,t%tu"a B )or aA $ o c' Note =ue BP%QP1Q N RHRHB<%I<1I'
Notac%&! de arre0lo, Notac%&! de )u!tero,
for!iO+* i<4*iTT"%
for!.O+*.<8*.TT"
printf!>Qc?/R]i^].^"*
printf!&)n&"*
,
for!int iO+* i<4*iTT"%
for!int .O+*.<8*.TT"
printf!&Qc&/*!*!R Ti"T.""*
printf!&)n&"*
,
La, do, !otac%o!e, )uede! ut%l%:ar,e %!d%,t%!ta-e!te )ata 7ar%a$le, =ue ,o! arre0lo, de do,
d%-e!,%o!e, o a)u!tadore, a arre0lo, o arre0lo, de a)u!tadore, o a)u!tadore, de
a)u!tadore,' U! arre0lo de do, d%-e!,%o!e, ,e )uede 7er co-o u! a)u!tador a
a)u!tadore,' Cua!do declara-o, u! arre0lo el co-)%lador le a,%0!a u!a d%recc%&! 8%1aA la
cual ,e co-)orta co-o u!a co!,ta!te " !o )uede ,er -od%8%cadaA e! ca-$%oA al declarar
a)u!tadore, e,to, )uede! ca-$%ar ,u 7alor dura!te la e1ecuc%&! del )ro0ra-a'
Co-o e! el ca,o de lo, arre0lo, de u!a d%-e!,%&!A lo, arre0lo, de do, d%-e!,%o!e, )uede!
e,)ec%8%car,e co-o a)u!tadore, cua!do ,e )a,a! co-o )ar9-etro, a u!a 8u!c%&!' La
8u!c%&! )ara ,u-ar do, -atr%ce, la )ode-o, e,)ec%8%car de la ,%0u%e!te -a!era'
void suma=atriA!double *a]1+^/double *b]1+^/int ren/ int
col/double *c]1+^"%
for!int iO+ *i<ren *iTT"
for!int .O+ *.<col *.TT"
*!*!cTi"T." O *!*!bTi"T."T *!*!bTi"T."*
*(#
,
El ,%0u%e!te e1e-)lo lee el ta-aDo la, -atr%ce, =ue ,e de,ea ,u-ar' De,)u, lee lo,
ele-e!to, de la, -atr%ce,A calcula la ,u-a " de,)l%e0a el re,ultado' Note =ue e, !ece,ar%o
crear la, -atr%ce, d%!9-%ca-e!te -ed%a!te la, lla-ada, !ece,ar%a, a la 8u!c%&! malloc'
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define =BVK-;
#define =BVCM0
void suma=atriA!double *a]=BVCM0^/double *b]=BVCM0^/int ren/
int col/double *c]=BVCM0^"%
for!int iO+ *i<ren *iTT"
for!int .O+ *.<col *.TT"
*!*!cTi"T." O *!*!aTi"T."T *!*!bTi"T."*
,
void leer=atriA!double *a]=BVCM0^/ int ren/ int col"%
int i/.*
for!i O +* i<ren* iTT"%
printf!&)nHntroducir datos para el renglon Q2dP &/ iT1"*
for !. O +* .<col* .TT"
scanf!&Qlf&/ !*!a T i" T .""*
,
,
void escribe=atriA!double *a]=BVCM0^/ int ren/ int col"%
int i/.*
for!i O +* i<ren* iTT"%
for !. O +* .<col* .TT"
printf!&Qf &/ *!*!a T i" T .""*
printf!&)n&"*
,
,
main!"%
double *a]1+^/*b]1+^/*c]1+^*
int i/ren/col*
printf!&teclee numero de renglonesP &"*
scanf!& Qd&/Wren"*
printf!&teclee numero de columnas P &"*
scanf!& Qd&/Wcol"*
/*Gebemos crear las matrices*/
for!iO+* i<ren* TTi"%
a]i^ O !double *" malloc !col * sizeof!double""*
*(/
b]i^ O !double *" malloc !col * sizeof!double""*
c]i^ O !double *" malloc !col * sizeof!double""*
,
leer=atriA!a/ren/col"*
leer=atriA!b/ren/col"*
suma=atriA!a/b/ren/col/c"*
escribe=atriA!c/ren/col"*
getch!"*
,
Pro$le-a, )ro)ue,to,
+'3'*' U! )ro0ra-a e! C co!t%e!e la ,%0u%e!te declarac%&!>
static int R]7^ O %1+/ 2+/ 4+/ 6+/ 8+/ 9+/ :+/ 7+,*
aI [Cu9l e, el ,%0!%8%cado de BW
$I [Cu9l e, el ,%0!%8%cado de HB<#IW
cI [Cu9l e, el 7alor de RBW
dI [Cu9l e, el 7alor de HRB<#IW
eI [Cu9l e, el 7alor de RHB<#IW
+'3'#' U! )ro0ra-a e! C co!t%e!e la ,%0u%e!te declarac%&!>
static int a]2^]4^ O %%1.1/ 1.2/ 1.4,/%2.1/ 2.2/ 2.4,,*
aI [Cu9l e, el ,%0!%8%cado de aW
$I [Cu9l e, el ,%0!%8%cado de !aT1IW
cI [Cu9l e, el ,%0!%8%cado de *!aT1"Z
dI [Cu9l e, el ,%0!%8%cado de !*!aT1"T1"W
eI [Cu9l e, el ,%0!%8%cado de !*!a"T1"W
8I [Cu9l e, el 7alor de *!*!aT1"T1"W
0I [Cu9l e, el 7alor de *!*!a"T1"W
6I [Cu9l e, el 7alor de *!*!aT1""W
%I [Cu9l e, el 7alor de *!*!a"T1"T1W
+'3'/' E,cr%$a el )ro0ra-a de cal%8%cac%o!e, de alu-!o, 7%,to e! la ,ecc%&! +'( ut%l%:a!do la
!otac%&! de )u!tero,'
+'3'.' E,cr%$a u!a 8u!c%&! )ara calcula el deter-%!a!te de u!a -atr%: cuadrada de8%!%do
recur,%7a-e!te de la ,%0u%e!te -a!era>
*' S% a e, u!a -atr%: de *B*A detHaI N aP5QP5Q'
#' S% a e, de orde! -a"or =ue *A calcule el deter-%!a!te de la ,%0u%e!te -a!era>
El%1a u! re!0l&! o colu-!a' Para cada ele-e!to aP%QP1Q de e,e re!0l&! o colu-!a
8or-e el )roducto>
HK*I
i<j
RaPiQPjQRdetHmenorHaPiQPjQII
El deter-%!a!te de a e, la ,u-a de todo, e,o, )roducto,'
El -e!or de aPiQPjQ N menorHaPiQPjQI e, la -atr%: =ue ,e o$t%e!e al el%-%!ar de la
-atr%: a el re!0l&! i " la colu-!a j'
*(.
E,cr%$a la 8u!c%&! crea!do d%!9-%ca-e!te el -e!or de la -atr%: =ue )a,a co-o )ar9-etro'
Ut%l%ce la !otac%&! de a)u!tadore, e! ,u 8u!c%&!'
+'+' Arre0lo, de -9, de do, d%-e!,%o!e,
Lo, arre0lo, de -9, de do, d%-e!,%o!e, ,o! ut%l%:ado, co! -e!o, 8recue!c%a' La
declarac%&! e, ,%-%lar a de lo, arre0lo, de do, d%-e!,%o!e,' El !C-ero de ele-e!to, de
arre0lo, -ult%d%-e!,%o!ale, crece r9)%da-e!te co! el !C-ero de d%-e!,%o!e,' Por
e1e-)loA co!,%dere el arre0lo ,%0u%e!te'
int a]6^]4^]8^*
El arre0lo a te!dr9 u! total de . B / B ( N 35 ele-e!to, de t%)o e!tero' U!a re)re,e!tac%&!
0r98%ca de tal e,tructura e, la =ue ,e -ue,tra e! la ,%0u%e!te 8%0ura' Lo, ele-e!to, ,e
e,)ec%8%ca! -ed%a!te tre, ,u$!d%ce,A el )r%-ero %!d%ca el )la!oA el ,e0u!do el re!0l&! " el
tercero la colu-!a' U! e1e-)lo )r9ct%co )uede ,er u!a d%,tr%$uc%&! de te-)eratura, e! el
e,)ac%oA otro )uede ,er lo, dato, de u!a to-o0ra8aA =ue 0e!eral-e!te ,o! 7alore, de la
de!,%dad del te1%do 6u-a!o' Arre0lo, de -9, d%-e!,%o!e, ,o! d%8c%le, de 7%,ual%:ar
0r98%ca-e!teA ,%! e-$ar0o C )er-%te cual=u%er !C-ero de d%-e!,%o!e,A l%-%tado ,olo )or
la -e-or%a d%,)o!%$le'
Para re8er%r,e a u! ele-e!to del arre0lo )ode-o, ut%l%:ar tre, ,u$!d%ce, o la !otac%&! de
a)u!tadore,' Por e1e-)loA ele ele-e!to del )la!o #A re!0l&! * " colu-!a / e,
a]2^]1^]4^
o
*!*!*!a T 2" T 1" T4"
*((
Co-o e1e-)lo co!,%dere-o, el co!trol de 7e6culo, de u!a c%udad =ue ,e lle7a a ca$o
co!,%dera!do la ,%0u%e!te %!8or-ac%&!> 8a$r%ca!te Hc&d%0o e!tero de 5 a *5IA -odelo del
7e6culo Hde *225 a #5*5I " la co!d%c%&! e! =ue ,e e!cue!tra He!tero e!tre 5 a / )ara -al
e,tadoA re0ularA $ue!o " eBcele!teI' E,ta %!8or-ac%&! )uede ,er re)re,e!tada e! u! arre0lo
de tre, d%-e!,%o!e,A la )r%-era d%-e!,%&! )ara la co!d%c%&!A la ,e0u!da )ara el -odelo " la
tercera )ara el 8a$r%ca!te' Pode-o, a,%0!ar !d%ce 5 )ara el -odelo a lo, 7e6culo, de *225A
el * )ara *22* " a, ,uce,%7a-e!te 6a,ta #5 )ara #5*5' La declarac%&! del arre0lo de carro,
,er9
#define ;E=SB;`MI 2+
#define ;E=S=BKCBI 1+
#define ;E=SCM;G 6
int carros];E=S=BKCBI^];E=SB;`MI^];E=SCM;G^*
U! ele-e!to de e,te arre0lo co-o carro,P/QP*#QP/Q re)re,e!ta el !C-ero de 7e6culo, del
8a$r%ca!te /A -odelo #55# =ue ,e e!cue!tra! e! $ue!a, co!d%c%o!e,' La ,%0u%e!te 8u!c%&!
re)orta el !C-ero de 7e6culo, =ue 6a" de u! c%erto aDo " ,u co!d%c%&! )ro-ed%o'
void reporte!int car]^];E=SB;`MI^];E=SCM;G^/int anyo"%
int cuentaO+/i/./num*
float condSprom O +.+*
for!iO+*i<;E=S=BKCBI*iTT"%
for!.O+*.<;E=SCM;G*.TT"%
num O car]i^]anyo^].^*
if!num(O+"%
condSprom TO num*!.T1"*
cuenta TO num*
,
,
,
printf!&anyoP Qd)ncantidadP Qd)npromedio de condicionP
Q.2f&/2+1+-;E=SB;`MITanyo/cuenta/condSprom/cuenta"*
,
Pro$le-a, )ro)ue,to,
+'+'*' I!d%car el ,%0!%8%cado de cada u!a de la, declarac%o!e, ,%0u%e!te, " e,)ec%8%car lo,
7alor =ue to-e! lo, ele-e!to, de lo, arre0lo, cua!do e,to, de declare!' I!d%=ue ta-$%! el
!C-ero de ele-e!to, de cada arre0lo'
aI char cc]8^]6^]4QM
$I unsigned int num]2^]2^]4^ O %%%+/8/9,/%4/2/1,,/%%+/+/1,/
%6/8/8,,,*
cI double cuentas]8+^]2+^]7+^*
eI int #]2^]4^]6^ O %%%1/2/4,/%6/8,/%9/1/7/X,/%%1+/ 11,/%,/
%12/ 14/16,,,M
*(3
+'+'#' Dado el arre0lo carro, del e1e-)lo de 7e6culo, de u!a c%udad d%,eDe al0or%t-o, )ara
calcular lo, ,%0u%e!te, dato, e,tad,t%co,>
aI NC-ero de auto-&7%le, 8a$r%cado, a!te, de #555 co!,%derado, co-o $ue!o, o
eBcele!te,'
$I La -arca de auto-&7%l -9, )o)ular'
cI Deter-%!ar el 8a$r%ca!te cu"o, auto-&7%le, a)arece! e! la, -e1ore, co!d%c%o!e,
)ro-ed%o'
+'+'/' U! to-&0ra8o )uede d%0%tal%:ar u! o$1eto de #5B#5B.5 c- e! )a,o, de 5'( c-'
Declare u! arre0lo =ue )er-%ta al-ace!ar lo, dato, de u!a to-o0ra8a co!,%dera!do =ue lo,
7alore, d%0%tal%:ado, ,o! !C-ero, reale,' A )art%r de lo, dato, de u! e,c9!er co-o el del
)ro$le-a a!ter%or ,e de,ea )roce,arlo, " detectar la, coorde!ada, e! la, =ue lo, 7alore,
cae! e!tre 5'( " 5'3'
*(+
Ca)tulo 4' Cade!a, de caractere,
4'*' El t%)o char
La, 7ar%a$le, de t%)o char ocu)a! u! $"te e! la -e-or%a' Se ut%l%:a! )ara re)re,e!tar lo,
caractere, 0e!erado, de,de el teclado " ta-$%! lo, caractere, %-)r%-%$le, e! la )a!talla'
So! co-)at%$le, co! la, 7ar%a$le, de t%)o e!tero' Lo, 7alore, )o,%$le, de u!a 7ar%a$le t%)o
char 7a! de ;*#4 a *#+' Ge!eral-e!te ,e le, a,%0!a 7alor ut%l%:a!do caractere, e!cerrado,
e!tre co-%lla, ,e!c%lla,A co-o ,e -ue,tra a co!t%!uac%&!'
char a/ b/ c*
a O gRh*/* le asigna el car3cter R/ o a O 12+ o a O +R:7 */
b O gah*/* le asigna car3cter a/ o aP b O X: o a O +R91 */
c O a U b*/* c O 12+-X: O 24 */
La, 7ar%a$le, de t%)o char )uede! ut%l%:ar,e e! cual=u%er eB)re,%&! de t%)o e!tero' Por
e1e-)lo'
char R/ y*
int a/ b*
R O 68*
y O gah*
a O 2*R*
b O 4*R U y*
Lo, caractere, %-)r%-%$le, e! la )a!talla e,t9! $a,ado, e! la ta$la de caractere, ASCII
HA-er%ca! Sta!dard Code 8or I!8or-at%o! I!terc6a!0eI' E,ta ta$la de8%!e el ,%0!%8%cado de
lo, caractere, del 5 al *#+' U!a eBte!,%&! de la ta$la de8%!e lo, #(3 caractere, a0re0a!do
letra, e! otro, %d%o-a, ade-9, del %!0l, " caractere, 0r98%co,'
La ,%0u%e!te ta$la -ue,tra lo, 7alore, a,%0!ado,' U! Car9cter t%e!e u! c&d%0o 6eBadec%-al
deter-%!ado )or el !C-ero del re!0l&! ,e0u%do del !C-ero de la colu-!aA a, )or e1e-)loA
la letra kaO t%e!e c&d%0o 5B3* N 2(A el car9cter k5O t%e!e c&d%0o 5B/5 N .4A el car9cter kcO
t%e!e c&d%0o 5B+D N *#( " a, ,uce,%7a-e!te' Lo, caractere, del 5 al /* H6eBadec%-al
5B55 al 5B*FI ,o! caractere, de co!trol " !or-al-e!te !o ,o! %-)r%-%$le,' Lo, caractere,
del /# al *#+ ,o! lo, caractere, !or-ale, =ue co-)re!de! letra, del al8a$eto %!0l,
-a"C,cula, " -%!C,cula,A !C-ero, " ,%0!o, de )u!tuac%&!' Del *#4 e! adela!te ,o! letra,
co! d%7er,o, ace!to,A l!ea, " ,%0!o, e,)ec%ale,'
+124689:7XBYCG-D
+
1
2
4
6
ijklmnopqrstuvw
xyz{|}~
(&#QWe!"*T/-./
+124689:7XP*<O>Z
BYCG-DC'H<0=;M
*(4
8
9
:
7
X
B
Y
C
G
-
D
PKIFEJ_V`f])^\S
abcdefghi.clmno
p#rstuvwRyA%[,
5
-
3$@bd

N
L
|}
La %-)re,%&! de caractere, -ed%a!te printf ,e 6ace co! el 8or-ato Qc' El ,%0u%e!te
)ro0ra-a %-)r%-e la ta$la ASCII' Note =ue al0u!o, caractere, !o ,e %-)r%-e!A co-o el
5B5+ el cual e, el retroce,oA 5B52 =ue e, la ca-)a!aA etc'
#include <stdio.h>
#include <conio.h>
main!"%
int i/.*
char cO+*
for!iO+*i<19*iTT"%
for!.O+*.<19*.TT"
printf!&Qc&/cTT"*
printf!&)n&"*
,
getch!"*
,
La ta$la =ue de,)l%e0a e, la ,%0u%e!te>
ijklm
vw
xyz{|}~
(&#QWe!"*T/-./
+124689:7XP*<O>Z
BYCG-DC'H<0=;M
PKIFEJ_V`f])^\S
abcdefghi.clmno
p#rstuvwRyA%[,
5
-
3$@bd

*(2
N
L
|}
Se )uede! ut%l%:ar ,ecue!c%a de e,ca)e )ara de8%!%r 7alore, ASCIIA )ara e,o ,e )uede!
ut%l%:ar !C-ero, e! octal o 6eBadec%-al' Para u,ar !C-ero, e! octal ,%-)le-e!te ,e
e,)ec%8%ca! tre, d0%to, octale, de,)u, de la d%a0o!al %!7ert%daA )or e1e-)lo Z5.. H/3 e!
dec%-alI e, el car9cter kYO' Para 6eBadec%-al ,e a!te)o!e kBO a lo, do, d0%to,
6eBadec%-ale,A )or e1e-)lo ZB#. re)re,e!ta ta-$%! kYO' El ,%0u%e!te )ro0ra-a d%$u1a u!
)e=ueDo cuadrado de l!ea, ,e!c%lla,'
#include <stdio.h>
#include <conio.h>
main!"%
printf!&)Rda)Rc6)Rbf)n&"*
printf!&)Rc+)Rc6)RdX)n&"*
getch!"*
,
Pro$le-a, )ro)ue,to,
4'*'*' Deter-%!e el c&d%0o ASCII e! dec%-alA octal " 6eBadec%-al de lo, ,%0u%e!te,
caractere,> k/OA k0OA kGOA kpOA kZOA kqOA kOA kO " krO'
4'*'#' E,cr%$a u! )ro0ra-a =ue de,)l%e0ue la ,%0u%e!te 8%0ura ut%l%:a!do caractere, del
c&d%0o ASCII'

+124689:7XBICHH

4'*'/' E,cr%$a u!a 8u!c%&! )ara de,)le0ar u! ta$lero de ! B !A do!de ! N *A #A eA 4A
ut%l%:a!do caractere, 0r98%co,' La 8%0ura ,%0u%e!te -ue,tra el ta$lero de #B#'

4'#' O)erac%o!e, $9,%ca, co! caractere,


La lectura de caractere, )uede 6acer,e de 7ar%a, -a!era,' La, -9, co-u!e, ,o! la,
8u!c%o!e, scanfA getch " getchar' La d%8ere!c%a e!tre e,ta, 8u!c%o!e, ,e -ue,tra e!
la ,%0u%e!te ta$la'
*35
8u!c%&! $%$l%oteca Co-e!tar%o,
scanf stdio.h
De$e u,ar,e el 8or-ato ]c' Re=u%ere =ue el u,uar%o )re,%o!e
dENTER`A 6ace eco e! la )a!talla'
getch conio.h
No e,)era a =ue ,e )re,%o!e dENTER`A !o 6ace eco e! la
)a!talla'
getchar stdio.h
Re=u%ere =ue el u,uar%o )re,%o!e dENTER`A !o 6ace eco e! la
)a!talla'
getche conio.h
No e,)era a =ue ,e )re,%o!e dENTER`A 6ace eco e! la )a!talla'
Para de,)le0ar u! car9cter ,e e-)lea printf o putchar' El ,%0u%e!te e1e-)lo -ue,tra
al0u!a, lectura, " e,cr%tura, de caractere,'
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
main!"%
char p1/p2/p4O98*
printf!&)ningrese un caracterP &"*
p1 O getchar!"*
putchar!p1"*
printf!&)n&"*
printf!&)nel caracter p4 esP&"*
putchar!p4"*
printf!&)n&"*
printf!&)ningrese otro caracterP &"*
scanf!&Qc&/Wp2"*
printf!&)nQc&/p2"*
printf!&)ningrese otro caracterP &"*
p2 O getch!"*
printf!&)ncaracter leidoP Qc&/p2"*
getch!"*
,
Note =ue !o 8u!c%o!a co-o ,e e,)eraA "a =ue !o e,)era )ara la lectura del co! scanfA e,to
,e de$e a =ue el dENTER` Ho cual=u%er otro car9cter de,)u, del )r%-eroI ,e a,%0!a a )#'
Para e7%tar e,te )ro$le-a e, !ece,ar%o $orrar el $u88er de e!trada a!te, de cada lectura' El
$u88er lo $orra-o, ut%l%:a!do la 8u!c%&! fflush!sdtin" de la $%$l%oteca stdio.h' La
7er,%&! corre0%da e, la ,%0u%e!te'
#include <stdio.h>
#include <conio.h>
main!"%
char p1/p2/p4O98*
printf!&)ningrese un caracterP &"*
p1 O getchar!"*
putchar!p1"*
*3*
printf!&)n&"*
fflush!stdin"*
printf!&)nel caracteer p4 esP&"*
putchar!p4"*
printf!&)n&"*
printf!&)ningrese otro caracterP &"*
scanf!&Qc&/Wp2"*
printf!&)nQc&/p2"*
printf!&)ningrese otro caracterP &"*
fflush!stdin"*
p2 O getch!"*
fflush!stdin"*
printf!&)ncaracter leidoP Qc Qd&/p2/p2"*
getch!"*
,
La lectura de tecla, e,)ec%ale, re=u%ere de u! )roce,a-%e!to d%8ere!te' Cada =ue ,e
)re,%o!a u! tecla e,)ec%al ,e 0e!era! do, caractere,A la, tecla, de 8u!c%&! 0e!era! 5 ,e0u%do
de 5B/BA )ara F* 6a,ta 5B.. )ara F*5A e! 6eBadec%-al' La, tecla, de -o7%-%e!to del
cur,or 0e!era! 5BE5 ,e0u%do de 5B.4 HsHOI arr%$aA 5B.B HkaOI %:=u%erdaA 5B.D HkMOI
derec6aA 5B(5 HkPOI a$a1oA 5B.2 HkIOI Re0re,ar P90%!aA 5B(* HkLOI A7a!:ar P90%!aA 5B.+
HkGOI %!%c%oA 5B.F HkOOI 8%!A 5B(# HkROI %!,ertar " 5B(/ HkSOI ,u)r%-%r' Co! $a,e e! e,to
)ode-o, leer la, tecla, de 8lec6a -ed%a!te el ,%0u%e!te c&d%0o
cey O getch!"*
if!cey OO g)Re+h"%
cey O getch!"*
switch!cey"%
case g'h P cursor hacia arriba
case gh P cursor hacia la iA#uierda
case g=h P cursor hacia la derecha
case gPh P cursor hacia aba.o
,
,
Co-o u! e1e-)lo de lectura de la, 8lec6a, 7ere-o, u! e1e-)lo del ro-)eca$e:a, *(' E,te
ro-)eca$e:a, co!,ta de u! ta$lero de .B. e! el =ue ,e e!cue!tra! *( )%e:a, !u-erada, del
* al *(' El o$1et%7o e, )art%r de u!a )o,%c%&! de,orde!ada lle0ar a u!a )o,%c%&! orde!ada
do!de el * ,e e!cue!tre e! la )o,%c%&! ,u)er%or %:=u%erdaA a la derec6a el #A " a,
,uce,%7a-e!teA co-o ,e -ue,tra e! la 8%0ura'
*3#
El e,)ac%o e! $la!co ,e ut%l%:a )ara de,)la:ar la, )%e:a, alrededor del ta$lero' El )ro0ra-a
d%$u1ar9 el ta$lero a!ter%or 0e!era!do al %!%c%o u! ta$lero al a:ar " )er-%t%r9 al u,uar%o
-a!%)ular la, )%e:a, de,)la:a!do el e,)ac%o 7aco ,e0C! co!7e!0a'
Re)re,e!tare-o, el ta$lero co! u! arre0lo de .B. de e!tero, co! 7alore %!%c%ale, de * a *(
" co! u! 5 e! el Clt%-o ele-e!to' Para d%$u1ar el ta$lero " la, )%e:a, de$e-o, )o,%c%o!ar el
cur,or de!tro de la 7e!ta!a ut%l%:a!do u!a lla-ada al ,%,te-a de 7e!ta!a, de windows'
Para 6acer lla-ada, al ,%,te-a de 7e!ta!a, %!clu%-o, la $%$l%oteca windows'h " u,a-o, la
8u!c%&! IetConsoleCursorPosition =ue )o,%c%o!a el cur,or' U,a!do e,ta 8u!c%&!
,e de8%!e u!a 8u!c%&! lla-ada gotoRy =ue )o,%c%o!a el cur,or'
void gotoRy!int R/ int y" %
CMMKG c*
c.V O R - 1*
c.` O y - 1*
IetConsoleCursorPosition!CetItd'andle!IFGSMEFPEFS'B;G0-"/c"
*
,
Para d%$u1ar el ta$lero de8%!%-o, lo, caractere, !ece,ar%o, )ara d%$u1ar l!ea, e! la 7e!ta!a
de teBto' De,)u, de d%$u1ar el -arco ,e d%$u1a cada u!a de la, )%e:a,' La 8u!c%&! )ara
-o7er u!a )%e:a ace)ta u! )ar9-etro de t%)o char =ue e,)ec%8%ca la d%recc%&! de acuerdo
co! el c&d%0o de la 8lec6a =ue ,e )re,%o!o' E,ta 8u!c%&! ret%e!e e! do, 7ar%a$le, static la
)o,%c%&! a!ter%or del e,)ac%o e! $la!co' La 8u!c%&! %!%c%a lla-a a -o7er co! c%e! 7alore,
aleator%o, de lo, c&d%0o, de la, 8lec6a, )ara %!%c%ar el ta$lero' Por Clt%-oA la 8u!c%&! 1u0ar
t%e!e u! c%clo while =ue ,e e1ecuta 6a,ta )re,%o!ar la tecla ESCA la 8u!c%&! d%$u1a el
ta$lero " lee el teclado )ara real%:a el -o7%-%e!to corre,)o!d%e!te' Falta u!a 8u!c%&! =ue
detecte cua!do el ta$lero 6a ,%do re,uelto' El )ro0ra-a e, el ,%0u%e!te>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
char tablero]6^]6^O%1/2/4/6/8/9/:/7/X/1+/11/12/14/16/18/+,*
void gotoRy!int R/ int y" %
*3/
CMMKG c*
c.V O R - 1*
c.` O y - 1*
IetConsoleCursorPosition !CetItd'andle!IFGSMEFPEFS'B;G0-"/
c"*
,
void dibu.aFablero!"%
char siOe)Rdae/ lhOe)Rc6e/ sdOe)Rbfe/ lvOe)Rb4e/ iiOe)Rc+e/
idOe)RdXe*
int i/.*
/* Gibu.a el marco del tablero */
gotoRy!1/1"*
printf!&Qc&/si"*
for!iO+*i<19*iTT"
printf!&Qc&/lh"*
printf!&Qc)n&/sd"*
for!.O+*.<12*.TT"%
gotoRy!1/.T2"*
printf!&Qc&/lv"*
gotoRy!17/.T2"*
printf!&Qc&/lv"*
,
gotoRy!1/16"*
printf!&Qc&/ii"*
for!iO+*i<19*iTT"
printf!&Qc&/lh"*
printf!&Qc)n&/id"*
/* dibu.a las pieAas */
for!iO+*i<6*iTT"%
for!.O+*.<6*.TT"
if!tablero].^]i^"%
gotoRy!2Ti*6/2T.*4"*
printf!&QcQcQcQc&/si/lh/lh/sd"*
gotoRy!2Ti*6/2T.*4T1"*
printf!&QcQ2dQc&/lv/tablero].^]i^/lv"*
gotoRy!2Ti*6/2T.*4T2"*
printf!&QcQcQcQc&/ii/lh/lh/id"*
,else%
gotoRy!2Ti*6/2T.*4"*
printf!& &"*
gotoRy!2Ti*6/2T.*4T1"*
printf!& &"*
gotoRy!2Ti*6/2T.*4T2"*
printf!& &"*
,
,
*3.
,
void mover!char c"%
static int RO4/yO4*
int R1/y1/t*
R1 O R*
y1 O y*
switch!c"%
case ePePif!y>+"y--*breac*
case e=ePif!R>+"R--*breac*
case eePif!R<4"RTT*breac*
case e'ePif!y<4"yTT*breac*
,
t O tablero]y1^]R1^*
tablero]y1^]R1^ O tablero]y^]R^*
tablero]y^]R^ O t*
,
void inicia!"%
int i*
char s]^O&P='&*
srand!time!+""*
for!iO+*i<1++*iTT"
mover!s]rand!"Q6^"*
,
void .ugar!"%
char ceyO+*
while!cey(O2:"%
dibu.aFablero!"*
cey O getch!"*
if!cey OO e)Re+e"%
cey O getch!"*
mover!cey"*
,
,
,
main!"%
inicia!"*
.ugar!"*
,
Pro$le-a, )ro)ue,to,
*3(
4'#'*' E,cr%$a u!a 8u!c%&! =ue re0re,e u! * ,% ,e o$t%e!e la ,oluc%&! del 1ue0o del
ro-)eca$e:a, *(' Mod%8%=ue la 8u!c%&! main )ara ut%l%:ar e,ta 8u!c%&! e %!8or-ar al
u,uar%o ,o$re la ,oluc%&!'
4'#'#' Mod%8%=ue el )ro0ra-a del ro-)eca$e:a, *( )ara %!clu%r u! co!tador de
-o7%-%e!to,' De,)l%e0ue el co!tador cada =ue ,e 6ace u! -o7%-%e!to'
4'#'/' E,cr%$a u! )ro0ra-a %!teract%7o )ara calcular el #ndice de masa corporal de u!a
)er,o!a' E,te !d%ce ,e calcula co-o el )e,o e! J%lo0ra-o, d%7%d%do e!tre el cuadrado de la
e,tatura e! -etro,' Ut%l%ce la, tecla, de 8lec6a, derec6a e %:=u%erda )ara %!cre-e!tar "
decre-e!tar e! u!a u!%dad el )e,oA la, 8lec6a, arr%$a " a$a1o )ara %!cre-e!tar "
decre-e!tar e! u!a u!%dad la e,taturaA la tecla TI!%c%oU )ara %r a lo, 7alore, %!8er%ore, de
)e,o " e,tatura H/5 J0 " *'5 -IA la tecla TF%!U )ara %r a lo, 7alore, -9B%-o, H#55J0 " #'5
-IA la tecla TRe Pa0U " TA7 Pe0U )ara %!cre-e!tar " decre-e!tar )e,o " e,tatura e! *5
u!%dade,A re,)ect%7a-e!te' Ut%l%ce la ,%0u%e!te ta$la )ara de,)le0ar el letrero adecuado'
Et%=ueta %!ter7alo
I!8ra)e,o d*4A(5
Del0ade: ,e7era d*3A55
Del0ade: -oderada *3A55 ; *3A22
Del0ade: ace)ta$le *+A55 ; *4A.2
Nor-al *4'( ; #.A22
So$re)e,o t#(A55
Preo$e,o #(A55 ; #2A22
O$e,o t/5A55
O$e,o t%)o I /5A55 ; /.A22
O$e,o t%)o II /(A55 ; /2A22
O$e,o t%)o III t.5A55
4'/' B%$l%oteca ctype.h
La $%$l%oteca ctype.h ,u-%!%,tra u! co!1u!to de 8u!c%o!e, =ue ,o! -u" Ct%le, e! la
-a!%)ulac%&! de caractere,' La, 8u!c%o!e, ,e -ue,tra! e! la ta$la'
Fu!c%&! S%0!%8%cado
isalnum!c"
Re0re,a !o !ulo ,% el ar0u-e!to c e, u!a letra o u! d0%to dec%-alA ,%!o
re0re,a 5'
isalpha!c"
Re0re,a !o !ulo ,% el ar0u-e!to c e, u!a letraA ,%!o re0re,a 5'
isascii!c"
Re0re,a !o !ulo ,% el ar0u-e!to c e, ASCII H5B55 a 5B88I
iscntrl!c"
Re0re,a !o !ulo ,% el ar0u-e!to c e, car9cter de co!trol H5B55 a 5B*8I
isdigit!c"
Re0re,a !o !ulo ,% el ar0u-e!to c e, u! d0%toA ,%!o re0re,a 5'
isgraph!c"
Re0re,a !o !ulo ,% el ar0u-e!to c e, %-)r%-%$le eBce)to k k'
isprint!c"
Re0re,a !o !ulo ,% el ar0u-e!to c e, %-)r%-%$le'
ispunct!c"
Re0re,a !o !ulo ,% el ar0u-e!to c e, ,%0!o de )u!tuac%&!'
isspace!c"
Re0re,a !o !ulo ,% el ar0u-e!to c e, e,)ac%oA ta$A retor!o de l!eaA ca-$%o
*33
de l!eaA ta$ 7ert%calA ,alto de )90%!a H5B52 a 5B5DA 5B#5I'
isRdigit!c"
Re0re,a u! * ,% el ar0u-e!to c e, u! d0%to 6eBadec%-al'
islower!c"
Re0re,a u! * ,% el ar0u-e!to c e, u!a letra -%!C,culaA ,%!o re0re,a 5'
isupper!c"
Re0re,a u! * ,% el ar0u-e!to c e, u!a letra -a"C,culaA ,%!o re0re,a 5'
tolower!c"
Re0re,a el car9cter c co!7ert%do a -%!C,cula'
toupper!c"
Re0re,a el car9cter c co!7ert%do a -a"C,cula'
La, 8u!c%o!e, tolower " toupper co!7%erte! letra, del al8a$eto %!0l, a -%!C,cula, " a
-a"C,cula,A re,)ect%7a-e!te' Para %!clu%r la, 7ocale, ace!tuada, 6a$r9 =ue e,cr%$%r u!a
8u!c%&! =ue %!clu"a la co!7er,%&! de e,ta, letra,' De la ta$la ASCII )ode-o, o$te!er lo,
c&d%0o, de la, letra, -%!C,cula, ace!tuada,A e,to, ,o!> Ba5A Ba*A Ba#A Ba/A Ba.A Ba(A lo,
cuale, corre,)o!de! a 3A $A A @A b " A re,)ect%7a-e!te' El c&d%0o )ara 5 e, B4#' La,
letra, -a"C,cula, ace!tuada, ,o!> HB$(IA HB25IA N HBd3IA L HBe5I " HBe2I' La ,%0u%e!te
8u!c%&! co!7%erte letra, ace!tuada, " D de -%!C,cula, a -a"C,cula, " de1a %!alterado
cual=u%er otro car9cter'
char toupperBcentos!char c"%
if!cOOh)Ra+h" return g)Rb8h*
if!cOOh)R72h" return g)RX+h*
if!cOOh)Ra1h" return g)Rd9h*
if!cOOh)Ra2h" return g)Re+h*
if!cOOh)Ra4h" return g)ReXh*
if!cOOh)Ra6h" return g)R72h*
return c*
,
Para co!7ert%r cual=u%er letra e! e,)aDol a -a"C,cula de8%!%-o, la ,%0u%e!te 8u!c%&!>
char toupper2!char c"%
return toupperBcentos!toupper!c""*
,
De 8or-a ,%-%lar ,e )uede! co!7ert%r de -a"C,cula, a -%!C,cula,' El ,%0u%e!te )ro0ra-a
lee caractere, de,de el teclado " lo, de,)l%e0a e! -a"C,cula ut%l%:a!do la 8u!c%&!
toupper2 6a,ta =ue el u,uar%o teclee la tecla ESC'
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
char toupperBcentos!char c"*
char toupper2!char c"*
main!"%
char c*
do%
*3+
c O getch!"*
c O toupper2!c"*
putchar!c"*
,while!c(O2:"*
,
char toupperBcentos!char c"%
if!cOOe)Ra+e" return e)Rb8e*
if!cOOe)R72e" return e)RX+e*
if!cOOe)Ra1e" return e)Rd9e*
if!cOOe)Ra2e" return e)Re+e*
if!cOOe)Ra4e" return e)ReXe*
if!cOOe)Ra6e" return e)R72e*
return c*
,
char toupper2!char c"%
return toupperBcentos!toupper!c""*
,
Pro$le-a, )ro)ue,to,
4'/'*' E,cr%$a u! )ro0ra-a =ue lea u! car9cter " deter-%!e el c&d%0o del car9cterA
al8a$t%coA d0%toA de )u!tuac%&!A e,)ec%al o !o %-)r%-%$le'
4'/'#' E,cr%$a u! )ro0ra-a =ue deter-%!e cua!to, caractere, 0e!era! * )ara cada u!a de la,
8u!c%o!e, de la $%$l%oteca ctype.h'
4'/'/' E,cr%$a u!a 8u!c%&!A co! u! )ar9-etro de t%)o charA =ue re0re,e * ,% el )ar9-etro
!o e, letra o e, ,%0!o de )u!tuac%&! " re0re,e 5 e! otro ca,o'
4'/'.' E,cr%$a u!a 8u!c%&!A co! u! )ar9-etro de t%)o charA =ue re0re,e * ,% el )ar9-etro
!o e, d0%to 6eBadec%-al o !o e, car9cter de co!trol " re0re,e 5 e! otro ca,o'
4'/'(' E,cr%$a u!a 8u!c%&! e! C =ue co!7%erta caractere, ace!tuado, " la u de -a"C,cula, a
-%!C,cula,'
4'.' Cade!a, de caractere,
U!a 7ar%a$le de t%)o cade!a de caractere, e, u! arre0lo u!%d%-e!,%o!al de caractere,' La,
cade!a, )uede! te!er lo!0%tud -9B%-a 8%1a o 7ar%a$leA de)e!d%e!do de la 8or-a de declara
la 7ar%a$le' La, cade!a, )uede! ,er declarada, de do, 8or-a,>
char a]2+^ O >'ola mundo?*
*34
"
char *b O >'ola mundo?*
La )r%-era de8%!e u!a cade!a de lo!0%tud 8%1a' La 7ar%a$le a e, u! a)u!tador a u! e,)ac%o
de #5 caractere,' La d%recc%&! de la 7ar%a$le a !o ca-$%a dura!te toda la e1ecuc%&! del
)ro0ra-a' La ,e0u!da declarac%&! de8%!e u! a)u!tador a caractere,' El co-)%lador le
a,%0!a la d%recc%&! de la cade!a co!,ta!te >'ola mundo?' Se le )uede a,%0!ar e!
cual=u%er -o-e!to el 7alor de otra cade!a ut%l%:a!do el o)erador de a,%0!ac%&!' Por otro
lado la cade!a ,eDalada )or a )uede ,er -od%8%cada e! cual=u%er -o-e!toA la cade!a
,eDalada )or $ !o )uede ,er -od%8%cada' La ,%0u%e!te %!,trucc%&! 0e!erara u! error de
e1ecuc%&!'
b]+^ O ghh*
S% ut%l%:a-o, el o)erador sizeof e! a-$a, cade!a,A ,e re)ortar9 #5 )ara la )r%-era " .
)ara la ,e0u!da' El ,%0u%e!te )ro0ra-a %lu,tra al0u!a, declarac%o!e, e %!%c%al%:ac%o!e, de
cade!a,'
#include <stdio.h>
#include <conio.h>
main!"%
// declara una cadena de longitud 2+ como m3Rimo.
char a]2+^*
// declara una cadena de longitud 1+ como m3Rimo.
// el contenido es la cadena >hola?/ R]6^ O g)+h.
char R]1+^ O &hola&*
// declara un apuntador a cadena
char *m O &#ue tal&*
// declara una cadena de 11 caracteres
char s]^ O %eYe/eie/eee/ene/eve/eee/ene/eie/ede/eoe/e)+e,*
// declara una cadena con longitud 2+
char nom]^ O &desoRirribonucleico&*
R]+^ O e'e*
printf!&a O Qd R O Qd m O Qd s O Qd nom O Qd)n&/
sizeof!a"/sizeof!R"/sizeof!m"/sizeof!s"/sizeof!nom""*
puts!R"*
puts!m"*
puts!s"*
puts!nom"*
printf!&R es )&Qs)&)n&/R"*
printf!&m es )&Qs)&)n&/m"*
printf!&s es )&Qs)&)n&/s"*
printf!&nom es )&Qs)&)n&/nom"*
printf!&R]+^ es Qc)n&/R]+^"*
printf!&m]1^ es Qc)n&/m]1^"*
*32
printf!&s]2^ es Qc)n&/s]2^"*
printf!&nom]4^ es Qc)n&/nom]4^"*
getch!"*
,
Se 6a ut%l%:ado la 8u!c%&! puts H)ut ,tr%!0A )o!er cade!aI )ara la ,al%da de cada cade!a' La
8u!c%&! puts a0re0a u! ca-$%o de l!ea al 8%!al de cada cade!a' La ,al%da e, la ,%0u%e!te>
a O 2+ R O 1+ m O 6 s O 11 nom O 2+
'ola
#ue tal
Yienvenido
desoRirribonucleico
R es &'ola&
m es &#ue tal&
s es &Yienvenido&
nom es &desoRirribonucleico&
R]+^ es '
m]1^ es u
s]2^ es e
nom]4^ es o
La, cade!a, )uede! leer,e co! la 8u!c%&! gets H0et ,tr%!0A o$te!er cade!aI' E,ta 8u!c%&!
lee todo, lo, caractere, 6a,ta )re,%o!ar la tecla dENTER`' Se )uede leer u!a cade!a co! la
8u!c%&! scanf ut%l%:a!do el 8or-ato ],' De e,ta -a!era ,e leer9! todo, lo, caractere,
6a,ta el )r%-er e,)ac%o Ho ta$uladorA o 8%! de l!eaI' Puede %!d%car,e =ue caractere, ,e de,ea
leer de!tro del 8or-atoA )or e1e-)loA T]Pa;:QU leer9 u!a cade!a co! ,olo caractere,
al8a$t%co,A la lectura de la cade!a ter-%!a al leer cual=u%er otro car9cter' El ,%0u%e!te
e1e-)lo %lu,tra e,ta, 8u!c%o!e, de lectura'
#include <stdio.h>
#include <conio.h>
main!"%
char cad]1+^*
gets!cad"*
puts!cad"*
scanf!&Qs&/cad"*
puts!cad"*
fflush!stdin"*
scanf!&Q]a-A^s&/cad"*
puts!cad"*
getch!"*
,
U! e1e-)lo de e!trada e, el ,%0u%e!te' La, cade!a, e! cur,%7a ,o! la, =ue ,e teclearo!' Note
=ue el ,e0u!do scanf lee ,olo lo, )r%-ero, caractere, al8a$t%co,'
*+5
hola, que tal?
hola/ #ue talZ
como estan?
como
abcd1234 fin
abad
Note =ue la )r%-era cade!a, del e1e-)lo re$a,a el ta-aDo de la 7ar%a$le aA e,to )uede
)ro7ocar =ue el )ro0ra-a !o 8u!c%o!e correcta-e!te' De$e-o, a,e0urar =ue la, cade!a,
a,%0!ada, =ue)a! e! la, 7ar%a$le, de,t%!o' U!a 8or-a adecuada e, u,ar fgets e! lu0ar de
gets' La 8u!c%&! fgets ace)ta tre, )ar9-etro,A el )r%-ero e, el arre0lo de caractere,A el
,e0u!do el ta-aDo " el tercero e, el arc6%7o de e!tradaA e! !ue,tro ca,o el arc6%7o e, el
teclado e,)ec%8%cado )or stdin' Ta-$%! ,e )uede e,ta$lecer u! l-%te a la lo!0%tud de la
cade!a e! el 8or-ato ],' El )ro0ra-a a!ter%or -od%8%cado e, el ,%0u%e!te'
#include <stdio.h>
#include <conio.h>
main!"%
char cad]1+^*
fgets!cad/1+/stdin"*
puts!cad"*
fflush!stdin"*
scanf!&Q1+s&/cad"*
puts!cad"*
fflush!stdin"*
scanf!&Q1+]a-A^&/cad"*
puts!cad"*
getch!"*
,
U! e1e-)lo de e!trada e,>
hola que tal?
hola #ue
desoxirriboncleico
desoRirrib
numero1
numero
Para leer u!a cade!a declarado co-o )u!tero 6a" =ue re,er7ar -e-or%a a!te, de la lectura'
El ,%0u%e!te c&d%0o 6ar9 =ue el )ro0ra-a 8alle'
char *s*
gets!s"*
*+*
A!te, de leer re,er7a-o, -e-or%a )ara la cade!a co! la 8u!c%&! malloc' U! c&d%0o -9,
correcto e, el ,%0u%e!te' No ol7%dar l%$erar el e,)ac%o ut%l%:ado )or malloc'
char *s*
s O !char *"malloc!sizeof!char"*2+"*
gets!s"*
..
free!s"*
Se )uede leer cade!a, co! cual=u%er car9cter u,a!do scanf co! el 8or-ato TQ]\)n^U' El
t%lde ,e ut%l%:a )ara !e0ar lo, caractere, =ue ,er9! ace)tado,A e! e,te ca,o ,olo ,e rec6a:a el
car9cter de !ue7a l!ea' Por e1e-)loA el ,%0u%e!te 8ra0-e!to lee u! !o-$re " la edad
,e)arado, )or co-a'
char nombre]8+^*
int edad*
printf!&-scriba nombre completo y edad separados por
comaP)n& "*
scanf!&Q]\/^/Qd&/nombre/Wedad "*
printf!&)nFu nombre es Qs y tu edad es Qd)n&/ nombre/ edad"*
El ,%0u%e!te )ro0ra-a %!clu"e u!a 8u!c%&! =ue cua!ta el !C-ero de letra, " !C-ero, de u!a
cade!a de caractere,'
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
void cuenta!char *s/int *letras/int *digitos"%
*letras O +*
*digitos O +*
char *p O s*
while!*p(Oe)+e"%
if!isdigit!*p"" !*digitos"TT*
if!isalpha!*p"" !*letras"TT*
pTT*
,
,
main!"%
int letras/digitos/edad*
char cad]7+^/nombre]8+^*
printf!&-scriba una fraseP)n&"*
scanf!&Q:X]\)n^s&/cad"*
cuenta!cad/Wletras/Wdigitos"*
printf!&letrasP Qd)n&/letras"*
printf!&digitosP Qd)n&/digitos"*
*+#
getch!"*
,
De lo, e1e-)lo, a!ter%ore, ,e )uede o$,er7ar =ue e, -9, co!7e!%e!te leer cade!a, u,a!do
gets o fgets' La 8u!c%&! scanf !o 8ue d%,eDada )ara e,ta, ,%tuac%o!e, " )uede dar
re,ultado, %!e,)erado,'
Pro$le-a, )ro)ue,to,
4'.'*' [Lu d%8ere!c%a 6a" e!tre kBO " TBUW
4'.'#' E,cr%$a ,e!te!c%a, =ue lea u!a 8ra,e " ca-$%e la, letra, -a"C,cula, e! -%!C,cula, "
la, -%!C,cula, e! -a"C,cula,'
4'.'/' E,cr%$a ,e!te!c%a, =ue lea u!a 8ra,e " ca-$%e la, letra, ace!tuada, )or letra, !o
ace!tuada,'
4'.'.' E,cr%$a ,e!te!c%a, =ue lea u!a 8ra,e " ca-$%e loa, d0%to, 6eBadec%-ale, )or el
car9cter kEO'
4'(' B%$l%oteca, stdlib.h " string.h'
La $%$l%oteca stdlib.h %!clu"e al0u!a, 8u!c%o!e, de co!7er,%&! relac%o!ada, co!
cade!a, de caractere,' La ta$la -ue,tra e,ta, 8u!c%o!e, " ,u ,%0!%8%cado'
Fu!c%&! S%0!%8%cado
atoi!cad"
Co!7%erte cade!a a int
atof!cad"
Co!7%erte cade!a a float
atol!cad"
Co!7%erte cade!a a long int
strtod!cad/Wcad2"
Co!7%erte cade!a a double
strtol!cad/Wcad2/base"
Co!7%erte cade!a a long
strtoul!cad"
Co!7%erte cade!a a long ,%! ,%0!o
U! e1e-)lo ,e!c%llo del u,o de ato% ,e da e! el ,%0u%e!te )ro0ra-a' El )ro0ra-a lee u!a
cade!a ,e0u%da de u! car9cter " ,e0u%do de otra cade!a' La, cade!a, de$e! e,tar 8or-ada,
)or ,olo d0%to, dec%-ale,A " el car9cter de$e ,er al0C! ,-$olo de o)erac%&!A ,%!o e, a,A el
)ro0ra-a !o de,)le0ar9 !ada'
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main!"%
char op1]1+^/op2]1+^/opnd*
int o1/o2/res*
*+/
printf!&Fecle eRpresionP &"*
scanf!&Q]+-X^ Qc Q]+-X^&/op1/Wopnd/op2"*
o1 O atoi!op1"*
o2 O atoi!op2"*
switch!opnd"%
case eTePprintf!&QsQcQs O Qd&/op1/opnd/op2/o1To2"*break*
case e-ePprintf!&QsQcQs O Qd&/op1/opnd/op2/o1-o2"*break*
case e*ePprintf!&QsQcQs O Qd&/op1/opnd/op2/o1*o2"*break*
case e/ePprintf!&QsQcQs O Qd&/op1/opnd/op2/o1/o2"*break*
,
getch!"*
,
La 8u!c%&! ,trtol )er-%te co!7ert%r de cual=u%er $a,e e!tre # " /3 a $a,e *5A ,% el 7alor de la
$a,e e, 5A ,e co!7ert%r9 co! $a,e e! la, do, )r%-ero, caractere, de la cade!a de e!tradaA ,%
el )r%-ero e, *;2A ,e co!7%erte a $a,e *5A ,% el )r%-ero e, 5 " el ,e0u!do 5;+A ,e co!7ert%r9
de octal " ,% el )r%-ero e, 5 " el ,e0u!do B o EA ,e co!7%erte de 6eBadec%-al' El )r%-er
ar0u-e!to e, la cade!a =ue ,e de,ea co!7ert%rA el ,e0u!do ar0u-e!to e, la d%recc%&! de u!a
cade!a de caractere, do!de ,e 0uarda la ,u$cade!a =ue !o 8ue co!7ert%da " el tercer
ar0u-e!to e, la $a,e' La 8u!c%&! re0re,a u! 7alor de t%)o lo!0' La 8u!c%&! ,trtoul e, ,%-%lar
a e,ta 8u!c%&!' El ,%0u%e!te e1e-)lo %lu,tra e,ta 8u!c%&!'
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main!"
%
char numPtr]^ O &12abg:7&/ *finalPtr*
int base*
long n*
for! baseO2* base<O1:* baseTT "%
n O strtol!numPtr/ WfinalPtr/ base"*
printf! &Cadena )&Qs)& numero en base QdP Qu/ finalP
Qs)n&/
numPtr/ base/n/finalPtr"*
,
getch!"*
,
La 8u!c%&! strtod co!7%erte u!a cade!a a double' Ace)ta co-o ar0u-e!to, la cade!a
=ue ,e 7a a co!7ert%r " u!a cade!a )or re8ere!c%a =ue al-ace!a la ,u$cade!a co! lo,
caractere, =ue !o 8uero! co!7ert%do,' La 8u!c%&! re0re,a u! 7alor de do$le )rec%,%&!' El
,%0u%e!te )ro0ra-a e, u!a 7er,%&! del )ro0ra-a de calculadora 7%,to a!te, e %lu,tra el u,o
de e,ta 8u!c%&!'
#include <stdio.h>
*+.
#include <stdlib.h>
#include <conio.h>
main!"%
char op1]1+^/op2]1+^/opnd/*final*
double o1/o2/res*
printf!&Fecle eRpresionP &"*
scanf!&Q]+-XTe-.-^ Qc Q]+-XTe-.-^&/op1/Wopnd/op2"*
o1 O strtod!op1/Wfinal"*
o2 O strtod!op2/Wfinal"*
switch!opnd"%
case eTePprintf!&QsQcQs O Qd&/op1/opnd/op2/o1To2"*break*
case e-ePprintf!&QsQcQs O Qd&/op1/opnd/op2/o1-o2"*break*
case e*ePprintf!&QsQcQs O Qd&/op1/opnd/op2/o1*o2"*break*
case e/ePprintf!&QsQcQs O Qd&/op1/opnd/op2/o1/o2"*break*
,
getch!"*
,
Note =ue 6e-o, a0re0ado lo, caractere, k<OA keOA k'O X k;k al 8or-ato de e!trada la, cade!a,
corre,)o!d%e!te, a lo, !C-ero, )ara ace)tar !C-ero, co! ,%0!o e! !otac%&! c%e!t8%ca'
U!o, e1e-)lo, de e1ecuc%&! ,o! lo, ,%0u%e!te,>
Fecle eRpresionP 1:.8e4*8.4e-2
1:.8e4*8.4e-2 O X2:.8+++++
Fecle eRpresionP 4-8/2e-1
4-8/2e-1 O 18+++++.++++++
Fecle eRpresionP 1.9e-1X*-8.2e2+
1.9e-1X*-8.2e2+ O -74.2+++++
La $%$l%oteca string.h co!t%e!e la, 8u!c%o!e, )ara la -a!%)ulac%&! de cade!a, de
caractere,' La ,%0u%e!te ta$la e, u! re,u-e! de la, -9, %-)orta!te,'
Fu!c%&! De,cr%)c%&!
strcpy!cad1/cad+"
Co)%a la cade!a cad5 e! la cade!a cad*
strncpy!cad1/cad+/n"
Co)%a ! caractere, de la cade!a cad5 e! la cade!a cad*
strcat!cad1/cad+"
ADade u!a co)%a de cad5 al 8%!al de la cade!a cad*'
strncat!cad1/cad+/n"
ADade ! caractere, de cad5 al 8%!al de la cade!a cad*
strstr!cad1/cad+"
Local%:a la )r%-era ocurre!c%a de la cade!a cad5 e! la
cade!a cad*A re0re,a el a)u!tador a e,a cade!a'
strlen!cad+"
Re0re,a la lo!0%tud de la cade!a cad5
strcmp!cad+/cad1"
Co-)ara cad5 co! cad*A re0re,a u! e!tero -a"orA %0ual o
-e!or =ue cero ,e0C! ,% la cade!a cad5 e, -a"orA %0ual o
*+(
-e!or =ue cad#'
strchr!cad/c"
Local%:a la )r%-era ocurre!c%a del car9cter c de!tro de la
cade!a cad " re0re,a el a)u!tador a la cade!a re,ta!te'
strtoc!cad1/cad+"
Ro-)e e! tro:o, u!a cade!a cad*A e! do!de cada tro:o e,t9
del%-%tado )or al0C! car9cter de cad5' De,tru"e cad* e! la
)r%-era lla-adaA )o,ter%ore, lla-ada, co! ar0u-e!to
NULL recorre! lo, de-9, tro:o,'
memset!cad/c/n"
Co)%a el car9cter c e! lo, )r%-ero, ! $"te, de la cade!a
cad'
Por e1e-)loA la 8u!c%&! strlen cue!ta lo, caractere, de la cade!a' Recorde-o, =ue u!a
cade!a e,t9 del%-%tada )or el car9cter !ulo HkZ5OI' Sa$%e!do e,toA e, 89c%l %-)le-e!tar e,ta
8u!c%&! de la ,%0u%e!te -a!era'
int strlen2!char *cad"%
int i O +*
while!cad]i^(Oh)+h" iTT*
return i*
,
De -a!era ,%-%lar ,e )uede! %-)le-e!tar la, otra, 8u!c%o!e,' Co-o ,e0u!do e1e-)lo
%-)le-e!tare-o, ,trc)"' E,ta co)%a u!a cade!a e! otra " re0re,a el a)u!tador a la ,e0u!da'
char *strcpy2!char *cad1/ char *cad+"%
int i O +*
while!cad+]i^ (O g)+h"%
cad1]i^ O cad+]i^*
iTT*
,
cad1]i^ O g)+h*
return cad1*
,
Co-o e1e-)lo de a)l%cac%&! de la, 8u!c%o!e, de la $%$l%oteca string.h 6a0a-o, u!
)ro0ra-a =ue lea u!a orac%&! " la ,e)are e! la, )ala$ra, co-)o!e!te,' De8%!%-o, u!a
8u!c%&! lla-ada ,e)araA e!car0ada de lle7ar a ca$o la ,e)arac%&!' E,ta 8u!c%&! ut%l%:a la
8u!c%&! strtoc =ue ,e)ara la 8ra,e e! tro:o,A la )r%-era lla-ada lle7a co-o )r%-er
)ar9-etro el ar0u-e!to 8ra,e " la, lla-ada, )o,ter%ore, lle7a! NULL' Lo, del%-%tadore,
,o! lo, caractere, de la cade!a & )n)t/.Z(&' Al ter-%!ar de a!al%:ar toda la 8ra,e la
8u!c%&! strtoc re0re,a el 7alor NULL'
#include <stdio.h>
#include <conio.h>
#include <string.h>
void separa!char *frase"%
*+3
char *s*
char delimitadores]^ O & )n)t/.Z(&*
s O strtoc!frase/delimitadores"* //Primera llamada
printf!&Qs)n&/ s"*
while!s(O ;E00"%
s O strtoc! ;E00/delimitadores"*
if!s(O;E00"
printf!&Qs)n&/ s"*
,
,
main!"%
char cad]7+^*
printf!&-scriba una fraseP)n&"*
scanf!&Q]\)n^&/cad"*
separa!cad"*
getch!"*
,
La 8u!c%&! strstr $u,ca u!a cade!a de!tro de otra " re0re,a el a)u!tador al car9cter
do!de e!co!tr& la ocurre!c%a' S% !o e!cue!tra la cade!a $u,cadaA re0re,a NULL' Co-o
e1e-)loA el ,%0u%e!te )ro0ra-a cue!ta el !C-ero de 7ece, =ue u!a cade!a e,t9 de!tro de
otra' La, do, cade!a, ,e lee! de,de el teclado'
#include <stdio.h>
#include <conio.h>
#include <string.h>
int cuenta!char *s1/char *s2"%
int total O +*
char *ptrOs1*
do%
ptr O strstr!ptr/s2"*
if!ptr(O;E00"%
totalTT*
ptrTT*
,
,while!ptr(O;E00"*
return total*
,
main!"%
char cadena]7+^/palabra]2+^*
printf!&HntroduAca cadenaP &"*
scanf!&Q]\)n^&/cadena"*
printf!&HntroduAca palabraP &"*
scanf!& Q]\)n^&/palabra"*
*++
printf!&Fotal de ocurrenciasP Qd&/cuenta!cadena/palabra""*
getch!"*
,
Note =ue e! la 8u!c%&! cuenta ,e %!cre-e!ta el a)u!tador ptr ,% ,e local%:a u!a
ocurre!c%aA de !o 6acerlo a,A ,e e!trara e! u! la:o %!8%!%to 7ol7%e!do a e!co!trar la -%,-a
ocurre!c%a' Co! e,ta 8u!c%&! cuenta )ode-o, 89c%l-e!te co!tarA )or e1e-)lo la, 7ocale,
de u!a cade!a co! el ,%0u%e!te c&d%0o'
vocales O cuenta!cadena/?a?"T cuenta!cadena/?e?"T
cuenta!cadena/?i?"T cuenta!cadena/?o?"T cuenta!cadena/?u?"*
Para $u,car caractere, e,t9 la 8u!c%&! strchr' E,ta lle7a co-o ar0u-e!to, la cade!a
do!de ,e $u,car " el car9cter =ue ,e $u,car9A la 8u!c%&! re0re,a el a)u!tador al la )r%-era
ocurre!c%a del car9cter o NULL ,% !o ,e e!co!tr& !%!0u!a ocurre!c%a' U!a 8u!c%&! )ara
co!tar caractere, e, la ,%0u%e!te>
int cuentaChr !char *s/char c"%
int total O +*
char *ptrOs*
do%
ptr O strchr!ptr/c"*
if!ptr(O;E00"%
totalTT*
ptrTT*
,
,while!ptr(O;E00"*
return total*
,
Por e1e-)loA )ara co!tar toda, la, letra, -%!C,cula, de u!a cade!a u,a-o, el ,%0u%e!te
c&d%0o>
suma O+*
for!c O gah*c<OhAh*cTT"
suma TO cuentaChr!cadena/c"*
Para e1e-)l%8%car la 8u!c%&! ,trcat de,arrollare-o, u! al0or%t-o )ara co!7ert%r !C-ero,
ar9$%0o, a !C-ero, ro-a!o,' Fa-o, a l%-%tar la co!7er,%&! a !C-ero, de * a *555'
Recuerde =ue e! la !otac%&! ro-a!a ,e ut%l%:a! la, letra, IA FA EA LA CA D " M' Pode-o,
d%,t%!0u%r do, t%)o, de ,-$olo,A lo, =ue ,e u,a! )ara re)re,e!tar *A *5A *55 " *555 " el otro
0ru)o )ara re)re,e!tar (A (5 " (55' U,are-o, do, cade!a,A u!o )ara lo, ,-$olo, )ara
re)re,e!tar *A *5A *55 " *55 " otra )ara (A (5 " (55 la, cuale, ,er9! u N TIECMU " N TFLD
U' La 8u!c%&! )ara co!7ert%r ace)ta u!a cade!a de 6a,ta cuatro d0%to, dec%-ale, " re0re,a
la cade!a =ue re)re,e!ta el !C-ero ro-a!o' Todo, lo, d0%to, ,e co!7%erte! a ro-a!o
co!cate!a!do ,-$olo, de la -%,-a )o,%c%&! de la, cade!a, u " =A eBce)to el d0%to 2A =ue
,e co!7%erte a ro-a!o co! do, ,-$olo, de u' El al0or%t-o e, el ,%0u%e!te'
*+4
Al0or%t-o A Ro-a!o' Co!7%erte u! !C-ero e! ar9$%0o a ro-a!o' Ace)ta u!a cade!a
re)re,e!ta!do el !C-ero e! ar9$%0o " de7uel7e u!a cade!a e! ro-a!o'
*' le! N Lo!0%tudHcade!aI
#' ro-a!o N kZ5O
#' PARA % N le!;* HASTA 5 HACER
/' u!% N uPle!;%;*Q
.' =u%! N =Ple!;%;*Q
(' dec% N uPle!;%Q
3' c6 N cade!aP%Q
+' SELECCIONA OPCION c6
k*O > co!cate!a u!% a ro-a!o
k#O > co!cate!a u!%<u!% a ro-a!o
k/O > co!cate!a u!%<u!%<u!% a ro-a!o
k.O > co!cate!a u!%<=u%! a ro-a!o
k(O > co!cate!a =u%! a ro-a!o
k3O > co!cate!a =u%!<u!% a ro-a!o
k+O > co!cate!a =u%!<u!%!<u!% a ro-a!o
k4O > co!cate!a =u%!<u!%!<u!%!<u!% a ro-a!o
k2O > co!cate!a u!%<dec% a ro-a!o
4' FINSELECCION
2' FINPARA
*5' re0re,ar ro-a!o'
La 8u!c%&! ,trcat co!cate!a do, cade!a, )ero ,olo )or la derec6aA e,o %-)l%ca =ue ,e
co!,tru%r9 u!a cade!a ro-a!a %!7er,aA )or e,a ra:&! la %!7ert%-o, al 8%!al del )roce,o
-ed%a!te la 8u!c%&! ,trre7' La 8u!c%&! e! C e, la ,%0u%e!te>
char *aKomano!char *s"%
char u]^ O &HVC=&/#]^ O &J0G &*
int i/len O strlen!s"*
char *r*
char uni]2^O& &/deci]2^O& &/#uin]2^O& &/ch*
r O !char *"malloc!2+*sizeof!char""*
r]+^ O e)+e*
for!iOlen-1*i>O+*i--"%
ch O s]i^*
uni]+^ O u]len-i-1^*
#uin]+^ O #]len-i-1^*
deci]+^ O u]len-i^*
switch!ch"%
case e1ePstrcat!r/uni"*break*
case e2ePstrcat!r/uni"*strcat!r/uni"*break*
case
e4ePstrcat!r/uni"*strcat!r/uni"*strcat!r/uni"*break*
case e6ePstrcat!r/#uin"*strcat!r/uni"*break*
case e8ePstrcat!r/#uin"*break*
*+2
case e9ePstrcat!r/uni"*strcat!r/#uin"*break*
case
e:ePstrcat!r/uni"*strcat!r/uni"*strcat!r/#uin"*break*
case e7ePstrcat!r/uni"*strcat!r/uni"*
strcat!r/uni"*strcat!r/#uin"*break*
case eXePstrcat!r/deci"*strcat!r/uni"*break*
,
,
r O strrev!r"*
return r*
,
La ,%0u%e!te 8u!c%&! -a%! %-)r%-e lo, ro-a!o, de /5 a 35' Hace u,o de la 8u!c%&!
sprintf =ue co!7%erte u! !C-ero a " u!a cade!a 8or-ateada'
main!"%
int i*
char s]9^*
for!iO4+*i<O9+*iTT"%
sprintf!s/&Qd&/i"*
printf!&Qs O Qs)n&/s/aKomano!s""*
,
getch!"*
,
Co-o Clt%-o e1e-)lo de e,ta ,ecc%&! ,e -o,trar9 u! e1e-)lo )ara ,u-ar !C-ero, -u"
0ra!de, =ue !o ca$e! e! el t%)o lo!0' Para e,to ut%l%:are-o, cade!a, )ara re)re,e!tar a lo,
!C-ero,' Lo )r%-ero =ue 6a" =ue co!,%derar e, =ue al ,u-ar do, !C-ero,A el re,ultado
)uede te!er u!a lo!0%tud -9, 0ra!de =ue el -a"or de lo, do, !C-ero,' Ade-9,A )ara
8ac%l%tar la o)erac%&! e, co!7e!%e!te %!7ert%r la, cade!a, =ue re)re,e!ta! lo, !C-ero,' La
8u!c%&! e, la ,%0u%e!te>
char *suma0!char *num1/ char *num2"%
char *rnum1/ *rnum2/ *result*
int i/ mayor*
//invertir los n@meros
rnum1 O strrev!num1"*
rnum2 O strrev!num2"*
if!strlen!num1">strlen!num2""
mayor O strlen!num1"*
else
mayor O strlen!num2"*
//reserva memmora para el resultado
result O !char *"malloc!!mayorT2"*siAeof!char""*
memset!result/e)+e/mayorT2"*
for!iO+*i<mayor*iTT"%
if!i<strlen!num1""
*45
result]i^ TO rnum1]i^-e+e*
if!i<strlen!num2""
result]i^ TO rnum2]i^-e+e*
if!result]i^>X"%//suma mayor #ue XZ
result]i^ -O 1+*
result]iT1^ O 1*//acarreo
,
result]i^ TO e+e*//convierte a BICHH
,
if!result]mayor^OO1"//hubo acarreo en el @ltimo d$gito
result]i^Oe1e*
return strrev!result"*
,
Pro$le-a, )ro)ue,to,
4'('*' Mod%8%=ue el )ro0ra-a de calculadora de do$le )rec%,%&! )ara %!clu%r la o)erac%&! de
)ote!c%ac%&!' Ut%l%ce el car9cter kSO )ara e,to'
4'('#' A0re0ue la o)erac%&! de -&dulo 8lota!te' E,te -&dulo lo calcula la 8u!c%&! fmod de
la $%$l%oteca math.h' El -&dulo 8lota!te e, %0ual al coc%e!te -e!o, el )roducto de la
)arte e!tera del coc%e!te )or el d%7%,or'
4'('/' I-)le-e!te la 8u!c%&! ,tr!c)"'
4'('.' E,cr%$a u!a 8u!c%&! =ue ace)te do, cade!a, de caractere, S* " S# " el%-%!e toda, la,
ocurre!c%a, de lo, caractere, de S* e! S#' )or e1e-)lo>
I1O?/.Z?
I2O?hola/ #ue talZ/ espero #ue bien.?
salida >hola #ue tal espero #ue bien?
4'('(' Dada u!a cade!a caractere,A e,cr%$a u!a 8u!c%&! )ara el%-%!ar lo, caractere, $la!co,
re)et%do,A e1e-)lo>
e!trada> T 6ola =ue tal T
,al%da > T6ola =ue talU
4'('3' E,cr%$a u!a 8u!c%&! =ue ace)te u!a cade!a S " do, ,u$cade!a, S* " S#A " ree-)lace
toda, la, ocurre!c%a, de la ,u$cade!a S* e! S )or la ,u$cade!a S#'
4'('+' E,cr%$%r u!a 8u!c%&! =ue to-e co-o )ar9-etro u!a cade!a de caractere, " la
tra!,8or-e de -a!era =ue la, )ala$ra, a)are:ca! e! orde! %!7er,o' E1e-)lo> TE,to e, u!
e1e-)loU N` Te1e-)lo u! e, E,toU'
4'('4' E,cr%$%r u!a 8u!c%&! =ue ace)te u!a cade!a de caractere, e %!7%erta cada u!a de la,
)ala$ra, de la cade!aA ,u)o!0a =ue el e,)ac%o e, el ,e)arador' E1e-)lo> TSAN LUIS
POTOSIU N ` TNAS SIUL ISOTOPU
*4*
4'('2' E,cr%$a u!a 8u!c%&! =ue deter-%!e ,% u!a cade!a e, u! PALINDROMOA o ,ea ,% ,e
lee %0ual de %:=u%erda a derec6a " al re7,' Note =ue de$e %0!orar ,%0!o, de )u!tuac%&! "
e,)ac%o,'
4'('*5' E,cr%$a u!a 8u!c%&! )ara co!7ert%r u! !C-ero ro-a!o a ,u corre,)o!d%e!te !C-ero
ar9$%0o' Co!,%dere ,olo !C-ero, de * a *555'
4'('**' E,cr%$a u!a 8u!c%&! )ara %-)r%-%r u!a ca!t%dad co! letra,A e, dec%rA )ara *#/.
de$er de,)le0ar T-%l do,c%e!to, tre%!ta " cuatroU'
4'('*#' E,cr%$a u!a 8u!c%&! )ara re,tar do, !C-ero, e!tero, lar0o, re)re,e!tado, co-o
cade!a, de caractere,' To-e co-o e1e-)lo la 8u!c%&! ,u-aL 7%,ta e! el e1e-)lo'
4'('*/' De,arrolle u! al0or%t-o )ara -ult%)l%car do, e!tero, lar0o, " e,cr%$a la 8u!c%&!
corre,)o!d%e!te' U,e la 8u!c%&! )ara e!co!trar *55j co! todo, ,u, d0%to,'
4'('*.' De,arrolle u! al0or%t-o )ara d%7%d%r do, e!tero, lar0o, " e,cr%$a la 8u!c%&!
corre,)o!d%e!te'
4'3' Arre0lo, de cade!a,'
Lo, arre0lo, de cade!a, ,o! -u" Ct%le, )ara )roce,ar l%,ta de !o-$re,A d%recc%o!e,A etc' E!
e,ta ,ecc%&! re7%,are-o, al0u!o, -todo, )ara la -a!%)ulac%&! de arre0lo, de cade!a,'
Co-o 7%-o, a!ter%or-e!te la declarac%&! -9, 8recue!te de arre0lo, de cade!a, e,
-ed%a!te la ,e!te!c%a>
char arregloCadenas]K-;C0M;-I^]FB=B;HM^*
E,ta declarac%&! de8%!e u! arre0lo de K-;C0M;-I ele-e!to,A do!de cada u!o e, u!a
cade!a, de FB=B;HM caractere,' La cade!a %;,%-a ,era arregloCadenas]i^A )or
e1e-)loA el ,%0u%e!te c&d%0o co)%a la cade!a s e! el ele-e!to ( del arre0lo>
char s]FB=B;HM^O?Eniversidad?*
strcpy!arregloCadenas]8^/s"*
La ,%0u%e!te 8u!c%&! lee de,de el teclado u!a ,er%e de cade!a, " la, al-ace!a e! u! arre0lo
=ue )a,a co-o )ar9-etro' Pr%-ero ,e ,ol%c%ta el !C-ero de ele-e!to, =ue 7a! a leer,e
lue0o ,e lee! la, cade!a,' El ar0u-e!to ! )a,a )or re8ere!c%a )ara re)ortar el !C-ero de
cade!a, =ue ,e le"ero!' Note =ue u,a-o, fflush )ara e7%tar =ue el dENTER` ,e )a,e a
la lectura de la )r%-era cade!a'
void leerBrreglo!char arreglo]^]FB=B;HM^/int *n"%
int i*
printf!&Cuantas cadenas se leeranZ &"*
scanf!&Qd&/n"*
*4#
fflush!stdin"*
for!iO+*i<*n*iTT"%
printf!&-scriba cadena QdP &/i"*
gets!arreglo]i^"*
,
,
La ,%0u%e!te 8u!c%&! %-)r%-e la l%,ta de cade!a, de u! arre0lo'
void imprimeBrreglo!char arreglo]^]FB=B;HM^/int n"%
int i*
for!iO+*i<n*iTT"
printf!&Qs)n&/arreglo]i^"*
,
U!a o)erac%&! %-)orta!te e, el orde!a-%e!to de u!a l%,ta de cade!a,' A!ter%or-e!te
ut%l%:a-o, el al0or%t-o de la $ur$u1a )ara orde!ar u! arre0lo de !C-ero,' La 7er,%&! de
e,te al0or%t-o )ara u! arre0lo de cade!a, e, el ,%0u%e!te' Para co-)arar la, cade!a,
u,a-o, la 8u!c%&! ,trc-) " )ara 6acer el %!terca-$%o de do, ele-e!to, ,e u!a la 8u!c%&!
,trc)"'
void Yurbu.a!char a]^]FB=B;HM^/int tam"%
char temp]FB=B;HM^*
for!int i O +* i< tam - 1 * iTT"
for!int . O i* .< tam*.TT"
if!strcmp!a]i^/a].^">+"%
strcpy!temp/a].^"*
strcpy!a].^/a]i^"*
strcpy!a]i^/temp"*
,
,
E! al0u!o, ca,o, ,e ut%l%:a! arre0lo, )aralelo,A e,to e,A arre0lo, de t%)o, d%8ere!te, =ue
-a!t%e!e! %!8or-ac%&! relac%o!ada' Por e1e-)loA e! u! arre0lo de cade!a, ,e )uede te!er
lo, !o-$re, de lo, alu-!o, de u! 0ru)o " e! u!a arre0lo $%d%-e!,%o!al de 8lota!te, la,
cal%8%cac%o!e, de lo, d%8ere!te, eB9-e!e, )arc%ale, =ue real%:aro!' El ,%0u%e!te )ro0ra-a
orde!a u!a l%,ta de !o-$re, de alu-!o, co! $a,e e! lo, )ro-ed%o, o$te!%do, )or cada u!o'
La 8u!c%&! promedia t%e!e co-o ar0u-e!to, el arre0lo de !o-$re,A el arre0lo de
cal%8%cac%o!e,A el !C-ero de alu-!o, " el !C-ero de eB9-e!e,' La 8u!c%&! calcula lo,
)ro-ed%o, " lo, al-ace!a e! u! arre0lo de 8lota!te, prom' Lue0o orde!a lo, arre0lo, de
!o-$re,A de )ro-ed%o, " de cal%8%cac%o!e, " 8%!al-e!te lo, de,)l%e0a'
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define FB=B;HM 8+
#define =BV 1+
*4/
#define B0E=;MI 1+
void promedia!char nombres]^]FB=B;HM^/float cal]^]=BV^/int
numBlumnos/int num-Ramenes"%
int i/./c*
float prom]B0E=;MI^/t*
char temp]FB=B;HM^*
/*Calcula el promedio de cada alumno*/
for!iO+*i<numBlumnos*iTT"%
prom]i^ O +*
for!.O+*.<num-Ramenes*.TT"
prom]i^ TO cal]i^].^*
prom]i^ /O num-Ramenes*
,
/* Mrdena la lista con base en el promedio */
for!i O +* i< numBlumnos-1 * iTT"
for!. O i* .< numBlumnos*.TT"
if!prom]i^<prom].^"%
/* Hntercambia elementos de los tres arreglos */
t O prom]i^*
prom]i^ O prom].^*
prom].^ O t*
strcpy!temp/nombres].^"*
strcpy!nombres].^/nombres]i^"*
strcpy!nombres]i^/temp"*
for!cO+*c<num-Ramenes*cTT"%
t O cal]i^]c^*
cal]i^]c^ O cal].^]c^*
cal].^]c^ O t*
,
,
/* despliega los datos ordenados*/
for!iO+*i<numBlumnos*iTT"%
printf!&Q2+s &/nombres]i^"*
for!.O+*.<num-Ramenes*.TT"
printf!&Q6.1f &/cal]i^].^"*
printf!& O Q6.1f )n&/prom]i^"*
,
,
main!"%
char alumnos]B0E=;MI^]FB=B;HM^ O
%&<uan PereA&/&Mlivia IuareA&/&=arco Jinicio&/
&0ourdes Cuerrero&/&Bbdul 0opeA&,*
float calif]B0E=;MI^]=BV^ O
%%9.:/ :.8/ 6.8/ 2/ 8/ :/ 8/ 9/ 6/ X,/
%6/ 9/ :.8/ 9.4/ 8.7/ 7/ :.7/ 7.8/ 8/ 7,/
*4.
%4.6/ 8/ 8/ 4.2/ :.8/ 2/ 1/ 4/ 4/ 8,/
%8/ 8.9/ 9.:/ 8.6/ :/ 7/ X/ 4.6/ 8/ 9,/
%2/ 6/ :/ X/ 9/ +/ 9/ 8.6/ 8/ 6,,*
printf!&GBFMI MKHCH;B0-I)n&"*
for!int iO+*i<8*iTT"%
printf!&Q2+s &/alumnos]i^"*
for!int .O+*.<1+*.TT"
printf!&Q6.1f &/calif]i^].^"*
printf!&)n&"*
,
printf!&GBFMI MKG-;BGMI)n&"*
promedia!alumnos/calif/8/1+"*
getch!"*
,
La 8u!c%&! main declara el arre0lo de !o-$re, " el arre0lo $%d%-e!,%o!al de
cal%8%cac%o!e,' Lue0o de,)l%e0a lo, dato, %!%c%ale, " lla-a a la 8u!c%&! )ro-ed%a'
Pro$le-a, )ro)ue,to,
4'3'*' Dada la ,%0u%e!te l%,ta de )a,e, " ,u, ca)%tale,A e,cr%$a u! )ro0ra-a %!teract%7o =ue
lea el !o-$re de u! )a, " de,)l%e0ue ,u ca)%tal " 7%ce7er,a' El )ro0ra-a ,e de$er9 e1ecutar
6a,ta =ue el u,uar%o e,cr%$a la )ala$ra fin'
MB%co Cd' De MB%co
Fra!c%a Par,
C6%le Sa!t%a0o
Pa!a-9 Pa!a-9
Cu$a La Ha$a!a
Ale-a!%a Berl!
Ru,%a Ma,cC
C6%!a PeJ!
E,tado, U!%do, va,6%!0to!
I!0laterra Lo!dre,
I,rael Geru,al!
Ital%a Ro-a
4'3'#' E,cr%$a u! )ro0ra-a )ara co!7ert%r u!a orac%&! de e,)aDol a )%0 lat!' La co!7er,%&!
,e lle7a a ca$o tra,)o!%e!do la )r%-era letra de cada )ala$ra al 8%!al de la -%,-a "
aDad%!dole lue0o la ter-%!ac%&! TaU' Por e1e-)lo> )erro ;` erro)a' El )ro0ra-a de$er9
leer 7ar%a, l!ea, de teBto 6a,ta =ue ,e %!trodu:ca la )ala$ra 8%! " de,)le0ar9 el teBto
co!7ert%do a )%0 lat!'
4'+' A)u!tadore, " cade!a,
Co-o ,e 7%o e! la ,ecc%&! +'#A eB%,te u!a relac%&! -u" e,trec6a e!tre arre0lo, "
a)u!tadore,' Co-o la, cade!a, ,o! arre0lo,A )ode-o, -a!%)ularla, ut%l%:a!do a)u!tadore,'
*4(
Por e1e-)loA la 8u!c%&! )ara deter-%!ar la lo!0%tud de u!a cade!a )ode-o, e,cr%$%rla
ut%l%:a!do ,u$!d%ce, de la ,%0u%e!te 8or-a'
int strlen!char ]^s"%
int i*
for!iO+* s]i^ (O g)+h*iTT"*
return i*
,
U!a 8or-a alter!at%7a ,era ut%l%:ar a)u!tadore, co-o ,%0ue' Note =ue el a)u!tador e,
%!cre-e!tado -ed%a!te ,<<A e,to !o -od%8%ca el )ar9-etro real =ue 6a"a )a,ado a la
8u!c%&!A ,olo -od%8%ca la )r%7ada del a)u!tador'
int strlen!char *s"%
int i*
for!iO+* *s (O g)+h*sTT"
iTT*
return i*
,
La, ,%0u%e!te, declarac%o!e, !o ,o! co-)leta-e!te e=u%7ale!te,' La )r%-era declara u!
arre0lo de caractere,A lo, caractere, de e,te arre0lo )uede! ,er -od%8%cado, e! cual=u%er
-o-e!toA )ero la 7ar%a$le -e!,a1e ,%e-)re ,eDalar9 a la -%,-a local%dad de -e-or%a' La
,e0u!da declara u! a)u!tador a car9cterA el re,ultado de -od%8%car el co!te!%do de la
cade!a e,ta %!de8%!%doA ,%! e-$ar0o la 7ar%a$le -e!,a1e) )uede -od%8%car,e )ara ,eDalar a
otra cade!a'
char mensa.e]^ O >esta es una cadena?*
char *mensa.ep O >esta es una cadena?*
E! la -e-or%a ,e te!dra la ,%0u%e!te re)re,e!tac%&!'
Co!,%dere-o, a6ora la 8u!c%&! ,trc)"' E,ta 8u!c%&! co)%a el co!te!%do de u!a cade!a ,* e!
otra ,#' S% ,%-)le-e!te e,cr%$%ra-o, ,# N ,*A el re,ultado ,era co)%ar el a)u!tadorA !o lo,
caractere,' Para co)%ar de$e-o, ut%l%:ar u! c%clo co-o el ,%0u%e!te'
void strcpy!char *s2/ char *s1"%
int i*
i O +*
*43
while!!s2]i^ O s1]i^"(O g)+h"
iTT*
,
Note =ue 6e-o, 6ec6o la a,%0!ac%&! de!tro de la ,ecue!c%a de co!trol del c%clo' E,to e,
)o,%$le )or=ue el o)erador a,%0!ac%&! re0re,a el 7alor a,%0!adoA ,% e,te 7alor e, !uloA el
c%clo ter-%!a' Lo -%,-o 6ec6o co! a)u!tadore, e, co-o ,%0ue>
void strcpy!char *s2/ char *s1"%
while!!*s2 O *s1"(O g)+h"%
sTT*
tTT*
,
,
U! )ro0ra-ador eB)erto de C e,cr%$%r9 el c&d%0o a!ter%or co-o
void strcpy!char *s2/ char *s1"%
while!!*s2TT O *s1TT"(O g)+h"*
,
El 7alor de R,#<< e, el car9cter al =ue a)u!ta ,# a!te, de %!cre-e!tar,eA cua!do ,e lle0a al
car9cter !ulo e,te e, co)%ado a!te, de ,al%r del c%clo' Co-o el la:o ,e e1ecuta -%e!tra, la
eB)re,%&! de co!trol !o ,ea !ulaA ,e )uede e,cr%$%r la 8u!c%&! de la ,%0u%e!te 8or-aA au!
-9, co-)acta' Au!=ue e,ta 8or-a e, -u" cr)t%caA e, -u" co!7e!%e!te e!te!derle c&d%0o
"a =ue a)arece co! 8recue!c%a e! )ro0ra-a, e! C'
void strcpy!char *s2/ char *s1"%
while!*s2TT O *s1TT"*
,
Co-o otro e1e-)lo del u,o de a)u!tadore,A co!,%dere la 8u!c%&! ,trc-) =ue co-)ara do,
cade!a,A ,% ,o! %0uale, re0re,a 5A ,% la )r%-era e, -9, 0ra!de HleB%co0r98%ca -e!teIA re0re,a
u! 7alor )o,%t%7o " ,%!o re0re,a u! 7alor !e0at%7o' La %-)le-e!tac%&! co! ,u$!d%ce,
)odra ,er la ,%0u%e!te' Note =ue )ode-o, re,tar l%$re-e!te lo, caractere, )ara deter-%!ar
el -a"or'
int strcmp!char *s1/ char *s2"%
int i*
for!iO+* s1]i^ OO s2]i^*iTT"
if!s]i^OOh)+h"
return +*
return s1]i^-s2]i^*
,
La 7er,%&! co! a)u!tadore, e, la ,%0u%e!te>
*4+
int strcmp!char *s1/ char *s2"%
int i*
for! * *s1 OO *s2*s1TT/s2TT"
if!*s1OOh)+h"
return +*
return *s1-*s2*
,
Co-o Clt%-o e1e-)lo de a)u!tadore, co!,%derare-o, !ue7a-e!te el )ro$le-a de orde!ar
u! arre0lo de cade!a,' E! la ,ecc%&! a!ter%or ,e d%,cut%& u!a 8u!c%&! )ara orde!ar u!
arre0lo de cade!a,A e,ta 8u!c%&! )ode-o, -od%8%carla )ara orde!ar u! arre0lo de )u!tero, a
cade!a,' De e,ta -a!era la orde!ac%&! ,e lle7ar9 aca$o e! el arre0lo de a)u!tadore,A !o e!
la, cade!a,A a6orra!do u!a co!,%dera$le ca!t%dad de t%e-)o' La 8u!c%&! -od%8%cada e,>
void Yurbu.a!char *a]^/int tam"%
char *temp*
for!int i O +* i< tam - 1 * iTT"
for!int . O i* .< tam*.TT"
if!strcmp!a]i^/a].^">+"%
temp O a].^*
a].^ O a]i^*
a]i^ O temp*
,
,
Note =ue ,olo ,e reorde!a el arre0lo de a)u!tadore,A !o ,e co)%a! la, cade!a, cua!do ,e
%!terca-$%a!' Para arre0lo, 0ra!de, e,ta 8u!c%&! ,er9 co!,%dera$le-e!te -9, r9)%da' Co-o
e1e-)lo de u!a 8u!c%&! -a%! co!,%dere la ,%0u%e!te' He-o, ut%l%:ado u!a 7er,%&!
-od%8%cada de la 8u!c%&! %-)r%-eArre0lo )ara de,)le0ar el arre0lo de,orde!ado "
orde!ado' El e8ecto de la 8u!c%&! )uede 7%,ual%:ar,e e! la ,%0u%e!te 8%0ura'
#include <stdio.h>
#include <conio.h>
#include <string.h>
void Yurbu.a!char *a]^/int tam"*
void imprimeBrreglo!char *a]^/int tam"*
*44
main!"%
char *s]^ O %&san luis potosi&/&aguascalientes&/
&meRico&/&Aacatecas&,*
imprimeBrreglo!s/6"*
Yurbu.a!s/6"*
imprimeBrreglo!s/6"*
getch!"*
,
void imprimeBrreglo!char *a]^/int tam"%
for!int i O +* i< tam * iTT"
printf!&Qs)n&/a]i^"*
printf!&)n&"*
,
void Yurbu.a!char *a]^/int tam"%
char *temp*
for!int i O +* i< tam - 1 * iTT"
for!int . O i* .< tam*.TT"
if!strcmp!a]i^/a].^">+"%
temp O a].^*
a].^ O a]i^*
a]i^ O temp*
,
,
Pro$le-a, )ro)ue,to,
4'+'*' E,cr%$a la ,%0u%e!te 8u!c%&! ut%l%:a!do a)u!tadore,'
void f!char a]^/int n"%
char temp]^*
int iO+*
while!a]i^(Oh)+h"%
if!isalpha!a]i^""
a]i^ O gRh*
,
,
4'+'#' E,cr%$a u!a 7er,%&! lo -9, e8%c%e!te )o,%$le de la 8u!c%&! del )ro$le-a * u,a!do
a)u!tadore,'
4'+'/' E,cr%$a do, 7er,%o!e, )ara ,trcat u!a ut%l%:a!do ,u$!d%ce, " otra co! a)u!tadore,'
4'+'.' E,cr%$a do, 7er,%o!e, )ara ,tr!c)" =ue co)%a lo, )r%-ero, ! caractere, de ,u,
ar0u-e!to,A u!a ut%l%:a!do ,u$!d%ce, " otra co! a)u!tadore,'
*42
Ca)tulo 2' E,tructura, " u!%o!e,
2'*' De8%!%c%&! de e,tructura,
U!a e,tructura e, u! a0ru)a-%e!to de 7ar%a$le,A =ue )uede! ,er de t%)o d%8ere!teA $a1o u!
,olo !o-$re' E! al0u!o, le!0ua1e, ,e le, lla-a re0%,tro,' A d%8ere!c%a de lo, arre0lo, e!
u!a e,tructura )ode-o, te!er ele-e!to, de d%8ere!te t%)o' La, e,tructura, )er-%te! a0ru)ar
dato, e! u!a ,ola u!%dad )ara 6acerlo, -9, -a!e1a$le,' La, e,tructura, ,e )uede! co)%arA
a,%0!arA )a,ar a 8u!c%o!e, " ,er re0re,ada, )or 8u!c%o!e,' De e,ta Clt%-a -a!era la,
8u!c%o!e, )uede! re0re,ar al0o -9, co-)le1o =ue u! 7alor e,calar ,%-)le'
La declarac%&! de e,tructura, ,e 6ace -ed%a!te la )ala$ra re,er7ada struct' La ,%!taB%, e,
la ,%0u%e!te' E, %-)orta!te )o!er el )u!to " co-a al 8%!al de la declarac%&!'
struct nombre%
campos*
,*
E! do!de cada ca-)o o -%e-$ro e, la declarac%&! de u!a o -9, 7ar%a$le,' E,ta declarac%&!
de8%!e el !o-$re co-o u!a e,tructura =ue )uede ut%l%:ar,e )o,ter%or-e!te )ara declarar
7ar%a$le, de e,te t%)o' La ,%0u%e!te declarac%&! de8%!e u!a e,tructura =ue co!,ta de u!a
cade!a lla-ada !o-$re de /5 caractere, " u! ca-)o !u-r%co e!tero lla-ado edad' La
8%0ura -ue,tra la u!a re)re,e!tac%&! 0r98%ca de la e,tructura )er,o!a'
struct persona%
char nombre]4+^*
int edad*
,*
U!a 7e: declarada la e,tructura ,e )uede! de8%!%r 7ar%a$le, de t%)o e,tructura' E! ANSI C
e, !ece,ar%o a!te)o!er la )ala$ra re,er7ada struct cada =ue ,e declara! 7ar%a$le, de t%)o
e,tructuraA )ero al0u!o, co-)%ladore, co-o de7;C !o re=u%ere! e,to' Por e1e-)loA la
,%0u%e!te declarac%&! de8%!e )* " )# co-o e,tructura, )er,o!aA cada u!a co! u! ca-)o )ara
!o-$re " otro )ara edad'
*25
persona p1/ p2*
o
struct persona p1/ p2* /* en B;IH C*/
Ta-$%! ,e )uede! declarar 7ar%a$le, de t%)o e,tructura al de8%!%r la e,tructura' E, dec%rA e,
79l%do 6acer lo ,%0u%e!te>
struct persona%
char nombre]4+^*
int edad*
, p1/ p2*
E,ta ,e!te!c%a re,er7a e,)ac%o e! -e-or%a )ara al-ace!ar de 8or-a co!t%0ua la,
e,tructura, p1 " p2' Para a,%0!ar 7alore, a la, e,tructura, ,e ut%l%:a el o)erador T'UA e,te ,e
coloca e!tre el !o-$re de la e,tructura " cada u!o de lo, ca-)o,' Por e1e-)loA )ode-o,
leer co! gets lo, ca-)o, !o-$re de la, e,tructura, p1 " p2'
gets!p1.nombre"*
p1.edad O 28 *
gets!p2.nombre"*
p2.edad O 44 *
El ,%0u%e!te )ro0ra-a -ue,tra co-o de8%!%r do, e,tructura,A a,%0!ar 7alor a lo, ca-)o, "
-o,trarlo, e! )a!talla'
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct persona%
char nombre]4+^*
int edad*
,*
main!"%
persona per1/per2*
strcpy!per1.nombre/&pedro&"*
strcpy!per2.nombre/&maria&"*
per1.edad O 24*
per2.edad O 1:*
printf!&nombreP Qs)nedadP Qd)n&/per1.nombre/per1.edad"*
printf!&nombreP Qs)nedadP Qd)n&/per2.nombre/per2.edad"*
getch!"*
,
*2*
Se )uede %!%c%al%:ar u!a e,tructura al declararla co! u!a l%,ta de %!%c%al%:adore,' La,
co!,ta!te, de$e! co%!c%d%r el t%)o de lo, ca-)o,'
persona p1 O %&<uan PereA&/46,/ p2*
U!a e,tructura )uede d%recta-e!te a,%0!ar,e a otra' Lo =ue !o )uede 6acer,e e, co-)arar
)or %0ualdad o d%8ere!c%a do, e,tructura,A e, 8or:o,o co-)arar ca-)o )or ca-)o' La
,%0u%e!te a,%0!ac%&! e, 79l%da " co)%a todo, lo, ca-)o, de p1 e! p2'
p2 O p1*
PeroA lo ,%0u%e!te !o e, 79l%do'
if!p1OOp2"
e
De$e co-)arar,e ca-)o )or ca-)o
if!!strcmp!p1.nombre/p2.nombre"OO+"WWp1.edadOOp2.edad"
e
U!a e,tructura )uede co!te!er cual=u%er t%)o de 7ar%a$leA %!clu,o otra, e,tructura,A a e,ta,
e,tructura, ,e le, lla-a estructuras anidadas' Co-o e1e-)lo co!,%dere la e,tructura )ara
re)re,e!tar )u!to, e! el )la!o'
struct punto%
float R/y*
,*
Co! e,ta e,tructura )ode-o, crear otra e,tructura )ara re)re,e!tar u!a recta e! el )la!o'
U!a recta =ueda de8%!%da )or lo, )u!to, eBtre-o,A co-o ,e -ue,tra a co!t%!uac%&!'
struct recta%
punto p1/ p2/
,*
El ,%0u%e!te )ro0ra-a declara u!a 7ar%a$le de t%)o )u!to " do, de t%)o recta' El )u!to p ,e
%!%c%al%:a co! lo, 7alore, + )ara R " / )ara y' La recta r1 ,e %!%c%al%:a d9!dole 7alore, a la,
coorde!ada, de lo, )u!to, eBtre-o,' Lue0o ,e a,%0!a al )r%-er )u!to de la recta r2 lo,
7alore, del )u!to p " al ,e0u!do )u!to lo, 7alore, del )r%-er )u!to de r1'
#include <stdio.h>
#include <conio.h>
struct punto%
float R/y*
*2#
,*
struct recta%
punto p1/ p2*
,*
main!"%
punto p O %:/4,*
recta r1 O %%2/4,/%8/9,,*
recta r2*
r2.p1 O p*
r2.p2 O r1.p1*
printf!&recta de !Qf/Qf" a !Qf/Qf")n&/r1.p1.R/ r1.p1.y/
r1.p2.R/ r1.p2.y"*
printf!&recta de !Qf/Qf" a !Qf/Qf")n&/r2.p1.R/ r2.p1.y/
r2.p2.R/ r2.p2.y"*
getch!"*
,
Otro, e1e-)lo, de e,tructura, ,o! lo, ,%0u%e!te,'
Ele-e!to =u-%co H,e %!%c%a! lo, dato, )ara el oroI' Re,er7a-o, tre, caractere, )ara el
,-$olo "a =ue 6a" =ue al-ace!ar el car9cter !ulo'
struct elemento%
int nBtomico*
float masaBtomica*
char simbolo]4^*
char nombre]2+^*
, e O %:X/ 1X9.X7:/ >Bu?/ >Mro?,*
Dato, $%$l%o0r98%co,'
struct libro%
char titulo]4+^*
char autor]6+^*
char editorial]1+^*
int edicion*
int anyo*
, R O %>-l 0engua.e de Programacin C?/
>Yrian w. ernighan/ Gennis =. Kitchie?/
>Prentice 'all 'ispanoamericana?/ 2/ 1X77,*
E-)leado
struct empleado%
char nombre]18^*
*2/
char apellido]2+^*
int edad*
float sueldo*
int anyoHngreso*
, R O %>Pedro?/>=oreno?/ 48/ 289:.8/ 1XX7,*
Co-o otro e1e-)lo co!,%dere u!a )er,o!a =ue )uede re=uer%r lo, ,%0u%e!te, dato, )ara ,u
%de!t%8%cac%&!> !o-$reA a)ell%doA d%recc%&!A tel8o!oA 8ec6a de !ac%-%e!toA ,eBo " CURP' A
,u 7e: la d%recc%&! )uede te!er d%8ere!te, ca-)o, ,e)arado, co-o> calleA !C-eroA colo!%aA
c&d%0o )o,talA c%udadA e,tado " )a,' Ta-$%! la 8ec6a de !ac%-%e!to )uede co!,tar de> daA
-e, " aDo' La, ,%0u%e!te, declarac%o!e, de8%!e! lo, t%)o, !ece,ar%o,'
struct fecha%
int dia/ mes/ anyo*
,*
struct direccion%
char calle]4+^*
int numero*
char colonia]2+^*
int CP*
char ciudad]2+^/estado]18^/pais]18^*
,*
struct persona%
char nombre]18^/apellido]2+^*
direccion dir*
char telefono]18^*
fecha fecha;acimiento*
char seRo* /* ghh U hombre/ gmh - mu.er */
char CEKP]17^*
,*
Para a,%0!arle 7alor a la d%recc%&! de u!a )er,o!a te!dre-o, =ue e,cr%$%r el ,%0u%e!te
c&d%0o>
persona p*
strcpy!p.dir.calle/?olmo?"*
p.dir.numero O 168*
strcpy!p.dir.colonia/?0as Dlores?"*
p.dir.CP O :7246*
strcpy!p.dir.ciudad/?Jalles?"*
strcpy!p.dir.estado/?Ian 0uis Potos$?"*
strcpy!p.dir.colonia/?=5Rico?"*
La ,%0u%e!te ,e!te!c%a if 7er%8%ca =ue u!a )er,o!a 7%7a e! Falle, " ,ea de ,eBo -a,cul%!o'
*2.
if!strcmp!p.dir.ciudad/?Jalles?"OO+WWp.seRoOOhhh"
Pro$le-a, )ro)ue,to,
2'*'* De8%!a u!a e,tructura )ara 0uardar %!8or-ac%&! ,o$re cl%e!te, de u! $a!co' I!clu"a
-%e-$ro, )ara el !o-$reA d%recc%&!A tel8o!oA !C-ero de cue!taA t%)o de cue!ta " ,aldo de
la cue!ta'
2'*'#' Declare 7ar%a$le, del t%)o de la e,tructura del )ro$le-a a!ter%or' I!%c%al%ce u!a
e,tructura co! lo, ,%0u%e!te, dato,> !o-$re N TRo$erto L%-aUA d%recc%&! N TOl-o p#.(UA
tel8o!o N T/.;/#;3(;3+UA !C-ero de cue!ta N /.(+A t%)o de cue!ta N #A ,aldo N .(2#4'35'
2'*'/' De8%!a u!a e,tructura )ara al-ace!ar la ,%0u%e!te %!8or-ac%&! de u! )la!eta> -a,aA
rad%oA d%,ta!c%a al ,olA 0ra7edad ,u)er8%c%alA durac%&! del aDo e! da, " )er%odo de rotac%&!
e! 6ora,' E,cr%$a u! )ro0ra-a =ue %!%c%al%ce lo, dato, del )la!eta t%erra " lo, de,)l%e0ue'
2'*'.' U,a!do la e,tructura del )ro$le-a a!ter%or e,cr%$a u! )ro0ra-a =ue de8%!a u!a
7ar%a$le de t%)o )la!eta " lea la -a,a del )la!eta " ,u rad%o' Calcule la de!,%dad del )la!eta
" la 0ra7edad e! la ,u)er8%c%e " lo, de,)l%e0ue' La de!,%dad e, -a,a e!tre 7olu-e! " la
0ra7edad ,e calcula co! 0 N GM?R
#
A do!de G N 3'3+ B *5
K**
-
/
J0
K*
,
K#
A M e, la -a,a " R el
rad%o'
2'*'(' U! !C-ero real )uede re)re,e!tar,e co-o u!a )arte e!tera " u! -ult%)l%cador de )or
u!a )ote!c%a de *5A )or e1e-)lo> #/.'(3 B *5;+ N #/.(3 B *5;2A la )arte e!tera e, #/.(3 "
el eB)o!e!te de la )ote!c%a de *5 e, ;2' Declare u!a e,tructura )ara re)re,e!tar !C-ero,
reale, de e,ta 8or-a' E,cr%$a c&d%0o )ara e7aluar la -ult%)l%cac%&! de do, !C-ero, reale,'
2'#' E,tructura, " a)u!tadore,
E! -uc6o, ca,o, e, co!7e!%e!te ut%l%:ar a)u!tadore, a e,tructura,' Para u,ar u!a e,tructura
-ed%a!te u! a)u!tador ,e de$e )r%-ero crear la e,tructura co! malloc' Co!,%dere el
,%0u%e!te e1e-)lo'
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
struct punto%
float R/y*
,*
main!"%
punto *p*
p O !punto *"malloc!sizeof!punto""*
!*p".R O 8*
!*p".y O 7*
*2(
printf!&punto !Q.+f/Q.+f"&/!*p".R/!*p".y"*
getch!"*
,
Note =ue u,a-o, !*p".R )ara acceder al ca-)o R "a =ue el o)erador )u!to t%e!e
)recede!c%a re,)ecto al o)erador de %!d%recc%&!A la !otac%&! *p.R ,%0!%8%ca Tel co!te!%do
de lo d%recc%o!ado )or el ca-)o RU lo cual !o e, 79l%do "a =ue R e, u! 8lota!te' Para
a$re7%ar ,e )uede u,ar el o)erador T->U )ara acceder a lo, ca-)o,' La, re8ere!c%a, a lo,
ca-)o, ,e ca-$%ara! )or la, ,%0u%e!te,>
p->R O 8*
p->y O 7*
printf!&punto !Q.+f/Q.+f"&/p->R/p->y"*
U!a e,tructura )uede te!er re8ere!c%a, a ,% -%,-a' Fea-o, u!a -od%8%cac%&! a la e,tructura
)u!to )ara )oder re)re,e!tar u! )ol0o!o' U! )ol0o!o e, u!a l%,ta de )u!to,' Pode-o,
8or-ar u!a l%,ta a0re0a!do u! ca-)o a)u!tador a la e,tructura )u!to de la ,%0u%e!te
-a!era>
struct punto%
float R/y*
punto *siguiente*
,*
U! )ol0o!o ,e re)re,e!tar9 co-o u! a)u!tador a e,ta e,tructura' A ,u 7e: el )r%-er
ele-e!to de la e,tructura ,eDalara al ,%0u%e!te )u!to del )ol0o!oA " a, ,uce,%7a-e!te' El
,%0u%e!te )ro0ra-a lee ! )u!to, " lo, %!,erta e! u! )ol0o!o' Note =ue !ece,%ta-o, do,
a)u!tadore, ) " =A )ara )oder 6acer la %!,erc%&! de cada ele-e!to' Al 8%!al ,e de,)l%e0a!
lo, )u!to, del )ol0o!oA !ote =ue ,e de,)l%e0a! e! orde! %!7er,o )or la 8or-a e! =ue ,e
%!,ertaro!' La e,tructura creada ,e lla-a 0e!r%ca-e!te Tl%,taU " a cada ele-e!to ,e le
lla-a T!odoU'
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
struct punto%
float R/y*
punto *siguiente*
,*
main!"%
punto *p/*#*
int n/i*
printf!&;umero de puntosZ &"*
scanf!&Qd&/Wn"*
# O ;E00*
*23
for!iO+*i<n*iTT"%
p O !punto *"malloc!siAeof!punto""*
printf!&R yP &"*
scanf!&Qf Qf&/Wp->R/Wp->y"*
/*se hace sebalar al anterior inicio de la lista */
p->siguiente O #*
/*se actualiAa el nuevo inicio de la lista*/
# O p*
,
p O #*
while!p"%
printf!&punto !Q.+f/Q.+f")n&/p->R/p->y"*
p O p->siguiente*
,
getch!"*
,
Pro$le-a, )ro)ue,to,
Dada la ,%0u%e!te declarac%&! de e,tructura " 7ar%a$le, d%0a cuale, de la, ,%0u%e!te,
,e!te!c%a, ,o! 79l%da,>
struct prueba%
int n/ m*
char c*
double p*
char *s*
,*
prueba t/ *r*
aI t->n O 8*
$I r->s O >hola?*
cI r->s]2^ O gch*
dI scanf!>Qf?/Wt.p"*
eI scanf!>Qd?/Wt->n"*
8I *r.p O t.pM
0I !*r".m O 7++*
6I t.c O r->s]r->n^*
A0re0ue c&d%0o al )ro0ra-a del )ol0o!o )ara =ue calcule el 9rea del )ol0o!o' Co!,%dere
lo, ca,o, e! =ue !o 6a" )u!to, ,u8%c%e!te, )ara crear u! 9rea cerradaA e! tale, ca,o, el 9rea
de$er9 ,er cero'
2'/' Pa,o de e,tructura, a 8u!c%o!e,'
La, 8u!c%o!e, e! C )uede! rec%$%r e,tructura, co-o ar0u-e!to, " ta-$%! )uede! re0re,ar
e,tructura,' Por e1e-)loA la ,%0u%e!te 8u!c%&! de,)l%e0a u!a 7ar%a$le del t%)o )u!to 7%,to
a!ter%or-e!te'
*2+
struct punto%
float R/y*
,*
void despliegaPunto!punto p"%
printf!>!Q.2f/ Q.2f")n?/p.R/p.y"*
,
La, e,tructura, )uede! )a,ar )or 7alorA co-o e! el ca,o a!ter%orA o )or re8ere!c%aA e! cu"o
ca,o ,e )a,a u! a)u!tador a la e,tructura' Por e1e-)loA la ,%0u%e!te 8u!c%&! lee la,
coorde!ada, de u! )u!to' Note =ue la, coorde!ada, de$e! %r ,e)arada, )or u!a co-aA de
acuerdo co! el 8or-ato de scanf'
void leePunto!punto *p"%
printf!&Feclee R/yP &"*
scanf!&Qf/Qf&/Wp->R/Wp->y"*
,
Otra 8or-a de leer e, re0re,a!do el 7alor ledo a tra7, de la 8u!c%&!' U! e1e-)lo e, el
,%0u%e!te'
punto leePunto2!"%
punto p*
printf!&Feclee R/yP &"*
scanf!&Qf/Qf&/Wp.R/Wp.y"*
return p*
,
El ,%0u%e!te )ro0ra-a e, u! e1e-)lo de u!a e,tructura )ara re)re,e!tar u!a d%recc%&!' Se
de8%!%& u!a 8u!c%&! )ara leer u!a d%recc%&! " otra )ara de,)le0ar' La, lectura, de cade!a, ,e
6ace! co! gets )ara ad-%t%r cade!a, co! e,)ac%o,'
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct dir%
char calle]2+^*
int numero*
char colonia]4+^*
int cp*
,*
dir dameGir!"%
dir d*
printf!&CalleZ &"*
*24
gets!d.calle"*
printf!&;umeroZ &"*
scanf!&Qd&/Wd.numero"*
fflush!stdin"*
printf!&ColoniaZ &"*
gets!d.colonia"*
printf!&Codigo postalZ &"*
scanf!&Qd&/Wd.cp"*
return d*
,
void despliegaGir!dir d"%
printf!&Qs #Qd)n&/d.calle/d.numero"*
printf!&colonia Qs)n&/d.colonia"*
printf!&CP Qd)n&/d.cp"*
,
main!"%
dir b*
b O dameGir!"*
despliegaGir!b"*
getch!"*
,
S% la, e,tructura, ,o! 0ra!de, e, -9, co!7e!%e!te )a,ar a la, 8u!c%o!e, a)u!tadore,' La,
e,tructura, ,o! -u" Ct%le, e! la re)re,e!tac%&! de otro, t%)o, !u-r%co, co-o lo, !C-ero,
rac%o!ale, " co-)le1o,' U! !C-ero rac%o!al e, u! !C-ero =ue )uede eB)re,ar,e co-o el
coc%e!te de do, e!tero,' U!a 8or-a de re)re,e!tar !C-ero, rac%o!ale, e, co! u!a e,tructura
8or-ada )or do, ca-)o, e!tero,A e! u! ca-)o ,e al-ace!a el !u-erador " otro )ara el
de!o-%!ador'
struct racional%
int num/den*
,*
La )r%-era o)erac%&! co! rac%o!ale, e, la de co-)arac%&!' No $a,ta co! co-)arar el
!u-erador " el de!o-%!ador de u! rac%o!al )ara deter-%!ar ,u %0ualdadA "a =ue )or
e1e-)loA #?. e, %0ual a *?#A )ero # w * " . w #' Para )oder co-)arar do, rac%o!ale, de$e-o,
)r%-ero re)re,e!tarlo, de 8or-a !or-al%:adaA e,ta !or-al%:ac%&! co!,%,te e! d%7%d%r a-$o,A
!u-erador " de!o-%!ador e!tre el -9B%-o co-C! d%7%,or de a-$o,' El al0or%t-o de
Eucl%de, )er-%te lle7ar a ca$o e,ta o)erac%&! de 8or-a e8%c%e!te'
Al0or%t-o de Eucl%de,' Per-%te reduc%r u! !C-ero rac%o!al'
*' Sea a el -a"or " $ el -e!or e!tre !u-erador " de!o-%!ador'
#' MIENTRAS H$ ` 5I HACER
/' D%7da,e a e!tre $ " ,ea r el re,%duo'
*22
.' H90a,e a N $ " $ N r
(' FINMIENTRAS
3' D%7da,e !u-erador " de!o-%!ador e!tre a'
La 8u!c%&! e! C =ue !or-al%:a do, rac%o!ale, e, reduce'
void reduce!racional *r"%
int a/b/#*
if!r->num > r->den"%
a O r->num*
b O r->den*
,else%
a O r->num*
b O r->den*
,
while!b"%
# O a Q b*
a O b*
b O #*
,
r->num O r->num/a*
r->den O r->den/a*
,
U!a 7e: reduc%do, la co-)arac%&! de do, rac%o!ale, e,>
int igual!racional a/ racional b"%
reduce!Wa"*
reduce!Wb"*
return !a.numOOb.num WW a.denOOb.den"*
,
La ,u-a de rac%o!ale, ,e calcula co! la 8&r-ula> a?$<c?d N Had<$cI?H$dI' La ,%0u%e!te
8u!c%&! ,u-a do, rac%o!ale, a " $ " re0re,a el re,ultado'
racional suma!racional a/ racional b"%
racional c*
c.num O !a.num*b.denTb.num*a.den"*
c.den O a.den*b.den*
reduce!Wc"*
return c*
,
Ta-$%! )uede de8%!%r,e la ,u-a co! u!a 8u!c%&! =ue ace)te do, rac%o!ale, " re0re,e )or
re8ere!c%a u! rac%o!al de la ,%0u%e!te -a!era>
void suma!racional a/ racional b/ racional *c"%
#55
c->num O !a.num*b.denTb.num*a.den"*
c->den O a.den*b.den*
reduce!c"*
,
La, de-9, o)erac%o!e, de rac%o!ale, ,o! %0ual-e!te ,e!c%lla,>
racional resta!racional a/ racional b"%
racional c*
c.num O !a.num*b.den-b.num*a.den"*
c.den O a.den*b.den*
reduce!Wc"*
return c*
,
racional multiplica!racional a/ racional b"%
racional c*
c.num O a.num*b.num*
c.den O a.den*b.den*
reduce!Wc"*
return c*
,
racional divide!racional a/ racional b"%
racional c*
c.num O a.num*b.den*
c.den O a.den*b.num*
reduce!Wc"*
return c*
,
Pode-o, 89c%l-e!te de8%!%r u!a 8u!c%&! )ara leer u! rac%o!al " otra )ara de,)le0ar u!
rac%o!al' Note =ue la lectura re=u%ere =ue el rac%o!al ,ea e,cr%to co! la d%a0o!alA [,o!
!ece,ar%o, lo, e,)ac%o, e!tre k?OW'
void escribir!racional a"%
printf!&Qd/Qd)n&/a.num/a.den"*
,
void leer!racional *a"%
scanf!&Qd / Qd&/Wa->num/Wa->den"*
,
La ,%0u%e!te 8u!c%&! main declara do, !C-ero, rac%o!ale,A lo, lee " real%:a la, cuatro
o)erac%o!e, $9,%ca, co! ello,'
main!"%
#5*
racional a/b/c*
printf!&Feclee un racionalP &"*
leer!Wa"*
printf!&Feclee otro racionalP &"*
leer!Wb"*
escribir!a"*
escribir!b"*
cOsuma!a/b"*
escribir!c"*
cOresta!a/b"*
escribir!c"*
cOmultiplica!a/b"*
escribir!c"*
cOdivide!a/b"*
escribir!c"*
getch!"*
,
Pro$le-a, )ro)ue,to,
2'/'*' E,cr%$a u!a 8u!c%&! =ue ace)te do, !C-ero, rac%o!ale, co! la re)re,e!tac%&! 7%,ta e!
el teBto " re0re,e u! * ,% lo, !C-ero, ,o! %0uale, " 5 ,% ,o! d%8ere!te,'
2'/'#' E,cr%$a u!a 8u!c%&! de co!7er,%&! e!tre 8lota!te, " rac%o!ale, " otra )ara co!7er,%&!
de rac%o!ale, " 8lota!te,'
2'/'/' Mod%8%=ue la 8u!c%&! =ue de,)l%e0a u! !C-ero rac%o!al )ara =ue de,)l%e0ue 5 cua!do
el de!o-%!ador ,e 5 " el de!o-%!ador ,ea d%8ere!te de 5' Ta-$%! de$er9 de,)le0ar ,olo el
!u-erador ,% el de!o-%!ador e, *' Gara!t%ce =ue el ,%0!o -e!o, )ara rac%o!ale, !e0at%7o,
,e de,)l%e0ue e! el !u-erador'
2'/'.' E,cr%$a u! )ro0ra-a $a,ado e! -e!C, )ara real%:ar o)erac%o!e, co! rac%o!ale,'
2'/'(' U! !C-ero co-)le1o ,e )uede re)re,e!tar co-o u!a e,tructura 8or-ada )or do,
reale,A u!o )ara la )arte real " otro )ara la )arte %-a0%!ar%a' De8%!a u!a e,tructura )ara
re)re,e!tar !C-ero, co-)le1o,' I-)le-e!te 8u!c%o!e, )ara> ,u-arA re,tarA -ult%)l%carA
d%7%d%r !C-ero, co-)le1o, " eBtraer el -&dulo " el ar0u-e!to de u! co-)le1o'
2'.' Arre0lo, de e,tructura,'
E, co-C! =ue ,e ut%l%ce! arre0lo, de e,tructura,' S% de,ea-o, 0uardar lo, dato, de u! 0ru)o
e,tud%a!te, e! e,tructura,A $a,ta co! declarar u! arre0lo del t%)o $9,%co' Su)o!0a =ue ,e
re=u%ere ,a$er> !o-$reA a)ell%doA cla7eA carreraA )ro-ed%o " 8ec6a de %!0re,o' De8%!%re-o,
u!a e,tructura )ara la 8ec6a " otra )ara e,tud%a!te'
struct fecha%
#5#
int dia/ mes/ anyo*
,*
struct estudiante%
char nombre]2+^*
char apellido]18^*
char clave]1+^*
int carrera*
float promedio*
fecha fechaHngreso*
,*
Su)o!e-o, =ue el -%e-$ro carrera e, u! !d%ce a u!a ta$la co! lo, !o-$re, de la,
carrera,' La declarac%&! ,%0u%e!te de8%!e u! arre0lo de #5 ele-e!to, del t%)o e,tud%a!te'
estudiante est]8+^*
Para actual%:ar el )ro-ed%o de u! e,tud%a!te e,cr%$%re-o, lo ,%0u%e!te>
est]i^.promedio O valor*
La ,%0u%e!te 8u!c%&! orde!a el 0ru)o de alu-!o, co! $a,e e! el )ro-ed%o o$te!%do' Note
=ue ,e )uede! %!terca-$%ar la, e,tructura, -ed%a!te u!a ,%-)le a,%0!ac%&!'
void ordena!estudiante e]^/ int n"%
int i/ .*
estudiante temp*
for!i O +*i<n-1*iTT"
for!. O i*.<n*.TT"
if!estudiante]i^.promedio<estudiante].^.promedio"%
temp O estudiante]i^*
estudiante]i^ O estudiante].^*
estudiante].^ O temp*
,
,
El ,%0u%e!te )ro0ra-a co-)leto e, u! e1e-)lo de %!%c%al%:ac%&! de u! arre0lo de
e,tud%a!te,A orde!ac%&! e! $a,e a ,u )ro-ed%o " de,)l%e0ue' Se 6a de8%!%do u!a 8u!c%&!
)ara de,)le0ar el arre0lo de e,tructura'
#include <stdio.h>
#include <conio.h>
struct fecha%
int dia/ mes/ anyo*
,*
#5/
struct estudiante%
char nombre]2+^*
char apellido]18^*
char clave]1+^*
int carrera*
float promedio*
fecha fechaHngreso*
,*
void ordena!estudiante e]^/ int n"*
void despliegaCrupo!estudiante e]^/int n"*
main!"%
estudiante est]1+^ O %
%&.uan&/&pereA&/&++11+X211&/4/4.6/%4/8/2++8,,/
%&pedro&/&lopeA&/&++249:7:X&/4/9.4/%8/1/2++9,,/
%&luis&/&mata&/&++4689:7X&/4/:.8/%2/8/2++4,,/
%&ana&/&medina&/&++189:649&/4/2.7/%2/8/2++4,,/
%&oscar&/&dias&/&++1246822?/4/X.4/%4/8/2++8,,/
%&.uana&/&baeA&/&++14689:7&/4/8.9/%8/1/2++9,,/
%&maria&/&lima&/&++246++18&/4/:.1/%8/1/2++9,,/
%&hilda&/&mora&/&++1688611&/4/8.2/%6/1/2++:,,/
%&luisa&/&limon&/&++2466641&/4/7.:/%6/1/2++:,,/
%&luis&/&mendeA&/&++689:228&/4/4.7/%2/8/2++4,,,*
printf!&0istado sin ordenar)n&"*
despliegaCrupo!est/1+"*
ordena!est/1+"*
printf!&)n)n0istado ordenado)n&"*
despliegaCrupo!est/1+"*
getch!"*
,
void ordena!estudiante e]^/ int n"%
int i/ .*
estudiante temp*
for!i O +*i<n-1*iTT"
for!. O i*.<n*.TT"
if!e]i^.promedio<e].^.promedio"%
temp O e]i^*
e]i^ O e].^*
e].^ O temp*
,
,
void despliegaCrupo!estudiante e]^/int n"%
int i*
for!i O +*i<n*iTT"
#5.
printf!&Q2dP Qs Qs)t
Q9.1f)n&/i/e]i^.nombre/e]i^.apellido/e]i^.promedio"*
,
Re7%,are-o, u! e1e-)lo de e,tructura )ara -a!te!er la %!8or-ac%&! de lo, )ac%e!te, de u!
6o,)%tal' Su)o!dre-o, =ue la %!8or-ac%&! !ece,ar%a co!,%,te de>
No-$re " a)ell%do, Hcade!a, de caractere,I
Edad He!teroI
SeBo Hcar9cterI
Co!d%c%&! He!tero I
Do-%c%l%oHe,tructuraI
calleHcade!a de caractere,I
!C-ero He!teroI
Colo!%a Hcade!a de caractere,I
C&d%0o )o,tal Hcade!a de caractere,I
C%udad Hcade!a de caractere,I
Tel8o!o Hcade!a de caractere,I
Do!de co!d%c%&! e, u! e!tero e!tre * " (A * -!%-o de 0ra7edadA ( -9B%-o de 0ra7edad'
La e,tructura e! C e, la ,%0u%e!te>
struct direccion%
char calle]4+^/colonia]2+^/ciudad]4+^*
int numero/cp*
,*
struct paciente%
char nombre]4+^*
int edad*
char seRo*
direccion dir*
int concicion*
char telefono]2+^*
,*
Su)o!0a =ue 6a" u! total de ;E=PBCH-;F-I e! el 6o,)%tal' El ,%0u%e!te 8ra0-e!to de
c&d%0o de,)l%e0a !o-$re " tel8o!o de lo, )ac%e!te, co! la -9B%-a 0ra7edad'
paciente pac];E=PBCH-;F-I^*
...
printf!>Pacientes con m3Rima gravedadP)n?"*
for!i O +*i < ;E=PBCH-;F-I*iTT"
if!pac]i^.condicionOO8"
printf!>;ombreP Qs/ telefonoP Qs)n?/
pac]i^.nombre/pac]i^.telefono"*
#5(
El ,%0u%e!te 8ra0-e!to calcula el )orce!ta1e de )ac%e!te, 6o-$re, " -u1ere,' Note =ue
suma' " sumaD ,o! 7ar%a$le, de t%)o float Ho doubleI'
suma' O +.+*sumaD O +.+*
for!i O +*i<;E=PBCH-;F-I*iTT"
if!pac]i^.seRoOOg'h"
suma'TT*
else
sumaDTT*
printf!>Q de 'ombresO Q.2f)n?/suma'/ ;E=PBCH-;F-I *1++.+"*
printf!>Q de =u.eresO Q.2f)n?/sumaD/ ;E=PBCH-;F-I *1++.+"*
Otro, e1e-)lo, ,o!>
NC-ero de )ac%e!te, e! cada co!d%c%&!A ,e ut%l%:a el arre0lo c de c%!co ele-e!to, )ara
lle7ar la cue!ta del !C-ero de )ac%e!te, e! cada co!d%c%&!'
int c]8^ O %+,*
for!i O +*i< ;E=PBCH-;F-I*iTT"
c]pac]i^.condicion-1^TT*
for!i O +*i<8*iTT"
printf!>Pacientes en condicion QdP Qd)n?/iT1/c]i^"*
No-$re calle " !C-ero de )ac%e!te, -a,cul%!o, e! co!d%c%&! de -9B%-a 0ra7edad'
for!i O +*i< ;E=PBCH-;F-I*iTT"
if!pac]i^.condicionOO8WWpac]i^.seRoOg'h"
printf!>;ombreP Qs/ direccionP Qs #Qd)n?/
pac]i^.nombre/ pac]i^.dir.calle/ pac]i^.dir.numero"*
Pro$le-a, )ro)ue,to,
2'.'*' Co!,%dere la, e,tructura, )ara )ac%e!te, e! u! 6o,)%tal' E,cr%$a ,e!te!c%a, )ara lo
,%0u%e!te>
aI De,)le0ar lo, )ac%e!te, de -!%-a 0ra7edad e!tre do, edade, leda, de,de el teclado'
$I De,)le0ar lo, )ac%e!te, -e!ore, de *4 aDo, de ,eBo 8e-e!%!o cu"o do-%c%l%o e,te e! la
colo!%a TGard!U'
cI E!co!trar el )ac%e!te -9, 1o7e! del 6o,)%tal'
dI E!co!trar el )ac%e!te -9, 7%e1o del 6o,)%tal co! la -9B%-a 0ra7edad'
2'.'#' E,cr%$%r u! )ro0ra-a =ue 0e,t%o!e u!a a0e!da de d%recc%o!e,' Lo, dato, de la a0e!da
,e al-ace!a! e! -e-or%a e! u! arre0lo de e,tructura,A cada u!a de la, cuale, t%e!e lo,
,%0u%e!te, ca-)o,>
No-$re
D%recc%&!
Tel8o!o
#53
Tel8o!o celular
D%recc%&! de correo electr&!%co
El )ro0ra-a de )oder aDad%r u!a !ue7a e!trada a la a0e!daA $orrar u!a e!tradaA $u,car )or
!o-$re " el%-%!ar u!a e!trada deter-%!ada )or el !o-$re'
2'.'/' E,cr%$a u! )ro0ra-a $a,ado e! -e!C, )ara 0e,t%o!ar lo, )ac%e!te, de u! 6o,)%tal
ut%l%:a!do la e,tructura re7%,ada e! el teBto' I!clu"a o)c%o!e, )ara a0re0ar u! )ac%e!teA
$orrar u! )ac%e!teA ed%tar dato, de u! )ac%e!teA l%,tar )ac%e!te, de)e!d%e!do de la
co!d%c%&!A el ,eBo " la edad'
2'(' U!%o!e,
U!a u!%&! e, u!a e,tructura e! la =ue ,e co-)arte u!a re0%&! de -e-or%a )ara al-ace!ar
dato, de t%)o, d%,t%!to,' El ta-aDo de la u!%&! e, %0ual al del t%)o de dato, -9, 0ra!de' La
declarac%&! de u!%o!e, e, -u" ,%-%lar a la declarac%&! de e,tructura,' Por e1e-)lo'
union prueba%
int a*
double b*
char c*
,*
main!"%
prueba R*
R.a O 8*
printf!&aO Qd/ bO Qf/ cO Qc)n&/R.a/R.b/R.c"*
R.b O 8.+*
printf!&aO Qd/ bO Qf/ cO Qc)n&/R.a/R.b/R.c"*
R.c O e8e*
printf!&aO Qd/ bO Qf/ cO Qc)n&/R.a/R.b/R.c"*
getch!"*
,
La declarac%&! de la u!%&! )rue$a de8%!e u!a e,tructura =ue )uede co!te!er u! e!teroA u!
8lota!te o u! car9cter' El e,)ac%o re,er7ado )ara la u!%&! e, de 4 $"te, "a =ue el t%)o
double ocu)a 4 $"te,A el int . $"te, " el char * $"te' La 7ar%a$le R declarada e! main
)uede co!te!er u! 7alor de t%)o intA double o charA e, re,)o!,a$%l%dad del
)ro0ra-ador =ue ,ea co!,%,te!te co! el 7alor =ue de,ea al-ace!ar' El )ro0ra-a a!ter%or
de,)l%e0a lo ,%0u%e!te>
aO 8/ bO +.++++++/ cO m
aO +/ bO 8.++++++/ cO
aO 84/ bO 8.++++++/ cO 8
U! e1e-)lo -9, )r9ct%co e, el ,%0u%e!te' Pode-o, al-ace!ar la %!8or-ac%&! de u!a )er,o!a
#5+
De)e!d%e!do del ,eBoA ,% e, 6o-$reA de,ea-o, 0uardad ,u e,tatura " )e,o " ,% e, -u1er ,u,
-ed%da,' Lo a!ter%or )ode-o, re)re,e!tarlo -ed%a!te la ,%0u%e!te e,tructura>
struct fecha%
int dia/mes/anyo*
,*
struct persona%
char nombre]2+^/apellido]2+^*
fecha nacimiento*
char seRo*
union%
struct %
float peso/estatura*
,varon*
struct %
int medidas]4^*
,hembra*
,*
,*
El -%e-$ro seRo de t%)o char !o, )er-%te ,a$er =ue ,e al-ace!a e! lo, ca-)o, de la
u!%&!A a e,te -%e-$ro ,e le lla-a discriminador' La u!%&! e! ,% e,t9 8or-ada )or do,
e,tructura, =ue ,e d%,t%!0ue! co! u! !o-$re> varon " hembra' La )r%-era e,tructura
t%e!e do, -%e-$ro, 8lota!te,> )e,o " e,tatura " la ,e0u!da t%e!e u! arre0lo de tre, e!tero,
)ara la, -ed%da,' Pode-o, de,)le0ar u!a 7ar%a$le de t%)o )er,o!a -ed%a!te la ,%0u%e!te
8u!c%&! escribePersona.
void escribePersona!persona p"%
printf!&nombreP Qs Qs)n&/p.nombre/p.apellido"*
printf!&fecha de nacimientoP Qd/Qd/Qd)n&/
p.nacimiento.dia/p.nacimiento.mes/p.nacimiento.anyo"*
if!p.seRoOOe'e"%
printf!&seRoP masculino)n&"*
printf!&pesoP Q.1f/ estaturaP Q.1f)n&/
p.varon.peso/p.varon.estatura"*
,
else%
printf!&seRoP femenino)n&"*
printf!&medidasP Qd/ Qd/ Qd)n&/p.hembra.medidas]+^/
p.hembra.medidas]1^/p.hembra.medidas]2^"*
,
,
La ,%0u%e!te 8u!c%&! main %!%c%al%:a do, e,tructura, del t%)o )er,o!aA u!a co! ,eBo
-a,cul%!o " otra co! ,eBo 8e-e!%!o' Solo )uede %!%c%ar,e el )r%-er -%e-$ro de u!a u!%&!A
#54
de tal -a!era =ue !o e, )o,%$le )o!er 7alore, )ara lo, tre, -%e-$ro, medidas' El
de,)l%e0ue de e,ta 8u!c%&! ,e -ue,tra a co!t%!uac%&!'
main!"%
persona a O %&<uan&/&PereA&/%4/6/1X7+,/e'e/7+/1.74,/
b O %&0uisa&/&0ane&/%19/:/1XX+,/e=e/X+/9+,*
escribePersona!a"*
escribePersona!b"*
b.hembra.medidas]+^OX+*
b.hembra.medidas]1^O9+*
b.hembra.medidas]2^OX+*
escribePersona!b"*
getch!"*
,
De,)l%e0ue>
nombreP <uan PereA
fecha de nacimientoP 4/6/1X7+
seRoP masculino
pesoP 7+.+/ estaturaP 1.7
nombreP 0uisa 0ane
fecha de nacimientoP 19/:/1XX+
seRoP femenino
medidasP 111X+X2:49/ 1116949277/ +
nombreP 0uisa 0ane
fecha de nacimientoP 19/:/1XX+
seRoP femenino
medidasP X+/ 9+/ X+
Coorde!ada, recta!0ulare, " )olare,
U! )u!to e! el )la!o ,e )uede re)re,e!tar e! coorde!ada, recta!0ulare, o )olare,' La
8%0ura -ue,tra la corre,)o!de!c%a e!tre u!a, " otra,'
#52
E! C )ode-o, re)re,e!tar u! )u!to co-o u!a e,tructura 8or-ada )or u! -%e-$ro )ara
reco!ocer el t%)o de coorde!ada " u!a u!%&! )ara al-ace!ar lo, 7alore,A de la ,%0u%e!te
-a!era>
struct coordenada%
int tipo*
union %
struct%double R/y*,rect*
struct%double r/theta*,pol*
,*
,*
Para acceder a lo, -%e-$ro, de u! )u!to a ut%l%:a-o, la ,%0u%e!te !otac%&!'
coordenada a*
a.rect.R - componente R de a
a.rect.y - componente y de a
a.pol.r - distancia al origen de a
a.pol.theta - 3ngulo con e.e R de a
La d%,ta!c%a e!tre do, )u!to, re)re,e!tado, co! la e,tructura a!ter%or ,e )uede calcular
-ed%a!te el teore-a de P%t90ora, o 6ac%e!do u,o de la le" de lo, co,e!o,' La 8%0ura -ue,tra
co-o 6acerlo>
#*5
Co! a " $ e! coorde!ada, recta!0ulare, la d%,ta!c%a e,> ( ) ( )
#
* #
#
* #
y y x x d +
Co! a e! recta!0ulare, " $ e! )olare, la d%,ta!c%a e,>
( ) ( )
#
* # #
#
* # #
,e! co, y r x r d +
Co! a e! )olare, " $ e! recta!0ulare, la d%,ta!c%a e,>
( ) ( )
#
* * #
#
* * #
,e! co, r y r x d +
Co! a " $ e! coorde!ada, )olare, la d%,ta!c%a e,> ( )
* # # *
#
#
#
*
co, + r r r r d
Do!de 6e-o, )ue,to x
*
N a.rect.RA x
#
N b.rect.RA y
*
N a.rect.yA y
#
N b.rect.yA
r
*
N a.pol.rA r
#
N b.pol.rA
*
N a.pol.theta "
#
N b.pol.theta' La ,%0u%e!te
8u!c%&! calcula la d%,ta!c%a e!tre do, )u!to, to-a!do e! cue!ta e,ta re)re,e!tac%&!'
#define CBKF-IHB;B +
#define PM0BK 1
double distancia!coordenada a/coordenada b"%
double d*
switch!a.tipo"%
case CBKF-IHB;BPswitch!b.tipo"%
case CBKF-IHB;BP
d O s#rt!!a.rect.R-b.rect.R"*!a.rect.R-b.rect.R"T
!a.rect.y-b.rect.y"*!a.rect.y-b.rect.y""*
break*
case PM0BKP
d O s#rt!!a.rect.R-b.pol.r*cos!b.pol.theta""*
!a.rect.R-b.pol.r*cos!b.pol.theta""T
!a.rect.y-b.pol.r*sin!b.pol.theta""*
!a.rect.y-b.pol.r*sin!b.pol.theta"""*
break*
,break*
#**
case PM0BKPswitch!b.tipo"%
case CBKF-IHB;BP
d O s#rt!!a.pol.r*sin!a.pol.theta"-b.rect.R"*
!a.pol.r*sin!a.pol.theta"-b.rect.R"T
!a.pol.r*cos!a.pol.theta"-b.rect.y"*
!a.pol.r*cos!a.pol.theta"-b.rect.y""*
break*
case PM0BKPd O s#rt!a.pol.r*a.pol.rTb.pol.r*b.pol.r-
2*a.pol.r*b.pol.r*cos!a.pol.theta-b.pol.theta""*
break*
,
,
return d*
,
E!u-erac%o!e,
U!a e!u-erac%&! e, u! co!1u!to de !o-$re, ,%-$&l%co, co! 7alore, !u-r%co, e!tero,'
La, e!u-erac%o!e, t%e!e! )or o$1et%7o 6acer -9, clara la e,cr%tura " co-)re!,%&! de lo,
)ro0ra-a,' Para de8%!%r u!a e!u-erac%&! ,e ut%l%:a la )ala$ra re,er7ada enum' C a,%0!a
e!tero, co!,ecut%7o, Hco-e!:a!do )or 5I a lo, 7alore, de la, et%=ueta, a -e!o, =ue ,e
a,%0!e! 7alore, eB)lc%ta-e!te' La ,%!taB%, e, la ,%0u%e!te>
enum nombre %eti#uetas,*
El ,%0u%e!te e1e-)lo de8%!e u!a e!u-erac%&! )ara lo, da, de la ,e-a!a' C a,%0!ar9 5 al
%de!t%8%cador lunesA * a martesA etc'
#include <stdio.h>
#include <conio.h>
enum diaIemana %lunes/ martes/ miercoles/ .ueves/ viernes/
sabado/ domingo,*
char dias]:^]1+^ O%&lunes&/&martes&/&miercoles&/
&.ueves&/&viernes&/&sabado&/&domingo&,*
main!"%
diaIemana dia*
do%
printf!&Feclee el numero del dia !+ a 9"P &"*
scanf!&Qd&/Wdia"*
,while!dia<lunes [[ dia>domingo"*
printf!&-l dia esP Qs&/dias]dia^"*
getch!"*
,
#*#
La, e!u-erac%o!e, )uede! u,ar,e )ara %!%c%ar co!,ta!te, de u!a 8or-a ,%-%lar a la d%rect%7a
de8%!e'
#include <stdio.h>
#include <conio.h>
/* enum para definir constantes de tipo entero */
enum %I-C O 1/ =H; O 9+/ 'MKB O 9+*9+/ GHB O 26*9+*9+,*
main!"%
int segundos*
printf!&-scriba numero de segundosP &"*
scanf!&Qd&/Wsegundos"*
printf!&Qd segundos O Qd minutos O Qd horas&
& O Qd dias)n&/ segundos/ segundos/=H;/
segundos/'MKB/ segundos/GHB"*
getch!"*
,
Otro, e1e-)lo, ,o! lo, ,%0u%e!te,>
enum escapes%Y-00Oe)ae/ YBCIPBC-Oe)be/ 'FBYOe)te/
K-FEK; O e)re/ ;-_0H;- O e)ne/ JFBY O e)ve ,*

enum boolean % DB0I- O +/ FKE- ,*
enum days %<anO41/ DebO27/ =arO41/
BprO4+/ =ayO41/ <unO4+/
<ulO41/ BugO41/ IepO4+/
MctO41/ ;ovO4+/ GecO41,*
Pro$le-a, )ro)ue,to,
2'('*' De8%!a u!a e!u-erac%&! )ara lo, -e,e, del aDo'
2'('#' Ut%l%ce u!a e!u-erac%&! )ara a,%0!ar 7alore, a lo, colore, !e0roA ro1oA 7erdeA
a-ar%lloA a:ulA -a0e!taA c%a! " $la!co'
2'('/' De8%!a u!a e!u-erac%&! )ara re)re,e!tar lo, )o,%$le, e,tado, de u! ,e-98oro'
2'('.' [Cu9l e, la ,al%da del ,%0u%e!te )ro0ra-aW
#include <stdio.h>
#include <conio.h>
#include <string.h>
#*/
union E%
int n*
char s]8^*
,*
main!"%
E a O %8,*
printf!&a.s O Qs)n&/a.s"*
strcpy!a.s/&hola&"*
printf!&a.n O Qd)n&/a.n"*
printf!&a.n O QR)n&/a.n"*
printf!&a.s O Qs)n&/a.s"*
getch!"*
,
2'('(' Dada la ,%0u%e!te declarac%&! de u!%&!A [cu9le, de la, ,%0u%e!te, %!%c%al%:ac%o!e, ,o!
79l%da,W
union u1%
int R*
char c*
float r*
,*
aI u1 a O %46,*
$I u1 b O %gfh,*
cI u1 c O %6.9,*
dI u1 d O %r O 8.9,*
2'('3' Se de,ea -a!e1ar la %!8or-ac%&! de l%$ro,A re7%,ta, " )elcula,' De lo, l%$ro, ,e
=u%ere -a!te!er la ,%0u%e!te %!8or-ac%&!> c&d%0oA autorA ttuloA ed%tor%alA aDoM de la, re7%,ta,
la ,%0u%e!te %!8or-ac%&!> c&d%0oA !o-$reA -e,A aDoM de la, )elcula, la ,%0u%e!te
%!8or-ac%&!> c&d%0oA ttuloA d%rectorA )roductoraA aDo' Declare e,tructura, )ara cada
ele-e!to de %!8or-ac%&!' Lue0o declare u!a u!%&! )ara re)re,e!tar lo, tre, t%)o, de
ele-e!to,' Declare u! arre0lo lla-ado ta$la =ue co!te!0a *55 ele-e!to, del t%)o u!%&!'
2'('+' E,cr%$a u!a 8u!c%&! )ara de,)le0ar la %!8or-ac%&! de u! ele-e!to de la ta$la del
)ro$le-a a!ter%orA "a ,ea l%$roA re7%,ta o )elcula'
#*.
Ca)tulo *5' Arc6%7o,
*5'*' Arc6%7o, " 8lu1o,'
Lo, arc6%7o, ,o! $lo=ue, de %!8or-ac%&! =ue t%e!e! u!a durac%&! -a"or a la de lo, dato,
e! -e-or%a )r%!c%)al' Trad%c%o!al-e!te lo, arc6%7o, ,e 0uarda! e! -ed%o, -a0!t%co,A
)ero a!ter%or-e!te re,%da! e! otro, -ed%o, co-o c%!ta de )a)el )er8orado o tar1eta,
)er8orada,' E! la actual%dad ,e ut%l%:a! -ed%o, &)t%co, o electr&!%co, co-o -e-or%a, USB'
El ,%,te-a o)erat%7o ,e e!car0a de -a!e1ar lo, d%7er,o, t%)o, de -ed%o, )ara 6acerlo,
co-)at%$le, " tra!,)are!te, al u,uar%o'
El -a!e1o de arc6%7o, !o e,t9 !ter co!,tru%do e! el le!0ua1e C' Se )ro7ee e! la $%$l%oteca
stdio.h co! 8u!c%o!e, =ue %!%c%a! co! f8f )ara la -a!%)ulac%&! de arc6%7o,' La,
8u!c%o!e, tra$a1a! %0ual =ue la, de e!trada " ,al%da e,t9!dar' E! C lo, arc6%7o, ,e
re)re,e!ta! co-o ,ecue!c%a, de caractere, ,%! 8or-ato' E, 89c%l -o7er,e 6ac%a adela!te
)ara leer o e,cr%$%r caractere,A )ero e, ca,% %-)o,%$le -o7er,e 6ac%a atr9,'
A!te, de leer o e,cr%$%r ,e de$e a,oc%ar u! 8lu1o HstreamI a lo, arc6%7o,' El 8lu1o e, u!a
a)u!tador a u!a e,tructura =ue -a!t%e!e toda la %!8or-ac%&! !ece,ar%a )ara leer " e,cr%$%r
e! u! arc6%7o' Todo )ro0ra-a e! C a$re )or lo -e!o, tre, 8lu1o,> stdinA stdoutA
stderr' El arc6%7o stdin e, la e!trada e,t9!dar " e,ta relac%o!ada co! el tecladoA
stdout e, la ,al%da e,t9!dar " e,ta relac%o!ada co! la )a!talla " stderr> e, ,al%da
e,t9!dar de errore, " e,ta relac%o!ada co! la )a!talla'
U! 8lu1o crea u!a re0%&! de -e-or%a H$u88erI e!tre el )ro0ra-a " el arc6%7o e! d%,co =ue
t%e!e co-o )ro)&,%to reduc%r lo, acce,o, a d%,co' Lo, caractere, ,e lee! e! $lo=ue, e! el
$u88erA o ,e e,cr%$e! e! $lo=ue, e! el d%,co'
El arc6%7o stderr ,e ut%l%:a )ara de,)le0ar lo, errore, =ue ,e )rodu:ca! e! la e1ecuc%&!
de al0C! )ro0ra-a' Puede red%recc%o!ar,e la ,al%da del arc6%7o stderrA e,to e,A ,e )uede
e!7%ar a otro arc6%7o =ue !o ,ea la )a!talla' S%-%lar-e!te ,e )uede red%recc%o!ar stdout
)ara =ue la ,al%da !or-al de u! )ro0ra-a ,e d%r%1a a otro arc6%7o' E,ta e, la -a!era -9,
,%-)le de crear u! arc6%7o de,de u! )ro0ra-a e! C' El ,%0u%e!te )ro0ra-a e!7a u! letrero
a stdout " otro a stderrA co-o a-$o, e,t9! a,%0!ado, %!%c%al-e!te a la )a!talla e,to,
do, letrero, a)arecer9! e! la )a!talla'
#include <stdio.h>
main!"%
printf!&-scritura a stdout)n&"*
fprintf!stderr/&-scritura a stderr)n&"*
return +*
,
U!a 8or-a de red%recc%o!ar la ,al%da e, u,a!do el car9cter ` e! la l!ea de co-a!do, de
MSDOS o UNIE' La ,%!taB%, e,>
#*(
cP>programa > salida
Do!de TcP>U e, el %!d%cador de co-a!do,A TprogramaU e, el !o-$re del )ro0ra-a
e1ecuta$le " ,al%da e, el !o-$re del arc6%7o e! do!de ,e al-ace!ara! la, l!ea, de ,al%da
del )ro0ra-a' Lo, ,%0u%e!te, co-a!do, e! MSDOS creara! el arc6%7o Tarchivo.tRtU'
Lo, caractere, e! %t9l%ca ,o! tecleado, )or el u,uar%o'
cP> prog
-scritura a stdout
-scritura a stderr
cP> prog > archivo.txt
-scritura a stderr
cP> type archivo.txt
-scritura a stdout
La e!trada e,t9!dar e, u! arc6%7o de caractere, $a,ado e! l!ea,' E,to =u%ere dec%r =ue lo,
caractere, tecleado, ,o! rete!%do, H$u88eredI 6a,ta )re,%o!ar ENTER' El ,%0u%e!te e1e-)lo
lee la e!trada e,t9!dar " la -ue,tra car9cter )or car9cter 6a,ta )re,%o!ar ctrl;: He!
MSDOSI' Note =ue cada l!ea ,e de,)le0ar9 ,olo al )re,%o!ar la tecla ENTER'
#include <stdio.h>
main!"%
int ch*
while!!chOgetchar!""(O -MD"
printf!&lee eQce)n&/ch"*
printf!&-MD)n&"*
return +*
,
La e!trada e,t9!dar ta-$%! )uede red%rec%o!ar,e co! el car9cter d' El ,%0u%e!te e1e-)lo
lee dato, de,de el teclado' El )ro0ra-a calcula la ,u-a " el )roducto de do, -atr%ce, " 8ue
re7%,ado e! la ,ecc%&! +'(' Lo, dato, )ara -atr%ce, 0ra!de, e, -e1or al-ace!arlo, e! u!
arc6%7o )ara e7%tar errore, de tecleo' Su)o!0a =ue de,ea-o, ,u-ar " -ult%)l%car la,
,%0u%e!te, -atr%ce,>
1
1
1
]
1



1
1
1
]
1

2 . +
4 ( +
5 / (
3 . *
4 5 3
/ ( #
% y "
Pode-o, e,cr%$%r e! u! arc6%7o de teBto Hd%0a-o, Tdat.tRtUI lo ,%0u%e!te " %!troduc%rlo
-ed%a!te el red%recc%o!a-%e!to al )ro0ra-a>
/
/
# ( /
#*3
3 5 4
* . 3
( / 5
+ ;( 4
+ ;. ;2
El re,ultado e, el ,%0u%e!te' El re,ultado -ue,tra la ,al%da del )ro0ra-a =ue co!t%e!e la,
l!ea, de ,al%da ,ol%c%ta!do lo, dato, de e!tradaA )ero e,to, ,o! to-ado, de,de el arc6%7o
dat'tBt'
CP>mat < dat.tRt
Feclee num. de renglones y columnasP Feclee datos para la
matriA B.Feclee datos
para la matriA Y.2 8 4
9 + 7
1 6 9
8 4 +
: -8 7
: -6 -X
: 7 4
14 -8 19
7 + -4
99 -41 14
79 -16 -:2
:8 -61 -22
Se )uede red%recc%o!ar la e!trada " la ,al%da el -%,-o t%e-)o' E! el e1e-)lo a!ter%or
)ode-o, 0uardar lo, re,ultado, e! u! arc6%7o Tsal.tRtU e,cr%$%e!do>
cP>mat < dat.tRt > sal.tRt
Pro$le-a, )ro)ue,to,
*5'*'*' U! )ro0ra-a lla-ado T-cdU lee )are1a, de !C-ero, ,e)arado, )or u! e,)ac%o 6a,ta
=ue ,e teclee u!a )are1a de cero, " 0e!era co-o ,al%da el -9B%-o co-C! d%7%,or de e,to,
!C-ero,' E,cr%$a u!a ,e!te!c%a =ue )er-%ta %!troduc%r dato, de,de u! arc6%7o al )ro0ra-a
-cd " -a!dar la ,al%da a otro arc6%7o'
*5'*'#' El ,%0u%e!te )ro0ra-a re,uel7e ecuac%o!e, cuadr9t%ca, 6a,ta =ue el u,uar%o e,cr%$a
u! 5 )ara el coe8%c%e!te cuadr9t%co' E,cr%$a u! arc6%7o teBto co! lo, dato, !ece,ar%o, )ara
re,ol7er la, ,%0u%e!te, ecuac%o!e,> /B
#
< (B < . N 5A 4B
#
< +B < * N 5A B
#
; 2B < + N 5A 2B
#
<
#B K ( N 5A ;B
#
< B < * N 5A B
#
; B < 4 N 5A B
#
< *#B < .5 N 5A /+B
#
< #(B < .*# N 5A 2+B
#
; /B
#*+
< . N 5A ;5'#/B
#
< 5'3(B < .'+ N 5' E,cr%$a u! co-a!do e! MSDOS )ara re,ol7er la,
ecuac%o!e, co! e,te )ro0ra-a " 0uardar la, ,oluc%o!e, e! otro arc6%7o'
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main!"%
float a/b/c/d/R1/R2/re/im*
do%
scanf!& Qf/Qf/Qf&/Wa/Wb/Wc"*
if!aOO+"
eRit!+"*
d O b*b-6*a*c*
printf!&a O Q.6f b O Q.6f c O Q.6f)n&/a/b/c"*
if!d>O+"%
R1 O !-b-s#rt!d""/2/a*
R2 O !-bTs#rt!d""/2/a*
printf!&R1 O Q.6f R2 O Q.6f)n&/R1/R2"*
,else%
im O s#rt!-d"/2/a*
re O -b/2/a*
printf!&re O Q.6f im O Q.6f)n&/re/im"*
,
,while!1"*
,
*5'#' O)erac%o!e, $9,%ca, e! arc6%7o,'
La, o)erac%o!e, $9,%ca, co! arc6%7o, )uede! re,u-%r,e de la ,%0u%e!te -a!era> a$r%r el
arc6%7oA leer "?o e,cr%$%r e! el arc6%7oA cerrar el arc6%7o'
A!te, de )oder ut%l%:ar u! arc6%7o e, !ece,ar%o %!8or-arle al ,%,te-a o)erat%7o =ue ,e 7a a
6acer u,o de el' El ,%,te-a o)erat%7o e,ta$lece u!a re0%&! de -e-or%a e! do!de ,e
al-ace!a! lo, dato, =ue ,er9! ledo, o e,cr%to, e! el arc6%7o' E,to ,e 6ace e! la o)erac%&!
de a)ertura del arc6%7o' La 8u!c%&! fopen e, la e!car0ada de a$r%r u! arc6%7o' E,
!ece,ar%o )r%-ero crear u!a 7ar%a$le )ara =ue ,eDale a la re0%&! de -e-or%a ut%l%:ada co-o
$u88er' El t%)o de la 7ar%a$le e, u! a)u!tador a DH0-' O ,ea>
DH0- *f*
U!a 7e: de8%!%da la 7ar%a$le ,e a$re el arc6%7o co! la 8u!c%&! fopenA ,% la o)erac%&! t%e!e
B%to la 8u!c%&! fopen re0re,a u! a)u!tador al $u88er del arc6%7oA ,%!o re0re,a u!
a)u!tador ;E00' La 8u!c%&! fopen lle7a co-o )ar9-etro, u!a cade!a de caractere,
e,)ec%8%ca!do la ruta al arc6%7o " u!a cade!a =ue e,)ec%8%ca ,% ,e leer9 o e,cr%$%r9A o a-$a,A
e! el arc6%7o'
#*4
U!a 7e: a$%ertoA )uede ut%l%:ar,e el arc6%7o -ed%a!te la, 8u!c%o!e, fgetcA fgets "
fscanf )ara leer o fputcA fputs " fspinrf )ara e,cr%$%r e! el arc6%7o'
De,)u, de leer o e,cr%$%r e! u! arc6%7o e, co!7e!%e!te cerrarlo' E,ta o)erac%&! t%e!e co-o
)ro)&,%to 7ac%ar el $u88er del arc6%7o " l%$erar la -e-or%a ut%l%:ada )ara el $u88er' La
8u!c%&! =ue c%erra u! arc6%7o e, fclose' E, aco!,e1a$le cerrar u! arc6%7o a$%erto )ero ,%
!o ,e c%erra el co-)%lador cerrara el arc6%7o al ter-%!ar la e1ecuc%&! !or-al del )ro0ra-a'
El ,%0u%e!te )ro0ra-a lee u! arc6%7o car9cter )or car9cter " lo de,)l%e0a e! )a!talla' El
!o-$re del arc6%7o ,e le ,ol%c%ta al u,uar%o' Note =ue el arc6%7o ,e a$re co! la o)c%&! TrU
=ue %!d%ca =ue ,e a$r%r9 )ara ,olo lectura'
#include <stdio.h>
#include <conio.h>
int main!"%
char nombre]7+^*
DH0- *entrada*
int ch*
printf!&BrchivoP &"*
scanf!&Q:Xs&/nombre"*
if!!entradaOfopen!nombre/&r&""OO;E00"%
fprintf!stderr/&fallo la lectura de gQsh &/nombre"*
perror!&debido a&"*
getch!"*
return 1*
,
while!!chOfgetc!entrada""(O -MD"
putchar!ch"*
fclose!entrada"*
getch!"*
return +*
,
El )ro0ra-a a!ter%or 7er%8%ca =ue fopen re0re,e u! 7alor %0ual a ;E00A ,% e,to ocurre ,e
lla-a a la 8u!c%&! perror =ue %-)r%-e el letrero =ue ,e )a,a co-o )ar9-etro -9, el
-e!,a1e del error re,)o!,a$le de la o8e!,a' Note =ue el )ro0ra-a e! e,te ca,o re0re,a * al
,%,te-a o)erat%7o )ara %!d%car =ue 6u$o error' S% !o 6a" error ,e lee el arc6%7o car9cter )or
car9cter co! la 8u!c%&! fgetc " ,e de,)l%e0a cada car9cter co! putchar' S%e-)re e,
%-)orta!te 7er%8%car ,% ,e )re,e!ta al0C! error e! la creac%&!A lectura o e,cr%tura de arc6%7o,
)ara e7%tar ,or)re,a,'
El ,%0u%e!te e1e-)lo crea u! arc6%7o " e,cr%$e toda, la, l!ea, =ue e,cr%$a el u,uar%o 6a,ta
=ue e,cr%$a u!a l!ea 7aca' E! e,te ca,o el arc6%7o ,e crea co! la o)c%&! T@U =ue 6a$%l%ta
el arc6%7o ,olo )ara e,cr%turaA ,% el arc6%7o eB%,teA ,e $orra ,u co!te!%do " ,e crea u! arc6%7o
7aco' La, cade!a, ,e lee! -ed%a!te gets " ,e e,cr%$e! e! el arc6%7o co! fputs' Mue,tre
#*2
el arc6%7o test2.tRt " 7er%8%=ue =ue fputs !o e,cr%$e el car9cter !ulo de cada cade!a
!% a0re0a g)nh al 8%!al de la, -%,-a,'
#include <stdio.h>
#include <conio.h>
main!"%
char cadena]4+^*
DH0- *archivo*
archivo O fopen!&test2.tRt&/&w&"*
if!archivo(O;E00"%
do%
printf!&-scriba una cadenaP &"*
gets!cadena"*
if!cadena]+^(Oe)+e"
fputs!cadena/archivo"*
,while!cadena]+^(Oe)+e"*
fclose!archivo"*
,
else
printf!&;o se puede crear el archivo...&"*
getch!"*
,
El ,%0u%e!te )ro0ra-a lee cade!a, de /5 caractere, de,de el arc6%7o creado )or el )ro0ra-a
a!ter%or' La lectura ,e 6ace co! la 8u!c%&! fgets =ue lee u!a cade!a del ta-aDo
e,)ec%8%cado e! el ,e0u!do )ar9-etro' El 8%! de u! arc6%7o ,e )uede 7er%8%car ut%l%:a!do la
8u!c%&! feof =ue re0re,a * ,% ,e 6a lle0ado al 8%!al del arc6%7o o 5 e! cual=u%er otro ca,o'
Recuerde =ue puts ,% a0re0a u! kZ!O al 8%!al de cada cade!a'
#include <stdio.h>
#include <conio.h>
main!"%
char cadena]4+^*
DH0- *archivo*
archivo O fopen!&test2.tRt&/&r&"*
if!archivo(O;E00"%
while!(feof!archivo""%
fgets!cadena/4+/archivo"*
puts!cadena"*
,
fclose!archivo"*
,
else
printf!&;o se puede leer el archivo...&"*
getch!"*
##5
,
La ,%0u%e!te ta$la re,u-e la, d%8ere!te, 8or-a, de acceder a u! arc6%7o -ed%a!te la 8u!c%&!
fopen'
T%)o de arc6%7o S%0!%8%cado
>r?
A$re u! arc6%7o eB%,te!te ,olo )ara lectura
>w?
A$re u! arc6%7o eB%,te!te ,olo )ara e,cr%tura' S% el arc6%7o eB%,teA lo
$orra " crea u!o !ue7o 7aco'
>a?
A$re u! arc6%7o )ara a0re0ar dato, al 8%!al' S% !o eB%,te crea u! arc6%7o
!ue7o'
>rT?
A$re u! arc6%7o eB%,te!te ta!to )ara lectura co-o e,cr%tura'
>wT?
A$re u! arc6%7o eB%,te!te ta!to )ara lectura co-o e,cr%tura' S% el
arc6%7o eB%,teA crea u!o !ue7o 7aco'
>aT?
A$re u! arc6%7o )ara leer " a0re0ar dato, al 8%!al' S% !o eB%,te crea u!
arc6%7o !ue7o'
>t?
Arc6%7o de t%)o teBto' Solo u! co!1u!to l%-%tado de caractere, ASCII'
E,ta e, la o)c%&! )or o-%,%&!'
>b?
Arc6%7o de t%)o $%!ar%o' Se )er-%te cual=u%er car9cter'
Co-o e1e-)lo 7ea-o, u! )ro0ra-a =ue co!7%erte teBto e! e,)aDol a T)%0 lat!U' U!a
)ala$ra e! e,)aDol ,e co!7%erte a )%0 lat! ca-$%a!do la letra %!%c%al al 8%!al " a0re0a!do
u!a TaU al 8%!al' Por e1e-)lo> ca,a ;` a,caA la)%: ;` a)%:laA etc' El )ro0ra-a leer9 el
!o-$re de u! arc6%7o de teBtoA leer9 el arc6%7o " e,cr%$%r9 e! u! ,e0u!do arc6%7o la, l!ea,
de teBto co! la, )ala$ra, co!7ert%da, a )%0 lat!'
El )r%-er )a,o e! la co!7er,%&! e, la el%-%!ac%&! de todo, lo, ,%0!o, de )u!tuac%&! de cada
u!a de la, l!ea, de teBto' La 8u!c%&! e!car0ada de e,te )roce,o e, l%-)%a' E,ta 8u!c%&! !o
re0re,a !%!0C! 7alor " lle7a co-o ar0u-e!to, la l!ea de e!trada " re0re,a co-o ,e0u!do
)ar9-etro la l!ea ,%! ,%0!o, de )u!tuac%&!' El )roce,o e, -u" ,%-)leA cada car9cter =ue
,ea al8a$t%co o el car9cter e,)ac%o e, co)%ado a la cade!a de ,al%daA lo, de-9, caractere,
,o! %0!orado,'
void limpia!char teRto]^/ char cad]^"%
int i/.O+*
for!iO+*i<strlen!teRto"*iTT"
if!isalpha!teRto]i^"[[teRto]i^OOe e"
cad].TT^ O teRto]i^*
cad].^ O e)+e*
,
El )roce,o de co!7er,%&! lo real%:a la 8u!c%&! teRtBpiglatin'
void teRtBpiglatin!char teRt]^/ char pig]^"%
int p1 O +/p2/i*
char pal]2+^ O &&*
##*
strcat!teRt/& &"*
pig]+^ O e)+e*
while!p1<strlen!teRt""%
i O p1*
while!teRt]i^(Oe e"iTT*
p2 O i*
//copia palabra desde 2a letra
for!iOp1*i<p2*iTT"
pal]i-p1^ O teRt]iT1^*
//copia inicial al final
pal]i-p1-1^ O teRt]p1^*
//agrega una eae
pal]i-p1^ O eae*
pal]i-p1T1^ O e)+e*
strcat!pig/pal"*
strcat!pig/& &"*
p1 O p2T1*
,
,
Por Clt%-oA la 8u!c%&! )roce,a leer el !o-$re del arc6%7o a )roce,ar " ,% el arc6%7o eB%,teA
crea u! arc6%7o lla-ado T)%0'tBtU e! el cual ,e e,cr%$%r9 la ,al%da' La 8u!c%&! lee l!ea )or
l!ea " la, ,o-ete al )roce,o de l%-)%e:a " co!7er,%&! e,cr%$%e!do el re,ultado e! el
arc6%7o de ,al%da' La 8u!c%&! -a%! del )ro0ra-a ,olo lla-a a e,ta 8u!c%&!'
void procesa!"%
char nom]4+^/r]7+^/s]7+^/t]7+^*
DH0- *f/*g*
printf!&Brchivo de entradaP &"*
scanf!&Qs&/nom"*
f O fopen!nom/&r&"*
if!fOO;E00"%
printf!&Brchivo Qs no encontrado...&/nom"*
getch!"*
eRit!1"*
,
g O fopen!&pig.tRt&/&w&"*
while!(feof!f""%
fgets!r/7+/f"*
limpia!r/s"*
teRtBpiglatin!s/t"*
fprintf!g/&Qs)n&/t"*
,
fclose!f"*
fclose!g"*
,
###
Pro$le-a, )ro)ue,to,
*5'#'*' E,cr%$a u!a ,e!te!c%a )ara a$r%r u! arc6%7o lla-ado Tdato,'tBtU )ara lectura "
e,cr%tura ,%! crear u! arc6%7o 7aco'
EB)l%=ue el ,%0!%8%cado de la, ,%0u%e!te, ,e!te!c%a,>
aI f O fopen!>datos.tRt?/?wT?"*
$I f O fopen!>datos.tRt?/?aT?"*
c" f O fopen!>datos.tRt?/?r?"*
dI f O fopen!>datos.tRt?/?w?"*
*5'#'#' E,cr%$a u! )ro0ra-a =ue co)%e u! arc6%7e de teBto ca-$%a!do toda, la, letra,
-%!C,cula, e! -a"C,cula,'
*5'#'/' E,cr%$a u! )ro0ra-a =ue lea u! arc6%7o teBto " cue!te el !C-ero de cada u!a de la,
letra, del al8a$eto =ue co!t%e!e'
*5'#'.' E,cr%$a u! )ro0ra-a =ue e,cr%$a e! u! arc6%7o de !o-$re Tdato,'tBtU ,u !o-$reA
d%recc%&!A tel8o!o " la carrera =ue e,t9 cur,a!do' Cada ele-e!to e,cr$alo e! u!a l!ea
d%,t%!ta'
*5'#'(' E,cr%$a u! )ro0ra-a =ue lea u! arc6%7o de u! )ro0ra-a e! C " 0e!ere otro arc6%7o
del -%,-o )ro0ra-a )ero co! todo, lo, co-e!tar%o, el%-%!ado,'
*5'#'3' E,cr%$a u! )ro0ra-a =ue lea u! arc6%7o de u! )ro0ra-a e! C " cue!te el !C-ero de
l!ea, de co-e!tar%o, =ue co!t%e!e " el !C-ero total de l!ea, del )ro0ra-a'
*5'/' U,o de arc6%7o, ,ecue!c%ale,'
EB%,te! do, t%)o, de arc6%7o, de dato,A arc6%7o, ,ecue!c%ale, " arc6%7o, de acce,o
aleator%o' Lo, arc6%7o, ,ecue!c%ale, ,e ,u$d%7%de! e! arc6%7o, de teBtoA =ue e,t9! 8or-ado,
)or ,ecue!c%a, de caractere,A la, cuale, )uede! ,er %!ter)retada, co-o cade!a, de
caractere, o co-o !C-ero,' E! lo, arc6%7o, de teBto ,olo ,e )er-%te u! co!1u!to
re,tr%!0%do de caractere, ASCII' La ,e0u!da cate0ora de arc6%7o, ,ecue!c%ale, ,o!
lla-ado, arc6%7o, ,%! 8or-ato =ue ,e or0a!%:a! co-o ,ecue!c%a, de $lo=ue, de
%!8or-ac%&!' E,to, $lo=ue, re)re,e!ta! e,tructura, o arre0lo,'
Por Clt%-o e,t9! lo, arc6%7o, $%!ar%o, =ue co!t%e!e! todo, lo, 7alore, $%!ar%o, )o,%$le,'
E,to, arc6%7o, ,o! Ct%le, )ara 0uardar %!8or-ac%&! !u-r%caA %-90e!e,A ,o!%do,A etc' Lo,
arc6%7o, aleator%o, ,o! a=uello, e! lo, =ue ,e )uede acceder a cual=u%er )arte de ello, )ara
lectura o e,cr%tura' Puede! eB%,t%r co-$%!ac%o!e, de lo, d%8ere!te, t%)o, de arc6%7oA e,to e,A
)uede 6a$er arc6%7o, de teBto do!de ,e al-ace!e %!8or-ac%&! $%!ar%aA etc'
El ,%0u%e!te )ro0ra-a e,cr%$e u!a ta$la de !C-ero, de * a #5 " ,u, cuadrado,' El arc6%7o
creado e, de t%)o teBto " )uede ,er ed%tado co! cual=u%er ed%tor de teBtoA tal co-o el ed%tor
##/
de )ro0ra-a, de De7;C' Se ut%l%:a la 8u!c%&! fprintf )ara e,cr%$%r dato, !u-r%co, co!
8or-ato'
#include <stdio.h>
#include <conio.h>
main!"%
int i*
DH0- *archivo*
archivo O fopen!&test6.tRt&/&w&"*
if!archivo(O;E00"%
for!i O +* i< 1+* iTT"
fprintf!archivo/&Qd Qd)n&/i/i*i"*
fclose!archivo"*
,
else
printf!&;o se puede crear el archivo...&"*
getch!"*
,
El ,%0u%e!te )ro0ra-a lee el arc6%7o creado )or el )ro0ra-a a!ter%or ut%l%:a!do la 8u!c%&!
fscanf' De$e to-ar,e e! cue!ta =ue lo, dato, e,t9! ,e)arado, )or e,)ac%o, )ara leerlo,
correcta-e!te'
#include <stdio.h>
#include <conio.h>
main!"%
int i/.*
DH0- *archivo*
archivo O fopen!&test6.tRt&/&r&"*
if!archivo(O;E00"%
for!i O +* i< 1+* iTT"%
fscanf!archivo/&Qd Qd)n&/Wi/W."*
printf!&Qd Qd)n&/i/."*
,
fclose!archivo"*
,
else
printf!&;o se puede crear el archivo...&"*
getch!"*
,
El ,%0u%e!te e1e-)lo a$re u! arc6%7o " e,cr%$e u!a l!ea " c%erra el arc6%7o' A co!t%!uac%&!
a0re0a u!a l!ea al 8%!al del arc6%7o a$r%!dolo co! la o)c%&! TaU " ,e c%erra el arc6%7o'
F%!al-e!te ,e a$re co! la o)c%&! TaTU =ue )er-%te leer el arc6%7o " a0re0ar al 8%!al'
##.
#include <stdio.h>
#include <conio.h>
main!"%
DH0- *archivo*
archivo O fopen!&testBpend.tRt&/&w&"*
fprintf!archivo/&-sta es una prueba de append)n&"*
fclose!archivo"*
archivo O fopen!&testBpend.tRt&/&a&"*
fprintf!archivo/&-sta linea se agrego despues.)n&"*
fclose!archivo"*
archivo O fopen!&testBpend.tRt&/&aT&"*
while!(feof!archivo""
putchar!fgetc!archivo""*
getch!"*
fprintf!archivo/&-sta linea se agrego al final.)n&"*
fclose!archivo"*
,
Fea-o, u! e1e-)lo -9, )r9ct%co' Se de,ea u! )ro0ra-a )ara re0%,trar la, te-)eratura,
-9B%-a, " -!%-a, dura!te u! c%erto !C-ero de da,' Lo co!7e!%e!te e, ut%l%:ar u! arc6%7o
)ara %r al-ace!a!do lo, dato,' Su)o!dre-o, =ue a!te, de e1ecutar )or )r%-era 7e: el
)ro0ra-a el arc6%7o de dato, !o eB%,teA e,to %-)l%ca =ue de$e-o, crearlo )ara a0re0ar
dato, )o,ter%or-e!te' E,cr%$%re-o, u!a 8u!c%&! =ue ,e e!car0ue de 7er%8%car ,% eB%,te el
arc6%7o " ,% !o eB%,te lo crear9' La 8u!c%&! e, la ,%0u%e!te'
void inicia!"%
DH0- *archivo*
archivo O fopen!&temps.tRt&/&r&"*
if!archivoOO;E00"%
archivo O fopen!&temps.tRt&/&w&"*
,
fclose!archivo"*
,
E,ta 8u!c%&! ,er9 lla-ada al %!%c%o del )ro0ra-a' El )ro0ra-a e! ,% co!,ta de u! -e!C de
o)c%o!e,> ca)turar te-)eratura,A 7er te-)eratura,A dato, e,tad,t%co, " ter-%!ar' La 8u!c%&!
menu e, la e!car0ada de leer la o)c%&! de -e!C " lla-a a la, 8u!c%o!e, re,ta!te, )ara cada
o)c%&!' E,ta 8u!c%&! ,e e1ecutar9 6a,ta =ue el u,uar%o ,elecc%o!e la o)c%&! de ,al%r'
void menu!"%
char ch*
do%
despliega=enu!"*
do%
ch O getch!"*
,while!ch<e1e[[ch>e6e"*
##(
printf!&Qc&/ch"*
switch!ch"%
case e1ePleerFemperaturas!"*breac*
case e2ePverFemperaturas!"*breac*
case e4ePestadisticas!"*breac*
,
,while!ch(Oe6e"*
,
La 8u!c%&! despliega=enu ,%-)le-e!te $orra la )a!talla " de,)l%e0a la, o)c%o!e, del
-e!C'
void despliega=enu!"%
clear!"*
printf!&1. Capturar temperaturas)n)n&"*
printf!&2. Jer temperaturas)n)n&"*
printf!&4. -stadisticas)n)n&"*
printf!&6. Ferminar)n)n&"*
printf!&MpcionP &"*
,
La 8u!c%&! leerFemperaturas e, la e!car0ada de ca)turar la 8ec6a " la, te-)eratura,
-9B%-a " -!%-a de e,a 8ec6a' El arc6%7o ,e a$re co! la o)c%&! TaU )ara a0re0ar lo, dato,
al 8%!al del -%,-o'
void leerFemperaturas!"%
int dia/mes/anyo*
float t=aR/t=in*
DH0- *archivo*
clear!"*
printf!&HntroduAca fecha !dd mm aa"P &"*
scanf!&Qd Qd Qd&/Wdia/Wmes/Wanyo"*
printf!&HntroduAca temperatura maRimaP &"*
scanf!&Qf&/Wt=aR"*
printf!&HntroduAca temperatura minimaP &"*
scanf!&Qf&/Wt=in"*
archivo O fopen!&temps.tRt&/&aT&"*
fprintf!archivo/&Qd Qd Qd Q.2f Q.2f)n&/ dia/ mes/ anyo/
t=aR/ t=in"*
fclose!archivo"*
,
;
La 8u!c%&! verFemperaturas -ue,tra toda, la, te-)eratura, ca)turada, e! 0ru)o, de
#5' E,ta 8u!c%&! a$re el arc6%7o co! la o)c%&! TrU'
void verFemperaturas!"%
int dia/mes/anyo/lineasO+*
##3
float t=aR/t=in*
DH0- *archivo*
archivo O fopen!&temps.tRt&/&r&"*
clear!"*
fscanf!archivo/&Qd Qd Qd Qf Qf)n&/ Wdia/ Wmes/ Wanyo/
Wt=aR/ Wt=in"*
while!(feof!archivo""%
if!t=aR<9+"
printf!&Decha Q2d/Q2d/Q6dP Femp. maR Q.2f/ Femp. min
Q.2f)n&/dia/mes/anyo/t=aR/t=in"*
if!lineasOO2+"%
lineas O +*
printf!&Presione una tecla...&"*
getch!"*
clear!"*
,
else
lineasTT*
fscanf!archivo/&Qd Qd Qd Qf Qf)n&/ Wdia/ Wmes/ Wanyo/
Wt=aR/ Wt=in"*
,*
printf!&Presione una tecla...&"*
getch!"*
fclose!archivo"*
,
Por Clt%-o la 8u!c%&! estadisticas a$re el arc6%7o ta-$%! e! la o)c%&! TrU " lee
todo, lo, dato, ,u-a!do toda, la, te-)eratura, ca)turada, " co!ta!do toda, la, l!ea, del
arc6%7o )ara calcular el )ro-ed%o' Ta-$%! ,e re0%,tra cual e, la te-)eratura -9B%-a "
-!%-a a$,oluta, de todo, lo, dato, ledo,'
void estadisticas!"%
int dia/mes/anyo/lineasO+*
float t=aR/t=in/maRimaO-1++/minimaO1++/promedio O +*
DH0- *archivo*
archivo O fopen!&temps.tRt&/&r&"*
clear!"*
fscanf!archivo/&Qd Qd Qd Qf Qf)n&/ Wdia/ Wmes/ Wanyo/
Wt=aR/ Wt=in"*
while!(feof!archivo""%
if!t=aR<9+"%
if!t=aR>maRima" maRima O t=aR*
if!t=in<minima" minima O t=in*
promedio TO t=aRTt=in*
,
lineasTT*
##+
fscanf!archivo/&Qd Qd Qd Qf Qf)n&/ Wdia/ Wmes/ Wanyo/
Wt=aR/ Wt=in"*
,*
if!lineas"
printf!&Femp. maRP Q.2f)nFemp. minP Q.2f)n&
&PromedioP Q.2f)n)n)n&/maRima/minima/promedio/lineas"*
printf!&Presione una tecla...&"*
getch!"*
fclose!archivo"*
,
La 8u!c%&! main ,olo lla-a a la 8u!c%&! =ue %!%c%al%:a el arc6%7o " al -e!C'
main!"%
inicia!"*
menu!"*
,
Fea-o, u! e1e-)lo de arc6%7o, ,ecue!c%ale, " e,tructura,' La, carrera, de 8&r-ula otor0a!
)u!to, a lo, )%loto, de acuerdo co! el lu0ar =ue ocu)a, e! la lle0ada' La ta$la de )u!to, e,
la ,%0u%e!te>
Lu0ar )u!to,
*i #(
#i *4
/i *(
.i *#
(i *5
3i 4
+i 3
4i .
2i #
*5i *
Lo, dato, de lo, )%loto, ,e al-ace!a! e! u! arc6%7o de e,tructura,' Cada e,tructura co!,ta
del !o-$re del )%lotoA la e,cuderaA la !ac%o!al%dad " el !C-ero de )u!to,' La e,tructura e!
C e, la ,%0ue!te>
struct piloto%
char nombre]2+^*
char nacionalidad]6^*
int puntos*
,*
De,arrolle-o, u! )ro0ra-a )ara actual%:ar lo, dato, de,)u, de cada carrera' Para e,to
-a!te!dre-o, u! arc6%7o co! lo, dato, de lo, )%loto,' I!%c%al-e!te creare-o, el arc6%7o
##4
co! u! ed%tor de teBto' La %!8or-ac%&! de cada )%loto e,tar9 co!te!%da e! cuatro l!ea, de
teBto' El arc6%7o ,e leer9 6a,ta lle0ar al 8%!al de arc6%7o'
El )ro0ra-a real%:ar9 lo, ,%0u%e!te, )a,o,>
*' Leer arc6%7o de dato, de todo, lo, )%loto, " al-ace!arlo e! u! arre0lo'
#' Leer lo, )r%-ero, d%e: lu0are, " actual%:ar el arre0lo de )%loto,'
/' Orde!ar el arre0lo de )%loto,'
.' EB6%$%r la !ue7a l%,ta de )%loto, orde!ada )or )u!ta1e'
(' E,cr%$%r el arre0lo e! el arc6%7o co! lo, )u!to, acual%:ado,'
La 8u!c%&! leerGatos lee lo, dato, de lo, )%loto, " lo, al-ace!a e! u! arre0lo =ue )a,a
co-o ar0u-e!to' La 8u!c%&! t%e!e u! )ar9-etro )or re8ere!c%a =ue ret%e!e el !C-ero de
)%loto,' El )ro0ra-a ter-%!a ,% !o ,e e!cue!tra el arc6%7o de dato,' O$,er7e =ue la lectura
del Clt%-o dato Hel !C-ero de )u!to,I %!clu"e la lectura de u! ENTER )ara a,e0urar =ue ,e
lle0ue al 8%!al del arc6%7o cua!do ,e lea! lo, dato, del Clt%-o )%loto'
void leerGatos!piloto lideres]^/int *n"%
int i O +*
DH0- *f*
f O fopen!&formula1.tRt&/&r&"*
if!fOO;E00"%
printf!&;o eRiste el archivo eformula1.tRte&"*
getch!"*
eRit!1"*
,
while!(feof!f""%
fscanf!f/& Q]\)n^&/lideres]i^.nombre"*
fscanf!f/& Q]\)n^&/lideres]i^.nacionalidad"*
fscanf!f/& Qd)n&/Wlideres]i^.puntos"*
iTT*
,
*n O i*
fclose!f"*
,
La 8u!c%&! listaGatos de,)l%e0a u!a l%,ta de lo, )%loto, orde!ada )or )u!to,'
void listaGatos!piloto lideres]^/int n"%
int i*
printf!&DMK=E0B 1)n&"*
printf!& # ;ombre pts&
& # ;ombre pts)n&"*
for!iO+*i<n*iTT"%
printf!&Q2i Q-2+s Q4s Q4d &/iT1/lideres]i^.nombre/
lideres]i^.nacionalidad/lideres]i^.puntos"*
if!iQ2OO1"
##2
printf!&)n&"*
,
,
La lectura de la, )o,%c%o!e, de u!a carrera la e8ectCa la 8u!c%&! leerPrimeros' La
8u!c%&! lee el !C-ero de cada )%loto Hde acuerdo a la l%,ta orde!adaI e! el orde! e! =ue
=ued& e! la carrera' No ,e 6ace !%!0C! -a!e1o de errore,A tal co-o detectar !C-ero,
re)et%do, o !C-ero 8uera de ra!0o' Lo, !C-ero, de lo, )%loto, ,e 0uarda! e! el arre0lo
lu0ar' Po,ter%or-e!te ,e actual%:a! lo, )u!to, de cada )%loto'
void leerPrimeros!piloto lideres]^"%
int i/lugar]1+^*
int puntos]1+^ O %28/17/18/12/1+/7/9/6/2/1,*
printf!&-scriba los numeros de los 1+ pilotos en el orden
en #ue)n&"*
printf!&llegaron en la ultima carreraP &"*
for!iO+*i<1+*iTT"
scanf!& Qd &/Wlugar]i^"*
for!iO+*i<1+*iTT"
lideres]lugar]i^-1^.puntos TO puntos]i^*
,
Po,ter%or-e!te la 8u!c%&! ordenar orde!a la l%,ta de )%loto, co! $a,e e! el !C-ero de
)u!to,'
void ordenar!piloto lideres]^/int n"%
int i/.*
piloto temp*
for!iO+*i<n-1*iTT"
for!.Oi*.<n*.TT"
if!lideres]i^.puntos<lideres].^.puntos"%
temp O lideres]i^*
lideres]i^ O lideres].^*
lideres].^ O temp*
,
,
Por Clt%-o la 8u!c%&! escribirGatos e,cr%$e el arc6%7o $orra!do la 7er,%&! a!ter%or'
void escribirGatos!piloto lideres]^/int n"%
int i*
DH0- *f*
f O fopen!&formula1.tRt&/&w&"*
for!iO+*i<n*iTT"%
fprintf!f/&Qs)n&/lideres]i^.nombre"*
fprintf!f/&Qs)n&/lideres]i^.nacionalidad"*
fprintf!f/&Qd)n&/lideres]i^.puntos"*
#/5
,
fclose!f"*
,
La 8u!c%&! main lla-a a la, 8u!c%o!e, a!ter%ore, e! el orde! adecuadoA de acuerdo co! el
al0or%t-o de,cr%to a!ter%or-e!te'
main!"%
piloto lideres]26^*
int maR*
leerGatos!lideres/WmaR"*
listaGatos!lideres/maR"*
leerPrimeros!lideres"*
system!&cls&"*
ordenar!lideres/maR"*
listaGatos!lideres/maR"*
lescribirGatos!lideres/maR"*
getch!"*
,
Pro$le-a, )ro)ue,to,
*5'/'*' E,cr%$a u! )ro0ra-a =ue lea el !o-$re de u! arc6%7o " lo cree )ara e,cr%turaA lue0o
,ol%c%te al u,uar%o el !C-ero de 7alore, =ue de,ea 0uardar e! el arc6%7oA de,)u, ,ol%c%te al
u,uar%o lo, 7alore, " lo, al-ace!e e! el arc6%7o' Lue0o c%erre el arc6%7o " 9$ralo )ara
lecturaA lea todo, lo, 7alore, " calcule la ,u-a total " de,)l%e0ue la ,u-a'
*5'/'#' Mod%8%=ue la 8u!c%&! leerPrimeros del )ro0ra-a de 8&r-ula * )ara =ue
7er%8%=ue ,% ,e %!troduce al0C! !C-ero de )%loto re)et%do o 8uera de ra!0o'
*5'/'/' De,arrolle u! )ro0ra-a )ara lle7ar lo, re,ultado, de la l%0a -eB%ca!a de 8Ct$ol' La
l%0a co!,ta de *4 e=u%)o, or0a!%:ado, e! do, 0ru)o, " 1ue0a! e!tre ,% u!a 7e: )or
te-)orada'
*5'/'.' U! $a!co e-)lea u! arc6%7o )ara al-ace!ar lo, detalle, de la, cue!ta, corr%e!te, de
,u, cl%e!te,' Cada re0%,tro co!t%e!e el !C-ero de cue!taA el !o-$reA la d%recc%&!A el ,aldo
actual " el l-%te de ,aldo !e0at%7o Hcero ,% !o ,e )er-%te! ,aldo, !e0at%7o,I' De,arrolle u!
)ro0ra-a =ue e,cudr%De e,te arc6%7o " cree u!o !ue7o co! lo, re0%,tro, de lo, cl%e!te, =ue
te!0a! u! ,aldo !e0at%7o' A, -%,-oA ,e de$e! eB6%$%r e! la )a!talla loc detalle, de
cual=u%er cl%e!te =ue re$a,e e! -9, del *5] ,u l-%te acordado de ,aldo !e0at%7oA o =ue
)re,e!te ,aldo !e0at%7o ,% !o e,t9 )er-%t%do te!erlo e! ,u ca,o )art%cular'
*5'/'(' Do, co-)aDa, de tar1eta, de crd%to ,e 8u,%o!aro! rec%e!te-e!te " !ece,%ta!
co-$%!ar ,u, re0%,tro, co-)utar%:ado, de cl%e!te,' Para 6acerloA cada co-)aDa a
)re)arado u! arc6%7o co! el !C-ero de cue!taA !o-$reA d%recc%&! " ,aldo actual de cada
u!o de ,u, cl%e!te,A al-ace!ado e! orde! )or !C-ero de cue!ta' E,cr%$a u! )ro0ra-a )ara
#/*
8u,%o!ar e,to, do, arc6%7o, " )roduc%r u! arc6%7o C!%co !ue7o =ue co!te!0a todo, lo, dato,
orde!ado, ,e0C! el -%,-o cr%ter%o'
*5'/'3' La l%0a e,coce,a de 8Ct$ol de )r%-era d%7%,%&! co!,ta de *# e=u%)o, =ue 1ue0a!
e!tre , cuatro 7ece, cada te-)orada' De,arrolle u! )ro0ra-a =ue )ueda ace)tar lo,
re,ultado, He, dec%rA e=u%)o, " -arcadore,I de u!a ,er%e ,e-a!al de ,e%, e!cue!tro, " =ue
actual%ce la ta$la de la l%0a =ue ,e al-ace!a e! u! arc6%7o de dato, e!tre cada e1ecuc%&! del
)ro0ra-a'
*5'.' Arc6%7o, $%!ar%o,
Lo, arc6%7o, $%!ar%o, )uede! co!te!er $"te, co! cual=u%er 7alorA de 5 a #((' Lo, arc6%7o,
e1ecuta$le, ,o! u! e1e-)lo co-C! de arc6%7o, $%!ar%o,' Otro, e1e-)lo, ,o! arc6%7o, =ue
co!t%e!e! %!8or-ac%&! de %-90e!e,A tale, co-o lo, arc6%7o, GIFA TGAA GPGA BMPA etc'
E,to, arc6%7o, )uede! ,er ledo, ,% ,e co!oce el 8or-ato 0r98%co' Lo, arc6%7o, $%!ar%o,
)uede! co!te!er dato, !u-r%co,' Lo, arc6%7o, $%!ar%o, )uede! de,)le0ar,e e! )a!talla o
e! u! ed%tor de teBtoA ,%! e-$ar0o e! e,to, ca,o, 6a$r9 al0u!o, caractere, =ue !o ,o!
%-)r%-%$le, " el re,ultado )uede ,er %!e,)erado'
El ,%0u%e!te )ro0ra-a )er-%te de,)le0ar cual=u%er arc6%7o $%!ar%o o de teBto' Note =ue la
8u!c%&! main lle7a do, ar0u-e!to,A e,to )er-%te ,e %!trodu:ca! ar0u-e!to, al e1ecutar el
)ro0ra-a' El )r%-er ar0u-e!to de la 8u!c%&! main e, argcA e, el !C-ero de cade!a, de
caractere, =ue co!t%e!e la l!ea de co-a!do,' La, cade!a, ,e al-ace!a! e! el ,e0u!do
ar0u-e!to argv =ue e, u! arre0lo de cade!a,' La, cade!a, ,e !u-era! de 5 e! adela!teA
,%e!do el ar0u-e!to 5 el !o-$re del )ro0ra-a' S% el !C-ero de ar0u-e!to, e, -e!or =ue
do,A el )ro0ra-a ter-%!a %!8or-a!do la 8or-a de ut%l%:arlo'
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
void muestra!char *nom"*
main!char argc/char **argv"%
if!argc<2"%
printf!&usoP ver archivo)n&"*
getch!"*
eRit!1"*
,else%
muestra!argv]1^"*
,
,
void muestra!char *nom"%
DH0- *f*
#/#
unsigned char ch*
char a]19^ O %+,*
int iO+/.O+/c*
f O fopen!nom/&r&"*
if!fOO;E00"%
printf!&;M eRiste el archivoP Qs&/nom"*
getch!"*
eRit!1"*
,else%
ch O fgetc!f"*
while!(feof!f""%
printf!&Q+2V &/ch"*
a]i^ O ch*
iTT*
if!iOO19"%
.TT*
for!cO+*c<19*cTT"
if!isprint!a]c^""
printf!&Qc&/a]c^"*
else
printf!&.&"*
i O +*
printf!&)n&"*
,
if!.OO26"%
printf!&Presione cual#uier tecla...&"*
getch!"*
printf!&)n&"*
. O +*
,
ch O fgetc!f"*
,
,
. O i*
while!.<19"%
printf!& &"*
.TT*
,
for!cO+*c<i*cTT"
if!isprint!a]c^""
printf!&Qc&/a]c^"*
else
printf!&.&"*
printf!&)nPresione cual#uier tecla...&"*
getch!"*
,
#//
La 8u!c%&! muestra e, la e!car0ada de leer " de,)le0ar el arc6%7o' Lo, arc6%7o, ,o!
de,)le0ado, e! re!0lo!e, de *3 $"te, e! 8or-ato 6eBadec%-al " e! ,u e=u%7ale!te ASCII'
La ,e!te!c%a printf!&Q+2V &/ch" de,)l%e0a el 8or-ato 6eBadec%-alA el 5 ,e ut%l%:a
)ara relle!ar el ca-)o de 5O, e! lu0ar de u,ar e,)ac%o,' Se ut%l%:a la 8u!c%&! isprint )ara
de,)le0ar ,olo lo, caractere, %-)r%-%$le,' Co! e,te )ro0ra-a ,e )uede eB)lorar cual=u%er
t%)o de arc6%7o'
Co-o e1e-)lo de arc6%7o $%!ar%o co!,%dere el ,%0u%e!te )ro0ra-a =ue e,cr%$e lo,
cuadrado, de lo, !C-ero, de * a #5' La e,cr%tura ,e lle7a a ca$o -ed%a!te 8@r%te =ue
e,cr%$e dato, ,%! 8or-ato' Lo, )ar9-etro, de 8@r%te ,o! la d%recc%&! de la 7ar%a$le =ue ,e
e,cr%$eA el ta-aDo de cada datoA el !C-ero de dato, " el a)u!tador al arc6%7o'
#include <stdio.h>
main!"%
int i/t]2+^*
DH0- *f*
f O fopen!&test.dat&/&w&"*
for! iO1* i<O2+* iTT "
t]i-1^ O i*i*
fwrite!t/ siAeof!int"/ 2+/ f"*
fclose!f"*
,
Lo, dato, e,cr%to, )or el )ro0ra-a a!ter%or )uede! ,er 7%,ual%:ado, co! el )ro0ra-a de
de,)l%e0ue de arc6%7o, 7%,to al %!%c%o de e,ta ,ecc%&!' Se de$er9 7er al0o ,%-%lar a lo
,%0u%e!te>
+1 ++ ++ ++ +6 ++ ++ ++ +X ++ ++ ++ 1+ ++ ++ ++ ................
1X ++ ++ ++ 26 ++ ++ ++ 41 ++ ++ ++ 6+ ++ ++ ++ .......1......
81 ++ ++ ++ 96 ++ ++ ++ :X ++ ++ ++ X+ ++ ++ ++ ...d...y......
BX ++ ++ ++ C6 ++ ++ ++ -1 ++ ++ ++ ++ +1 ++ ++ ...............
21 +1 ++ ++ 66 +1 ++ ++ 9X +1 ++ ++ X+ +1 ++ ++ (...G...i......
Presione cual#uier tecla...
Note =ue lo, e!tero, ,e al-ace!a! e! orde! %!7er,oA )r%-ero lo, $%t, -e!o, ,%0!%8%cat%7o,
lue0o lo, -9, ,%0!%8%cat%7o,A ade-9, cada e!tero ocu)a . $"te,' El ,%0u%e!te )ro0ra-a lee
lo, dato, e! $%!ar%o " lo, de,)l%e0a e! )a!talla'
#include <stdio.h>
#include <conio.h>
main!"%
int i/t]2+^*
DH0- *f*
f O fopen!&test.dat&/&r&"*
#/.
fread!t/ siAeof!int"/ 2+/ f"*
for! iO+* i<2+* iTT "
printf!&Qd)n&/t]i^"*
fclose!f"*
getch!"*
,
Pro$le-a, )ro)ue,to,
*5'.'*' Mod%8%=ue el )ro0ra-a de de,)l%e0ue de arc6%7o, )ara )oder !a7e0ar e! el arc6%7o'
U,e la, tecla, de 8lec6a arr%$a " a$a1o )ara a7a!:ar " retroceder *3 $"te,A la, tecla,
TRePa0U " TA7Pa0U )ara a7a!:ar #5 re!0lo!e,A la tecla TI!%c%oU )ara %r al %!%c%o del
arc6%7oA la tecla TF%!U )ara %r al 8%!al " la tecla TE,cU )ara ter-%!ar'
Ut%l%ce arc6%7o, $%!ar%o, )ara lo, ,%0u%e!te, )ro0ra-a,'
*5'.'#' U! $a!co e-)lea u! arc6%7o )ara al-ace!ar lo, detalle, de la, cue!ta, corr%e!te, de
,u, cl%e!te,' Cada re0%,tro co!t%e!e el !C-ero de cue!taA el !o-$reA la d%recc%&!A el ,aldo
actual " el l-%te de ,aldo !e0at%7o Hcero ,% !o ,e )er-%te! ,aldo, !e0at%7o,I' De,arrolle u!
)ro0ra-a =ue e,cudr%De e,te arc6%7o " cree u!o !ue7o co! lo, re0%,tro, de lo, cl%e!te, =ue
te!0a! u! ,aldo !e0at%7o' A, -%,-oA ,e de$e! eB6%$%r e! la )a!talla loc detalle, de
cual=u%er cl%e!te =ue re$a,e e! -9, del *5] ,u l-%te acordado de ,aldo !e0at%7oA o =ue
)re,e!te ,aldo !e0at%7o ,% !o e,t9 )er-%t%do te!erlo e! ,u ca,o )art%cular'
*5'.'/' Do, co-)aDa, de tar1eta, de crd%to ,e 8u,%o!aro! rec%e!te-e!te " !ece,%ta!
co-$%!ar ,u, re0%,tro, co-)utar%:ado, de cl%e!te,' Para 6acerloA cada co-)aDa a
)re)arado u! arc6%7o co! el !C-ero de cue!taA !o-$reA d%recc%&! " ,aldo actual de cada
u!o de ,u, cl%e!te,A al-ace!ado e! orde! )or !C-ero de cue!ta' E,cr%$a u! )ro0ra-a )ara
8u,%o!ar e,to, do, arc6%7o, " )roduc%r u! arc6%7o C!%co !ue7o =ue co!te!0a todo, lo, dato,
orde!ado, ,e0C! el -%,-o cr%ter%o'
*5'.'.' La l%0a e,coce,a de 8Ct$ol de )r%-era d%7%,%&! co!,ta de *# e=u%)o, =ue 1ue0a!
e!tre , cuatro 7ece, cada te-)orada' De,arrolle u! )ro0ra-a =ue )ueda ace)tar lo,
re,ultado, He, dec%rA e=u%)o, " -arcadore,I de u!a ,er%e ,e-a!al de ,e%, e!cue!tro, " =ue
actual%ce la ta$la de la l%0a =ue ,e al-ace!a e! u! arc6%7o de dato, e!tre cada e1ecuc%&! del
)ro0ra-a'
*5'(' U,o de arc6%7o, aleator%o,'
E! lo, arc6%7o, aleator%o, ,e )uede acceder cual=u%er )arte del arc6%7o d%recta-e!te' A
d%8ere!c%a de lo, arc6%7o, de teBto lo, arc6%7o, aleator%o, de$e! e,tar 8or-ado, )or $lo=ue,
del -%,-o ta-aDoA a cada $lo=ue ,e le lla-a re0%,tro' Se ut%l%:a la, 8u!c%o!e, fwrite "
fread )ara e,cr%$%r " leer' Otra, 8u!c%o!e, )ara -a!e1o de arc6%7o, aleator%o, ,o! fseecA
" ftell' M9, adela!te 7ere-o, co-o ut%l%:ar e,ta, 8u!c%o!e,' La ,%0u%e!te ta$la re,u-e el
)ro)&,%to de e,ta, 8u!c%o!e,'
#/(
Fu!c%&! Pro)&,%to
fwrite!void */siAeSt
tam/siAeSt num/DH0- *f"
E,cr%$e u! !C-ero de $lo=ue, numA de
ta-aDo tamA e! u! arc6%7o e,)ec%8%cado )or
f' El )r%-er ar0u-e!to ,eDala a la 7ar%a$le
do!de ,e %!%c%a! lo, $lo=ue,'
fread!void */siAeSt
tam/siAeSt num/DH0- *f"
Lee u! !C-ero de $lo=ue, numA de ta-aDo
tamA de u! arc6%7o e,)ec%8%cado )or f' El
)r%-er ar0u-e!to ,eDala a la 7ar%a$le do!de
,e al-ace!ar9! lo, $lo=ue,'
fseec!DH0- *f/long int
desp/int org"
Po,%c%o!a el a)u!tador de arc6%7e del
arc6%7e 8 e! la d%recc%&! orgTdesp'
ftell!DH0- *f"
Re0re,a la )o,%c%&! del a)u!tador del
arc6%7o f'
Co!,%dere la ,%0u%e!te e,tructura )ara dato, de u!a )e=ueDa $%$l%oteca>
struct libro%
char titulo]4+^*
char autor]4+^*
char editorial]18^*
int edicion*
int anyo*
,*
Re7%,are-o, u! e1e-)lo ,%-)le =ue )er-%ta 6acer la, o)erac%o!e, $9,%ca, ,o$re u! arc6%7o
de dato, de u!a )e=ueDa $%$l%oteca' El )ro0ra-a e,tar9 $a,ado e! -e!C co! la, o)c%o!e, de
a0re0ar u! l%$roA $orrar u! l%$roA ed%tar dato, de u! l%$roA l%,tar lo, l%$ro, eB%,te!te, " ,al%r
de la a)l%cac%&!' E,te e1e-)lo !o )rete!de -o,trar el d%,eDo de u!a $a,e de dato,A ,%!o ,olo
-o,trar co-o ut%l%:ar la, o)erac%o!e, $9,%ca, co! arc6%7o, aleator%o,'
La )r%-era 8u!c%&! =ue 7ere-o, e, la =ue crea el arc6%7o de dato,A ,% e,te !o eB%,te' La
8u!c%&! lle7a co-o ar0u-e!to, u! a)u!tador a a)u!tador de arc6%7o' La 8u!c%&! -od%8%ca
el a)u!tador de arc6%7oA )or lo ta!to de$e )a,ar )or re8ere!c%a' El otro ar0u-e!to e, u!
a)u!tador a e!tero =ueA el cual al-ace!ar9 el !C-ero de re0%,tro, e! el arc6%7o'
void iniciar!DH0- **f/int *regs"%
*f O fopen!&biblio.dat&/&rTb&"*
if!*fOO;E00"%
printf!&Yiblioteca vacia.&"*
*regs O +*
*f O fopen!&biblio.dat&/&wb&"*
getch!"*
fclose!*f"*
*f O fopen!&biblio.dat&/&rTb&"*
,else
#/3
*regs O filesiAe!*f"/siAeof!libro"*
,
La )r%-era %!,trucc%&! de la 8u!c%&! a$re el arc6%7o' El arc6%7o ,e a$re )ara lectura "
e,cr%tura e! -odo $%!ar%o' S% el arc6%7o !o eB%,teA ,e %!8or-a al u,uar%o =ue !o 6a" dato, "
,e crea u! arc6%7o 7acoA )o,ter%or-e!te el arc6%7o ,e c%erra " ,e 7uel7e a a$r%r e! -odo de
lectura " e,cr%tura' S% el arc6%7o eB%,teA ,e deter-%!a el !C-ero de re0%,tro,A )ara e,to ,e
calcula el ta-aDo del arc6%7o e! $"te, lla-a!do a la 8u!c%&! filesiAe " d%7%d%e!do el
!C-ero de $"te, e!tre el ta-aDo de u! re0%,tro' La 8u!c%&! filesiAe ,e -ue,tra a
co!t%!uac%&!'
long int filesiAe!DH0- *archivo"%
long int siAeSofSfile*
fseec!archivo/+0/I--S-;G"*
siAeSofSfile O ftell!archivo"*
fseec!archivo/+0/I--SI-F"*
return siAeSofSfile*
,
Para deter-%!ar el ta-aDo de u! arc6%7o lo =ue 6ace-o, e, )o,%c%o!ar el a)u!tador de
arc6%7o al 8%!al " lla-ar a la 8u!c%&! ftell =ue !o, %!d%ca la )o,%c%&! del a)u!tador e!
$"te,'
La 8u!c%&! menu de,)l%e0a el -e!C del )ro0ra-a " !o re=u%ere -9, co-e!tar%o,' Lle7a
co-o ar0u-e!to el !C-ero de re0%,tro, )ara de,)le0arlo'
void menu!int regs"%
system!&cls&"*
printf!&)n)n)t1 Bgregar libro&"*
printf!&)n)n)t2 Yorrar libro&"*
printf!&)n)n)t4 -ditar libro&"*
printf!&)n)n)t6 0istar libros&"*
printf!&)n)n)t8 Ialir&"*
printf!&)n)n)t0ibros Qd&/regs"*
printf!&)n)n)tMpcionP &"*
,
Para a0re0ar " ed%tar u! re0%,tro u,a-o, u!a 8u!c%&! =ue )er-%te e,cr%$%r lo, dato, de u!
l%$ro' La 8u!c%&! ca)tura lle7a u! )ar9-etro )or re8ere!c%a " lee lo, dato, de u! l%$ro'
void capturar!libro *lib"%
printf!&FituloP &"*
scanf!& Q]\)n^&/lib->titulo"*
printf!&ButorP &"*
scanf!& Q]\)n^&/lib->autor"*
printf!&-ditorialP &"*
scanf!& Q]\)n^&/lib->editorial"*
#/+
printf!&-dicionP &"*
scanf!&Qd&/Wlib->edicion"*
printf!&BnyoP &"*
scanf!&Qd&/Wlib->anyo"*
,
La 8u!c%&! agregar e, la e!car0ada de a0re0ar u! l%$ro' La 8u!c%&! $orra la )a!talla "
lla-a a la 8u!c%&! captura' U!a 7e: ca)turado, lo, dato,A )o,%c%o!a el a)u!tador de
arc6%7o al 8%!al " e,cr%$e el re0%,tro' Note ,e 6a e,cr%to !*libros"TT )ara %!cre-e!tar la
7ar%a$le l%$ro, " !o *librosTTA "a =ue lo Clt%-o %!cre-e!ta el a)u!tador !o el co!te!%do
de la 7ar%a$le'
void agregar!DH0- *f/int *libros"%
libro lib*
system!&cls&"*
capturar!Wlib"*
despliega!lib"*
fseec!f/+0/I--S-;G"*
fwrite!Wlib/siAeof!libro"/1/f"*
!*libros"TT*
,
Para $orrar u! re0%,tro lo =ue 6ace-o, e, crear u! !ue7o arc6%7o co! otro !o-$re co!
todo, lo, re0%,tro, eBce)to el =ue ,e de,ea $orrar' Lue0o ,e $orra el arc6%7o or%0%!al Hco!
removeI " ,e re!o-$ra el arc6%7o !ue7o Hco! renameI co! el !o-$re del arc6%7o
$orrado' A!te, de $orrar u! arc6%7o e, !ece,ar%o cerrarloA al %0ual =ue a!te, de ca-$%ar el
!o-$re' La 8u!c%&! borra 6ace toda, e,ta, acc%o!e,'
void borrar!DH0- *f/int *libros"%
int n/i*
libro lib*
DH0- *g*
system!&cls&"*
printf!&Yorrar registroZ &"*
scanf!&Qd&/Wn"*
if!n>O+WWn<O*libros"%
fseec!f/n*siAeof!libro"/I--SI-F"*
fread!Wlib/siAeof!libro"/1/f"*
printf!&Yorrando)nQ2dP &/n"*
despliega!lib"*
g O fopen!&biblio.new&/&w&"*
fseec!f/+/I--SI-F"*
for!iO+*i<*libros*iTT"%
fread!Wlib/siAeof!libro"/1/f"*
if!i(On"
fwrite!Wlib/siAeof!libro"/1/g"*
,
#/4
fclose!g"*
fclose!f"*
remove!&biblio.dat&"*
rename!&biblio.new&/&biblio.dat&"*
f O fopen!&biblio.dat&/&rT&"*
!*libros"--*
,
,
Para ed%tar u! re0%,tro 7ol7e-o, a leer todo, lo, -%e-$ro, del -%,-o " lo 0uarda-o, e! la
-%,-a )o,%c%&! de!tro del arc6%7o' E,to 6ace la 8u!c%&! editar'
void editar!DH0- *f/int libros"%
int n*
libro lib*
system!&cls&"*
printf!&-ditar registroZ &"*
scanf!&Qd&/Wn"*
if!n>O+WWn<Olibros"%
fseec!f/n*siAeof!libro"/I--SI-F"*
fread!Wlib/siAeof!libro"/1/f"*
printf!&-ditando)nQ2dP &/n"*
despliega!lib"*
capturar!Wlib"*
fseec!f/n*siAeof!libro"/I--SI-F"*
fwrite!Wlib/siAeof!libro"/1/f"*
,
,
Por Clt%-o el de,)l%e0ue de todo, lo, re0%,tro, del arc6%7o lo 6ace la 8u!c%&! listar' E,ta
8u!c%&! de,)l%e0a 0ru)o, de #5 re0%,tro, 6a,ta el 8%!al del arc6%7o'
void listar!DH0- *f/int libros"%
int n O +*
libro lib*
system!&cls&"*
do%
fseec!f/n*siAeof!libro"/I--SI-F"*
fread!Wlib/siAeof!libro"/1/f"*
printf!&Q2dP &/n"*
despliega!lib"*
nTT*
if!nQ2+OO+"
getch!"*
,while!n<libros"*
getch!"*
,
#/2
La 8u!c%&! main %!%c%a el arc6%7o de dato, " cue!ta lo, re0%,tro,' Lue0o e!tra e! u! $ucle
del =ue ,e ,ale al ele0%r la o)c%&! ( del -e!C' Lo, !C-ero, del * al . )er-%te! lla-ar a la,
de-9, 8u!c%o!e, del )ro0ra-a'
main!"%
DH0- *f*
char ch*
int libros*
iniciar!Wf/Wlibros"*
do%
menu!libros"*
ch O getch!"*
printf!&Qc)n&/ch"*
switch!ch"%
case e1ePagregar!f/Wlibros"*break*
case e2ePborrar!f/Wlibros"*break*
case e4ePeditar!f/libros"*break*
case e6ePlistar!f/libros"*break*
,
,while!ch(Oe8e"*
,
Pro$le-a, )ro)ue,to,
*5'('*' E,cr%$a u! )ro0ra-a )ara 0e,t%o!ar u!a )e=ueDa a0e!da de d%recc%o!e,' Ut%l%ce
arc6%7o, de acce,o aleator%o' I!clu"a o)c%o!e, )ara a0re0ar re0%,troA $orrar re0%,troA
-od%8%car re0%,troA $u,car )or !o-$reA $u,car )or tel8o!oA etc'
*5'('#' De8%!a u!a e,tructura )ara re)re,e!tar lo, dato, de u! alu-!o e! u! cur,o' De$er9
te!er ca-)o, )ara> !o-$re del alu-!oA c%!co cal%8%cac%o!e, de eB9-e!e,A ( cal%8%cac%o!e,
de tarea, " cal%8%cac%&! 8%!al' E,cr%$a 8u!c%o!e, )ara aI leer todo, lo, dato, de u! 0ru)o de
alu-!o, de,de u! arc6%7o " al-ace!arlo, e! u! arre0loA $I calcular la cal%8%cac%&! 8%!al
to-a!do u! )e,o de 35] )ara eB9-e!e, " .5] )ara tarea,A " cI 0e!erar u! arc6%7o de
,al%da co! u!a l%,ta de lo, !o-$re, de lo, alu-!o, " ,u cal%8%cac%&! 8%!al orde!ado )or
cal%8%cac%&! 8%!al'
#.5
B%$l%o0ra8a
Br%a! @' aer!%06a!A De!!%, M' R%tc6%e' &l Lenguaje de 'rogramacin !' Pre!t%ce
Hall H%,)a!oa-er%ca!a' *244' #x ed%c%&!'
De%tel " De%tel' !omo programar en ! y !((A Pre!t%ce Hall' Se0u!da
ed%c%&!'#55/'
Gea!;Paul Tre-$la"A R%c6ard B' Bu!t' )ntroduccin a la !iencia de las
!omputadoras* enfoque algor#tmico' McGra@ 6%ll' *24*'
Aaro! M' Te!e!$au-A Xed%d"a6 La!0,a-A Mo,6e A' Au0e!,te%!' &structuras de
datos en !' Pre!t%ce -a"' *22/'
N%Jlau, v%rt6' "lgoritmos(&structuras de datos+'rogramas' Ed%c%o!e, del
Ca,t%llo' *245'
B"ro! S' Gott8r%ed' 'rogramacin en !A ,e0u!da ed%c%&!' McGra@ H%ll'*22+'
O,7aldo Ca%r&' Fundamentos de 'rogramacin* piensa en !' Pre!t%ce 6all #553'
Da!%el D' McCracJe!' 'rogramacin Fortran )V' L%-u,a' *2+#'
R%c6ard v' Fole"' Turbo 'ascal* )ntroduccin a la programacin' Ad%,o! ve,le"
I$eroa-er%ca!a' *22/'
Lu%, Go"a!e, A0u%larA A!dr, Ca,t%llo Sa!:A Luca, S9!c6e: GarcaA I0!ac%o
ya6o!ero Mart!e:' 'rogramacin en !* libro de problemas' McGra@ H%ll' #55#'
Ga-e, L' A!to!aJo,A ae!!et6 C' Ma!,8%eld Gr' 'rogramacin &structurada en !'
Pre!t%ce Hall' #55.'
Fl%B Garca Car$alle%raA Ge,C, Carretero Pre:A Ga7%er Her!9!de: Mu!o:A Ale1a!dro
Calder&! Mateo,' &l lenguaje de 'rogramacin ! ,ise-o e implementacin de
programas' Pre!t%ce Hall' #55#'
#.*
A)!d%ce,
B%$l%oteca d-at6'6`
Fu!c%o!e, -ate-9t%ca,
double acos!double R"
Calcula el arco co,e!o de B'
double asin!double R"
Calcula el arco ,e!o de B'
double atan!double R"
De7uel7e el arco ta!0e!te e! rad%a!e,'
double atan2!double y/
double R"
Calcula el arco ta!0e!te de la, do, 7ar%a$le, B e
"' E, ,%-%lar a calcular el arco ta!0e!te de "?BA
eBce)to e! =ue lo, ,%0!o, de a-$o, ar0u-e!to,
,o! u,ado, )ara deter-%!ar el cuadra!te del
re,ultado'
double ceil!double R"
Redo!dea B 6ac%a arr%$a al e!tero -9, cerca!o'
double cos!double R"
de7uel7e el co,e!o de BA do!de B e,t9 dado e!
rad%a!e,'
double cosh!double R"
De7uel7e el co,e!o 6%)er$&l%co de B'
double eRp!double R"
De7uel7e el 7alor de e Hla $a,e de lo, lo0ar%t-o,
!aturale,I ele7ado a la )ote!c%a B'
double fabs!double R"
De7uel7e el 7alor a$,oluto del !C-ero e! )u!to
8lota!te B'
double floor!double R"
Redo!dea B 6ac%a a$a1o al e!tero -9, cerca!o'
double fmod!double R/
double y"
Calcula el re,to de la d%7%,%&! de B e!tre "' El
7alor de7uelto e, B ; ! R "A do!de ! e, el coc%e!te
de B ? "'
double freRp!double R/ int
*eRp"
Se e-)lea )ara d%7%d%r el !C-ero B e! u!a
8racc%&! !or-al%:ada " u! eB)o!e!te =ue ,e
0uarda e! eB) o B N re, B #
eB)
'
long int labs!long int ."
Calcula el 7alor a$,oluto de u! e!tero lar0o'
double ldeRp!double R/ int
eRp"
De7uel7e el re,ultado de -ult%)l%car el !C-ero B
)or # ele7ado a eB) H%!7er,a de 8reB)I'
double log!double R"*
De7uel7e el lo0ar%t-o !e)er%a!o de B'
double log1+!double R"
De7uel7e el lo0ar%t-o dec%-al de B'
double modf!double R/
double *iptr"
D%7%de el ar0u-e!to B e! u!a )arte e!tera " u!a
)arte 8racc%o!al' La )arte e!tera ,e 0uarda e! %)tr'
double pow!double R/ double
y"
De7uel7e el 7alor de B ele7ado a "'
double sin!double R"
De7uel7e el ,e!o de B'
double sinh!double R"
Re0re,a el ,e!o 6%)er$&l%co de B'
double s#rt!double R"
De7uel7e la ra: cuadrada !o !e0at%7a de B'
double tan!double R"
De7uel7e la ta!0e!te de B'
double tanh!double R"
De7uel7e la ta!0e!te 6%)er$&l%ca de B'
#.#
Co!,ta!te, -ate-9t%ca,
=S-
La $a,e de lo, lo0ar%t-o, !aturale, e'
=S0MC2-
El lo0ar%t-o de e de $a,e #'
=S0MC1+-
El lo0ar%t-o de e de $a,e *5'
=S0;2
El lo0ar%t-o !atural de #'
=S0;1+
El lo0ar%t-o !atural de *5'
=SPH

=SPHS2
?#
=SPHS6
?.
=S1SPH
*?
=S2SPH
#?
=S2SIKFPH
#?o
=SIKF2
o#
=SIKF1S2
*?o#
Macro,>
HUGE\FAL e, u!a co!,ta!te de do$le )rec%,%&! =ue re)re,e!ta a %!8%!%to'
#./
Ta$la de )recede!c%a " a,oc%at%7%dad de o)eradore,
Operadores Asociatividad
! " ] ^ ->
I:=u%erda a derec6a
( - TT -- T - * W !tipo" sizeof
Derec6a a %:=u%erda
* / Q
I:=u%erda a derec6a
T -
I:=u%erda a derec6a
<< >>
I:=u%erda a derec6a
< <O O >O
I:=u%erda a derec6a
OO (O
I:=u%erda a derec6a
W
I:=u%erda a derec6a
\
I:=u%erda a derec6a
[
I:=u%erda a derec6a
WW
I:=u%erda a derec6a
[[
I:=u%erda a derec6a
ZP
Derec6a a %:=u%erda
O TO -O *O /O QO WO \O [O <<O >>O
Derec6a a %:=u%erda
/
I:=u%erda a derec6a
#..
Caractere, de ca!7er,%&! de )r%!t8
Car9cter de co!7er,%&! S%0!%8%cado
c
el dato ,e -ue,tra ca-a u! caracter
d
el dato ,e -ue,tra ca-a u! e!tera dec%-al
e
el dato ,e -ue,tra ca-a u! 7alar e! ca-a 8lata!te ca! eB)a!e!te
f
el dato ,e -ue,tra ca-a u! 7alar e! ca-a 8lata!te ,%! eB)o!e!te
g
el dato ,e -ue,tra ca-a u! 7alar e! ca-a 8lata!te u,a!da la ca!7er,%&!
de t%)o e o 8A de)e!d%e!da del 7alarM !o ,e -ue,tra! cera, !a
,%0!%8%cat%7a, !% el )u!ta dec%-al ,% !o e, ,%0!%l%cat%7a
i
el dato ,e -ue,tra co-o u! e!tero dec%-al ca! ,%0!a
o
el dato ,e -ue,tra co-o u! e!tero actalA ,%! el cero %!%c%al
s
el dato ,e -ue,tra co-o u!a cade!a de caractere,
u
el dato ,e -ue,tra co-o u! e!tero dec%-al ,%! ,%0!a
R
el dato ,e -ue,tra co-o u! e!tero 6eBadec%-alA ,%! el 5B del )r%!c%)%o
Notar =ue al0u!a, de e,ta, caractere, ,e %!ter)reta! de -odo d%8ere!te =ue co! la 8u!c%&!
,ca!8 '
U! )re8%1o )uede )receder a c%erto, caractere, de co!7er,%&!'
Pre8%1o S%0!%8%cado
6 dato corto He!tero corto 5 e!tero corto ,%! ,%0!oI
l dato lar0o He!tero lar0oA e!tero lar0o ,%! ,%0!o o real e! do$le )rec%,%&!I
L dato lar0o Hreal e! do$le )ree%,%&! lar0oI
E1e-)lo>
%!t aN*55M
short bO8+*
long cO1+++++++*
unsigned dO1+++*
double RO1e4*
char cad]7+^ O &abcdefghi.c&*
printf!&Q8d Q4hd Q12ld Q12lu Q18.1e)n&/ a/ b/ c/ d/ R"*
printf!&Q6+s)n&/ cad"*
IalidaP
1++ 8+ 1+++++++ 1+++ 1.+eT++4
abcdefghi.c
#.(
I!d%cadore,
I!d%cador S%0!%8%cado
-
El dato e, 1u,t%8%cado a Ia %:=u%erda de!tro del
ca-)o Hlo, e,)ac%o, e! $la!co !ece,ar%o, )ara
relle!ar la lo!0%tud de ca-)o -!%-a ,e aDad%r9!
de-tr9, del dato e! 7e: de dela!teI'
T
U! ,%0!o H< o ;I )receder9 a cada 7alor !u-r%o
co! ,%0!o' S%! e,te %!d%cadorA ,olo lo, 7alore,
!e0at%7o, e,tar9! )reced%do, )or u! ,%0!o'
5 Produce la a)ar%c%&! de cero, %!%c%ale, e! 7e: de
e,)ac%o, e! $la!co' Se a)l%ca ,olo a dato, =ue
e,ta! 1u,t%l%cado, a la derec6a e! ca-)o, cu"a
lo!0%tud -!%-a e, -a"or =ue el dato' HNota>
al0u!o, co-)%ladore, co!,%dera! el %!d%cador cero
co-o u!a )arte de la e,)ec%8%cac%&! de la
lo!0%tud de ca-)o e! 7e: de co-o u! %!d%cador
rcal' E,to a,e0ura =ue el 5 ,e )roce,e el Clt%-o ,%
e,ta! )re,e!te, -Clt%)le, %!d%cadore,'I
k k U! e,)ac%o e! $la!co )recedera a cada 7alor
)o,%t%7o' E,te %!d%cador e, a!ulado He,)ac%o e!
$la!coI )or cl %!d%cad)r < ,% a-$o, e,ta!
)re,e!te,'
pHco! co!7er,%o!e, de t%)o o; " B;I Hace =ue lo, dato, octale, " 6eBadec%-ale, ,ea!
)reced%do, )or 5 " 5BA re,)ect%7a-e!te
pHco! co!7er,%o!e, de t%)o e;A 8; " 0;I Hace =ue e,t )re,e!te el )u!to dec%-al e! todo,
lo, !C-ero, e! co-a 8lota!teA %!clu,o ,% el
!C-ero !o t%e!e dec%-ale,' Ta-$%! tru!ca lo,
cero, !o ,%0!%8%cat%7o, e! u!a co!7er,%&! del t%)o
0;'
E1e-)lo>
int a*
short b*
1ong c*
unsigned d*
double R*
printf!&QT8d QT8hd QTl2ld Q-l2lu Q#18.:le)n&/ a/ b/ c/ d/ R"*
Sal%da>
T2 T+ T22X49:2 2+77:944X2 8.21261:9eT2X1
#.3
Caractere, de co!7er,%o! de scanf
Car9cter de co!7er,%&! S%0!%8%cado
c
el dato e, u! caracter
d
el dato e, u! e!tero dec%-al
e
el dato e, u! 7alor e! co-a 8lota!te
f
el dato e, u! 7alor e! co-a 8lota!te
g
el clato e, u! 7alor e! co-a 8lota!te \
h
el dato e, u! e!tero corto
i
el dato e, u! e!tero dec%-alA 6eBadec%-al u octal
o
el dato e, u! e-ero octal
s
el dato e, u!a cade!a de caractere, ,e0u%do )or u!
e,)ac%o e! $la!co Hcl caracter !ulo Z5 ,e aDade
auto-at%ca-e!te al 8%!alI
u
el dato e, u! e-ero dec%-al ,%! ,% 0!o
R
el dato e, u! e!tero 6eBadec%-al
] . . . ^
el dato e, u!a cade!a de caractere, =ue )uede
co!te!er e,)ac%o, e! $la!co
U! )re1%1o )uede )receder a c%erto, caractere, de co!7er,%o!'
Pre8%1o S%0!%8%cado
h
dato corto He!tero corto o e!tero ,%! ,%0!o cortoI
l
dato Iar0o be!tero lar0oA e!tero lar0o ,%! ,%0!o o real e! do$le )rec%,%&!I
0
dato lar0o Hreal e! do$le )rec%,%&! lar0oI
E1e-)lo>
int a*
short b*
long c*
unsigned d*
double V*
char cad]7+^*
scanf!&Q8d Q4hd Ql2ld Ql2lu Q18lf&/ Wa/ Wb/ WcP/ Wd/ WR"*
scanf ! &Q ]\)n^ &/ cad"*
#.+
B%$l%oteca stdlib.h
Fu!c%o!e,
abort!"
Ocac%o!a la ter-%!ac%&! a$!or-al del )ro0ra-a
abs!n"
Falor a$,oluto de u! e!tero
ateRit!func"
Re0%,tra 8u!c%&! )ara ,er lla-ada e! la ter-%!ac%&! !or-al
de u! )ro0ra-a
atof!cad"
Co!7%erte u!a cade!a a u! dou$le
atoi!cad"
Co!7%erte u!a cade!a a u! e!tero
atol!cad"
Co!7%erte u!a cade!a a u! e!tero lar0o
bsearch!"
I-)le-e!ta la $C,=ueda $%!ar%a
calloc!n/t"
Re,er7a e,)ac%o e! -e-or%a )ara ! o$1eto, de ta-aDo t
div!num/den"
Calcula coc%e!te " re,%duo
eRit!n"
Ter-%!a la e1ecu,%&! de u! )ro0ra-a
free!ptr"
L%$era la -e-or%a u,ada )or )tr
getenv!cad"
O$t%e!e cade!a de e!tor!o
labs!l"
Falor a$,oluto de u! e!tero lar0o
ldiv!l"
Calcula coc%e!te " re,%duo de u! e!tero lar0o
malloc!tam"
Re,er7a -e-or%a " re0re,a a)u!tador
mblen!cad/t"
Calcula el !u-ero de $"te e! caracter -ult%$"te
mbstowcs!ptr/cad/n"
Co!7%erte ,ecue!c%a de caractere, -ult%$"te
mbtowc!"
NC-ero de $"te, e! car9cter -ult%$"te
#sort!"
I-)le-e!ta =u%cJ ,ort
rand!"
Ge!era u! !C-ero aleator%o
realloc!ptr/t"
Ca-$%a el ta-aDo de e,)ac% ore,er7ado )or )tr
srand!n"
I!%c%a ,e-%lla de !C-ero, aleator%o,
strtod!cad/cad]^"
Co!7%erte u!a cade!a a dou$le
strtol!cad/
cad]^/b"
Co!7%erte u!a cade!a a lo!0 %!t e! la $a,e $
strtoul!cad/
cad]^/b"
Co!7%erte u!a cade!a a u!,%0!ed lo!0 %!t e! la $a,e $
system!cad"
E1ecuta co-a!do del ,%,te-a o)ertat%7o
wctomb!cad/wc"
Deter-%!a el !C-ero de $"te, !ece,%tado )ara re)re,e!tar u!
car9cter -ult%$"te
Macro,
EEIT\FAILURE ;* Falor de retor!o de eB%t ,% 6u$o 8alla
EEIT\SUCCESS 5 Falor de retor!o de eB%t ,% !o 6u$o 8alla
RAND\MAE 5B+FFF
#.4