You are on page 1of 13

(PAGINA WEB DE DONDE PUEDO ESTUDIAR ESTE TEMA )

http://teleformaco!"e#$"a%tolacor$!a"e&/PAS'A(/#oc$me!t/fl$)o"htm
!$m*er + ,-
... f !$m*er . ,/:
... pr!t 0El !$mero e& ma%or 1$e ,/0
... el&e:
... pr!t 0El !$mero e& me!or o 2$al 1$e ,/0
!$m*er + ,-
... f !$m*er 3 ,/:
... pr!t 0El !$mero e& me!or 1$e ,/0
... elf !$m*er 3 4/:
... pr!t 0El !$mero e& me!or 1$e 4/0
... el&e:
... pr!t 0El !$mero e& ma%or o 2$al a 4/0
!$m*er + ,-
... f !$m*er . ,/ a!# !$m*er 3 4/:
... pr!t 0El !$mero e&ta e!tre ,/ % 4/0
... el&e:
... pr!t 0El !$mero !o e&ta e!tre ,/ % 4/0
// ADIVINA.C (Turbo C)
#include <stdio.h> // printf scanf
#include <stdlib.h> // srand rand rando
#include <tie.h> // tie randoi!e
ain()
"
int pc# usr# i$
int liite%&'''# intentos%&($
printf()*n*nADIVINA N+,-./ & 0 1d)#liite)$
printf()*n-N 1d /2/.T+NIDAD-3*n)#intentos)$
randoi!e()$
pc % & 4 rando(liite)$
for ( i%&$ i<%intentos$ i44 ) "
printf()*n1d) )#i)$
printf()AN/TA +N N+,-./5 ))$
scanf()1d16c)# 7usr)$
if ( usr %% pc ) " // 8an9:
printf()*n*n;-<ICIDAD-3= 8ANA3T- -N 1d
INT-NT/3)#i)$
brea>$
? // end if
if ( usr > pc )
printf()*nAN/TA +N N+,-./ enor))$
else
printf()*nAN/TA +N N+,-./ ,A@/.))$
? // end for
if ( usr =% pc ) // 2erdi9:
printf()*n*nA8/TA3T- /2/.T+NIDAD-3. ,I
N+,-./%1d)#pc)$
? // end ain
4",", (a !&tr$cc5! f""" el&e"
E! !2l6& f &2!fca & co!#co!al7 por e)emplo7 &
ll$e8e me lle8ar6 el para2$a&7 el&e &2!fca &!o7 &!o ll$e8e me
r6 a la pla%a" E&te e& el &2!fca#o 1$e po&ee! e! pro2ramac5!"
S$ &!ta9& e&:
f (co!#c5!) !&tr$cc5!:el&e !&tr$cc5!:
NOTA: (a &!ta9& real #el I; e& la &2$e!te: f (co!#c5!)
*lo1$e el&e *lo1$e"
U! pro2rama e)emplo !o& !#car< &$ f$!co!ame!to co!
clar#a#" S$po!2amo& 1$e #e&eamo& #8#r #o& !=mero&" El !=mero por
el 1$e #8#mo& !o p$e#e &er cero7 6&to !o& #ar>a $! 8alor #e
!f!to7 pro8oca!#o $! error e! el or#e!a#or" Por ta!to a!te& #e
#8#r #e*er>amo& #e compro*ar & el #8&or e& cero" El pro2rama
&er>a al2o como 6&to:
?!cl$#e 3&t#o"h.
ma!()
@
float #8#e!#o7#8&or:
pr!tf (0A!Dme el #8#e!#o:0):
&ca!f (0Bf07C!#o):
pr!tf (0A!Dme el #8&or:0):
&ca!f (0Bf07D#8&or):
f (#8&or++/)
pr!tf (0A!No po#emo& #8#r $! !=mero por /0):
el&e
pr!tf (0A!El re&$lta#o e&: Bf07#8#e!#o/#8&or):
E
El *$cle for e&ta e&pecalme!te pe!&a#o para realFar *$cle&
*a&a#o& e! co!ta#ore&" Se p$e#e $tlFar e! *$cle #el tpo 0repte
e&to ha&ta 1$e &e p$l&e $!a tecla07 pero para e&to& te!emo&
!&tr$cco!e& m<& apropa#a&" Geamo& $!o& e)emplo& 1$e !o& permta!
compre!#er m<& f<clme!te el f$!co!ame!to #el coma!#o for"
E)emplo ,: 'o!tar ha&ta #eF"
?!cl$#e 3&t#o"h.
ma!()
@
!t : /H E&ta 8ara*le la $tlFaremo& como co!ta#orH/
for (+/:3,/:II) pr!tf (0A!B#07):
E
E)emplo 4: (ee !=mero& e!tero& ha&ta 1$e &e !tro#$Fca el
8alor ha&ta 1$e &e !tro#$Fca el 8alor /"
?!cl$#e 3&t#o"h.
ma!()
@
!t !$mero:
!$mero + ,/:
Jhle (!$meroK+/)
@
pr!tf (0A!Dme $! !=mero:0):
&ca!f (0B#07D!$mero):
E
E
E! e&te e)emplo te!emo& 1$e !tro#$cr e! la 8ara*le !=mero
$! 8alor #&t!to #e cero a!te& #e e!trar e! el *$cle7 p$e&to 1$e e!
pr!cpo al #eclarar $!a 8ara*le el 8alor #e 6&ta !o e&t<
#eterm!a#o % po#r>a 8aler cero7 e! c$%o ca&o !$!ca &e e)ec$tar>a el
*$cle" E&ta e& la m&5! #e la !&tr$cc5! !$mero + ,/:"
El prmero #e ello&7 co!t!$e7 permte 8ol8er a ree8al$ar la
co!#c5! #e &al#a7 e& #ecr7 #e&p$6& #e e)ec$tar co!t!$e la
&2$e!te !&tr$cc5! 1$e &e e)ec$tar< &er< el for o el Jhle"
Geamo& $! e)emplo #e aplcac5! para compre!#er me)or como f$!co!a
e&te coma!#o"
?!cl$#e 3&t#o"h.
ma!()
@
!t !$mero:
!t co!ta#or:
co!ta#or +/:
#o
@
pr!tf (0A!I!tro#$ce el !=mero B4#:07co!ta#or):
&ca!f (0B#07D!$mero):
f ((!$mero3/)LL(!$mero.4/)) co!t!$e:
co!ta#orII:
E Jhle (co!ta#or3M/):
E
E&te pro2rama lee !=mero& e! $!a 8ara*le ha&ta $! m<9mo #e
M/7 alca!Fa#o e&te m<9mo el pro2rama term!a" A#em<& & el !=mero
!o e&t< e!tre / % 4/ (& e& me!or 1$e / o ma%or 1$e 4/) 8$el8e a
pe#r 1$e lo !tro#$Fcamo&" El coma!#o co!t!$e e! la !&tr$cc5! f
o*l2a al pro2rama a &altar a la !&tr$cc5! Jhle #o!#e &e 8$el8e a
e8al$ar la co!#c5!7 &! pa&ar por la l>!ea e! la 1$e &e !creme!ta
el co!ta#or" De e&ta forma &e !o& 8$el8e a pe#r el m&mo !=mero %
la e!tra#a !correcta !o e& te!#a e! c$e!ta"
Como es fcil de ver , cuando las opciones son muchas, el texto comienza a hacerse
difcil de entender y engorroso de escribir.
El mismo programa, utilizando un SW!C" , #uedara mucho ms claro de leer, y
sencillo de escribir, como se aprecia en el E$E%&'( siguiente.
?!cl$#e
?!cl$#e
ma!()
@
!t c :
pr!tf(0A!MENU :0) :
pr!tf(0A! A + ADI'IONAR A (A (ISTA 0) :
pr!tf(0A! B + BORRAR DE (A (ISTA 0) :
pr!tf(0A! O + ORDENAR (A (ISTA 0) :
pr!tf(0A! I + IMPRIMIR (A (ISTA 0) :
pr!tf(0A!A!ES'RIBA SU SE(E''ION 7 N (UEGO 3. : 0) :
c + 2etchar() :
&Jtch (c)
@
ca&e OAO :
pr!tf(0A!UD" SE(E''IONO AGREGAR0) :
*reaP :
ca&e OBO :
pr!tf(0A!UD" SE(E''IONO BORRAR0) :
*reaP :
ca&e OOO :
pr!tf(0A!UD" SE(E''IONO ORDENAR0) :
*reaP :
ca&e OIO :
pr!tf(0A!UD" SE(E''IONO IMPRIMIR0) :
*reaP :
ca&e OA!O:
pr!tf(0A!Q UD" NO RA SE(E''IONADO NADA K0 ) :
*reaP :
#efa$lt :
pr!tf(0A!AaAaUD" APRETO UN 'ARA'TER I(EGA(0 ) :
*reaP :
E
E
&or e)emplo, supongamos #ue se desea escribir un programa #ue clasifi#ue seg*n el
contenido de una variable valor, asigne una letra a una variable clasificacion+ , para un
valor del -../0-, 1 de 0./2-, C para 2./3- y 4 si no es ninguno de los anteriores+
!t 8alor:
char cla&fcaco!:
f (8alor . S/)
@cla&fcaco!+OAO:E
el&e
f (8alor . T/)
@cla&fcaco!+OBO:E
el&e
f (8alor . U/)
@cla&fcaco!+O'O:E
el&e
@cla&fcaco!+O;O:E
EJEMPLOS DE SENTENCIAS IF...
E)emplo -+
f(!$mero ++ /) //(a co!#co! !#ca 1$e te!e 1$e &er 2$al a 'ero
@
co$t330El N$mero I!2re&a#o e& I2$al a 'ero0:
E
E)emplo 5+
f(!$mero . /) // la co!#co! !#ca 1$e te!e 1$e &er ma%or a 'ero
@
co$t330El N$mero I!2re&a#o e& Ma%or a 'ero0:
E

E)emplo 6+
f(!$mero 3 /) // la co!#co! !#ca 1$e te!e 1$e &er me!or a 'ero
@
co$t330El N$mero I!2re&a#o e& Me!or a 'ero0:
E

,hora uniremos todos estos e)emplos para formar un solo programa mediante la
utilizaci7n de la sentencia 8Else8 e introduciremos el hecho de #ue se puede escribir en
este espacio una sentencia if ya #ue podemos ingresar cual#uier tipo de c7digo dentro
de la sentencia escrita despu9s de un Else.
E)emplo :+
f(!$mero ++ /) //(a co!#co! !#ca 1$e te!e 1$e &er 2$al a 'ero
@
co$t330El N$mero I!2re&a#o e& I2$al a 'ero0:
E
el&e
@
f(!$mero . /) // la co!#co! !#ca 1$e te!e 1$e &er ma%or a
'ero
@
co$t330El N$mero I!2re&a#o e& Ma%or a 'ero0:
E
el&e
@
f(!$mero 3 /) // la co!#co! !#ca 1$e te!e 1$e &er me!or
a 'ero
@
co$t330El N$mero I!2re&a#o e& Me!or a 'ero0:
E
E
E
Operador condicional ternario ?:
En C, existe el operador condicional ; ?: < el cual es conocido por su estructura como
ternario. El comportamiento de dicho operador es el mismo #ue una estructura if - ten
- el!e del lengua)e "ASIC ;y de la funci7n IIf de =isual 1asic<. El operador
condicional ?: es *til para evaluar situaciones tales como+
Si se cumple tal condici7n entonces haz esto, de lo contrario haz esto otro.
Sinta#i!:
( (co!#co!) V proce&o, : proce&o4 )
En donde, condicion es la expresi7n #ue se evalua, proce!o$ es la tarea a realizar en el
caso de #ue la evaluaci7n resulte verdadera, y proce!o% es la tarea a realizar en el caso
de #ue la evaluaci7n resulte falsa.
E&e'plo $
!t e#a#:
co$t 33 0'$al e& t$ e#a#: 0:
c! .. e#a#:
co$t 33 ( (e#a# 3 ,T) V 0Ere& )o8e! a$!0 : 0Na te!e& la ma%or>a #e
e#a#0 ):
El e)emplo anterior podra escribirse de la siguiente manera+
!t e#a#:
co$t 33 0'$al e& t$ e#a#: 0:
c! .. e#a#:
f (e#a# 3 ,T) co$t 33 0Ere& )o8e! a$!0:
el&e co$t 33 0Na te!e& la ma%or>a #e e#a#0:
Sentencia while
'a sintaxis de la sentencia while es
Jhle (e9pre&5!)
@
&e!te!ca& #el pro2rama
E
Se eval*a la expresi7n especificada dentro del par9ntesis, y si el resultado de dicha
expresi7n es verdadero, se e)ecutan las sentencias #ue hay dentro del bucle. >espu9s de
una iteraci7n, la expresi7n se eval*a de nuevo y se e)ecuta o no el bucle, dependiendo
de si el resultado sigue siendo verdadero. Si el resultado es falso, se detiene el bucle y
contin*a la e)ecuci7n del programa con las sentencias #ue siguen al bucle ?hile.
Programa 5.2
/H Pro2rama 1$e mprme m=ltplo& #e 4 H/
?!cl$#e
ma! ()
@
!t co!ta#or + 4:
pr!tf(0M=ltplo& #e 4A!0):
Jhle (co!ta#or 3+ M/)
@
pr!tf(0B#A!07 co!ta#or):
co!ta#or I+ 4:
E
E
Programa 5.3
/H Pro2rama para !8ertr lo& #>2to& #e $! !=mero H/
?!cl$#e
ma! ()
@
!t !$mero:
!t #2toW!8ert#o:
pr!tf(0I!tro#$Fca $! !=mero A!0):
&ca!f(0B#07 D!$mero):
Jhle (!$mero K+ /)
@
#2toW!8ert#o + !$mero B ,/:
pr!tf(0B#07 #2toW!8ert#o):
!$mero + !$mero / ,/:
E
pr!tf(0A!0):
E
Sentencia if
Con la sentencia if, el programa ad#uiere la capacidad de tomar decisiones. El formato
de esta sentencia es
f (co!#c5!)
@
&e!te!ca& #el pro2rama:
E
'a sentencia if examina primero la condici7n, #ue no es otra cosa #ue una expresi7n. Si
la expresi7n arro)a un valor verdadero, se e)ecutan las sentencias del programa #ue
siguen a la sentencia if . Si la expresi7n da un valor de falso, las sentencias #ue siguen a
la sentencia if se ignoran. @na sentencia compuesta despu9s de una sentencia if debe ir
acotada por par9ntesis de llave.
Programa 5.4
A H Pro2rama para calc$lar el 8alor a*&ol$to #e $! !=meroH/
?!cl$#e 3&t#o"h.
ma! ()
@
!t !$mero:
pr!tf(0I!tro#$Fca $! !$mero A!0):
&ca!f(0B#07 D!$mero):
f (!$mero 3 /)
!$mero + X!$mero:
pr!tf(0El 8alor a*&ol$to #el !=mero e& B#07 !$mero):
E
Programa 5.5
AH Pro2rama para e!co!trar $! aYo *&e&to H/
?!cl$#e 3&t#o"h.
ma! ()
@
!t a!!o:
!t re&Z:
/H re&to o*te!#o #e&p$6& #e #8#r por Z H/
!t re&,//:
/H re&to o*te!#o #e&p$6& #e #8#r por ,// H/
!t re&Z//:
/H re&to o*te!#o #e&p$6& #e #8#r por Z// H/
pr!tf(0I!tro#$Fca el !=mero #e $! aYo:0):
&ca!f(0B#07 Da!!o):
re&Z + a!!o B Z:
re&,// + a!!o B ,//:
re&Z// + a!!o B Z//:
f (re&Z + / DD re&,// + / DD re&Z// + //)
pr!tf(0QE& $! aYo *&e&toK A!0):
E
Sentencia if else
(tra variaci7n de una sentencia if es la sentencia if else , #ue ayuda al programador a
evaluar una condici7n y emprender dos acciones diferentes dependiendo de si el
resultado es verdadero o falso.
Programa 5.6
/H Pro2rama para hallar el c$*o #e $! !=mero H/
?!cl$#e 3&t#o"h.
ma! ()
@
!t !$m*er:
pr!tf(0I!tro#$Fca $! !=mero #&t!to #e / para calc$lar el c$*o:
A!0):
&ca!f(0B#07 D!$mero):
f (!$mero)
pr!tf(0El c$*o #e B# e& B#07 !$mero7 poJ(-7 !$mero)):
el&e
pr!tf(0I!tro#$Fca $! e!tero po&t8o 8<l#o" A!0):
E
Programa 5.7
AH #emo&trac5! #e $!a co!&tr$cc5! el&e fH/
?!cl$#e 3&t#o"h.
ma! ()
@
lo!2 !2re&o&:
lo!2 2a&to&:
pr!tf(0I!tro#$Fca la fact$rac5! #e &$ empre&a e! #5lare&:A!0):
&ca!f(0Bl#07 D!2re&o&):
pr!tf(0I!tro#$Fca lo& 2a&to& #e &$ empre&a e! #5lare&:A!0):
&ca!f(0Bl#07 D2a&to&):
f (!2re&o& D2t: 2a&to&)
pr!tf(0El *e!efco #e e&te aYo e& #e [Bl#A!07 !2re&o& X 2a&to&):
el&e f (2a&to& D2t: !2re&o&)
pr!tf(0(a& p6r##a& #e e&te aYo &o! #e [Bl#A!07 2a&to& X !2re&o&):
el&e
pr!tf(0QE&te aYo ha% ta!to& 2a&to& como !2re&o&K A!0):
E
/H E)emplo #e pro2rama para la &e!te!ca &Jtch ca&e H/
?!cl$#e 3&t#o"h.
ma! ()
@
float precoWl*ro7 precoW!eto:
float #e&c$e!to:
!t co#Wcle!te:
pr!tf(0I!tro#$Fca el preco #el l*ro:A!):
&ca!f(0Bf07 DprecoWl*ro):
pr!tf(0I!tro#$Fca el c5#2o #el cle!te:A!):
&ca!f(0B#07 Dco#Wcle!te):
&Jtch (co#2o) @
ca&e , : /H 'le!te& re2&tra#o& H/
#e&c$e!to + /",:
precoW!eto + precoWl*ro X (precoWl*ro H #e&c$e!to):
*reaP:
ca&e 4 : /H Ma%or&ta& H/
#e&c$e!to + /",M:
precoW!eto + precoWl*ro X (precoWl*ro H #e&c$e!to):
*reaP:
ca&e -: /H Emplea#o& #e la empre&a H/
#e&c$e!to + /",U:
precoW!eto + precoWl*ro X (precoWl*ro H #e&c$e!to):
*reaP:
#efa$lt: /H N$e8o& cle!te& H/
#e&c$e!to + /"/M:
precoW!eto + precoWl*ro X (precoWl*ro H #e&c$e!to):
*reaP:
E
pr!tf(0El preco !eto #el l*ro e& BfA!07 precoW!eto):
E
=amos a ver un e)emplo de m*ltiples casos con fXel&e y luego con &Jtch+
?!cl$#e 3&t#o"h.
ma!()
@
!t !$m:
pr!tf( 0I!tro#$ce $! !=mero 0 ):
&ca!f( 0B07 D!$m ):
f ( !$m ++ , )
pr!tf ( 0E& $! ,A!0 ):
el&e f ( !$m ++ 4 )
pr!tf ( 0E& $! 4A!0 ):
el&e f ( !$m ++ - )
pr!tf ( 0E& $! -A!0 ):
el&e
pr!tf ( 0No e& ! ,7 ! 47 ! -A!0 ):
E
,hora con &Jtch+
?!cl$#e 3&t#o"h.
ma!()
@
!t !$m:
pr!tf( 0I!tro#$ce $! !=mero 0 ):
&ca!f( 0B07 D!$m ):
&Jtch( !$m ) @
ca&e ,:
pr!tf( 0E& $! ,A!0 ):
*reaP:
ca&e 4:
pr!tf( 0E& $! 4A!0 ):
*reaP:
ca&e -:
pr!tf( 0E& $! -A!0 ):
*reaP:
#efa$lt:
pr!tf( 0No e& ! ,7 ! 47 ! -A!0 ):
E
E
Como vemos, el c7digo con &Jtch es ms c7modo de leer.

You might also like