septiembre 2009. - sistema de gestion ambiental · programación ii, el cual, intenta proporcionar...

35
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC DIVISIÓN DE INGENIERÍA ELECTRÓNICA Y TELEMÁTICA PRÁCTICAS DE LABORATORIO PROGRAMACION II REALIZÓ: MIGUEL ANGEL ALVARADO CRUZ SEPTIEMBRE 2009.

Upload: hoangduong

Post on 25-Sep-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC

DIVISIÓN DE INGENIERÍA ELECTRÓNICA Y

TELEMÁTICA

PRÁCTICAS DE LABORATORIO

PROGRAMACION II

REALIZÓ:

MIGUEL ANGEL ALVARADO CRUZ

SEPTIEMBRE 2009.

2

PRESENTACIÓN

E l p resen te manua l de p rác t i cas f ue rea l i zado , pa ra la as igna tu ra de P rog ramac ión I I , e l cua l , i n ten ta propo rc iona r a lo s docen tes y es tud ian tes un ma te r ia l de apoyo que f ac i l i t e e l p roceso en señanza -ap rend iza je , a t ravés de l t raba jo en e l l abo ra to r io , re f o rzando de es ta mane ra , la t eo r ía mos t rada en e l sa lón de c lases .

Las p rác t i cas de es te manua l , s on p resen tadas pa ra que e l es tud ian te log re un ap rend iza je s ign i f i ca t i vo , deb ido a que es tán d iseñadas de f o rma que e l docen te ac túe como gu ía y e l d i cen te pa r t i c ipe ac t i vamen te , hac iendo expe r imen tos y a l m is mo t iempo ap rend iendo po r descub r im ien to .

D icho lo an te r io r , se jus t i f i ca e l b r ind a r a lo s a lumnos un manua l que los encamine a la ap l i cac ió n de los concep tos t eó r i cos , pe rmi t iendo p ro f und iza r más e n los casos p rác t i cos .

3

ÍNDICE

PRÁCTICA 1. Arreglos bidimensionales. 4

PRÁCTICA 2. Apuntadores. 10

PRÁCTICA 3. Funciones. 14

PRÁCTICA 4. Apuntadores con funciones. 19

PRÁCTICA 5. Estructuras. 24

PRÁCTICA 6. Estructuras con funciones y apuntadores. 30

4

P R A C T I C A 1

A R R E G L O S B I D I M E N S I O N A L E S

I . O B J E T I V O

A l t e r m i n o d e l a p r a c t i c a e l a l u m n o c o n o c e r á u n a e s t r u c t u r a

a n i d a d a , l a e s t r u c t u r a d e c o n t r o l i f _ e l s e y e l u s o d e c o m p a r a c i o n e s

c o m p u e s t a s .

I I . M A T E R I A L Y E Q U I P O

a ) E q u i p o d e c o m p u t o

C P U M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S . _ _ _ _ _ _ _ _ _

M o n i t o r M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S _ _ _ _ _ _ _ _ _ _

T e c l a d o M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S _ _ _ _ _ _ _ _ _ _

I I I . I N T R O D U C C I O N T E O R I C A

E n l o s p r o g r a m a s q u e s e h a n r e a l i z a d o h a s t a a h o r a , c a d a i n s t r u c c i ó n q u e

a p a r e c í a e n e l p r o g r a m a s e e j e c u t a b a s o l o u n a v e z , p e r o m u c h o s

p r o g r a m a s r e q u i e r e n q u e a l g ú n g r u p o d e i n s t r u c c i o n e s s e e j e c u t e n

r e p e t i d a m e n t e , h a s t a q u e s e s a t i s f a g a u n a c o n d i c i ó n l ó g i c a .

A e s t a s e s t r u c t u r a s s e l e s d e n o m i n a c o m o b u c l e s . A v e c e s n o s e s a b e c o n

e x a c t i t u d , p o r a d e l a n t a d o , e l n ú m e r o d e v e c e s q u e s e d e b e n d e r e p e t i r l a s

i n s t r u c c i o n e s , s i n o q u e s e r e p i t e l a e j e c u c i ó n h a s t a q u e a l g u n a c o n d i c i ó n

l ó g i c a s e h a c e c i e r t a . O t r a s v e c e s u n g r u p o d e i n s t r u c c i o n e s c o n s e c u t i v a s

s e r e p i t e u n c i e r t o n ú m e r o e s p e c i f i c a d o d e v e c e s , y e s t o e s o t r a f o r m a d e

b u c l e .

M u c h o s p r o g r a m a s r e q u i e r e n q u e s e r e a l i c e u n a c o m p r o b a c i ó n l ó g i c a ( o

t e s t ) e n a l g ú n p u n t o c o n c r e t o d e n t r o d e e l l o s . S e r e a l i z a r a a

c o n t i n u a c i ó n a l g u n a a c c i ó n q u e d e p e n d e r á d e l r e s u l t a d o d e l a

c o m p r o b a c i ó n l ó g i c a . E s t o s e c o n o c e c o m o e j e c u c i ó n c o n d i c i o n a l . Y

f i n a l m e n t e e x i s t e u n a c l a s e e s p e c i a l d e e j e c u c i ó n c o n d i c i o n a l e n l a q u e u n

g r u p o d e s e n t e n c i a s e s s e l e c c i o n a d o e n t r e v a r i o s g r u p o s d i s p o n i b l e s . A

e s t o s e l e l l a m a a v e c e s s e l e c c i ó n .

T o d a s e s t a s o p e r a c i o n e s s e p u e d e n r e a l i z a r u t i l i z a n d o d i v e r s a s s e n t e n c i a s

d e c o n t r o l i n c l u i d a s e n C y q u e v e r e m o s e n l a s s i g u i e n t e s p r á c t i c a s .

5

A n t e s d e h a b l a r d e e s t a s s e n t e n c i a s d e c o n t r o l , r e v i s e m o s a l g u n o s

c o n c e p t o s n e c e s a r i o s .

P r i m e r o v a m o s a f o r m a r e x p r e s i o n e s l ó g i c a s q u e b i e n p u e d e n s e r c i e r t a s o

f a l s a s , p a r a l o c u a l u t i l i z a r e m o s l o s c u a t r o o p e r a d o r e s r e l a c i o n a l e s y l o s

d o s o p e r a d o r e s d e i g u a l d a d .

( A n ó t a l o s e n l a s s i g u i e n t e s l í n e a s c o n n o m b r e y s í m b o l o )

a ) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

b ) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

c ) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

d ) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

e ) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

f ) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

6

A d e m á s d e s e i s o p e r a d o r e s , C t i e n e d o s c o n e c t i v a s l ó g i c a s ( t a m b i é n

c o n o c i d o s c o m o o p e r a d o r e s l ó g i c o s ) , & & ( Y ) y | | ( O ) , y e l o p e r a d o r

m o n a r i o d e n e g a c i ó n ( ! ) . L a s c o n e c t i v a s l ó g i c a s s e u s a n p a r a c o m b i n a r

e x p r e s i o n e s l ó g i c a s , f o r m á n d o s e a s í e x p r e s i o n e s c o m p l e j a s . E l o p e r a d o r

d e n e g a c i ó n s e u t i l i z a p a r a i n v e r t i r e l v a l o r d e u n a e x p r e s i ó n l ó g i c a ( p o r

e j e m p l o d e v e r d a d e r o a f a l s o ) .

O t r o o p e r a d o r q u e t a m b i é n s e u t i l i z a e s e l o p e r a d o r c o n d i c i o n a l ( ? : ) q u e

t a m b i é n h a c e u s o d e u n a e x p r e s i ó n c i e r t a o f a l s a , e s t e o p e r a d o r e s

e q u i v a l e n t e a l a e s t r u c t u r a s i m p l e i f - T h e n e l s e q u e v e r e m o s m á s a d e l a n t e .

E s c o n v e n i e n t e r e c o r d a r q u e e n C e x i s t e n t r e s t i p o s d e s e n t e n c i a s :

a ) D e e x p r e s i ó n . - c o n s i s t e e n u n a e x p r e s i ó n s e g u i d a d e p u n t o y c o m a .

b ) S e n t e n c i a s c o m p u e s t a s . - c o n s i s t e e n u n a s e c u e n c i a d e d o s o m á s

s e n t e n c i a s c o n s e c u t i v a s e n c e r r a d a s e n t r e l l a v e s { y } , l a s s e n t e n c i a s

