Nota: 100 UNIVERSIDAD DE COSTA RICA ESCUELA DE INGENIERÍA ELÉCTRICA PROGRAMACIÓN BAJO PLATAFORMAS ABIERTAS IE-0117 Francisco Molina Castro - B14194 LABORATORIO 13 - I CICLO 2012 Introduccion a C 1. Escriba un programa que solicite al usuario las coordenadas x y y de dos puntos y calcule, a partir de esta información, la pendiente y el punto de intersección con el eje y de la recta que pasa por estos puntos. El programa ejemplo sería: # include < s t d i o . h> i n t main ( ) { f l o a t x1 , x2 , y1 , y2 , pend , b ; p r i n t f ( " Escriba l a s c a n f ( " %f " , &x1 ) ; p r i n t f ( " Escriba l a s c a n f ( " %f " , &x2 ) ; p r i n t f ( " Escriba l a s c a n f ( " %f " , &y1 ) ; p r i n t f ( " Escriba l a s c a n f ( " %f " , &y2 ) ; coordenada x1 : " ) ; coordenada x2 : " ) ; coordenada y1 : " ) ; coordenada y2 : " ) ; pend =( y2−y1 ) / ( x2−x1 ) ; p r i n t f ( " La p e n d i e n t e es : %f \ n " , pend ) ; b= y1 −(pend∗x1 ) ; p r i n t f ( " La i n t e r s e c c i o n es : %f \ n " , b ) ; return 0; } Este nos da algunos resultados como: 1 UNIVERSIDAD DE COSTA RICA ESCUELA DE INGENIERÍA ELÉCTRICA PROGRAMACIÓN BAJO PLATAFORMAS ABIERTAS IE-0117 Francisco Molina Castro - B14194 LABORATORIO 13 - I CICLO 2012 2. Modifique el programa anterior, de forma que el cálculo de la pendiente y la intersección sea realizado por dos funciones independientes. El programa ejemplo sería: # include < s t d i o . h> f l o a t pende ( f l o a t x1 , f l o a t y1 , f l o a t x2 , f l o a t y2 ) { r e t u r n ( y2−y1 ) / ( x2−x1 ) ; } f l o a t i n t e r ( f l o a t x1 , f l o a t y1 , f l o a t pend ) { float b; b= y1 −(pend∗x1 ) ; return b ; } i n t main ( ) { f l o a t x1 , x2 , y1 , y2 , pend , b ; p r i n t f ( " Escriba l a s c a n f ( " %f " , &x1 ) ; p r i n t f ( " Escriba l a s c a n f ( " %f " , &y1 ) ; p r i n t f ( " Escriba l a s c a n f ( " %f " , &x2 ) ; p r i n t f ( " Escriba l a s c a n f ( " %f " , &y2 ) ; coordenada x1 : " ) ; coordenada y1 : " ) ; coordenada x2 : " ) ; coordenada y2 : " ) ; pend=pende ( x1 , y1 , x2 , y2 ) ; p r i n t f ( " La p e n d i e n t e es : %f \ n " , pend ) ; b= i n t e r ( x1 , y1 , pend ) ; p r i n t f ( " La i n t e r s e c c i o n es : %f \ n " , b ) ; return 0; } Este nos da algunos resultados como: 2 UNIVERSIDAD DE COSTA RICA ESCUELA DE INGENIERÍA ELÉCTRICA PROGRAMACIÓN BAJO PLATAFORMAS ABIERTAS IE-0117 Francisco Molina Castro - B14194 LABORATORIO 13 - I CICLO 2012 3. Escriba un programa que solicite al usuario un número e imprima todos los divisores de este número. El programa debe continuar realizando esta operación hasta que el usuario introduzca un cero. El programa ejemplo sería: # include < s t d i o . h> i n t main ( ) { i n t num , d i v ; p r i n t f ( " E s c r i b a e l num : " ) ; s c a n f ( " %d " , &num ) ; p r i n t f ( " Los d i v i s o r e s son : \ n " ) ; p r i n t f ( " %d \ n " , num ) ; d i v =num / 2 ; while ( d i v > 0 ) { i f (num % d i v == 0 ) p r i n t f ( " %d \ n " , d i v ) ; d i v −−; } } Este nos da algunos resultados como: 3 UNIVERSIDAD DE COSTA RICA ESCUELA DE INGENIERÍA ELÉCTRICA PROGRAMACIÓN BAJO PLATAFORMAS ABIERTAS IE-0117 Francisco Molina Castro - B14194 LABORATORIO 13 - I CICLO 2012 4. Escriba un programa que calcule el máximo común divisor (MCD) de dos números x y y. El programa ejemplo sería: # include < s t d i o . h> i n t mcd ( i n t x , i n t y ) { i f ( y ==0){ return x ; } else { mcd ( y , x %y ) ; } } i n t main ( ) { i n t x , y , max ; p r i n t f ( " E s c r i b a e l p r i m e r numero : " ) ; s c a n f ( " %d " , &x ) ; p r i n t f ( " E s c r i b a e l segundo numero : " ) ; s c a n f ( " %d " , &y ) ; i f ( x>y ) { max=mcd ( x , y ) ; } else { max=mcd ( y , x ) ; } p r i n t f ( " E l mcd es : %d \ n " ,max ) ; return 0; } Este nos da algunos resultados como: 4