Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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!÷ndoP 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!÷ndoP 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.( *+
+
.
#
!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!÷ndoP 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
'
<
< +
<
#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
+
#
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
'
<
+
+
+
+
+
+
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#'
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