d e n t r o d e l a s l l a v e s p u e d e n s e r s e n t e n c i a s d e e x p r e s i ó n , o t r a s

s e n t e n c i a s c o m p u e s t a s o s e n t e n c i a s d e c o n t r o l .

c ) S e n t e n c i a s d e c o n t r o l . - q u e c o m o y a d i j i m o s i n c l u y e n u n a p r u e b a o

c o m p r o b a c i ó n p a r a s e g u i r a l g u n o d e l o s c a m i n o s , l a m a y o r í a d e l a s

s e n t e n c i a s d e c o n t r o l c o n t i e n e n s e n t e n c i a s d e e x p r e s i ó n o

s e n t e n c i a s c o m p u e s t a s ( o a m b a s ) .

I V . D E S A R R O L L O

E L A L U M N O S E G U I R A L A S E C U E N C I A I N D I C A D A , D E S C R I B I E N D O E N C A D A

I N C I S O L O S P A S O S Q U E S I G A :

1 . - T r a b a j e c o n l a c o m p u t a d o r a . V e a l a s a y u d a s p a r a i f _ e l s e .

2 . - T e c l e e e l s i g u i e n t e p r o g r a m a

# i n c l u d e < s t d i o . h >

# i n c l u d e < m a t h . h >

# i n c l u d e < c o n i o . h >

f l o a t f u n c i o n f ( f l o a t * f x ) ; / * D e s p u e s d e d e c l a r a r l a s l i b r e r i a s , s e

d e c l a r a n l a s f u n c i o n e s j u n t o c o n e l a r g u m e n t o d e c a d a f u n c i ó n , q u e e n

e s t e c a s o v a n h a c e r l o s a p u n t a d o r e s h a c i a d o n d e s e d i r i g e e l c o n t e n i d o d e

l a s v a r i a b l e s * /

7

f l o a t f u n c i o n g ( f l o a t * g x ) ;

f l o a t f u n c i o n z ( f l o a t * z x ) ;

v o i d m a i n ( v o i d )

{

f l o a t k , f u n 1 , f u n 2 , f u n 3 ; / * d e c l a r a m o s v a r i a b l e s g l o b a l e s * /

p r i n t f ( " \ t L o s d a t o s o b t e n i d o s s o n l o s s i g u i e n t e s : \ t \ n " ) ;

p r i n t f ( " \ t f ( x ) g ( x ) z ( x ) \ t \ n " ) ;

f o r ( k = 0 ; k < 3 . 5 ; k = k + 0 . 2 )

{

f u n 1 = f u n c i ó n ( & k ) ; / * E n e s t a p a r t e d e l p r o g r a m a s e e s t á n l l a m a n d o a

l a s f u n c i o n e s e n e l c u a l e l a r g u m e n t o d e c a d a u n a d e e l l a e s e l c o n t e n i d o

d e l a d i r e c c i ó n d e l a v a r i a b l e d o n d e e s t a m o s i n t r o d u c i e n d o l a

i n f o r m a c i ó n , e l r e t o r n o d e l o s d a t o s d e c a d a f u n c i ó n s e a l m a c e n a r a e n l a

v a r i a b l e c o r r e s p o n d i e n t e * /

f u n 2 = f u n c i ó n ( & k ) ;

f u n 3 = f u n c i ó n ( & k ) ;

p r i n t f ( " f u n 1 ( % . 3 f ) = % . 3 f \ t " , k , f u n 1 ) ; / * E n e s t a p a r t e s e i m p r i m e n l o s

r e s u l t a d o s f i n a l e s c o n t r e s d e c i m a l e s * /

p r i n t f ( " f u n 2 ( % . 3 f ) = % . 3 f \ t " , k , f u n 2 ) ;

p r i n t f ( " f u n 3 ( % . 3 f ) = % . 3 f \ t " , k , f u n 3 ) ;

p r i n t f ( " \ n " ) ;

}

g e t c h ( ) ;

8

}

/ * A p a r t i r d e e s t e m o m e n t o s e e m p i e z a n a c r e a r c a d a u n a d e l a s

f u n c i o n e s a n t e s d e c l a r a d a s * /

f l o a t f u n c i o n f ( f l o a t * f x )

{

f l o a t a ;

a = 3 * ( e x p ( * f x ) ) - 2 * * f x ;

r e t u r n a ; / * a q u í r e g r e s a r e m o s e l r e s u l t a d o d e l a e c u a c i ó n * /

}

f l o a t f u n c i o n g ( f l o a t * g x )

{

f l o a t b ;

b = - * g x * s i n ( * g x ) + 1 . 5 ;

r e t u r n b ; / * a q u í r e g r e s a r e m o s e l r e s u l t a d o d e l a e c u a c i ó n * /

}

f l o a t f u n c i o n z ( f l o a t * z x )

{

f l o a t c ;

c = ( * z x ) * ( * z x ) * ( * z x ) - 2 * ( * z x ) + 1 ;

r e t u r n c ; / * a q u í r e g r e s a r e m o s e l r e s u l t a d o d e l a e c u a c i ó n * /

}

/ * f i n d e l p r o g r a m a * /

9

M A T E R I A L Y E Q U I P O

E q u i p o d e c o m p u t o - O b s e r v a c i o n e s .

C P U :

M O N I T O R :

T E C L A D O :

V . C U E S T I O N A R I O ( T R A B A J O C O M P L E M E N T A R I O )

1 . D a d o e l p r o g r a m a a n t e r i o r , a d e m á s d e e d i t a r l o , d e b e g u a r d a r l o ,

c o m p i l a r l o y e j e c u t a r l o . D e s c r i b a :

a ) l o s e r r o r e s q u e o b t u v o ( e n c a s o d e h a b e r l o s ) .

b ) e l d e s p l e g a d o o b t e n i d o .

2 . M a r q u e e n e l p r o g r a m a d o n d e c o m i e n z a y d o n d e t e r m i n a n l a s

e s t r u c t u r a s d e c o n t r o l u t i l i z a d a s .

3 . ¿ C u á l e s l a f u n c i o n a l i d a d d e l a e s t r u c t u r a i f _ e l s e ?

V I . C O N C L U S I O N E S Y O B S E R V A C I O N E S

1 0

P R A C T I C A 2

A P U N T A D O R E S

I . O B J E T I V O

A l t é r m i n o d e l a p r á c t i c a e l a l u m n o c o n o c e r á l a s e s t r u c t u r a s d e

c o n t r o l i f e l s e y s w i t c h . A d e m á s a p r e n d e r á e l m a n e j o d e l o s

c o m a n d o s d e p a n t a l l a p a r a c a m b i a r e l c o l o r d e l f o n d o

( t e x t b a c k g r o u n d ) y e l c o l o r d e l t e x t o ( t e x t c o l o r ) .

I I . M A T E R I A L Y E Q U I P O

a ) E q u i p o d e c o m p u t o

C P U M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S . _ _ _ _ _ _ _ _ _

M o n i t o r M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S _ _ _ _ _ _ _ _ _ _

T e c l a d o M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S _ _ _ _ _ _ _ _ _ _

I I I . I N T R O D U C C I O N T E O R I C A

E n l a p r e s e n t e p r á c t i c a h a b l a r e m o s e s p e c í f i c a m e n t e d e l a s s e n t e n c i a s d e

c o n t r o l s w i t c h . E s t a s e n t e n c i a s e u t i l i z a p a r a s e l e c c i o n a r u n g r u p o d e

s e n t e n c i a s e n t r e v a r i o s g r u p o s d i s p o n i b l e s . L a s e l e c c i ó n s e b a s a e n e l

v a l o r d e u n a e x p r e s i ó n q u e s e i n c l u y e e n l a s e n t e n c i a s w i t c h .

L a f o r m a g e n e r a l d e l a s e n t e n c i a s w i t c h e s :

s w i t c h ( e x p r e s i ó n ) s e n t e n c i a

E n d o n d e e x p r e s i ó n d e b e i r e n t r e p a r é n t e s i s , c o m o s e i n d i c a y d e v u e l v e e l

n ú m e r o e n t e r o , e x p r e s i ó n t a m b i é n p u e d e s e r d e t i p o c a r á c t e r ( d e t i p o

c h a r ) , y a q u e l o s c a r a c t e r e s i n d i v i d u a l e s t i e n e n v a l o r e s e n t e r o s .

