Вы находитесь на странице: 1из 43

q

1-il*tr0
U/,.TDAD L* "|.'"t"s d" " 1.

Tiposde datos Varables y Entradas salidas LlIDhD2.- eaduese er'esi"nes L Operador asignacn de + Operadoresaritmticas L Operadores lgicos

t,/vTDAD Esrr"cr"n *1"-i"IF Y sr^/jTcfl 3.de


* Sentenca lF + Sentencia SWITCH
' N . l D 4 . - - . . r r , . r . r J " . , , , , t n L l L t D _ l t . J L j -V f l ,

+ Sentencia WHIIE - >entencra uK + Sentenca DO-WHILE


t flDAD 5.- f"r".i""s Concepto funcin de + Estructura una funci de 4 Llamada unafuncin de L/,TDAD A,,e!l"s 6._ * * .{ Arreglo una dimensin de ,F.Arreglo dos dmensiones de Concepto arreglo de Declaracin un arreglo de

trr,TDAD Als-ir'* d" -d.,.i 7..l Ordenacin burbuja por


* Ordenacin seleccin por + Ordenacin insercin por .l Bsqueda binaria

Estase dvideen 3 sencllos pasosque cualquer programaen C debe llevar, de estamanera serse facilitara trabajo: en 1 . -e n c a b e z a d od e f i n i c i n e l i b r e r a s :q u s e e s t a b l e c er e g u l a r m e n t3 o d a n e l b r e r a so n d ee l p r o g r a m a a b ed e d n d et i e n eq u e b u s c a r a i n f o r m a c i n d s l requerida(stdio.h,conio.h, math.h) todas tenendo dferentes tpos tales c o m os ru n p r o g r a m a o s p i d eo b t e n e r l r e ad e u n t r i a n g u l o a b e m oq u e n e s s t e n e m o q u e u t l i z am a t hh . s r . 2 . -d e c l a r a c i nf u n c i o n ed e v a r i a b l e s :e d e n o t al a d e c l a r a c i n n u e s t r o o s s de p r o g r a m d e t o q u e q u e r e m o se a l i z ae n n u e s t r o r o g r a m a a q u e a r r p y si no lo ponemos este no correrpor que no reconocer tanto el dato como el tpo d e v a r i a b l q u es e p i d e . e J . - c u e r p o p r o g r a m a r i n c i p a e:s t ee s d o n d es e d e s a r r o l le l p r o g r a m a n o p l a e g e n e r aa p l i c a n d t o d a sl a so p e r a c o n e sc o s a s u e s e n o s p i d a n l o o q e s t es e v a h a c i e n d om s g r a n d e d e p e n d i e n d o e l o s o p e r a d o r e s u e s e v a a n d q i n c r e m e n t a n d o t l z a n d o n u e s t r op r o g r a m a s . ou en s Ejemplo: # i n c l u d< s t d i o > e l n t s um a { ) ; I n ts u m a( i n tA , n t lntA,B; encabezado

F u n c i o n e sv a r i a b l e s y

Intmain o
{

cuerpo

t"r.nf I
Return 0;

llJll JDAD t ,- ln ekmet*u de un pugxama en e

Tyot lntos: Qe
Tienenuna funcin importanteen los programas realizar que stn estos ya a los programas reconoceran no tposde datos que va a utilzarya que nos s i r v e np a r a d e c l a r a r u e s t r a s a r i a b l e y s a b e rs i u t l z a r e a t o se n r e r o s , n v s d reales, etc. Tipode dato en C lnt foat cha r Descripcin

Entero
reales Carcter

S i y o d e s e o e n e rv a r i a b l ed e t i p o e n t e r oi n g r e s o n l a p a r t ed e f u n c r o n ey t s e s v a r a b l e sn t i p o d e d a t o( n t ) . e O p o r s i d e s e o i p o d e d a t o r e a l e se c l e o f l o a t )o u n ac a d e n a e c a r a c t e r e s t ( ; t d (char).

I t,ralLe:
p E s t a s u e d e nc a m b i a r u v a o rd u r a n t e a e j e c u c i d e u n p r o g r a m aE se l s l n . n o m b r eq u e c o n t i e n eu n v a l o r s e g n l t i p o d e d a t o ,V e s t o sp u e d e ns e r e nmeros, y caracteres smbolos.

L a s a r i a b l e s d e c l a r ae n e l p r o g r a mp r i n c i p a le n l a sf u n c i o n ey , s t a s v se n a y se p u e d e c a m b i as uv a l o r u r a n t e ue j e c u c i D . s p u s s e rd e c l a r a d la s n r d s ne de as v a r i a b l e e c b eu nv a l o r t r e v ed eu n b l o q u e ea s i g n a c n . s r n a s d

EnttaCa/ nlida dedatos C: en ' u


Salida; 5 e r e f i e r e t o d o v a l o rq u e e l p r o g r a m s o l i c ta l u s u a r i o . a a a

A q u s eu t i l i z a p r i n t f ) s u n af u n c i n u e e s t d e n t r od e u n a l i b r e r al a m a d a ( e q l stdo. esta funcin imprime en pantallatodo lo que est dentro oe tos parentesscomillas, ases mportante usode estafuncnpara y y el trabajos en Cya que faclitan trabajo el Este dvide 2 en sencillo compuesto se en y Sencillo: Printf("escribe nombre"); un

Compuesto: Printf("escribe nombre"); un " Printf("%f &nom.); A q u p a r e c u n at a b l ac o ns us i g n o s u d e fi n i c i n : a e y

srgno %s

Definicin

na \&l9l!e !'pg rgqe


V al o r d e t i o o e n t e r a

w
Yoc

\t

V a l o rd e t i p o f l o a t Valor tpo carcter lmprime ltabuador e Saltaa la sg.lnea