L a s e n t e n c i a i n c l u i d a e s g e n e r a l m e n t e u n a s e n t e n c i a c o m p u e s t a q u e

e s p e c i f i c a o p c i o n e s p o s i b l e s a s e g u i r . C a d a o p c i ó n s e e x p r e s a c o m o u n

g r u p o d e u n a o m á s s e n t e n c i a s i n d i v i d u a l e s d e n t r o d e l a s e n t e n c i a g l o b a l

i n c l u i d a .

P a r a c a d a o p c i ó n , l a p r i m e r a s e n t e n c i a d e n t r o d e l g r u p o d e b e s e r

p r e c e d i d a p o r u n a o m á s e t i q u e t a s c a s e .

L a s e t i q u e t a s c a s e i d e n t i f i c a n l o s d i f e r e n t e s g r u p o s d e s e n t e n c i a s ( l a s

d i s t i n t a s o p c i o n e s ) y d i s t i n g u e n u n a s d e o t r a s . L a s e t i q u e t a s c a s e d e b e n

s e r , p o r t a n t o , ú n i c a s d e n t r o d e u n a s e n t e n c i a s w i t c h d a d a .

1 1

C a d a g r u p o d e s e n t e n c i a s s e e s c r i b e d e f o r m a g e n e r a l :

C a s e e x p r e s i ó n :

S e n t e n c i a 1

S e n t e n c i a 2

.

.

S e n t e n c i a n

O e n e l c a s o d e v a r i a s e t i q u e t a s c a s e :

c a s e e x p r e s i ó n 1 :

c a s e e x p r e s i ó n 2 :

.

.

C a s e e x p r e s i ó n m ;

S e n t e n c i a 1

S e n t e n c i a 2

.

.

S e n t e n c i a n

E n d o n d e e x p r e s i ó n 1 , e x p r e s i ó n 2 , … … e x p r e s i ó n m r e p r e s e n t a n

e x p r e s i o n e s c o n s t a n t e s d e v a l o r e s e n t e r o s . N o r m a l m e n t e , c a d a u n a d e

e s t a s e x p r e s i o n e s s e e s c r i b i r á c o m o c o n s t a n t e e n t e r a o c o m o c o n s t a n t e

d e c a r á c t e r . C a d a s e n t e n c i a i n d i v i d u a l q u e s i g u e a l a s e t i q u e t a s c a s e

p u e d e s e r s i m p l e o c o m p u e s t a .

I V . D E S A R R O L L O

E L A L U M N O S E G U I R A L A S E C U E N C I A I N D I C A D A , D E S C R I B I E N D O E N C A D A

I N C I S O L O S P A S O S Q U E S I G A :

1 . - T r a b a j e c o n l a c o m p u t a d o r a . V e a l a s a y u d a s p a r a i f _ e l s e .

1 2

2 . - T e c l e e e l s i g u i e n t e p r o g r a m a

# i n c l u d e < c o n i o . h >

i n t f a c t o r i a l ( i n t d a t o ) ;

m a i n ( )

{

i n t a , v a l o r ;

c l r s c r ( ) ;

p r i n t f ( " \ t \ t P R O G R A M A Q U E C A L C U L A E L F A C T O R I A L D E U N N U M E R O \ t \ t " ) ;

p r i n t f ( " \ n \ n " ) ;

p r i n t f ( " I n t r o d u c e e l n u m e r o a l q u e l e d e s e a s c a l c u l a r e l f a c t o r i a l \ n \ n " ) ;

s c a n f ( " % d " , & v a l o r ) ;

a = f a c t o r i a l ( v a l o r ) ;

p r i n t f ( " \ n \ n E l v a l o r f a c t o r i a l d e % d e s : % d " , v a l o r , a ) ;

g e t c h ( ) ;

r e t u r n 0 ;

}

i n t f a c t o r i a l ( i n t d a t o )

{

i n t e f . ;

p r i n t f ( " \ n V a r i a b l e a c u m u l a t i v a d a t o : % d \ n " , d a t o ) ;

i f ( d a t o = = 0 )

{

r e t u r n 1 ;

1 3

}

e l s e

{

f = d a t o ;

f o r ( i = d a t o - 1 ; i > = 2 ; i - - )

{

f = f * i ;

p r i n t f ( " V a r i a b l e a c u m u l a t i v a d a t o : % d \ n " , f ) ;

}

r e t u r n f ;

}

}

M A T E R I A L Y E Q U I P O

E q u i p o d e c o m p u t o - O b s e r v a c i o n e s .

C P U :

M O N I T O R :

T E C L A D O :

V . C U E S T I O N A R I O ( T R A B A J O C O M P L E M E N T A R I O )

1 . D a d o e l p r o g r a m a a n t e r i o r , a d e m á s d e e d i t a r l o , d e b e g u a r d a r l o ,

c o m p i l a r l o y e j e c u t a r l o . D e s c r i b a :

a ) l o s e r r o r e s q u e o b t u v o ( e n c a s o d e h a b e r l o s ) .

b ) e l d e s p l e g a d o o b t e n i d o .

2 . M a r q u e e n e l p r o g r a m a d o n d e c o m i e n z a y d o n d e t e r m i n a e l s w i t c h .

3 . ¿ C u á l e s l a f u n c i o n a l i d a d d e l a e s t r u c t u r a s w i t c h ?

V I . C O N C L U S I O N E S Y O B S E R V A C I O N E S

1 4

P R A C T I C A 3

F U N C I O N E S

I . O B J E T I V O

A l t é r m i n o d e l a p r á c t i c a e l a l u m n o p o d r á m a n e j a r l a e s t r u c t u r a d e

c o n t r o l w h i l e , e n t e n d e r á l o s b u c l e s ( l o o p s ) u s a d o s e n

p r o g r a m a c i ó n . A d e m á s c o m p r e n d e r á l o s c o n c e p t o s a c u m u l a d o r y

c o n t a d o r .

I I . M A T E R I A L Y E Q U I P O

a ) E q u i p o d e c o m p u t o

C P U M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S . _ _ _ _ _ _ _ _ _

M o n i t o r M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S _ _ _ _ _ _ _ _ _ _

T e c l a d o M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S _ _ _ _ _ _ _ _ _ _

I I I . I N T R O D U C C I O N T E O R I C A

E n l a p r e s e n t e p r á c t i c a h a b l a r e m o s d e l a s e n t e n c i a d e c o n t r o l w h i l e . E s t a

s e n t e n c i a s e u t i l i z a p a r a g e n e r a r b u c l e s ( l a z o s o l o o p s ) . R e c o r d e m o s a q u í

q u e e n p r á c t i c a s a n t e r i o r e s m e n c i o n a m o s q u e h a y p r o g r a m a s d o n d e s e

h a c e n e c e s a r i o q u e s e e j e c u t e u n g r u p o d e i n s t r u c c i o n e s r e p e t i d a m e n t e

h a s t a q u e s e c u m p l a u n a c o n d i c i ó n l ó g i c a , o c o m o e n e l c a s o d e l a

p r e s e n t e s e n t e n c i a d e c o n t r o l m i e n t r a s q u e s e c u m p l a l a c o n d i c i ó n l ó g i c a .

A v e c e s n o s e c o n o c e e l n ú m e r o d e e j e c u c i o n e s q u e s e v a a r e a l i z a r , s i n o

q u e e s t á e n f u n c i ó n d e l c u m p l i m i e n t o d e l a c o n d i c i ó n l ó g i c a .

L a f o r m a g e n e r a l d e l a s e n t e n c i a w h i l e e s :

W h i l e ( e x p r e s i ó n ) s e n t e n c i a

E n d o n d e e x p r e s i ó n d e b e i r e n t r e p a r é n t e s i s , c o m o s e i n d i c a y e s

f r e c u e n t e m e n t e u n a e x p r e s i ó n l ó g i c a q u e p u e d e s e r c i e r t a o f a l s a

( r e c u e r d e q u e c i e r t o c o r r e s p o n d e a u n v a l o r n o n u l o , f a l s o c o r r e s p o n d e a

c e r o ) .

L a s e n t e n c i a i n c l u i d a p u e d e s e r s i m p l e o c o m p u e s t a q u e s e e j e c u t a r a

r e p e t i t i v a m e n t e , m i e n t r a s q u e e l v a l o r d e l a e x p r e s i ó n s e a c e r o ( q u e s e a

c i e r t a ) .

D e b e i n c l u i r a l g ú n e l e m e n t o q u e a l t e r e e l v a l o r d e e x p r e s i ó n ,

p r o p o r c i o n a d o a s í l a c o n d i c i ó n d e s a l i d a d e l b u c l e . L a v a r i a b l e d e c o n t r o l

d e l a e s t r u c t u r a p u e d e s e r d e t i p o e n t e r o , c a r á c t e r o p u n t o f l o t a n t e , e s t a

1 5

e s t r u c t u r a d e c o n t r o l e s l a q u e s e c o n s i d e r a m á s v e r s á t i l p u e s t i e n e v a r i a s

f o r m a s d e a p l i c a c i ó n , e s d e c i r , p u e d e s e r c o n t r o l a d a p o r c o n t a d o r , p o r

c e n t i n e l a p o r r e p e t i c i o n e s a v o l u n t a d y a d i c i o n a l m e n t e s e a p l i c a e n l a

l e c t u r a d e a r c h i v o s d e d a t o s .

I V . D E S A R R O L L O

E L A L U M N O S E G U I R A L A S E C U E N C I A I N D I C A D A , D E S C R I B I E N D O E N C A D A

I N C I S O L O S P A S O S Q U E S I G A :

1 . - T r a b a j e c o n l a c o m p u t a d o r a . B u s q u e l a s a y u d a s r e l a c i o n a d a s a w h i l e .

2 . - T e c l e e e l s i g u i e n t e p r o g r a m a

# i n c l u d e < s t d i o . h >

# i n c l u d e < c o n i o . h >

# i n c l u d e < s t d l i b . h >

# i n c l u d e < m a t h . h >

v o i d m a i n ( v o i d )

{

f l o a t

b , * b 1 , * h 1 , h , a , * a 1 , * b a s , b a , * h a l , h a , * a r e , a r , * l 1 , l , * c u a d r a d o , c u a , * b a s e 1 , b a s

e , * b a s e 4 , b a s e 3 , * h 3 , h 2 , * r e s , r , r a d i o , * r a d i o 1 , * r a d i o 3 , r a d i o 2 , o p ;

p r i n t f ( " * * * * * M E N U D E O P C I O N E S * * * * * " ) ;

p r i n t f ( " \ n 1 . - C A L C U L A R E L A R E A D E U N T R I A N G U L O R E C T A N G U L O " ) ;

p r i n t f ( " \ n 2 . - C A L C U L A R E L A R E A D E U N T R I A N G U L O I S O S E L E S " ) ;

p r i n t f ( " \ n 3 . - C A L C U L A R E L A R E A D E U N C U A D R A D O " ) ;

p r i n t f ( " \ n 4 . - C A L C U L A R E L A R E A D E U N T R A P E C I O " ) ;

p r i n t f ( " \ n 5 . - C A L C U L A R E L A R E A D E U N C I R C U L O " ) ;

p r i n t f ( " \ n 6 . - S A L I R " ) ;

p r i n t f ( " \ n E L I G E L A O P C I O N Q U E N E C E S I T E S . . . . . " ) ;

1 6

s c a n f ( " % f " , & o p ) ;

i f ( o p = = 1 )

{

p r i n t f ( " D a m e e l v a l o r d e l a b a s e : . . . . " ) ;

s c a n f ( " % f " , & b ) ;

b 1 = & b ;

p r i n t f ( " D a m e e l v a l o r d e l a a l t u r a : . . . " ) ;

s c a n f ( " % f " , & h ) ;

h 1 = & h ;

a = ( * b 1 ) * ( * h 1 ) / 2 ;

a 1 = & a ;

p r i n t f ( " e l r e s u l t a d o e s : = % . 1 f u n i d a d e s c u a d r a d a s " , * a 1 ) ;

}

e l s e i f ( o p = = 2 )

{

p r i n t f ( " D a m e e l v a l o r d e l a b a s e : . . . . " ) ;

s c a n f ( " % f " , & b a ) ;

b a s = & b a ;

p r i n t f ( " D a m e e l v a l o r d e l a a l t u r a : . . . " ) ;

s c a n f ( " % f " , & h a ) ;

h a l = & h a ;

a r = ( * b a s ) * ( * h a l ) / 2 ;

a r e = & a r ;

p r i n t f ( " e l r e s u l t a d o e s : = % . 1 f " , * a r e ) ;

}

e l s e i f ( o p = = 3 )

1 7

{

p r i n t f ( " D a m e e l v a l o r d e u n l a d o : . . . . " ) ;

s c a n f ( " % f " , & l ) ;

l 1 = & l ;

c u a = p o w ( * l 1 , 2 ) ;

c u a d r a d o = & c u a ;

p r i n t f ( " e l r e s u l t a d o e s : = % . 1 f u n i d a d e s c u a d r a d a s " , * c u a d r a d o ) ;

}

e l s e i f ( o p = = 4 )

{

p r i n t f ( " D a m e e l v a l o r d e l a b a s e : . . . . " ) ;

s c a n f ( " % f " , & b a s e ) ;

b a s e 1 = & b a s e ;

p r i n t f ( " D a m e e l v a l o r d e l l a d o p a r a l e l o a l a b a s e : . . . " ) ;

s c a n f ( " % f " , & b a s e 3 ) ;

b a s e 4 = & b a s e 3 ;

p r i n t f ( " D a m e e l v a l o r d e l a a l t u r a : . . . " ) ;

s c a n f ( " % f " , & h 2 ) ;

h 3 = & h 2 ;

r = ( ( * b a s e 1 + * b a s e 4 ) / 2 ) * ( * h 3 ) ;

r e s = & r ;

p r i n t f ( " e l r e s u l t a d o e s : = % . 1 f u n i d a d e s c u a d r a d a s " , * r e s ) ;

}

e l s e i f ( o p = = 5 )

{

p r i n t f ( " D a m e e l v a l o r d e l r a d i o : . . . . " ) ;

1 8

s c a n f ( " % f " , & r a d i o ) ;

r a d i o 1 = & r a d i o ;

r a d i o 2 = M _ P I * p o w ( * r a d i o 1 , 2 ) ;

r a d i o 3 = & r a d i o 2 ;

p r i n t f ( " e l r e s u l t a d o e s : = % . 1 f u n i d a d e s c u a d r a d a s " , * r a d i o 3 ) ;

}

e l s e

e x i t ( 0 ) ;

g e t c h ( ) ;

}

M A T E R I A L Y E Q U I P O

E q u i p o d e c o m p u t o - O b s e r v a c i o n e s .

C P U :

M O N I T O R :

T E C L A D O :

V . C U E S T I O N A R I O ( T R A B A J O C O M P L E M E N T A R I O )

1 . D a d o e l p r o g r a m a a n t e r i o r , a d e m á s d e e d i t a r l o , d e b e g u a r d a r l o ,

c o m p i l a r l o y e j e c u t a r l o . D e s c r i b a :

a ) l o s e r r o r e s q u e o b t u v o ( e n c a s o d e h a b e r l o s ) .

b ) e l d e s p l e g a d o o b t e n i d o .

2 . M a r q u e e n e l p r o g r a m a d o n d e c o m i e n z a y d o n d e t e r m i n a n l a s

e s t r u c t u r a s d e c o n t r o l .

3 . ¿ C u á l e s l a f u n c i o n a l i d a d d e l a e s t r u c t u r a w h i l e ?

V I . C O N C L U S I O N E S Y O B S E R V A C I O N E S

1 9

P R A C T I C A 4

A P U N T A D O R E S C O N F U N C I O N E S

I . O B J E T I V O

A l t e r m i n o d e l a p r a c t i c a e l a l u m n o p o d r á m a n e j a r l a e s t r u c t u r a d e

c o n t r o l d o - w h i l e y e n t e n d e r á l a d i f e r e n c i a d e u s o s e n t r e e s t a y l a

p r o p o s i c i ó n w h i l e . A d e m á s r e p a s a r a l o s c o n c e p t o s a c u m u l a d o r y

c o n t a d o r .

I I . M A T E R I A L Y E Q U I P O

a ) E q u i p o d e c o m p u t o

C P U M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S . _ _ _ _ _ _ _ _ _

M o n i t o r M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S _ _ _ _ _ _ _ _ _ _

T e c l a d o M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S _ _ _ _ _ _ _ _ _ _

I I I . I N T R O D U C C I O N T E O R I C A

E n l a p r e s e n t e p r á c t i c a h a b l a r e m o s d e l a s e n t e n c i a d e c o n t r o l d o - w h i l e .