Entrada: E s t a u n c i n , s i r v e r aa s i g n au n v a l o ra u n a v a r i a b l e e t e r m i n a d a , f, pa r d etvalor e s p r o p o r c o n r e l u s u a r i oU n ae x p l i c a c i n n c i l l s e r j a u e po . se a q n o sa y u d a a guardar estosson enteros, si carcter reales que si nos equivocamos o ya nos m a r c a r a r r o r y a q u e p u e d es e r q u e n o e s t n b i e n d e c l a r a d a s e nuestras v a r i a b l e y s p o n e m o se n n u e s t r a s u n c i o n e s v a r i a b l e s a l s f y ( n i c i od e l programa) sonvariables que enterosy luegolos pedimoscomocarcter pues no nosservir. Printf("escrbe nombre,,); un S c a n(f" %d " , & n o m . ) ;

Ejemplo: Escrbe progra que r m p n m a nc u a d r o e a s t e r i s c o s l a p a n t a l l a . un ma u d en # i n c l u d < stdo.h> e # n c l u d< c o n i o . h > L I B R E R I A S e I n tm a n J


{

-l

Clrscr O; G u a r d ap a n t a l l a r (f" p r o g r a m a ei m p r i m a nc u a d r o Prnt qu u accin realizar a


Printf("\n"); Printf("\n"); s a l t a l a s i g u i e n t i n e a a e

Printf("*\t *\t -\t *\t \n"); Printf("*\t \t \t *\t\n"); Printf("*\t \t \t *t\n"); Prntf("*\t \t \t +t\n"); Printf("*\t *\t *\t *\t\n");

P r o g r a mp r i n c i p a l a

getch o;
Return ; 0

I
Problemas resolver: a
l . E s c r i bu n p r o g r a m a u e m e i m p r m a l p a n t a l l au n o m b r e o m p l e t o e q e t c

2 . E s c r bu n p r o g r a m a u e a l r e c i b i c o m od a t ou n c o n u n t o e d a t o sd e e q r d e n t r a d a,n v i e r t e l o r d e nd e l o sm i s m o s u a n d oo si m p r i m a . c l 3 . e s c r i b e n p r o g r a m a u e a l r e c i b i rc o m o d a t o ss e ss u e l d o s e u n u q d e m p l e a d o ,a l c u l ea n t oe l n g r e sto t a lc o m oe l m e n s u a l . c t o 4 , r e a l c e n p r o g r a m a u e a l i n g r e s ac o m od a t o sl a b a s ey l a a l t u r a e u q r d u n t r i a n g u l o ,a l c u l ea s u p e r f i c r e . c l 5 . E s c r b i u n p r o g ! . a m a u e i m p r i m a e n p a n t a l l au n a l e t r a E c o n r q astenScos

6 . Escrbe programa un que mprima a s g u i e n tn um e r a c i n : l e 9.8 9.87 9.876 9.8765 9.87 654 9.876543 9.8765432 9.4165432I 7 . Escribir programa un que soljcte nmero 6 enteros lo imprima y como uno solode 6 dgitos. 8 . D i s e e n p r o g r a m a u e g u a r d e m u e s t r ea n o t a u q y l d e l e x a m e n n a l d e f 3 alumnos. 9 . D i s e e n p r o g r a m e n C ,e n e l c u a ld e s p u d e h a b e r u s n t r o d u c du n a o, t a b l ad e m u l t i p l i c a c i n a l q u i e r am p r i m a s t ae n f o r m a cu , d et a b t a : 2x2=4 2x3=6 2x4=8 2x1,O=2O 1 0 . P r o g r a m a u e i m p r m ed o s v e c e s ,l a c a d e n a q de texto que se h a introducido.

UAIJDAD 2. - Opetadat*.t eapuasnr A,

0 ernlores nsilna"c6n: y le
Esaquelque se le asigna valor de la derecha el a la v a r i a b l e e l a i z q u i e r d a . d O s e aq u e e l s e g u n d o a l o r d e p e n d ed e l p r i m e r opara v ast poder asignar valores los datos.Cuandose aplicael doble signo a i g u a l( = = )e s p a r aa s e l programareconozca que el valor de la izquierdae s g u a la l v a l o r de la derecha. P a aa s i g n a r : r
o-o

P a r ag u a l a r : i
9==9

o era.(ores *rtwtcos : y
Nospermiten realizar operaciones entreoperandos (nmeros, constantes o variables), resultado el siempre debeserun nmero. qr" Ciau-ntiii." ", vu ,i f l o a t n ty as a b e m oq u ee s t o s eu t i l z ap a r a p e r a c i o n e s o s n o aritmtrrcas.
Operador *,\, % Operacin M ul t i p l c a c i od i,v i s i n , o d u l o n m S u m ar e s t a ,

0yerw(ores L1cos:
N o s p e r m i t e n o r m u l a rc o n d i c i o n ec o m p l e j a s f s a p a r t i rd e l a s c o n d i c o n e s s r m p l e ss o n d e c o n j u n c i nd i s y u n c i n , n e g a c i np a r a , , y . a s s a b e rp o d e r hacerestasoperaciones dstngurlas las q-ue y de son mayol-meilr, mayor rgual, menorigual, etc.

Operador lgco &&


-

Operacin Negacton LOnlunclon u rSyncton u

Al igualse utlzan and,y,

|yernflor conf,jcion*t:
Esun operador que devuelve resultado el cuyovalordependede la condcin comprobada. Expresn1? Expresn :accin 2 n >1 0 ? m=20 :m= O S ed e b er e s p e t ae l s g n o y a p l i c a( : ) p a r aq u e n u e s t r o r o g r a m a e p a u e r ? r p s q a c t v i d a d ea a r e a l i z a r . vs

0yern(or Qe ncrehrent t"Ln 4 lecrewemtnciow:


Incremento (.r+),decremento(,-) son reconocidos C y su aplicacin por es muy importanteya que smplifica escrtura los programas.Se utilzan la de a n t e s d e s p u d e l a v a r i a b l e . o s Ejemplo: Escribe programaque solcte nmerosenterosy nos diga el mayor, un 2 el m e n o r s s o n g u a l e s o # i n c l u d< s t d i o . h > e # i n c l u d< c o n i o . h > e Floatnuml, num2,n1,, n2; lntmain
{

d e c l aa c n e v a r i a b l ers a l e s r d e

() Clrscr ; P r i n t(f" n u m : " ) ; 1 ("%t",&n1); Scanf P r i n t(f" n u m : " ) ; 2 Scanf l"%f", &n2"1;
( n 1 = = n 2 ) ? i n t f ( " n m e r og u a l e s , , ) : pr is ) > m)?printf ("m ayoro/od" printf(,,menor%d, m): {n , n): !

setch O Return 0; l

Aquutilizamosoperador el Condicional e igulamos y Sabremos numero que es Mayor menor seaplican o y lasvariables declaradas.

Problemas resolver: a 1.-Escrbe programa, un que al recibircomodatosla ongtud el pesode un y objeto expresado pesy libras,calculalos datos de este en objeto pero en metrosy klogramos, respectvamente. 2 . - E s c r i b e p r o g r a m a u e a l r e c i b i ro s3 l a d o s e u n t r i a n g u l o , un q l d calcule u s rea. 3. Escribe programa, un que al recibirlascoordenadas los puntospj,, P2, de P3que corresponden vrtices un triangulo, los de calcule permetro. su 4 . - e s c r i b urn p r o g r a m a u e a l r e c i b i r o m o d a t o se l radio,generatriz i q c y la a l t u r a e u n c o n o ,c a l c u l e i m p r m a l r e ad e l a b a s e e l r e a a t e r a l , d e , l elrea t o t a l ys u v o l u m e n . ) . - e s c f l o e n p r o g r a m a u e a l r e c i b r o m o d a t o se l r a d i oe l r a d i o u q c de una e s f e r ac a l c u l e i m p r i m a l r e aV s uv o l u m e n . , e 6.-al recbr como datos el costo de u n a r t i c u l ov e n d i d oy l a c a n t i d a q e o dinero entregadaal cliente,calculee m p r i m a l c a m b j oq u e e s e d e b ed e e n t r e g aa l c l e n t ee a l i z ap r o g r a m a . r r r 7.-Programa calcula valorde la expresn que el X^2+X+1 8 . - D i s e u n p r o g r a m a u e c a l c u l a l c u a d r a d o e l c u b o d e t r e s e q e y nmeros n t r o d u c d p o re l u s u a r i o . os 9 . - U n a e m p r e s a e c e s i t a o n o c e r l s u e l d on e t o a p a g a ra n c e un empleado. T e n i e n d o o m o e n t r a d ae l s a l a r j o p r o d u zu n a s a l i d a e s u e l d o c ca d n e t o .L o s descuentos aplicar a son: ISSS AFp7%y Renta 5%, 10%,estosdescuenros son sobreel salario, es sueldoneto es la diferencia y entre el salaro el total de y lasretenciones 10.-Disee programa un que calcule promedioy la sumade tres nmeros el i n g r e s a d o s r e l u s u ai o po r

1l4ry9&n 3.- tutuna

de delutn JC U SWteSS(

Sentemcn lT: Es una estructura lgicala cual permte colocar ejecucin una la de
instruccn cuandosolo exsteuna alternatva accin.Se utilizacuando de algunainstruccn para estcondcionada que se llevea cabo,pero no tiene u n ao p c i n l t e r n a . a q P e r m i t e u ee l p r o g r a m a i g a o r u n c a m n o s p e c f i cs i c u m p l e n n aa c c i n s p e o u o tarea, encomendada. Ambas nos ayudan a ser ms prcticosnuestros programas paraasno tener problemas. Formato: l F :s > lf < condicin <accin>; Donde; l f : d e n t i f i cla e s t r u c t u rd e s e l e c c i n . a Condicin: una expresin es lgicaque denotala situacin especfica cual la d a u n r e s u l t a d( f a l s o v e r d a d e r o ) . o o

Accin: l a i n s t r u c c i q u e s e e j e c u t a r s i s e c u m p l el a c o n d i c i nM i s m a es n a . q u ep u e o e e r c o m p u e s t a ;s d e c i r , u e h a y am sd e u n a i n s t r u c c e n t r e q s e n llaves }. { I n d i ce lf i nd e l i f ( s e l e c c i n ) . a
Funcionamiento: S ee v a l aa c o n d i c n : l a ) s i s e c u m p l es e e j e c u t aa n s t r u c c i y l,u e g o a l t ah a s t a e s p u d e l ; , l n s d s (fin del if)
(condicin)
Accin;

b) si no se cumple,saltahastadespus ;, es decir,no ejecuta del la accin d e li f .

Accin;

3entencia,lF-f.r 3f;
Permiteescogeruna de dos opcrones un programa en sin la necesidad de ponerotra vez lF solocon el ELSE programa simplifico. mi lo IF-ELSE: l f < c o n d i c i n< a c c n > ; > ELS<accn>; E Ejemplo: Programa que recibael precio de un producto,ncremente a ese precoel 1,1%, es menora $ 1500.0 g% en casocontraro. s y #include<stdo.h> # i n c l u d < c o no . h > e i F o an u m ,a c t u a l ; t I n t m a i nO ;
{

s ed e c l a r a u es o nv a l o r e se a l e s q r

( Clrscr ); Print("preco"); f ("%f', &num) Scanf se utiliza estructura seleccin quesi no complace accin la de ify la l f ( n u m< = 1 5 0 0 ) va conelse queesasegunda y opcin estale permte elegir escoger o = Actual num* 1. unade dosopciones. El s e *.08; Actua l=num Ptintf ("%s,o/of"" precio actud (es,, act uaI , :, ); getch( ) Return 0;

Sentenci* 3wtch: Esunaestructura lgica que permte controlar ejecucin insrrucclones la de cuandose tiene ms de dos opciones alternativas accin;y que tos de posibles valores que tomar la variablede control (selector), estn comprendidos un conjunto en y ordenado fintode valores comolo queesel y tipo entero carcter. Formato: (selector) Switch
{

Case : L Instruccn; Instruccn; Break; Case 2: nstruccn; Instruccin; Break; Case : 3 Instruccin; Instruccn; Brea k; Case : 4 Instruccn; Instruccin; Break; Defau lt: Instruccin; lnstruccn;

l
Donde:
Switch:dentfca estructura seleccin la de multiple. I n d c e l n i c i o e l b l o q u e e c a s o d e l a e s t r u c t u rs w i t c h a d d s a

Selector: una variable tpo nt,charo algntpo de dato definido,la que es e traerun valorque indicara casoa ejecutar. el l:,2:,3:,4: son los posbles valores que puedetomar el selector. Instruccin: una o ms instrucciones C,que se ejecutaran cada es en en caso. Default:es la opcin por donde se va, cuando el selectortome un valor dstnto losvalores a casecolocados. Break;envael controla la siguente instruccin despus swtch; no del s coloc, ejecutara casesiguiente. el e a ] : l n d i c a l f i n d e l a e s t r u c t u rs w i r c n se

Funcionamiento:
S ie l s e l e c t oe s 1 : r 5e ejecutara instruccin casouno y Iuegose va hastadespus la del del Siel selector 2: es 5 ee j e c u t aa i n s t r u c c i d e l c a s o y I u e g o ev a h a s t a e s p u d e . l n 2 s d s ,. Si el selector 3: es Seejecuta instruccin caso3 y luegose va hastadespus la del del Siel selector 4: es Seejecuta nstruccin caso4 y luegose va hastadespus la del del la opcin defaulty luegose va despus ). del ). ). ].

Sno se cumpleningunode los casos anteriores, ejecutala nstruccn se de

Eiemplo: Elabore programa un que lea un valor entre L y 7 y despliegue domlngosr es 1 , l u n e s i e s 2 , . . . . s. b a d o e s 7 . s . s # i n c l u d< s t d i o . h > e # i n c l u d < c o n i o .> e h I n tN u m D i a ; lntman ; O
{

Printf("\n dice nombredel dia\n\n,,); ( P r i n t f " t e c l e e l n u m e r o e d i a( 1 . - 7.1l ; d ' ("%d" &NumDia); Scanf , ( P r i n t f " e ld i a% d e s \ n , N u m D i a ) ; ( S w t c hN u m D a )
{

Case 1: Printf("Domngo,,); Break; Case 2: ( Printf "lunes"); Break; Case 3: Printf("martes"); Brea k; Case4: Printf "mircoles"); { Break; Case 5: Printf("jueves"); Break; Case 6: Printf("viernes"); Break; Case 7: Printf("s baCo"); Brea k; Case 8:

( Printf "domingo");) Breakj Defau lt: Printf("no esten el rangode 1.a 7,,);
]

e P r n t(f" p r e s i o n< i n t r o > a r ac o n t i n u a r , , ) j p s n F f l u s(h t d i ) ; G e t c h aO j r

t
Programas resolver: a 1 . - E s c r b e n p r o g r a m aq u e a l r e c i b i rc o m o d a t o u n n um e r o e n t e r o , u d e t e r m i n e i m p r m a i e l m i s m o a r , m p a r n u l o s p o z . e s c n b e n p r o g r a m a u e p e r m i t ac a l c u l ae l p r e c i od e l b i l l e t e e i d a y u q r d v u e l t ae n f e r r o c a r r i lc,o n o c i e n d t a n t o l a d i s t a n c i a n t r e l a s d o s c i u d a d e s o e c o m oe l t i e m p od e e s t a n c e n l a c i u d a d e d e s t i n oS i e l n m e r o e d a sd e a d . d e s t a n c i a s s u p e r i o r 1 0 y l a d i s t a n c i ao t a l ( i d a y v u e l t a )a r e c o r r e r s e a t e s u p e r o r 5 0 0 k m e l p r e c i o e l b i l l e t e e r e d u c e 0 % .E l p r e c i o o r k m e s d e a , d s p 2

s0.19.

c 3 . -u n ae m p r e s a e t e l e c o m ujn a c i o n ecsa n a d i e n s e r e c es e r v i c c a l l b a ca d of o k u n p r e c i o t r a c t i v oE l c o s t od e l a s l l a m a d a t e l e f n i c ad e p e n d e a n t o d e l a . s s t l u g a rd e o r i g e n d e l l a m a d ac o m o d e l a z o n a g e o g f i c a n l a q u e e se e n c u e n t re l p a sd e s t i n oS e p r e s e n t a l c o s t op o r 6 0 s e g .p a r al a sl l a m a d a s e . e o r i g i n a d a s M x i c oE s c r i bu n p r o g r a m q u e p e r m t a a l c u l ae m p r m ie l en . e a c r r c o s t ot o t a l d e u n a l l a m a d ae l e f n i c a ,o n s d e r a n d a n t o l a z o n ac o m o l a t c to d u r a c i d e l a l l a m a d a . n

al

Africa

antsedad s"oor,o,"nffir,:"Jr:til;:rjrtliil::.'r;i t mayor a "

.|.-en unaempresa textil ubicada Lapaz,Bolva, en necesitan empleado un p a r au n a s u c u r s aE l a b o r u n p r o g r a mq u e . l. a a c o m p r u e be j m p r i m a e si un e m p l e a dd e t e r m n a de n e a s o ro l n e c e s a r p a r a a l p u e s t oL a s as t c o n d i c o n e s e e s t a b r e c i, , t o n o ' t ' o n u t qu "

5.- escribeun programaq u e d e t e r m i n e a l r e c i b i r o m od a t o sd o s n m e r o s c e n t e r o ss i u n n m e r o s divisorde otro. , e 6 . - e s c r i b eu n p r o g r a m aa l r e c t b r c o m o d a t o s d e e n t r a d at r e s v a l o r e s enteros dferentes entre s, deermrne si l o s m i s m o se s t n e n o r d e n creciente. 7 - escribe n programa ue al recibir u q c o m o d a t o st r e s n m e r o sr e a t e s , i d e n t f q u e a l e se l m a y o r C o n s i d e r a e cu . q u t o , n , i r " r o , p r " a " n -r " | . , r r u , " r . 8 . - . ae f e c t u a u n a c o m p r ae n u n c i e r t o l r a m a c n ,i a d q u i r i m od e u n m i s m o s s a r t c u l o sd e 1 0 0 u n i d a d e s ,o sh a c e n m n . u n d e s c u e n td e u n 4 x % , e n t r2 5 y o e 1 , Ou n 2 O %e n t r e1 0 y 2 4 u n L 0 %y n o 0 , h a yd e s c u e n t o , u r " u n " u q u r . O n p d e m e n o s e 1 0 u n d a d e s . a l c u le l m p o r t e d C pagar. a 9.- calculala calificacin r.. alumnoy de n decir s es aprobatoria no; para o q u es e aa p r o b a t o r tae n eq u es e r i m a y o r u e6 . q 1 0 - e l a b o r a r u n p r o g r a m a u e r e ae r q t a m a od e u n n g u r o n g r a d o se e rmpnmr.

U"4/ g AD 4.- twttus declnr,ut, U gg f.t, D0 -U)SU LS Il g 0 tt J 3entencia. tv#ff.:


La repetcn WHILE"mentras,,, una estructurade control que permrre es haceruna repeticin conjuntode nstruccones. nmero de un El vecesesto se a que la condcinde control de ciclos se coloca al principio de Ia estructura se entra al cclomientras condicin verdadera. y la sea En casode n o c u m p l i lra c o n d i c n , t e r m i n a l c i c l o e b e . a d a e zq u e h a yq u e se e d C v Intciar un ciclose evalauna condcin, esta es verdadera(diferente s a cero) se contnua con la ejecucin, otra forma se detiene.Hay una infinidad de de c a s o s o n d e e u t l zW H I L E . d d a WHILE: identifica estructura su inico la y como un cclorepettivo CONDICION: una expresin es lgica que controlala ejecucin ciclo. del INSTRUCCIN: ejecutadentro del ciclo,la cual puedeser se compuesra, en tal caso las nstruccones colocanentre se { }. Delimitarael frn de las instruccin; envael controlal iniciode la estructura.

Funcionamiento:
S ee v a l aa c o n dc i n ; l i a ) 5 i c u m p l ee n t r aa l c i c l o s e e j e c u t aa n s t r u c c i y ,s e v a , , l n a l W H I L El,o c u a li m p l i c a o l v e r e v a l u alra c o n d i c i n . v a WHILE Instruccin;

b) 5 no cumple

condcin, entoncesse va a la s g u e n t n s t r u c c n e d e s p u d e l; , e sd e c i r s es a l e e lc i c l o s , d

Introduccin;

Al llegara Whte, primeroque se hacees evaluar condicin lo la que controta el ciclo, si se cumple, se entra al cclo y se ejecutan las instrucciones especificadas dentro del mismo. Al llegaral; (fin del ciclo),el controt se remteal inco ra estructura, de dondese evaruara nuevo.En casode no de cumplirse condicin, controlse traslada Ia primera la el a instruccin despus d e l ;( f i n ) l, o c u a li m p l i c a a l i r s e e lc c l o . s d Por lo generalIa condcin establece se medante uso de una varable el que se compara con certovalor u otra variable, que la condicin ya se encuentra a l i n c i od e l c i c l o ,d e b e p o n e r s eu n a r e c t u r aa d e r a n t a d a o n c ad i c h a r varable, paraque tenga un varorra primeraocasin que en se tengaWHILE. D e n t r od e l c i c l o ,d e b e a c t u a l z a r s e v a l o rd e e s a el v a r i a b l ep o , l o q r u " , , necesaro iniciaruna lecturao asigna e un nuevovalor. Ejemplo eWHILE: d E s c r bu n p r o g r a m a u e a l r e c i b i r o m o datos los pagos e q c efectuados el en l t i m om e s , e r m t a b t e n e r a s u m ad e l o sm s m o s p o l # i n c l u d< s t d i o . h > e # i n c l u d< c o n i o . h > e -FloatPAG,5P+---5PA=0;

> se declaran variables reales

Intmain o;

CIrscr O; P r i n t(f" i n g r e s e p r m ep a g o\:t , , ) ; r el ("%f" &PAG); Scant ,


W h i l e( P A G )
{

Sele agrega que WHTLE evatua condicin realizar la a y que es verdadera se ve mientras pagoes diferente el a

SPA=5PA+PAG; Printf("ingrese sguiente el pago:\t,,); ("%f",&PAG); Scanf

I I

que l proposicin modifica Observa que Condicin ua lectura es

Printf("\n el total de los pagos meses:%2f,,SpA); det

3 e|+t ^.D0-w 1+-t+l et+ci l


Esuna estructura que se encuentra cualquer en lenguajede programacin, en estasentenca ciclos evalan fnal.lmplicaque se el cclose debe los se al por ejecutar lo menosunavez. La estructurarepetitvado,while tene una menor importanciaque las estructurasrepettivasestudadas. utilzande manera eficiente para Se verificar los datos de entrada de un programa. Esta estruqura es administratva. estructura La DO-WHILE una estructralgca es que permite colocarla ejecucin una instruccin grupo de instrucciones forma de o en repetitiva,hasta que se cumpla la condicin de terminacin del ciclo repettvo. Do

t
Instruccin; ) w h i l e( c o n d i c i n ) ;

Donde:
Do: identifca estructura la como un cjclorepetitvo el iniciodel mlsmo. y Instruccn: lasque se ejecutan son dentrodel ciclo "a ,, W h i l e : e l i m i t a l c i c l o s g n f c m i e n t r a ss e c u m p l a na c o n d i c i n ,ev a a l d y e l s i n i c i o e lc i c l oe s d e c i r v u e l v e e n t r a r l d o , W h l e . d , , a a E nc a s o e n o c u m p l i r s le c o n d i c i n ,es a l d r e l c i c l o . d a s d Condicin: una expresin es que controlala ejecucin ciclo. lgica del e n: ; : I n d i c a l f i n d e l a i n s t r u c c i d o - W h i l e .

Funcionamiento:
l . - L l e g a l d o y e n t r a a l c c l o y s e j e c u t aa i n s t r u c c i n . e l

Do
{

I Instruccin:

] While (condicin); 2.- llegaal While,y se evalala condicin. A) si se cumple, va al do, es decir,vuelvea repetr se la ejecucin ciclo. del

While

(Condicn);

B ) s i n o s e c u m p l e , e v a a l a s i g u l e n t en s t r u c c n s I d e s p u s e l W h i e ,e s d d e c i rs es a l e e l c i c l od o - W h i l e . , d Do
{

Instruccn;
l Whle NO Esteprograma eicla mentras se pide un caractery se sale hasta que le dan unaYounaN
#include <stdo.h> I n tm a i n0 { Charrespuesta; Clrscr 0; Printf{"Este programa va a quedarccado se mientaas le desuna y o una N \n ,,); no do

t
Printf("Teclea y o una N \n',); una ("%c",respuesta); Scanf )

' W h l e{ r e s p u e s!t= ' Y - ) & & r e s p u e sl t aN ' )) ( = { a


{ ) Prntf("Yasalistedel cc|o...");

getch0; Return 0;

I 3entencin T0f.: Utilzada pararepetr conjunto nstrucciones numerodefndo un de un de veces. tpode estructuras muyutilizado. Este es E s m u y s i m i l a r W H I L Es i n e m b a r g op o r c u e s t o n e s d c t r c as o r o a , , d s, a p l i c a r e mlo s s t r u c t u r aO R na q u e l l o sr o b l e m a s l o sq u es et e n g a n a ae F e p en u nocin nmero veces serepite ciclo. del que de un Es estructura lgicaque permiteformar un ciclo repetitjvo, cual es el c o n t r o l a d o ru n c o n t r o l a d o r et i e n e u ed e f i n i r sc o nu nv a l o r n c a l , po qu q e i un v a l o r i n a ly u n i n c r e m e n t E. t o i g n i f i c a ed e b e o n o c e r s e a n t e m a n o f os s qu c de el nmero veces sedeberepetr ciclo. que de el Este tpode ciclos repiten se sabiendo cuantas veces.
r F o r( c o n t a d o= v a l o ri n i c i a lc o n d c i nn c r e m e n t o ) ; ij Instruccn

Donde:
For:palabra reservada dentfica estructura repeticin. que la de C o n t a d o re s u n a v a r i a b l e u e p u e d es e r d e t i p o e n t e r o ,c a r c t eo r e a t ,t a : q r c u a l u t l i z a r a o m o n d i c eo c o n t a d o r u e c o n t r o l a r a l c i c l o .L a v a r i a b l e c q e t o m a r a l v a l o ri n i c i ay s e i n c r e m e n t a r a a c u e r d o o n e l n c r e m e n t o ,a s t a e l de c h q u ey a n o s e c u m p l aa c o n d i c i n . l Valorinicial:valorque tomarael contador; puedeser una constante, varable o e x p r e s i d e a c u e r d o l t i p od e d a t od e l a v a r i a b l e e c o n t r o d e lc r c l o . n a d l Condicin: expresinlgicamediantela que se establecela condicinde e j e c u c n l c c l os i n ol o c u m p l e a l e e l c i c l o . de , s d Incremento: una expresn es aritmtca mediantela cual se llevaa caboel i n c r e m e n td e l c o n t a d od e c i c l o . o r

Instruccin: indicafin de la instruccin de for. La instruccin y puedeser compuestasea que requiera colocar ms de una instruccin, hace se u t i l i z a n d{o} . For(contador valorinicial; = condicin; incremento)
{

Instruccn1;

Instruccnj

l Funcionamiento:
1.-Senca condicinde control, se evalala la condiciny s r s e c u m p l e e n t r a n l c i c l o e j e c u t aa i n s t r u c c i n . a y l

2 . - a l l l e g a r l ; ( f i n )r e m i t ee l c o n t r o a l e n c a b e z a d o a l delciclo, ctualrzando a el v a l o r e lc o n t a d od e a c u e r d o l n c r e m e n ro d r a od e c r e m e n t o . ; F o r( N = 1 N < = 1 0N + + ) ; Instruccin

3.- al volverel controlal encabezado cclose evala dei s se c u m p l e n o l a o condicn control: de a ) s n o c u m p l e e n t o n c e s e s a l ed e l c i c l o . i r i g i n d o s e , D a l a s i g . n s t r u c c i n d e s p u d e l ;( f i n ) . s

For

Instruccn;

b)

si se cumple,entra al cicloa ejecutar instruccn la

For

Ejemplo FOR de
H a l l alr s u m a t o r id e : 2 ! + 4 ! + 6 ! + 8 ! + . . . a a # i n c l u d< s t d i o . h > e # i n c l u d< c o n i o . h > e Int facto{ntx)

t
int f=1; for (int =1;<=x;++) {f=f.;} return(f);

l l n tm a i n 0

t
n tn , s e r e = 2 ,um a = 0 ; s ( P r i n t ( " l n s e r t e a n t i d a d e t e r m n o a g e n e r a r":) ; s c a n f " % d " , & n ) ; f c s f o r ( n ti = 1 ; i < = n ; + + )
{

prntf("%d + ", serie); ! suma=suma+(facto(serie)); sere=sere+2;

l (" printf = %d",suma) getch0;

l
Problemas a esolve:

1 . - e s c r i b i r n p r o g r a m aq u e a l r e c b r o m o datos u c los salariosde Ios profesores una universidad, de obtengatanto la nomnacomo el promedio d e l o ss a l a r i o s . 2.-escrbir programaque al recibir como datos un los N lanzamentos del martllode la atleta cubanaganadorade la medallade oro en las ltirnas o l i m p i a d a sc e l e b r a d a se n Atenas, c a l c u l e e l p r o m e d i o de dichos Ianzamientos. 3 . - e s c r i b e n p r o g r a m a u e a l r e c i b i rc o m o d a t o u q u n n u m e r oe n t e r o N , c a l c u l e l f a c t o r ad e d i c h o n u m e r o .R e c u e r d q u e e l a e l f a c t o r i a ( O )e s , e l l f a c t o r i a ll )e s l , y e l f a c t o r i a l ( ns e c a l c u l c o m on * f a c t o r a ln _ 1 ) . ( ) a ( 4.- escrbe programa un que al recibirdatosN, nmerosenteros, obtengala s u m a e l o sn m e r o s a r e s e l p r o m e d i o e l o s m p a r e s . d p y d 5.- escribe n programa ue al recibir omodatos u q c l a sc a l i f i c a c i o n o e u n es g r u p o e a l u m n o s u e p r e s e n t a r os u e x a m e n d q n d e a d m i s i n a r ai n g r e s a r l a p a u n i v e r s i d a d i v a d a n M x i c o c a r c u ry e s c r i b a r pr e , e e n u m e r od e c a r i f i c a c i o n e s q u eh a ye n c a d au n o d e l o ss i g u i e n t e s n g o s : ra 0...3.99 4...5.99 6....99 7 8...8.99 9...10 6 . - e s c r b e p r o g r a m a u e a l r e c i b i r o m od a t o entero postivo, un q c obtengae i m p r i m aa s u c e s i U L A M , l a c u a ls e l l a m a s en l n a honor del matemtco S.UIam.

7 . -e s c r b e p r o g r a m a u ec a l c u l e l v a l o rd e p l u t i l z a n d o un q l a s i g u i e n ts e r i e : e P l= a \ 1 - a \ 3 + 4\5- 4\7 + 4\9 - ...

8.- Escribe programa un que imprimala matricula e l p r o m e d i o e a sc i n c o y d califcaciones cada alumno. Adems,debe obtener la matriculay el de p r o m e d t a n t od e l m e j o rc o m od e l p e o ra l u m n o . o 9 . - e s c r i b e n p r o g r a m a u e p e r m i t a e n e r a r a t a b l ad e m u l t i p l c a re u n u q g l d nmeropostivoN, comenzando desde1. 1 0 . -e s c r i b e n p r o g r a m a u e a l r e c i b i r o m o d a t o sN , n m e r o s a r u r a t e s , q u c n determine cuntos ellosson positivos, de negativos nulos. o

UAtJDAD 5.- hudstz

Oonceyto Qe funcin:
La solucin un problema expresa de se por medode un programa; la s o l u c n u n s u b p r o b l e m a , rm e d o e u n af u n c i nE lu s od e f u n c i o n e s de po d . t i e n e l t p l e s n t a j a s : f a c l aae c t u r d e lp r o g r a m a . m ve lt l n a
Una funcin es un conjunto de declaraciones, definicones, exprestones sentencas realzan tareaespecfica. que una Elformatogeneral una funcinen C es de
especifi cador_de nombrede funcjn(lista_de_parmetros) tipo
{ Variableslocales cdigode la i'uncin )

especificador_de tipo: indica el tpo del valor que la funcin devolver m e d a n t el u s od e R e t u r n E l v a l o rp u e d es e r d e c u a l q u i etri p o v t i d oS i n o . . se especfica valor, entoncesla computadora un asume por defectoque la f u n c n e v o l v e r n r e s u l t a d o n t e r o .N o s e t i e n e n s i e m p r eq u e i n c l u i r d u e parmetros una funcin.la listade parmetros en puedeestarvaca. L a sf u n c i o n etse r m i n a n r e g r e s a n u t o m t i c a m e n ae p r o c e d m t e n qo e y a tl tu l a s l l a m c u a n d os e e n c u e n t r aa l t i m al l a v e l ,o b e n ,s e p u e d ef o r z a re l l regresoantes usando la sentenciaReturn. Adems del uso sealadola funcin Retur se usaparadevolver valor. un S e e x a m i n a c o n t i n u a c i u n e j e m p l o u e e n c u e n t r a l p r o m e d i o e d o s a n q e d enteros:
Eloa! en..rnrpr.ni iat rloai prcmedtc; nunt, inL nun2l

P o m e d i c= 1 u n ] + n u m : ) / 2 . ! Retun fFromedio);

inr a=1, b=10; l1oat resDlta.to; esultado = encontprom (a, b) ; D , o ,- o j o o f n " , prrr I r_o

Estructurw un* Qe funcn:


Un programa C estconsttuido u n p r o g r a mp r i n c i p a l y en por a unconjunto de funciones. Consta pocaslneas,a sc u a l e s u e d e n e r l l a m a d a s de l p s de funciones.

L,nn nl*s fe u ncones : f


l n d i c a l p r o c e s a d o ru e d e b ec o n U n u acro ne l p r o c e s a m e n t o a q de lafuncn, una vez que esta concluye,el control regresaal punto de partdaen el p r o g r a mp r i n c i p a l . a L a f u n c ns e e s c r i b ed e f o r m a s i m i l a ra l p r o g r a m a r i n c i p a l , p pero con d i f e r e n c i ap r n c p a l m e n ee e l e n c a b e z a dd e l a s tn o m i s m a .U n a f u n c i n r e s u e l v u n s u b p r o b l e md e f o r m ai n d e p e n d i e n yes e e a t e j e c u t a o l oc u a n d o s recibeuna llamadadesdeel programaprincipal desde o otras funcones. C permiteque puedancorporar llamadas otrasfuncones. a Eemplo: Escribun programa ue al recibir e q como dato un nmero entero positvo, d e t e r m i n e l m a y o rd i v i s o d e d i c l r o m e r o r n # i n c l u d e < s t dh o . i> nclude<math.h> lnt mad(nt);

lntr,lUV,neS;S lnt main o


{

Clrscr O; P r i n t{ " \ n i n g r e s a l n u m e r o : , , ) ; f e (f" % d " & N U M ) ; , Scan RE5=mad UM); (N Printf("\n el mayordivisorde %d es:% d ,N U M ,R E S ) ;

l
l n t m a d( n tN 1 )

Int t=(N1\2); ( % w H t L EN 1 t--; Return


)

Esta funcn calcula mayor el divisor del numero N1.

I se inica el mximo con posible vlor quepueda divisor N1 ser de

PROGRAMASRESOTVER: A 1 . e s c r b u n p r o g r a m a u e a l r e c i b c o m od a t o sd o s n m e r o s n t e r o s . e q r e d e t e r m ns i e l s e g u n d o m e r o s m l t i p l o e l p r i m e r o . e n e d

2 . e s c r i b e n p r o g r a m a u e a l r e c b i rc o m o d a t o u n n m e r oe n t e r o u q
p o s i t i v o ,e t e r m i n e l m a y o r i v i s o d e d i c h on m e r o . d d r

3 . e s c r b e n p r o g r a m a u e a l r e c i b i rc o m o d a t o s n m e r o se n t e r o s , u q
A

d e t e r m nc u n t o s e e s t o s m e r o s o np a r e s c u a n t o sm p a r e s . e d n y i e s c r b e n p r o g r a m a u e i m p r i m ae l p r o d u c t od e l o s N p r m e r o 5 u q

n m e r on a t u r a l e s . s 5. escribe programa imprima un que todoslos valores T, p y e que de satisfacen expresin: la


+ 1 5 * T 4 1 2 * P 5 9 * Q * 6< 5 5 0 0 + se diceque un numeroN es prmosi los nicosenterosposiiivos que lo d v i d e n o n e x a c t a m e n t1 y N . e s c r i b e l p r o g r a m a u e a l r e c i b i r s e q e c o m o d a t o u n n u m e r o e n t e r o p o s i t i v o , d e t e r m i n es i e s t e e s u n p numero rimo. 7 . u n n m e r o e s c o n s i d e r a d p e r f e c t os i l a s u m a d e s u s d i v i s o r e s o excepto msmo, igualal propionmero.Escriba programa el es un que obtenga imprimatodos los nmerosperfectos e comprendidos entre 1 yN. 8 . e s c r i b e n p r o g r a m a u e a l r e c i b i r o m od a t o u n n m e r oe n t e r oo e u q c cuatrodgtos, imprimaen forma inversa nmeroconsiderado lo el es 9256

9. Escribir programa un que lea una lneade texto en un buffer (una cadena caracteres) de usando funcin la getsy calcule longitud la la de lnea
l0.Modificar el programaanterior para que lea un archivode texto. El archivo deber redirecciones programa, debiendo mostrar el al c o n t e n i d o e l m i s m o .E n c a s od e q u e s e l e a u n a l n e ac o n l o n g i t u d d 0 d e b e r e r m i n a r l p r o g r a m a . t e

UrtlgO&D 6.oonceyto wrrel|o: (e


o es Un arreglo una coleccin, grupode datos,donde: te n s C a d a a t ot i e n es u p o s i c i ( p r i m e r o ,e g u n d o , r c e r o . . ) d Y todoslos datosdel gruposondel mismotpo , es decir,o todosson etc. o enteros, todosson reales, es: un Lamejorforma de visualzar arreglo una detrsde otra Comoun grupode cajas, o a c c D o n d e a d a a j ar e p r e s e n tu n d a t od e l a r r e 8 l o u n e l e m e n t o ' t P o d e m oc o n c l u iq u e u n r r e g l oi e n e : s r d e v s T a m a oc u a n t a c a j a s a a t e n e r , l n m e r o e d a t o s . : d c T i p o : u le se l t i p o d e t o d o sl o sd a t o s e l a r r e g l o . s s b N o m b r ee l n i c on o m b r e a j oe l c u a l v a m o a d i r i g i r n oa l m i s m o . : t J a m o l v i d a q u e u n a r r e g l oi e n eu n t p o s r "MEZCLAD05,, ARREGLOS NO EXISTEN p d s o E su n d a t o d e t p o e s t r u c t u r a dfo r m a d o o r u n c o n j u n t o e e l e m e n t o d e ( ) a a u n m i s m o D od e d a t o .P u e d e l m a c e n a r m sd e u n e l e m e n t o v a l o r a l a t t s d v e z ,c o n l a c o n d i c i n e q u e t o d o sl o s e l e m e n t od e b e ns e r d e l m s m o p o reales, etc. de dato,es decir,que se puedetener un arreglode datosenteros, q c s n L o sa r r e g l o s e c l a s i f i c ad e a c u e r d o o n e l n m e r od e d i m e n s o n e su e s , t e n e n . A s , s e t e n e n l o s u n i d i m e n s i o n a l e lso s b i d i m e n s i o n a l ey m u l t i dm e s o al e s . n n r d u , a E su n ac o l e c c i ln c u a l t e n e n l m t ee s d e c i r , e b ed e t e r m i n ae l n m e r o mximo de elementosde un arreglo,es homogneo,porque todos los y d e l e m e n t od e l a r r e g l o e b e ns e r d e l m i s m ot p o ,y e s o r d e n a d a a q u e s e s p u e d e e t e r m n a ru le s e l p r i m e r l e m e n t oe l s e g u n d o ,t c e e , c d Declarncin de um nrreqlo: e , u L o sa r r e g l oo c u p a n n l u g a re n l a m e m o r i aq u e s e r e s e r v a n e l m o m e n t o s de d e h a c e lra d e c l a r a c i n l a r r e g l o . V o i dm a i n( )

lnt A [10]]\ *definicin un arreglode tipo enterod e 1 0 e l e m e n t o s * \ de FloatB [5] \*definicinde un arreglode tpo real de 5 e l e m e n t o s * \ Unavez declarados arreglos, elementos los sus puedenrecibirlos valoresa travsde mltiples asignaciones,bien,comoocurreen el ciclo. o En la llamada la funcnsolo se debe incluirel nombre a del arreglo, que es un apuntador, que si se le colocan ya corchetes marcara error de sintaxrs.

*rre1Los(e un* {t,.ensin:


Es_una coleccin lmitada, homognea ordenada datos,en la que se nace y de referencia cadauno de los elementos arreglopor a del mediode un indice. P e r m i t e l m a c e n a rl e m e n t o d e l m i s m o p oy a c c e d e r a e s t a e l l o sp o r m e d i od e un ndice.En estos arreglosse dstngue dos partes fundamentales: los componentes el ndice.Loscomponentes y hacenreferencia los elementos a q u e s e a l m a c e n ae n c a d au n a d e l a sc e l d a s c a s i l l a s . n o E l n d i c e s p e c f ca e la forma de accedercada uno de estos elementos.Un componentede un a r r e g l o e b e m o s e u t i l z atra n t o e l n o m b r ed e l a r r e g l o d d c o m oe l n d i c e e l d elemento. gipa de dol4 .tloo{LwAaahle [tanaa];

Donde:
Tipo de dato: tendr el conjunto de elementosdel arreglo que se est definendo, puedeser int, float, char,erc. Nombrevariable: identifica variable. la T a m a o e s u n n m e r oe n t e r o q u e i n d i c al a c a n t i d a d : de elemenros ue q tendr larreglo. e e ;: lndica lfinde ladefnicn

*rre/os (e (os (tnentionet:


Coleccn finita,homognea llevaunasecuencia datos,en la que y de se hace referencia cadaelementodel arreglopor medio de dos ndices. a El primero d e l o s n d i c e s e u t i l i z ap a r a i n d i c a rl a f i l a , y e l s e g u n d o a r a s p i n d i c a rl a c o l u m n aP e r m i t e l m a c e n a rl e m e n t o d e l m i s m ot i p o .A l i g u a l . a e s sedivide n e parahacerreferenca un 2 componentes ndices. e a componente arreglo del

bidmensonal debemosutlzar tanto el nombredel arreglo, como los ndices d e l e l e m e n t of i l a c o l u m n a ) . ( y Qa de dato "Uom4zeUa'a&e [dhnen ir1l tdimenakn2l: ]

Donde:
Tipo de dato: tene el conjuntode elementos arregloque se est del d e f i n i e n dp u e d e s e ri n t ,f l o a t c h a re t c . o: n , , Nombrevarable: identifica variable la D i m e n s i n : e s u n n m e r oe n t e r oq u e i n d c a l n m e r od e r e n g l o n e s e 1 e qu
tendrel arreglo. D i m e n s i 2 : n m e r oe n t e r oq u e i n d i c a l n m e r od e c o l u m n a q u e t e n d r n e s et arreglo. ; : F i nd e l a d e c l a r a c i n . E J E M P I D EU N AD I M E N S I O N : -O E s c r i bu n p r o g r a m a u e ,a l r e c b ic o m od a t od e u n a r r e g l o n i d i m e n s t o n a l e q r u d e 1 0 0 e l e m e n t o s e t i p o e n t e r oy u n n m e r oe n t e r o ,d e t e r m i n e u a n t a s d c v e c e s ee n c u e n t r e s t en m e r o e n t r o e l a r r e g l o a d d D a t o sA R R E1 0 0 ] ,N U M ( d o n d e R R E s u n a r r e g l o n i d i m e n s o nd e t i p o : A [ e u at entero con capacidad para almacenar 100 valoresenterosy NUM es una v a r i a b l e e t i p o e n t e r o q u e r e p r e s e n t e l n m e r oq u e s e b u s c a r a n e r d a e arregroJ. # i n c l u d< s t d i o > e h # i n c l u d< m a t h . h > e = I n t l , N U M ,C U E 0 ; I n tA R R E1 0 0 ] ; [ I n tm a i n ) i

d e c l a r a c i n la r r e g l o de

t
F o r( l = 0 ; l < 1 0 0 l;+ + )
{

o/od e P r n t(f" i n g r e se l e l e m e n t o del arreglo:", , - t), ("%d" &ARRE ); Scanf , [t] )


)

Lecturaasignacin arreglo del

Printf("\n\n ingrese n u m e r o u es ev a a b u s c ae n e l a r r e g l o : , , ) ; q el r S c a n(f" % d " , N U M ) ; &


Comparacin nmerocon del loselementos arreglo del

For(l=0; <100; | t++) ( A R R[E]= =N U M ) lf r CUE++; Printf %d {"\n\nE1 seencuentra veces n e l a r r e g l o "N U M ,C U E ) ; %d e , getch ); ( Return 0; I

Ejemplo 2 dimensiones de E s c r i b e n p r o g r a m aq u e a l r e c b rc o m o d a t o a r r e g l o u bdimenstonal c u a d r a d o e t i p o e n t e r o d e d i m e n s i n 0 , i m p r m al a d i a g o n a l d 1 de dicha matflz. D a t o : A T[ 1 0 ] [ 1 0 ] ( a r r e g l o i d i m e n s i o nd e t i p o e n t e r oq u e M b al almacen100 a elementos) #include<stdo.h> # i n c l u d e <no h > c o. Const TAM=10; int Siempre necesario es declrar numerode corumnas el Voidlectura(nt[ ] [TAM],nt); l no naceflomarcara errorde sintaxis Voidimprime(int [ ] ITAMI,int); I n t m a i n( )

C l r s c(r ) ; Int MAT[TAM][TAM]; Lectura {MAl TAM);

l Void (nt lectura A [ ] ITAM], Fl int '___l . I

l n t l ,J For(l=0;l<F;l++) For(J=0; J<F; i++)


{

qe Laluncrn lprtura ,,itiru p"rut"", un.*J bid'mensional,5oto psdr sedebe como parmetro etnumero fils quer de matr Va es i
l(udrdd

-l I I
|

("ingrese elemento yod%d:' J+j,); Printf el , l+L, ("%d", [l] Ul; Scanf &A

l
)

Vodimprime(ntA [ ] [TAM],int F) ---

>

Lafuncinimprimese utiliza paraescribir un arreglo

I n tl ,J ; -l For(l=0; l++) l<F; For(J=0; J<TAM; J++)f rf (t==l)

Apiicaconesoperadores de lgicos, incrementacn de y decrementacion

P r n t(f" \ n d a g o n a l d % d : % d " , r, % t

[r] Irl);

P R O B L E MA S E S O L V E R : R 1 . - E s c r b eu n p r o g r a m a q u e c a l c u l e e l p r o d u c t o d e d o s arreglos u n i d m e n s i o n a ld e t p o e n t e r oy a l m a c e n e l r e s u l t a d o n o t r o a r r e g l o es e unidimensonal. 2 . - e n u n a r r e g l o n i d i m e n s i o ns e a l m a c e n ac a l i f i c a c i o n o b t e n i d a s o r u al n es p u n g r u p od e 5 0 a l u m n o se n u n e x a m e n C a d ac a l i f i c a c i e s u n n u m e r o . n e n t e r o o m p r e n d i dd e 0 y 5 . E s c r i b u n p r o g r a m a u e c a l c u l ea l r n a c e ne c o e q , e m p r i m al a f r e c u e n c i a e c a d a u n a d e l a s c a l i f i c a c i o n ey ,q u e a d e m a s d s obtengae imprima la frecuencia ms alta. S hubieracalifcacones ra con m i s m ar e c u e n c id e b eo b t e n e r a p r i m e r a c u r r e n c i a . f a l o 3 . - E s c r i b e p r o g r a m a u e ,a l r e c i b i c o m od a t o u n a r r e g l o n i d i m e n s o n a l un q r u d e n m e r o s e a l e s o b t e n g a o m o r e s u l t a d oa s u m ad e l c u a d r a d o e l o s r , c l C nmeros. 4 . - E s c r i b e p r o g r a m a u e ,a l r e c i b i r o m od a t o u n a r r e g l o n i d i m e n s o n a l un q c u d e s o r d e n a d o e n t e r o s b t e n g a n o m os a l i d a s e m i s m oa r r e g l o e r os i n de o c e p loselementos repetidos.

a s . - E s c r u n p r o g r a mq u ea l m a c e n e u n a r r e g l o n d m e n s od e tli p o be en u na entero 100nmeros los Drmos.


6.-Escribirun programa estadstcoal recibir como dato un arreglo u n i d i m e n s i o nd e e n t e r o s u e c o n t i e n e a l f c a c i o n e a , c u l aa m e d i a ,l a al q c csl l v a r a n z l a d e s v i a c n t n d ay l a m o d a . a, es r

7.-Escriben p r o g r a m a u e , a l c o m o d a t o u n a r r e g l ou n i d i m e n s i o nd e u q al nmerosenteros, determne cuntos de ellos son positvos,cuantos y cuantos negatvos nulos8.-Escribe p r o g r a m a u e r e c i b a o m oe n t r a d a n a r r e g l o n i d i m e n s i o n a l un q c u u ordenado enteros y obtengan como salida pero sin los elementos de repetidos.
g.-Escrbe programa que inserte y un elimne elementosen un arreglo u n i d i m e n s i o n a l t p oe n t e r o u e s e e n c u e n t r d e s o r d e n a d C.o n s d e r a de q e o oue no se puedeninsertarelementos repetidos. 1 0 . - E s c r i b e n p r o g r a m a u e n s e r t e e l i m i n ee l e m e n t o s n u n a r r e g l o u q y e u n i d i m e n s o n d e t p o e n t e r o q u e s e e n c u e n t r eo r d e n a d oe n f o r m a al crecente. Tomaen cuentaque no se puedeninsertarlos repetidos.

UAtJ9A9 7.- @tifne.

dz amcln y equeda

0rlenncin y or burbuj *:
Esun algortmode ordenamento. Funciona revisando cada elementode la lstaque va a ser ordenada,intercambindolos de posicinsi estan en el ordenequvocado. burbujason dos trminos La de la lista seguidos, j+1, j q u e s e c o m p a r a ns i e l p r i m e r oe s m e n o r q u e , el segundo usvarores e s Intercamba n.
#include <stdio.h> #include<conio.h> usng std::cout; uSrng std::cin; u s r n gt d : : e n d l ; s voidmostrarArregro(const int[ ], int);//prototipode funcinque recbe un arregro constante voidordenar Arreglo(intl Int);//prototpoque modi[r(a l, y ordenael arreplo void intercmbia(int&, nt&); //prototpo,int"r,;rnU,"to.uuloru.l; ;;;1";*_. intmain0

t
constint tamao= 15; int arreglofta mao] = {25,7t,I3,16,41,32,L2,I75,g5,a4,54,63,7g,2:-.,7O}; "Arreglo ,,<<endl; cout<< antesde ordenarse: mostrarArreglo(arrego, tamao); cout <<"Arreglo despus ordenarse:,,<<endl; de orclenarAareglo(arreglo, tamao); mostrar Arreg'o{arreglo, tamao)j c o u t< <" F i nd e l p r o g r a m :a , , < < n d l ; ) e return0; ]//fin de main void mostrar Arreglo(const arreglo[],nt tamao) int

f o r { i n t i = 0 ; i < t a m a n o; + + ) cout << arrego["<< << ,,]="<< arreglo[i]<< i endl; ) -

voidordenarArreglo(nt arregloU, nttamanoJ


{ for (jnt i = 0; i<tamano-1 ++) ; for (intj = 0; j<tamano,1 j++) j if(arreglol arregto+11) < jntercambiar(arreglo[j],arreglo+11);

t l
voidntercambiar(int int &b) &a,

I
n t t m p= b ; a:tmp; Getch; Return0;

I Dutqlteq&hn^rL^: Consste divdirel ntervalode bsqueda dos partes,comparando en en et elementobuscando con el central.En casode ser diferentese redefinen los extremos intervalo, del segnseael elementocentralmayoro menof que er buscando, disminuyendo esta forma el espaciode bsqueda. proceso de El c o n c l u y c u a n d o l e l e m e n t o s e n c o n t r a d o , b i e n ,c u a n d o l i n t e r v a l o e e e e o e o b s q u e d a e a n u l a .E s t o m p l c a u e e l e l e m e n t on o s e e n c u e n t r a n e l s q e arreglo.Cabedestacarque el mtodo funciona nicamentepara arregtos o r d e n a d o C.o nc a d ai t e r a c i d e l m t o d oe l e s p a c i o e b s q u e d s e r e d u c e s n , d a a l a m t a d p o r l o t a n t o ,e l n m e r od e c o m p a r a c i o n e s e s e d e b e nr e a l z a r , qu dismnuye notablemente. Estadisminucin resultams signfcatva cuanto g r a n d e s e l t a m a od e l a r r e g l o . ms e
#include<stdio.h> <conio.h> #nclude using std::cout; usng std::cin; using std::endlj void mostrarArreglo(const nt);//prototipode funcinque int[], recibe arreglo un constante nt busquedaBinaria(const int, int);//arreglo,tamao,clve intU, voidordenarArreglo(int[], //prototpoque modifca ordenael int)j y arreglo vodintercambiar{int&, nt&);//prototipo,ntercambia osvalores dos elementos de i n tm a n 0

t
=0; ntclave const tamao= 15; nt = int arreglo[tamano] {25,t,f3,76,4I,32,I2,7I5,95,84,54,63,7I,2I,IOl; paraque funcione busquedaBinaria el //ordenamos arreglo la ordenararreglo

,' cout<<"Elementos arreglo: <<endl; del mostrarArreglo(arreglo, tamao); <<"lndque valora buscar sele devoverndce:<< cout ,, endl; un y el cin>>clave. "Su cout<< valor encuentra se en arreglo["<<busquedaBnaria(arreglo,tamano,clave)<<,'],, <<endl; cout<<"Fn programa <<endL, del :),, return0; l//fin de main vord mostrar Arreglo(const arregloll, tamao) nt int
{ f o r { n ti = 0 ; i < t a m a n o + + ) j cout<< "arreglof" i << "]=" << arregloli] endl; << <<

l
int busquedaBinara(constarreglo[], tamao,int clave) int int { = int larrba tamano-1; int labajo= 0j int lcentro; While{labajo tarriba) <= { = centro (tarriba tabajo)/2; + if {arregloIlcentro] cave) == returntcentro; else (clave arregloltcentrol) lf < larriba=lcentro,l; else labajo=lcentro+1;

-1; return
) void ordenar Arreglo{int arreglo[], tamao) int

( F o r i n ti = 0 ; <t a m a o1 ; + + ) ( F o r i n t j= 0 ;j < t a m a o1 ; j + + ) lf (arre8lo[] arregloU+11) > ntercambaar(arregloljl,arreBlo[j+1]);


) void intercambjar{int int &b) &a,

t
I n tt m p = b j b=a; a = tmp;

Getch; Retunr 0;

|rlen aciw sel yor eccin:


Es un alaortmo ordenamento requiere de que para e(n2) operaciones o r d e n au n al s t a e n e l e m e n t o s . r d S uf u n c o n a m i e e so l s g u i e n t e : nt e
B u s c ae l m n i m o l e m e n t o e l a l i s t a r e d I n t e r c a m b i a rc o ne l p r i m e r o l Buscar mnimoen el restode la lista el Intercam rlo con el segundo bia Y e ng e n e r a l : E u s c ae l m n i m o l e m e n t o n t r eu n ap o s i c i iny e l f i n a ld e l a l i s t a r e e I n t e r c a m b e lrm n i m o o ne l e l e m e n t o e l a p o s i c i / a n c d Estealgoritmomejoraligeramente algortmo la burbua.En el casode el de tener que ordenarun vector de enteros,esta me.jora es muy sustancial, no p e r o c u a n d o a y q u e o r d e n a ru n v e c t o rd e e s t r u c t u r am s c o m p l e j a s , h s la operacin ntercambiar sera ms costosaen este caso. Estealgortmo 0 realiza muchas menosoperaciones intercambar que el de la burbuja,por 0 lo que lo mejora en algo. S la lneacomentadacon (!) se sustituyera por intercambiar (lsta[],listal] tendramos una versin del algoritmode la ( tl b u r b u j an a t u r a l m e n eei m i n a n de l o r d e ni n t e r c a m b i a re l f i n a l ) . o d Otradesventaja este algortmo de respecto otros como el de burbujao de a insercn drecta que no mejorasu rendimento es cuandolos datosya estn ordenados parcialmente o ordenados. como,por ejemplo,en el casooe ra As ordenacin burbujase requerira de una nicapasadapara detectarque el vector ya est ordenado y finalizar,en la ordenacin por seleccinse r e l i z a r a nm i s m on m e r o e p a s a d ais d e p e n d i e n t e m e n te s i l o sd a t o s el d n de e s t n r d e n a d oo n o . o s

0rQennniento or insercim y
El ordenamiento por insercines una maneramuy naturalde ordenarpara un ser humano,y puede usarsefcirmente para ordenarun mazode cartas numeradas forma arbitraria. en Requiere O(nr)operacones oroenaruna para lsta n elementos. de I n i c a l m e n t e t e n e u n s o l o e l e m e n t oq u e o b v a m e n t e se , s un conJUnto ordenado. Despus, cuandohay k elementos ordenados rnun,o rnuyor, d" se toma el elemento k+1 y se compara con todos los elemenrosya ordenados, detenindose cuandose encuentraun elementomenor (todos l o se l e m e n t o m a y o r e s a n s i d od e s p l a z a d o s a p o s i c i n s h un a la derecna. tn este punto se nsertd el elemento k+l debiendo desplazarse dems los erementos. argoritmo ordenacin er mtodo Er de por de insercin drecta es u n a l g o r t m oe l a t v a m e n t e n c io y s e c o m p o r t a r se r a z o n a b l e m e nbee ne n t g r a nc a n t d ad e s t u a c o n e s . d Completa tripleta de los algoritmos ordenacin la de ms bsicos de orden V de complejdad junto con Selectonsort cuadrtco, y fu[bleSort. S e b a s ae n n t e n t a r o n s t r u i r n a l s t ao r d e n a d a c u e n e l i n t e r i o rd e l a r r a ya ordenar. Estealgoritmose basaen hacercomporociores, as que para que r e a l i c e u t r a b a j od e o r d e n a c s o n m p r e s c i n d b l e s s n d o s c o s a su n a r r a yo : e s t r u c t u r a i m i l a r d e e e m e n t o sc o m p a r a b l e s s y u n c r t e r j oc t a r o o e c o m p a r a c i tn ,l q u e d a d o s o se l e m e n t on o sd g a a d s s i e s t n n o r d e ro n o . e r

Problemasresolver la unidad: a de
1.-Escriba programaque lea un nmerode DNI y un escriba la salidaestndar en esemismonmeroseguido la correspondiente. de 2.- implementar algoritmode bsqueda un binariacon una media de N\2 pasos parauna bsqueda cualquiera, xito o sjn 1,manteniendo registros con los en un arrayordenado.

3 . e s c r b i n p r o g r a mra c u r s i v o r a a i c u l al r a l t u r a ur e pa c a d e u n r b o lb i n a r i o : ta distancia arga ms entrela raz el nodoexterno. y

4.- escribr programa recursivo un no paraimprimren orden lasclaves un rbol de bnario bsqueda. de 5.- una empresapaga a su personalde ventas con base en una comjsn.El personade ventas recibe 5200 por semana,mas 9% de sus ventas totales semanales. ejempoun vendedor Por que sumaS3OOO ventassemanales en recibe 5200 mas el 9% de 3000,o un total de 5470.Escriba programaque determne un cuantos losvendedores de reciben salaro cadauno del sig.Rangos. en a. De 200 a 299 b. De 300 399 c. De400 a 499 d. De 500 a 599 e. De 600 a 699 f. De 700 a 799 g. De 800 a 899 h. De 900 a 999 i. De 10000 mas 6.-escriba programaque ejecutede craps {.juego casino)y responoatas un de siguentes preguntas. a. Cuntos iuegosse gananen el primertiro, en el segundo tro, ... en el tro 20,y despus tjro numero20? del js b . C u n t ou e g o s e p e r d e e n e l p r m e r t i r o , e n esegundo n s l tiro..., tro 20, el y d e s p u d e lt i r o n u m e r o 0 ? s 2 c . C u e s l a o p o r t u n i d ad e g a n a r n c r a p s ? d l e d . C u e se l p r o m e d i o e u n l u e g o e c r a p s ? l d d 7 . - u n a p e q u e a e r o l n e a c a b ad e c o m p r a ru n a c o m p u t a d o r a a o a r as u n u e v o sstema automtico reservacjn. de Escribir programa un que asigne asaentos los en c a d a u e l od e l n i c o v i nd e l a a e r o l i n e(a a p a c i d a1 0 a s e n t o s ) . v , a c d: a S up r o g r a md e b ed e s p l e g a rl s i g . e n d e a l t e r n a t i v a s : e M Porfavor,dgite1 para"primeraclase,, Porfavor,digite2 para "econmico,, 5i la personadgta1, su programadebe asgnarun asiento en la seccinde p r i m e r a l a s e( a s i e n t o e 1 a 5 ) . S i l a p e r s o n a i g i t a2 , s u p r o g r a m a c d d asrgna n u asiento la seccin en (asientos a 10).Su programadebe impnmtrsu econmica 6 p a s ed e a b o r d a r u e i n d i q u e l n m e r od e a s i e n t o e l a p e r s o n a q e d V s e s t e n l a s e c c i d e p r i m e r a l a s e e n l a s e c c i e c o n d m i cd e l a v n . n c o n a

Inicialice 0 todos los elementos arreglopara en del ndcar que todos tos asentos estn vacios. Mientras se asgna cada asento, el valor de los elementos correspondentes arreglose estabece del en 1. para indicarque el asento no ya estdisponble. programa Su debeasgnar asiento el que ya "ria arig;"ao. Cr"nOo la seccin primeraclase est llenasu programa de debe preguntar la persona a si acepra que se te coloqueen la seccin econmica viceversal. acepta, (y Si enronces haga la asgnacin apropiadadel asiento.Si no acepta etonces'oesptiega el mensaje "el siguiente vuelo pqrte en 3 hords,,, 8.-utilize arreglode un subndice. un Una empresa tiene cuatrovendedores 4) (1a los cuales venden 5 productosdferentes a 5). una (1 vez ar da cada venoedor rn{roduce registro paracadatpo de producto un venddo. cada productocontiene lo sguente. a. El numerode vendedor b. Elnumerode producto c. El montototal del producto vendjdodelda. Cada vendedor pasaentre 0 y 5 registros da.Supongamos al que estndrsponibles los registros con la informacin de del ltimo mes. eicrba"" orur"r" 0r",". toda ta nformacn tas ventasdet ltimo de mes y sume ui ,oi"iiJ u"na.. po|. vendedor producto.Todoslos totalesse y deben almacena. un urregtocon 2 "n subindkes, ventas. una vez procesada de toda ra informacinder Jrtrmo mes, d e s p l i e g u le s d a t o s e n f o r m a t a b u l a r e n o donde."" un" l-|"] .o,rrnn",

ultimomes.Su salda tabulardebe i nclurestostotalesa la derecha para lasfilasy en er iondo paralascolumnas.

;"#:::::#1,:::":T:L.:"T":ff ;?",nH:,:":1""'"1T;g"l*

9. escribe programaque simuleel tiro de un dos dados_ programa El debe utlizar rand p_ara tirar er primer dado,y debe utrizar rand de nuevopJra irr. "r ,"grno dado.Despus, debe calcular sumade se la los 2 vectores

10.- Escrba programaparacalcular cantidad un la clemaneras diferentes en las cualesun entero rl se puede expresar como la suma de dos enteros p < n q < n menores y t a l e s q u sP 4 ! : n

Вам также может понравиться