E s t a e s t r u c t u r a d e c o n t r o l t i e n e l a s c a r a c t e r í s t i c a s d e q u e a l m e n o s u n a

v e z r e p i t e l a s s e n t e n c i a s a c o n t r o l a r , i n d e p e n d i e n t e m e n t e d e l r e s u l t a d o

d e e x p r e s i ó n ( c o n d i c i ó n ) e n l a p r i m e r a v e z q u e s e e v a l u é . L a s v e c e s

s i g u i e n t e s d e p e n d e r á d e l e s t a d o d e l a c o n d i c i ó n . A d i f e r e n c i a d e w h i l e

d o n d e l a v e r i f i c a c i ó n s e r e a l i z a a l p r i n c i p i o d e l a e s t r u c t u r a , e n d o - w h i l e

e s a l f i n a l d e l a e s t r u c t u r a .

L a f o r m a g e n e r a l d e l a s e n t e n c i a d o - w h i l e e s :

D o s e n t e n c i a ; W h i l e ( c o n d i c i ó n ) ;

E n d o n d e c o n d i c i ó n d e b e i r e n t r e p a r é n t e s i s , y a h o r a a d i f e r e n c i a d e l

w h i l e d e b e m o s u s a r p u n t o y c o m a d e s p u é s d e w h i l e c o m o s e i n d i c a y e s

f r e c u e n t e m e n t e u n a e x p r e s i ó n l ó g i c a q u e p u e d e s e r c i e r t a o f a l s a .

L a s e n t e n c i a i n c l u i d a c o m o y a h e m o s v i s t o p u e d e s e r u n a s e n t e n c i a s i m p l e

o c o m p u e s t a q u e s e e j e c u t a r a p u e s t i e n e v a r i a s f o r m a s d e a p l i c a c i ó n , e s

d e c i r , p u e d e s e r c o n t r o l a d a p o r c o n t a d o r , p o r c e n t i n e l a , p o r r e p e t i c i o n e s

a v o l u n t a d y a d i c i o n a l m e n t e s e a p l i c a e n l a l e c t u r a d e a r c h i v o s d e d a t o s .

P a r a p o d e r v e r l a s s e m e j a n z a s y d i f e r e n c i a s e n t r e l a s d o s e s t r u c t u r a s

u s a r e m o s e l m i s m o p r o g r a m a d e l a p r a c t i c a 9 , c o n a l g u n a s v a r i a n t e s .

U s a r e m o s u n a v e z m á s e l c o n t a d o r y e l a c u m u l a d o r .

2 0

I V . D E S A R R O L L O

E L A L U M N O S E G U I R A L A S E C U E N C I A I N D I C A D A , D E S C R I B I E N D O E N C A D A

I N C I S O L O S P A S O S Q U E S I G A :

1 . - T r a b a j e c o n l a c o m p u t a d o r a . B u s q u e l a s a y u d a s r e l a c i o n a d a s a w h i l e .

2 . - T e c l e e e l s i g u i e n t e p r o g r a m a

# i n c l u d e < s t d i o . h >

# i n c l u d e < c o n i o . h >

# i n c l u d e < s t d l i b . h >

# i n c l u d e < m a t h . h >

v o i d m a i n ( v o i d )

{

f l o a t

b , * b 1 , * h 1 , h , a , * a 1 , * b a s , b a , * h a l , h a , * a r e , a r , * l 1 , l , * c u a d r a d o , c u a , * b a s e 1 , b a s

e , * b a s e 4 , b a s e 3 , * h 3 , h 2 , * r e s , r , r a d i o , * r a d i o 1 , * r a d i o 3 , r a d i o 2 , o p ;

d o {

p r i n t f ( " * * * * * M E N U D E O P C I O N E S * * * * * " ) ;

p r i n t f ( " \ n 1 . - C A L C U L A R E L A R E A D E U N T R I A N G U L O R E C T A N G U L O " ) ;

p r i n t f ( " \ n 2 . - C A L C U L A R E L A R E A D E U N T R I A N G U L O I S O S E L E S " ) ;

p r i n t f ( " \ n 3 . - C A L C U L A R E L A R E A D E U N C U A D R A D O " ) ;

p r i n t f ( " \ n 4 . - C A L C U L A R E L A R E A D E U N T R A P E C I O " ) ;

p r i n t f ( " \ n 5 . - C A L C U L A R E L A R E A D E U N C I R C U L O " ) ;

p r i n t f ( " \ n 6 . - S A L I R " ) ;

p r i n t f ( " \ n E L I G E L A O P C I O N Q U E N E C E S I T E S . . . . . " ) ;

s c a n f ( " % f " , & o p ) ;

}

W h i l e {

2 1

i f ( o p = = 1 )

{

p r i n t f ( " D a m e e l v a l o r d e l a b a s e : . . . . " ) ;

s c a n f ( " % f " , & b ) ;

b 1 = & b ;

p r i n t f ( " D a m e e l v a l o r d e l a a l t u r a : . . . " ) ;

s c a n f ( " % f " , & h ) ;

h 1 = & h ;

a = ( * b 1 ) * ( * h 1 ) / 2 ;

a 1 = & a ;

p r i n t f ( " e l r e s u l t a d o e s : = % . 1 f u n i d a d e s c u a d r a d a s " , * a 1 ) ;

}

e l s e i f ( o p = = 2 )

{

p r i n t f ( " D a m e e l v a l o r d e l a b a s e : . . . . " ) ;

s c a n f ( " % f " , & b a ) ;

b a s = & b a ;

p r i n t f ( " D a m e e l v a l o r d e l a a l t u r a : . . . " ) ;

s c a n f ( " % f " , & h a ) ;

h a l = & h a ;

a r = ( * b a s ) * ( * h a l ) / 2 ;

a r e = & a r ;

p r i n t f ( " e l r e s u l t a d o e s : = % . 1 f " , * a r e ) ;

} }

e l s e i f ( o p = = 3 )

{

2 2

p r i n t f ( " D a m e e l v a l o r d e u n l a d o : . . . . " ) ;

s c a n f ( " % f " , & l ) ;

l 1 = & l ;

c u a = p o w ( * l 1 , 2 ) ;

c u a d r a d o = & c u a ;

p r i n t f ( " e l r e s u l t a d o e s : = % . 1 f u n i d a d e s c u a d r a d a s " , * c u a d r a d o ) ;

}

e l s e i f ( o p = = 4 )

{

p r i n t f ( " D a m e e l v a l o r d e l a b a s e : . . . . " ) ;

s c a n f ( " % f " , & b a s e ) ;

b a s e 1 = & b a s e ;

p r i n t f ( " D a m e e l v a l o r d e l l a d o p a r a l e l o a l a b a s e : . . . " ) ;

s c a n f ( " % f " , & b a s e 3 ) ;

b a s e 4 = & b a s e 3 ;

p r i n t f ( " D a m e e l v a l o r d e l a a l t u r a : . . . " ) ;

s c a n f ( " % f " , & h 2 ) ;

h 3 = & h 2 ;

r = ( ( * b a s e 1 + * b a s e 4 ) / 2 ) * ( * h 3 ) ;

r e s = & r ;

p r i n t f ( " e l r e s u l t a d o e s : = % . 1 f u n i d a d e s c u a d r a d a s " , * r e s ) ;

}

e l s e i f ( o p = = 5 )

{

p r i n t f ( " D a m e e l v a l o r d e l r a d i o : . . . . " ) ;

s c a n f ( " % f " , & r a d i o ) ;

2 3

r a d i o 1 = & r a d i o ;

r a d i o 2 = M _ P I * p o w ( * r a d i o 1 , 2 ) ;

r a d i o 3 = & r a d i o 2 ;

p r i n t f ( " e l r e s u l t a d o e s : = % . 1 f u n i d a d e s c u a d r a d a s " , * r a d i o 3 ) ;

}

e l s e

e x i t ( 0 ) ;

g e t c h ( ) ;

}

M A T E R I A L Y E Q U I P O

E q u i p o d e c o m p u t o - O b s e r v a c i o n e s .

C P U :

M O N I T O R :

T E C L A D O :

V . C U E S T I O N A R I O ( T R A B A J O C O M P L E M E N T A R I O )

1 . D a d o e l p r o g r a m a a n t e r i o r , a d e m á s d e e d i t a r l o , d e b e g u a r d a r l o ,

c o m p i l a r l o y e j e c u t a r l o . D e s c r i b a :

a ) l o s e r r o r e s q u e o b t u v o ( e n c a s o d e h a b e r l o s ) .

b ) e l d e s p l e g a d o o b t e n i d o .

2 . M a r q u e e n e l p r o g r a m a d o n d e c o m i e n z a y d o n d e t e r m i n a n l a s

e s t r u c t u r a s d e c o n t r o l .

3 . ¿ C u á l e s l a f u n c i o n a l i d a d d e l a e s t r u c t u r a d o - w h i l e ? M a r q u e l a

d i f e r e n c i a e n t r e e s t a y w h i l e .

V I . C O N C L U S I O N E S Y O B S E R V A C I O N E S

2 4

P R A C T I C A 5

E S T R U C T U R A S

I . O B J E T I V O

A l t e r m i n o d e l a p r a c t i c a e l a l u m n o p o d r á m a n e j a r l a e s t r u c t u r a d e

c o n t r o l f o r , y e n t e n d e r á l a d i f e r e n c i a d e u s o s e n t r e e s t a y l a s

p r o p o s i c i o n e s w h i l e y d o w h i l e . C o m e n z a r a a m a n e j a r m á s

c o n c e p t o s s o b r e b u c l e s .

I I . M A T E R I A L Y E Q U I P O

a ) E q u i p o d e c o m p u t o

C P U M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S . _ _ _ _ _ _ _ _ _

M o n i t o r M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S _ _ _ _ _ _ _ _ _ _

T e c l a d o M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S _ _ _ _ _ _ _ _ _ _

I I I . I N T R O D U C C I O N T E O R I C A

E n l a p r e s e n t e p r á c t i c a h a b l a r e m o s d e l a s e n t e n c i a d e c o n t r o l f o r . E s l a

e s t r u c t u r a d e c o n t r o l m á s u t i l i z a d a p a r a c r e a r b u c l e s e n C . I n c l u y e u n a

s e n t e n c i a i n i c i a l q u e e s p e c i f i c a e l v a l o r i n i c i a l d e u n í n d i c e , o t r a

e x p r e s i ó n q u e d e t e r m i n a c u a n d o s e c o n t i n u a o n o e l b u c l e y u n a t e r c e r a

e x p r e s i ó n q u e p e r m i t e q u e e l í n d i c e s e m o d i f i q u e a l f i n a l d e c a d a p a s a d a .

E l f o r m a t o g e n e r a l p a r a i m p l e m e n t a r e l b u c l e f o r e s :

f o r ( i n i c i a l i z a c i ó n ; c o n d i c i ó n ; i n c r e m e n t ó ) s e n t e n c i a ;

I n i c i a l i z a c i ó n e s u n a s e n t e n c i a d e a s i g n a c i ó n q u e n o s s i r v e c o m o v a r i a b l e

d e c o n t r o l d e l b u c l e . C o n d i c i ó n e s u n a e x p r e s i ó n q u e n o s i n d i c a l a

c o n d i c i ó n q u e d e b e c u m p l i r s e p a r a q u e c o n t i n ú e e l b u c l e e i n c r e m e n t o

d e f i n e c o m o v a c a m b i a n d o e l v a l o r d e l a v a r i a b l e d e c o n t r o l c a d a v e z q u e

s e r e p i t e e l b u c l e . S e n t e n c i a e s e l c o n j u n t o d e p r o p o s i c i o n e s q u e s e v a n a

r e a l i z a r e n c a d a u n o d e l o s b u c l e s .

U n a d e l a s p r i n c i p a l e s c a r a c t e r í s t i c a s d e l f o r e s q u e l a c o n d i c i ó n s e e v a l ú a

a l p r i n c i p i o d e l c i c l o . P o r e s t o , e l c ó d i g o d e n t r o d e l b u c l e n o s e r á

e j e c u t a d o s i l a c o n d i c i ó n e s f a l s a a l c o m i e n z o .

P o r e j e m p l o : f o r ( i = 0 , 4 ; i * j < 4 ; i + + , j - - )

{

2 5

}

E n e s t e c a s o , e s t a m o s i n i c i a l i z a n d o a I y a j d e n t r o d e l b u c l e . A l m i s m o

t i e m p o , e n l a s e c c i ó n d e i n c r e m e n t o , a u m e n t a m o s a i y d i s m i n u i m o s e l

v a l o r a j . E s t o e s c o m p l e t a m e n t e v a l i d o .

B u c l e I n f i n i t o . - E s a q u e l q u e n o t i e n e f i n . E n e s t e t i p o d e c i c l o s , n o

n e c e s i t a m o s e s p e c i f i c a r n i n g u n a d e l a s t r e s p r o p o s i c i o n e s q u e c o n s t i t u y e n

a l a s e n t e n c i a f o r , e j e m p l o :

F o r ( ; ; ) p r i n t f ( “ B u c l e i n f i n i t o ” ) ;

O b a s t a d e j a r l a d e l a c o n d i c i ó n v a c i a c o m o s e m u e s t r a a c o n t i n u a c i ó n :

F o r ( x = 0 ; ; x + + ) p r i n t f ( “ B u c l e i n f i n i t o ” ) ;

L a f o r m a d e r o m p e r u n b u c l e i n f i n i t o e s m e d i a n t e l a s e n t e n c i a b r e a k .

C u a n d o s e e n c u e n t r a e s t a p r o p o s i c i ó n d e n t r o d e u n c i c l o , t r u n c a e l b u c l e

y s e p r o c e d e a e j e c u t a r e l c ó d i g o q u e s e e n c u e n t r a i n m e d i a t a m e n t e

d e s p u é s d e é l .

M a i n ( )

{

F o r ( ; ; )

{

P r i n t f ( “ n u m e r o : ” ) ;

S c a n f ( “ % d ” , & x ) ;

I f ( x = = 9 ) b r e a k ;

}

P r i n t f ( “ t e c l e a s t e % d n u m e r o u s a n t e s d e r o m p e r e l c i c l o ” , x ) ;

}

E l b u c l e a n t e r i o r s e r e p i t e h a s t a q u e s e t e c l e a e l n u m e r o 9 y d e s p u é s s e

i m p r i m e e n p a n t a l l a l a c a n t i d a d d e v e c e s q u e s e p u l s o u n n u m e r o a n t e s d e

r o m p e r e l c i c l o .

B u c l e s i n c u e r p o . - S e g ú n l a s i n t a x i s d e C , e x i s t e n l a s s e n t e n c i a s v a c í a s ,

p o r t a n t o , s e p u e d e t e n e r u n b u c l e f o r o c u a l q u i e r o t r o , q u e n o t e n g a

2 6

c u e r p o . E s t e t i p o d e c i c l o s s e u s a n r e g u l a r m e n t e p a r a r e t a r d a r l a

e j e c u c i ó n d e l p r o g r a m a .

I V . D E S A R R O L L O

E L A L U M N O S E G U I R A L A S E C U E N C I A I N D I C A D A , D E S C R I B I E N D O E N C A D A

I N C I S O L O S P A S O S Q U E S I G A :

1 . - T r a b a j e c o n l a c o m p u t a d o r a . B u s q u e l a s a y u d a s r e l a c i o n a d a s a f o r .

2 . - T e c l e e e l s i g u i e n t e p r o g r a m a

# i n c l u d e < s t d i o . h >

# i n c l u d e < m a t h . h >

# i n c l u d e < c o n i o . h >

f l o a t f u n c i o n f ( f l o a t * f x ) ;

/ * D e s p u é s d e d e c l a r a r l a s l i b r e r í a s , s e d e c l a r a n l a s f u n c i o n e s j u n t o c o n e l

a r g u m e n t o d e c a d a f u n c i ó n , q u e e n e s t e c a s o v a n h a c e r l o s a p u n t a d o r e s

h a c i a d o n d e s e d i r i g e e l c o n t e n i d o d e l a s v a r i a b l e s * /

f l o a t f u n c i o n g ( f l o a t * g x ) ;

f l o a t f u n c i o n z ( f l o a t * z x ) ;

v o i d m a i n ( v o i d )

{

f l o a t k , f u n 1 , f u n 2 , f u n 3 ;

/ * d e c l a r a m o s v a r i a b l e s g l o b a l e s * /

p r i n t f ( " \ t L o s d a t o s o b t e n i d o s

s o n l o s s i g u i e n t e s : \ t \ n " ) ;

p r i n t f ( " \ t f ( x ) g ( x ) z ( x ) \ t \ n " ) ;

2 7

f o r ( k = 0 ; k < 3 . 5 ; k = k + 0 . 2 )

{

f u n 1 = f u n c i o n f ( & k ) ; / * E n e s t a p a r t e d e l p r o g r a m a s e e s t á n l l a m a n d o a

l a s f u n c i o n e s e n e l c u a l e l a r g u m e n t o d e c a d a u n a d e e l l a s e s e l c o n t e n i d o

d e l a d i r e c c i ó n d e l a v a r i a b l e d o n d e e s t a m o s i n t r o d u c i e n d o l a

i n f o r m a c i ó n , e l r e t o r n o d e l o s d a t o s d e c a d a f u n c i ó n s e a l m a c e n a r a e n l a

v a r i a b l e c o r r e s p o n d i e n t e * /

f u n 2 = f u n c i o n g ( & k ) ;

f u n 3 = f u n c i o n z ( & k ) ;

p r i n t f ( " f u n 1 ( % . 3 f ) = % . 3 f \ t " , k , f u n 1 ) ; / * E n e s t a p a r t e s e i m p r i m e n l o s

r e s u l t a d o s f i n a l e s c o n t r e s d e c i m a l e s * /

p r i n t f ( " f u n 2 ( % . 3 f ) = % . 3 f \ t " , k , f u n 2 ) ;

p r i n t f ( " f u n 3 ( % . 3 f ) = % . 3 f \ t " , k , f u n 3 ) ;

p r i n t f ( " \ n " ) ;

}

g e t c h ( ) ;

}

/ * A p a r t i r d e e s t e m o m e n t o s e e m p i e z a n a c r e a r c a d a u n a d e l a s

f u n c i o n e s a n t e s d e c l a r a d a s * /

f l o a t f u n c i o n f ( f l o a t * f x )

{

f l o a t a ;

a = 3 * ( e x p ( * f x ) ) - 2 * * f x ;

2 8

r e t u r n a ; / * a q u í r e g r e s a r e m o s e l r e s u l t a d o d e l a e c u a c i ó n * /

}

f l o a t f u n c i o n g ( f l o a t * g x )

{

f l o a t b ;

b = - * g x * s i n ( * g x ) + 1 . 5 ;

r e t u r n b ; / * a q u í r e g r e s a r e m o s e l r e s u l t a d o d e l a e c u a c i ó n * /

}

f l o a t f u n c i o n z ( f l o a t * z x )

{

f l o a t c ;

c = ( * z x ) * ( * z x ) * ( * z x ) - 2 * ( * z x ) + 1 ;

r e t u r n c ; / * a q u í r e g r e s a r e m o s e l r e s u l t a d o d e l a e c u a c i ó n * /

}

/ * f i n d e l p r o g r a m a * /

M A T E R I A L Y E Q U I P O

E q u i p o d e c o m p u t o - O b s e r v a c i o n e s .

C P U :

M O N I T O R :

T E C L A D O :

V . C U E S T I O N A R I O ( T R A B A J O C O M P L E M E N T A R I O )

2 9

1 . D a d o e l p r o g r a m a a n t e r i o r , a d e m á s d e e d i t a r l o , d e b e g u a r d a r l o ,

c o m p i l a r l o y e j e c u t a r l o . D e s c r i b a :

a ) l o s e r r o r e s q u e o b t u v o ( e n c a s o d e h a b e r l o s ) .

b ) e l d e s p l e g a d o o b t e n i d o .

2 . M a r q u e e n e l p r o g r a m a d o n d e c o m i e n z a y d o n d e t e r m i n a n l a s

e s t r u c t u r a s d e c o n t r o l .

3 . ¿ C u á l e s l a f u n c i o n a l i d a d d e l a e s t r u c t u r a f o r ? H a g a u n a c o m p a r a c i ó n

e n t r e e s t a y l a s e s t r u c t u r a s a n t e r i o r e s y d i g a c u á l d e e l l a s s e p a r e c e m á s . }

4 . ¿ Q u e p a s a s i s e p o n e c o m o d a t o e n n u m = 0 ?

5 . ¿ Q u é p a s a r í a s i s e q u i t a d e l a l í n e a d e f o r l a s e n t e n c i a d e

i n i c i a l i z a c i ó n ?

V I . C O N C L U S I O N E S Y O B S E R V A C I O N E S

3 0

P R A C T I C A 6

E S T R U C T U R A S C O N F U N C I O N E S Y A P U N T A D O R E S

I . O B J E T I V O

A l t é r m i n o d e l a p r á c t i c a e l a l u m n o p o d r á m a n e j a r l a s e s t r u c t u r a s

d e c o n t r o l b r e a k y c o n t i n u e , c o n o c e r á s u u s o p a r a r o m p e r c i c l o s

( b u c l e s ) .

I I . M A T E R I A L Y E Q U I P O

a ) E q u i p o d e c o m p u t o

C P U M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S . _ _ _ _ _ _ _ _ _

M o n i t o r M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S _ _ _ _ _ _ _ _ _ _

T e c l a d o M a r c a _ _ _ _ _ _ _ _ _ _ _ M o d _ _ _ _ _ _ _ _ _ N . S _ _ _ _ _ _ _ _ _ _

I I I . I N T R O D U C C I O N T E O R I C A

E n l a p r e s e n t e p r á c t i c a h a b l a r e m o s d e l a s e n t e n c i a d e c o n t r o l b r e a k y

c o n t i n u e .

L a s e n t e n c i a b r e a k t i e n e d o s u s o s :

1 ) P a r a d e t e r m i n a r e l f i n a l d e u n c a s e e n u n a s e n t e n c i a s w i t c h , ( q u e

v i m o s e n u n a p r á c t i c a a n t e r i o r ) y

2 ) T e r m i n a r l a e j e c u c i ó n d e u n b u c l e y s a l t a r a l a e v a l u a c i ó n

c o n d i c i o n a l d e l c i c l o , s e p u e d e u t i l i z a r d e n t r o d e u n a s e n t e n c i a

w h i l e , d o - w h i l e o f o r .

V e a m o s e n q u e c o n s i s t e e l s e g u n d o u s o :

C u a n d o u t i l i z a m o s u n a s e n t e n c i a b r e a k d e n t r o d e u n b u c l e , e s t e s e

t e r m i n a i n m e d i a t a m e n t e y e l c o n t r o l d e l p r o g r a m a p a s a a l a l í n e a q u e

e s t a i n m e d i a t a m e n t e d e s p u é s d e l c i c l o .

L o s p r o g r a m a d o r e s l a u t i l i z a n c u a n d o n o s e s a t i s f a c e u n a c o n d i c i ó n

o b l i g a t o r i a e n l a e j e c u c i ó n d e u n p r o g r a m a , y a q u e d e t i e n e s u

e j e c u c i ó n y f o r z a e l r e g r e s o a l s i s t e m a o p e r a t i v o .

L a f u n c i ó n e x i t ( ) r e q u i e r e d e u n a r g u m e n t o e n t e r o y a q u e s e s u p o n e

q u e e s u n p r o c e s o d e a l t o n i v e l , e s t e s e r á c a p a z d e t e n e r a c c e s o a l

v a l o r c o n t e n i d o e n e l a r g u m e n t o . N o r m a l m e n t e s e u t i l i z a u n a r g u m e n t o

3 1

0 p a r a i n d i c a r d e q u é s e t r a t a d e u n a t e r m i n a c i ó n n o r m a l y o t r o s

a r g u m e n t o s p a r a i n d i c a r l o s .

f o r . E s l a e s t r u c t u r a d e c o n t r o l m á s u t i l i z a d a p a r a c r e a r b u c l e s e n C .

I n c l u y e u n a s e n t e n c i a i n i c i a l q u e e s p e c i f i c a e l v a l o r i n i c i a l d e u n

í n d i c e , o t r a e x p r e s i ó n q u e d e t e r m i n a c u a n d o s e c o n t i n u a o n o e l b u c l e

y u n a t e r c e r a e x p r e s i ó n q u e p e r m i t e q u e e l í n d i c e s e m o d i f i q u e a l f i n a l

d e c a d a p a s a d a .

E l f o r m a t o g e n e r a l p a r a i m p l e m e n t a r e l b u c l e f o r e s :

f o r ( i n i c i a l i z a c i ó n ; c o n d i c i ó n ; i n c r e m e n t ó ) s e n t e n c i a ;

I n i c i a l i z a c i ó n e s u n a s e n t e n c i a d e a s i g n a c i ó n q u e n o s s i r v e c o m o v a r i a b l e

d e c o n t r o l d e l b u c l e . C o n d i c i ó n e s u n a e x p r e s i ó n q u e n o s i n d i c a l a

c o n d i c i ó n q u e d e b e c u m p l i r s e p a r a q u e c o n t i n ú e e l b u c l e e i n c r e m e n t o

d e f i n e c o m o v a c a m b i a n d o e l v a l o r d e l a v a r i a b l e d e c o n t r o l c a d a v e z q u e

s e r e p i t e e l b u c l e . S e n t e n c i a e s e l c o n j u n t o d e p r o p o s i c i o n e s q u e s e v a n a

r e a l i z a r e n c a d a u n o d e l o s b u c l e s .

U n a d e l a s p r i n c i p a l e s c a r a c t e r í s t i c a s d e l f o r e s q u e l a c o n d i c i ó n s e e v a l ú a

a l p r i n c i p i o d e l c i c l o . P o r e s t o , e l c ó d i g o d e n t r o d e l b u c l e n o s e r á

e j e c u t a d o s i l a c o n d i c i ó n e s f a l s a a l c o m i e n z o .

M a i n ( )

{

F o r ( ; ; )

{

P r i n t f ( “ n u m e r o : ” ) ;

S c a n f ( “ % d ” , & x ) ;

I f ( x = = 9 ) b r e a k ;

}

P r i n t f ( “ t e c l e a s t e % d n u m e r o u s a n t e s d e r o m p e r e l c i c l o ” , x ) ;

}

E l b u c l e a n t e r i o r s e r e p i t e h a s t a q u e s e t e c l e a e l n u m e r o 9 y d e s p u é s s e

i m p r i m e e n p a n t a l l a l a c a n t i d a d d e v e c e s q u e s e p u l s o u n n u m e r o a n t e s d e

r o m p e r e l c i c l o .

3 2

B u c l e s i n c u e r p o . - S e g ú n l a s i n t a x i s d e C , e x i s t e n l a s s e n t e n c i a s v a c í a s ,

p o r t a n t o , s e p u e d e t e n e r u n b u c l e f o r o c u a l q u i e r o t r o , q u e n o t e n g a

c u e r p o . E s t e t i p o d e c i c l o s s e u s a n r e g u l a r m e n t e p a r a r e t a r d a r l a

e j e c u c i ó n d e l p r o g r a m a .

I V . D E S A R R O L L O

E L A L U M N O S E G U I R A L A S E C U E N C I A I N D I C A D A , D E S C R I B I E N D O E N C A D A

I N C I S O L O S P A S O S Q U E S I G A :

1 . - T r a b a j e c o n l a c o m p u t a d o r a . B u s q u e l a s a y u d a s r e l a c i o n a d a s p a r a

c o n t i n u e y b r e a k .

2 . - T e c l e e e l s i g u i e n t e p r o g r a m a

# i n c l u d e < s t d i o . h >

# i n c l u d e < m a t h . h >

# i n c l u d e < c o n i o . h >

f l o a t f u n c i o n f ( f l o a t * f x ) ;

/ * D e s p u e s d e d e c l a r a r l a s l i b r e r i a s , s e d e c l a r a n l a s f u n c i o n e s j u n t o

c o n e l a r g u m e n t o d e c a d a

f u n c i ó n , q u e e n e s t e c a s o v a n h a c e r l o s a p u n t a d o r e s

h a c i a

d o n d e s e d i r i g e e l c o n t e n i d o d e l a s v a r i a b l e s * /

f l o a t f u n c i o n g ( f l o a t * g x ) ;

f l o a t f u n c i o n z ( f l o a t * z x ) ;

v o i d m a i n ( v o i d )

{

3 3

f l o a t k , f u n 1 , f u n 2 , f u n 3 ;

/ * d e c l a r a m o s v a r i a b l e s g l o b a l e s * /

p r i n t f ( " \ t L o s d a t o s o b t e n i d o s

s o n l o s s i g u i e n t e s : \ t \ n " ) ;

p r i n t f ( " \ t f ( x ) g ( x ) z ( x ) \ t \ n " ) ;

f o r ( k = 0 ; k < 3 . 5 ; k = k + 0 . 2 )

{

f u n 1 = f u n c i o n f ( & k ) ;

/ * E n e s t a p a r t e d e l p r o g r a m a s e e s t á n l l a m a n d o a l a s f u n c i o n e s e n e l c u a l

e l a r g u m e n t o d e c a d a u n a d e e l l a s e s e l c o n t e n i d o d e l a d i r e c c i ó n d e l a

v a r i a b l e d o n d e e s t a m o s i n t r o d u c i e n d o l a i n f o r m a c i ó n , e l r e t o r n o d e l o s

d a t o s d e c a d a f u n c i ó n s e a l m a c e n a r a e n l a v a r i a b l e c o r r e s p o n d i e n t e * /

f u n 2 = f u n c i o n g ( & k ) ;

f u n 3 = f u n c i o n z ( & k ) ;

p r i n t f ( " f u n 1 ( % . 3 f ) = % . 3 f \ t " , k , f u n 1 ) ; / * E n e s t a p a r t e s e i m p r i m e n l o s

r e s u l t a d o s f i n a l e s c o n t r e s d e c i m a l e s * /

p r i n t f ( " f u n 2 ( % . 3 f ) = % . 3 f \ t " , k , f u n 2 ) ;

p r i n t f ( " f u n 3 ( % . 3 f ) = % . 3 f \ t " , k , f u n 3 ) ;

p r i n t f ( " \ n " ) ;

}

g e t c h ( ) ;

}

3 4

/ * A p a r t i r d e e s t e m o m e n t o s e e m p i e z a n a c r e a r c a d a u n a d e l a s

f u n c i o n e s a n t e s d e c l a r a d a s * /

f l o a t f u n c i o n f ( f l o a t * f x )

{

f l o a t a ;

a = 3 * ( e x p ( * f x ) ) - 2 * * f x ;

r e t u r n a ; / * a q u í r e g r e s a r e m o s e l r e s u l t a d o d e l a e c u a c i ó n * /

}

f l o a t f u n c i o n g ( f l o a t * g x )

{

f l o a t b ;

b = - * g x * s i n ( * g x ) + 1 . 5 ;

r e t u r n b ; / * a q u í r e g r e s a r e m o s e l r e s u l t a d o d e l a e c u a c i ó n * /

}

f l o a t f u n c i o n z ( f l o a t * z x )

{

f l o a t c ;

c = ( * z x ) * ( * z x ) * ( * z x ) - 2 * ( * z x ) + 1 ;

r e t u r n c ; / * a q u í r e g r e s a r e m o s e l r e s u l t a d o d e l a e c u a c i ó n * /

}

/ * f i n d e l p r o g r a m a * /

3 5

M A T E R I A L Y E Q U I P O

E q u i p o d e c o m p u t o - O b s e r v a c i o n e s .

C P U :

M O N I T O R :

T E C L A D O :

V . C U E S T I O N A R I O ( T R A B A J O C O M P L E M E N T A R I O )

1 . D a d o e l p r o g r a m a a n t e r i o r , a d e m á s d e e d i t a r l o , d e b e g u a r d a r l o ,

c o m p i l a r l o y e j e c u t a r l o . D e s c r i b a :

a ) l o s e r r o r e s q u e o b t u v o ( e n c a s o d e h a b e r l o s ) .

b ) e l d e s p l e g a d o o b t e n i d o .

2 . M a r q u e e n e l p r o g r a m a d o n d e c o m i e n z a y d o n d e t e r m i n a n l a s

e s t r u c t u r a s d e c o n t r o l .

3 . ¿ C u á l e s l a f u n c i o n a l i d a d d e l a e s t r u c t u r a c o n t i n u e y d e b r e a k ?

4 . ¿ D e s p u e s q u e e l p r o g r a m a h a y a c o r r i d o p ó n g a l e u n l e t r e r o q u e d i g a

c u a n d o e l u s u a r i o q u i e r a s a c a r p r o m e d i o d e n ú m e r o s n e g a t i v o s ?

V I . C O N C L U S I O N E S Y O B S E R V A C I O N E S