SlideShare una empresa de Scribd logo
1 de 65
Descargar para leer sin conexión
FUNCIONES
Sugerencias y herramientas para crear para crear y presentar diapositivas en
formato panorámico
Contenido
 Concepto de función              Funciones numéricas
 Estructura de una función        Funciones de fecha y hora
 Prototipos de funciones
                                  Funciones de utilidad
 Parámetros de una función
                                  Visibilidad de una función
                                      bld d d         f
 Funciones en línea: macros
                                  Compilación separada
 Ámbito (alcance)
 Clases d almacenamiento
 Cl      de l          i          Variable registro (register)
 Concepto y uso de funciones de   Recursividad
 biblioteca                       Resumen
 Funciones de carácter            Ejercicios
Introducción
 Una función es un mini programa dentro de un programa.
                         p g                    p g
 Las funciones contienen varias sentencias bajo un solo
 nombre, que un programa puede utilizar una o mas veces
 para ejecutar dichas sentencias
 Si se agrupan funciones en bibliotecas otros programas
 pueden utilizar las funciones, por esta razón se puede
 ahorrar tiempo de desarrollo. Y dado que las bibliotecas
 contienen rutinas presumiblemente comprobadas, se
 incrementa la f
               fiabilidad del programa completo
Concepto de función
 C fue diseñado como un lenguaje de programación
 estructurado, también llamado programación modular.
 El programa se divide en muchos módulos (rutinas
 pequeñas denominadas funciones) que aíslan mejor los
                         funciones),
 problemas y producen programas que son mucho mas
 fácil de mantener
 El medio para escribir un programa es escribir
 funciones independientes para cada tarea que haga el
 programa
Estructura de una función
 Una función es sencillamente, un conjunto de sentencias que
                                     j                   q
 se pueden llamar desde cualquier parte de un programa.
 Las funciones en C no se pueden anidar. Esto significa que
 una f
     función no se puede declarar dentro de otra ffunción. La
 razón para esto es permitir un acceso muy eficiente a los
 datos
 En C todas las funciones son externas o globales, es decir
 p
 pueden ser llamadas desde cualquier punto del programa
                                 q     p        p g
Cont
Ejemplo
 int cuadrado(int n)                           float suma (int num_elementos)
 {                                             {
  int cuadrado=0, q=0;
                                               int indice;
  while (q <= 1000) /*el cuadrado ha de ser
 menor de 1000 */                              float total = 0.0;
 {                                             printf("n t Introduce %d números
  q = n*n;                                     realesn",num_elementos);
  printf("E1 cuadrado de: %d es %d n",n,q);   for (indice = 0; indice < num_elementos;
  n++ ;
   ++                                          indice++)
                                               i di ++)
 }                                             {
  return 0;                                    float x;
 }
                                                   scanf("%f",&x);
                                                         " "
                                                   total+=x;
                                               }
Cont
 Nombre de una función; un nombre de una función
 comienza con una letra o subrayado(_) y puede
 contener tantas letras números o subrayados como
                 letras,
 desee
Cont
 Tipo de dato de retorno.- si la función no devuelve un
 valor int, se debe especificar el tipo de dato devuelto
 por la función; cuando devuelve un valor int, se puede
 omitir ya que C asume que todas las funciones son
 enteras. El tipo debe ser uno de los tipos simples de C,
 tales como int, char o float, o un tipo struct
Cont
 Muchas funciones no devuelven resultados. La razón
 es que se utilizan como subrutinas para realizar una
 tarea concreta Una función que no devuelve
         concreta.
 resultados, a veces se denomina procedimiento.
 Para indicar al compilador que una función no
 devuelve resultados, se utiliza el tipo de retorno
 void
Cont
 Resultado de una función.- una función puede devolver un único
 valor. El resultado se muestra con una sentencia return cuya sintaxis
    l          l d                             i               i    i
 es;
   Return(expresion)
   Return;
 El valor devuelto (expresión) puede ser cualquier tipo de dato
 excepto una función o un array
      p                        y
 Si el tipo de retorno es void, la sentencia return se puede escribir
 como return; sin ninguna expresión de retorno, o bien de modo
 alternativo se puede omitir la sentencia return
Cont
 Llamada a una función; las
 funciones, para poder ser
 ejecutadas, han de ser
 llamadas    o     invocadas.
                   invocadas
 Cualquier expresión puede
 contener una llamada o una
 función
 f ió que redirija el control
              di ij l       l
 del programa a la función
 nombrada
Ejemplo
 #include <stdio.h>           return ;
 #include <stdlib.h>          }
 void func1 (void)            int main()
 {
                              {
 puts ("Segunda función") ;
                               puts("Primera función llamada main()");
 return;
                               func1(); /* Segunda función llamada */
 }
 void func2 (void)
                               func2(); /* Tercera función llamada */
                                     (); /                           /
 {                             puts ("main se termina") ;
 puts ("Tercera función") ;   system("PAUSE");
 return ;                     return 0; /* Devuelve control al sistema */
                                        ;/                              /
 }                            }
Ejemplo
 #include <stdio.h>      int main()
                         {
 #include <stdlib.h>
                         int m, n;
 int max(int x, int y)   do {
 {                       scanf ("%d %d", &m &n) ;
                                ( %d %d &m,
                         printf("Maximo de %d,%d es %dn",m,n,max(m,
 if (x < y)              n)); /*llamada a max*/
 return y;               }
                         while (m != 0) ;
 else                    system("PAUSE");
 return x;               return 0;
 }                       }
Ejemplo
 #include <stdio.h>    int main()
                       {
 #include <stdlib.h>   double num1, num2, med;
                       printf("introducir dos números reales:");
 double media(double   scanf ("%lf %lf",&num1,&num2) ;
 x1, double x2)        med = media(num1, num2);
 {                     printf ("El valor medio es %.4lf n", med) ;
                       system("PAUSE");
  return(x1 + x2)/2;   return 0;
                       }
 }
Prototipos de funciones
 La declaración de una función se denomina
 prototipo. Los prototipos de una función contienen la
 cabecera de la función con la diferencia de que los
                   función,
 prototipos terminan con un punto y coma.
 Los
 L prototipos d l ll
         t ti     de las llamadas en un programa se
                              d
 incluyen en la cabecera del programa para que así
 sean reconocidas en todo el programa
               id         d l
Sintaxis



 Cua do u a e dad
 Cuando una entidad se declara, se proporciona un nombre y se
                              dec a a,     p opo c o a u o b e
 listan sus características. Una definición indica que existe un lugar en
 un programa donde existe realmente la entidad definida, mientras
 que una declaración es solo una indicación de que algo existe en
 alguna posición
Ejemplo
 #include <stdio.h>
 #include <stdlib.h>          /* prototipos válidos */            /* devuelve número positivo */

 float area_rectangulo(float b, float a);/* declaración */        float entrada ()

 float entrada(); /* prototipo o declaración */                   {

 int main ()                                                      float m;

 {                                                                do {

 float b, h;                                                      scanf ("%f" & ) ;
                                                                      f ("%f", &m)

 printf ("n Base del rectangulo: " ) ;                           } while (m<=0.0) ;

 b = entrada() ;                                                  return m;

 printf ("n Altura del rectangulo: " ) ;                         }

 h = entrada() ;                                                  /
                                                                  /* calcula el area de un rectángulo */
                                                                                                 g     /

 printf("n Area del rectangulo: %.2fn",area_rectangulo(b,h));   float area_rectangulo(float b, float a)

 system("PAUSE");                                                 {

 return 0;                                                        return (b*a);

 }                                                                }
Declaración de una función
 Antes de que una función pueda ser invocada, debe ser
 declarada
 Una declaración de una función contiene solo la
 cabecera d l f ió (ll
   b      de la función (llamado t bié prototipo)
                              d también     t ti )
   Tipo resultado nombre (tipo1 param1, tipo2 param2,…);
 Los nombres de los parámetros se pueden omitir
   Char* copiar (char*,int);
   Char* copiar (char* buffer, int n);
           p (               ,      );
Prototipos con un numero no especificado
de parámetros
 Un formato especial de prototipo es aquel que tiene un
              p          p     p       q q
 numero no especificado de argumentos, que se
 representa por puntos suspensivos (…)
   Int muestras (int a,….);
   Int printf (const char *formato,…)
 Para implementar una función con lista variable de
 parámetros es necesario utilizar macros que están
 definidas
 d fi id en el archivo d cabecera < td
             l    hi de b         <stdarg.h>
                                          h>
Ejemplo
 #include <stdio.h>
 #include <stdlib.h>                                               double mx,actual;

 #include <stdarg.h>                                               va_list puntero;

 void maximo(int n, ... ) ;                                        int i;

 int main (void)                                                   va_start(puntero,n);

 {                                                                 mx = actual = va_arg(puntero,double);

 puts("ttPRIMERA BUSQUEDA DEL MAXIMOn");                        printf("ttArgumento actual: %.2lfn",actual);

 maximo(6,3.0,4.0,-12.5,1.2,4.5,6.4);                              for (i=2; i<=n; i++)

 puts ("nttNUEVA BUSQUEDA DEL MAXIMOn") ;                      {

 maximo(4,5.4,17.8,5.9,-17.99);                                    actual = va_arg(puntero,double);

 system("PAUSE");                                                  printf("ttArgumento actual: %.2lfn",actual);

 return 0;                                                         if (actual > mx)

 }                                                                 {

 void maximo(int n, ... )                                                   mx = actual;

 {                                                                 }

 printf("ttMáximo de la lista de %d números es %.2lfn",n,mx);   }

 va_end(puntero);                                                  printf("ttMáximo de la lista de %d números es %.2lfn",n,mx);

 }                                                                 va_end(puntero);
                                                                   }
Parámetros de una función
 C siempre utiliza el método de parámetros por valor para
        p                        p           p        p
 pasar variables a funciones. Para que una función devuelva
 un valor a través de un argumento hay que pasar la
 dirección de la variable y que el argumento
 correspondiente de la función sea un puntero, es la forma
 de conseguir en C un paso de parámetro por referencia
          g           p        p         p
 El método por defecto de pasar parámetros es por valor, a
 menos que se pasen arrays. Los arrays se pasan siempre
 por dirección
Paso de parámetros
 Por valor
   Paso por valor (también llamado paso por copia significa que
   cuando C compila la función y el código que llama a la función,
   la función recibe una copia de los valores de los parámetros
 Por referencia
   Cuando una función debe modificar el valor del parámetro
   pasado y devolver este valor modificando a la función
   llamadora, se ha de utilizar el método de paso de parámetro
   por referencia o dirección
Ejemplo
 /*Muestra el paso de parámetros por valor
                                                     DemoLocal(n);
 Se puede cambiar la variable del parámetro en
     p ede              ariable
 la función                                          printf("Despues de llamada a DemoLocal, n = %dn",n);
                                                     system("PAUSE");
 pero su modificación no puede salir al exterior*/
                                                     return 0;
 #include <stdio.h>
                                                     }
 #include <stdlib.h>
                                                     void DemoLocal(int valor)
 void DemoLocal(int valor);                          {
 int main ()                                         printf ( "Dentro de DemoLocal, valor = %dn" , valor) ;
 {                                                   valor = 999;
 int n = 10;                                         printf ("Dentro de DemoLocal, valor = %dn" , valor) ;
 printf("Antes de llamar a DemoLocal, n =            }
 %dn",n);
Diferencias entre paso de variables por
valor y por referencia
 Las reglas que se han de seguir cuando se transmiten variable por
 valor y por referencia son l siguientes;
   l           f     i      las i i
   Los parámetros valor reciben copias de los valores de los argumentos
   que se les pasan
   La asignación a parámetros valor de una función nunca cambian el valor
   del argumento original pasado a los parámetros
   Los parámetros para el paso por referencia (declarados con *,
   punteros) reciben l di
            )   ib la dirección d l argumentos pasados; a estos l
                              ió de los                   d           les
   debe de preceder el operador &, excepto los arrays;
   En una función, las asignaciones a parámetros referencia (punteros)
   cambia los valores de los argumentos originales
Parámetro const de una función
 Con el objetivo de añadir seguridad adicional a las
 funciones se puede añadir a una descripción de un
 parámetro el especificador const que indica al
                                const,
 compilador que solo es de lectura en el interior de
 la función Si se intenta escribir en este parámetro
    función.
 se producirá un mensaje de error de compilación
Funciones en línea, Macros con argumento
             línea
 Las funciones en línea sirven para aumentar la
 velocidad de su programa. Su uso es conveniente
 cuando la función es una expresión, su código es
 pequeño y se utiliza muchas veces en el programa
 Para una macro con argumentos (funciones en línea), el
 compilador inserta realmente el código en el punto en
     p                                g        p
 que se llama, esta acción hace que el programa se
 ejecute mas rápidamente, ya que no ah de ejecutar el
 código asociado con la llamada a la función
sintaxis
 #define NombreMacro (parámetros sin tipos)
 expresion_texto
 Regla; la definición de una macro solo puede ocupar una
 línea.
 línea Se puede prolongar la línea con el carácter  al final
 de la línea
Ejemplo
 #include <stdio.h>
 #include <stdlib.h>
 #define Pi 3.141592
 #define VOLCONO(radio,altura) ((Pi*(radio*radio)*altura)/3.0)
 int main()
 {
 float radio, altura, volumen;
 printf ("nIntroduzca radio del cono: " ) ;
 scanf ( "%f", &radio) ;
 printf ("Introduzca altura del cono: " ) ;
 scanf ("%f",&altura);
       ( %f &altura);
 volumen = VOLCONO(radio, altura);
 printf("nEl volumen del cono es: %.2fn",volumen);
 system("PAUSE");
 return 0;
 }
Ámbito (alcance)
 El ámbito o alcance de una variable determina cuales
 son las funciones que reconocen ciertas variables. Si una
 función reconoce una variable, la variable es visible en
 esa ffunción. El ámbito es la zona de un programa en la
 que es visible una variable. Existen cuatro tipos de
 ámbitos: programa archivo fuente función y bloque Se
           programa,           fuente,        bloque.
 puede designar una variable para que este asociada a
 uno de estos ámbitos.
Ámbito del programa
 Las variables que tienen ámbito de programa pueden ser
 referenciadas por cualquier f ió en el programa completo; tales
    f     i d         l i función        l              l      l
 variables se llaman variable globales. Para hacer una variable
 global, declárela simplemente al principio de un programa, fuera
 de cualquier función
 Int g,h;
 Main()()
 {
 ..
 }
Ámbito del archivo fuente
 Una variable que se declara fuera de cualquier función y cuya
 declaración contiene l palabra reservada static tiene á bi d
 d l       ió      i    la  l b          d       i i     ámbito de
 archivo fuente. La variables con este ámbito se pueden referenciar
 desde el punto del programa en que están declaradas hasta el
 final del archivo fuente
 Static int i;
 Void func (void)
             (   )
 {
 …
 }
Ámbito de una función
 Una variable que tiene ámbito de una función se puede referenciar
 desde
 d d cualquier parte d l f ió L variables d l d
            l i           de la función. Las      i bl declaradas
 dentro del cuerpo de la función se dice que son locales a la función.
 Las variables locales no se pueden utilizar fuera del ámbito de la
 función en que están definidas
 Void calculo (void)
 {
 Double x,r,t; /*ámbito de la función*/
 …
 }
Ámbito de bloque
 Una variable declarada en un bloque tiene ámbito de bloque y puede ser
 referenciada en cualquier parte del bloque desde el punto en que esta declarada
                                     bloque,
 hasta el final del bloque. Las variables locales declaradas dentro de una función
 tienen ámbito de bloque de la función; no son visibles fuera del bloque
 Void func1 (int x)
             (    )
 {
 Int i;
 For(i x;
 For(i=x; i<x10; i++)
 Printf (“i=%dn”,i*i);
 }
Clases de almacenamiento
 Los especificadores de clases (tipos) de
 almacenamiento permiten modificar el ámbito de
 una variable Los especificadores pueden ser uno
     variable.
 de los siguientes auto, extern, register, static y
 typedef
Cont…
Cont
 Variables automáticas; las variables que se declaran dentro
 de una función se dice que son automáticas (auto),
 significando que se les asigna espacio en memoria
 automáticamente a la entrada de la función
 Variables externas; a veces se presenta el problema de que
 una función necesita utilizar una variable que otra función
 inicializa.
 inicializa Una solución es declarar la variable local con la
 palabra reservada extern. Cuando una variable se declara
 externa, se indica al compilador que el espacio de la
 variable esta d fi id en otro l
     i bl      definida         lugar
Cont..
Cont
 Variables de registro; otro tipo de variable C es la variable
 registro. Precediendo a la declaración de una variable con
 la palabra reservada register, se sugiere al compilador que
 la variable se almacene en uno de los registros hardware
                                             g
 del microprocesador
 Variables estáticas; las variables estáticas son opuestas en
 su significado a las variables automáticas Las variables
                                   automáticas.
 estáticas no se borran cuando la función termina y en
 consecuencia retienen sus valores entre llamadas a una
 función
 f ió
Ejemplo,
Ejemplo aplicación de una variable static
 #include <stdio.h>
 #include <stdlib.h>
 #incl de <stdlib h>                                 return 0;
 long int fibonacci ();                              }
 int main()                                          long int fibonacci ()
 {                                                   {
 int n,i;
                                                     static int x = 0;
 printf ("nCuantos numeros de fibonacci ? : " ) ;
 scanf ( "%d" , &n) ;                                static int y = 1;
 printf ("nSecuencia de fibonacci : 0,1n") ;       y=y+x;
 for (i=2; i<n; i++)                                 x = y - x;
 printf ("%ldn",fibonacci());                       return y;
 system("PAUSE");
          ("PAUSE")
                                                     }
Concepto y uso de funciones de biblioteca
 Todas las versiones de C ofrecen con una biblioteca
 estándar de fusiones que proporcionan soporte
 para operaciones utilizadas con mas frecuencia
 Las funciones estándar o predefinidas se dividen en
 grupos; t d
           todas llas f i
                      funciones que pertenecen al
                                         t          l
 mismo grupo se declaran en el mismo archivo de
 cabecera
   b
Cont..
Cont
 Los nombres de los archivos de cabecera estándar
 utilizados se muestran a continuación
Funciones de carácter
 El       archivo    de
 cabecera <CTYPE H>
    b        <CTYPE.H>
 define un grupo de
 funciones/macros de
       p
 manipulación        de
 caracteres
 Todas las funciones
 devuelven un resultado
 de valor verdadero
 (distinto de cero) o
 falso (cero)
Comprobación alfabética y de dígitos
Ejemplo
 /*solicita iniciales y comprueba que es alfabetica*/
 #include <stdio.h>
 #include <stdlib.h>
 #include <ctype.h>
 int main ()
 {
 char inicial;
 printf("¿Cuál es su primer carácter inicial?: " ) ;
 scanf ( "%c" , &inicial) ;
 while (!isalpha(inicial))
 {
 puts ("Carácter no alfabético ") ;
 printf ("¿Cuál es su siguiente inicial?: " ) ;
 scanf ("%c",&inicial) ;
 }
 puts ("!Terminado!");
 system("PAUSE");
 return 0;
 }
Funciones de prueba de caracteres especiales
Funciones de conversión de caracteres
 Existen funciones para cambiar        caracteres
 mayúsculas a minúsculas o viceversa
Ejemplo
 #include <stdio.h>
                                                    case 'V':
 #include <stdlib.h>
 #incl de <stdlib h>
                                                    puts ("Es un enfermero") ;
 #include <ctype.h>                                 break;
 int main()                                         case 'H':
 {                                                  puts ("Es una maestra ) ;
                                                         ( Es     maestra")
 char resp; /*respuesta del usuario */              break;
 char c;                                            default:
 printf ("¿Es un varón o una hembra (V/H)?: " ) ;   puts("No es ni enfermero ni maestra") ;
 scanf ("%c",&resp) ;                               break;
                                                    }
 resp=toupper(resp);
                                                    system("PAUSE");
 switch (resp)
                                                    return 0;
 {
                                                    }
Funciones numéricas
 Virtualmente cualquier operación aritmética es posible
                   q       p                    p
 en un programa C. las funciones matemáticas
 disponibles son las siguientes:
   Matemáticas
   Trigonométricas
   Logarítmicas
   Exponenciales
   Aleatorias
   Al     i
Funciones matemáticas
Funciones trigonométricas
Funciones logarítmicas y exponenciales
Funciones aleatorias
 Los números aleatorios son de gran utilidad en
 numerosas aplicaciones y requieren un trato
 especial en cualquier lenguaje de programación
                                       programación.
 Las funciones usuales de la biblioteca estándar C
 son; rand randon randomize y srand estas
        rand, randon,                      srand.estas
 sunciones se encuentran en el archivo stdlib.h
Funciones de fecha y hora
 Las funciones time,clock, _strdate y _strtime devuelven la
 hora actual como el numero de segundos transcurrido desde
 la medianoche del 1 de enero de 1970
 Clock (void); la función clock determina el tiempo de
 procesador
 Time(hora); obtiene la hora actual
 Local time (hora); convierte la fecha y hora en una
 estructura de tipo tm
 Mktime(t)
 Mkti (t) convierte l f h en f
                i t la fecha formato d calendario
                                        t de l d i
Ejemplo
 /*En este ejercicio se determind el tiempo del
 procesddor para                                           printf ( " Factorial de (3 <x< 15) : " ) ;
 calcular el factorial de un número requerido, entre 3 y   scanf ("%d",&x );
 15.*/
                                                           }while (x<=3 || x>=15);
 #include <time.h>
                                                           for (n=x,fact=1; x; x--)
 #include <stdio.h>
                                                           fact *=x;
                                                                 =x;
 #include <stdlib.h>
                                                           fin = clock() ;
 int main (void)
                                                           printf ("nF actorial de %d! = %ld",n,fact) ;
 {
                                                           printf("n Unidades de tiempo de proceso: %f,t En
 float inicio, fin;                                        segundos: %fn",
                                                                      %fn
 int n, x;                                                 (fin-inicio), (fin-inicio) /CLK_TCK);
 long int fact;                                            system("PAUSE");
 inicio = clock() ;                                        return 0;
 do {                                                      }
Funciones de utilidad
 Abs (n), labs(n); devuelve el valor absoluto de n
 Div(num,denom); calcula el cociente y el resto de num
 dividido por denom y almacena el resultado en quor y
 rem, miembros de int de la estructura div_t
 Ldiv(num,denom);
 Ldiv(num denom); calcula el cociente y el resto de num
 dividido por denom, y almacena los resultados en quot
 y rem miembros de long de la estructura ldiv t
                                            ldiv_t
Visibilidad de una función
 Existen dos tipos de clases de almacenamiento en C:
               p
 auto y static. Una variable auto es aquella que tiene
 una duración automática. No existe cuando el
 programa comienza la ejecución, se crea en algún
 punto durante la ejecución y desaparece antes que el
 programa termine la ejecución
 Una variable static es aquella que tiene una duración
 fija
Variables locales frente a variables globales
 Una variable local es una
 variable que se define
 dentro de una función
 Una variable global es
 U         i bl   l b l
 una variable que puede
 ser utilizada por todas
                p
 las funciones de un
 programa            dado,
 incluyendo main ()
Variables estáticas y automáticas
 Las variables locales se denominan variables
 automáticas (auto), significado que se pierde
 cuando termina la función Se puede utilizar auto
                     función.
 para declarar una variable
 Las
 L variables estáticas ( t ti ) mantienen su valor
        i bl     táti     (static)   ti        l
 después de que la función se a terminado
Resumen
 Como regla general, son preferibles las variables
           g g          ,      p
 locales a las globales. Si realmente es necesario o
 deseable que alguna variable sea global, es preferible
 hacerla estática, lo que significa que será <<local>>
                                f
 en relación al archivo en que esta definida
 Se
 S puede h
         d hacer una f ió i i ibl f
                          función invisible fuera d un
                                                  de
 archivo fuente utilizando la palabra reservada static
 con la cabecera y el prototipo de la función
Compilación separada
 Los programas grandes
 son mas fá il fáciles d de
 gestionar si se dividen en
 varios archivos fuente,
 también          llamados
 módulos, cada uno de los
 cuales puede contener
 una o mas funciones Estos
            funciones.
 módulos se compilan y
 enlazan posteriormente
 con un enlazador
Variables registro (register)
 Una variable registro(register) es similar a una variable
 local, pero en lugar de ser almacenada en la pila, se
 almacena directamente en un registro del procesador.
                                  g          p
 para declarar una variable registro, se hace preceder
 la misma con la palabra reservada register;
 La ventaja de las variables registro es su mayor
 rapidez de manipulación
Recursividad
 La función recursiva es una función que se llama así
 misma. La recursividad o recursión directa es el
 proceso por el que una función se llama así misma
 desde el propio cuerpo de la función. La
 recursividad o recursión directa implica mas de una
 función
Ejemplo
 printf ( "El numero %d es impar. " , n) ;
 system("PAUSE");                            printf ( "El numero %d es impar. " , n) ;

 return 0;                                   system("PAUSE");

 }                                           return 0;

 int par(int n)                              }

 {                                           int par(int n)

 if (n == 0)                                 {

 return 1; /* es par */                      if (n == 0)

 else                                        return 1; /* es par */

 return impar(n-1);                          else

 }                                           return impar(n-1);

 int impar(int n)                            }

 {                                           int impar(int n)

 if (n == 0)                                 {

 return 0; /* es impar */                    if (n == 0)

 else                                        return 0; /* es impar */

 return par(n-1);                            else

 }                                           return par(n-1);
                                             }
Ejercicios
 Escriba una función que convierta una temperatura de
 grados Celsius a grados Fahrenheit
 Escribir una función de redondeo que acepte un valor
 real C tid d y un valor entero d i l y d
     l Cantidad         l      t   decimales devuelva l
 el valor cantidad redondeado al numero especificado
 de decimales
 Escribir una función que tenga un argumento de tipo
 entero y devuelva una letra P si el numero es positivo y
 la letra
 l l t N si es cero o negativo
             i              ti
Problemas
 Escribir un programa que utilice una función para convertir
 coordenadas polares a rectangulares
 Escribir una función que determine si una cadena de
 caracteres es un palíndromo
 Escribir un programa, mediante funciones, que visualice un
 calendario (el usuario indica únicamente el mes y el año)
 Dado el valor de un ángulo escribir una función que muestre
 el valor de todas las funciones trigonométricas
 correspondientes al mismo
Patrón de prueba de pantalla panorámica (16:9)




                               Prueba de la
                                relación de
                                  aspecto
                            (Debe parecer circular)




       4x3

16x9

Más contenido relacionado

La actualidad más candente (19)

Funciones y procedimientos
Funciones y procedimientosFunciones y procedimientos
Funciones y procedimientos
 
2.4 Bucles Repetitivos
2.4 Bucles Repetitivos2.4 Bucles Repetitivos
2.4 Bucles Repetitivos
 
Codificaciones c++
Codificaciones c++Codificaciones c++
Codificaciones c++
 
Repeticiones
RepeticionesRepeticiones
Repeticiones
 
Funciones en Lenguaje C
Funciones en Lenguaje CFunciones en Lenguaje C
Funciones en Lenguaje C
 
Funcion printf
Funcion printfFuncion printf
Funcion printf
 
Practicas de programacion 11 20
Practicas de programacion 11 20Practicas de programacion 11 20
Practicas de programacion 11 20
 
Clase 6
Clase 6Clase 6
Clase 6
 
Sintaxis funciones c++
Sintaxis funciones c++Sintaxis funciones c++
Sintaxis funciones c++
 
Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimiento
 
Condiciones
CondicionesCondiciones
Condiciones
 
Operadores
OperadoresOperadores
Operadores
 
Lenguajesdeprogramacion c nivel1-unidad4
Lenguajesdeprogramacion c nivel1-unidad4Lenguajesdeprogramacion c nivel1-unidad4
Lenguajesdeprogramacion c nivel1-unidad4
 
Funciones C++ modificado
Funciones C++ modificadoFunciones C++ modificado
Funciones C++ modificado
 
C++ y sus librerias
C++ y sus libreriasC++ y sus librerias
C++ y sus librerias
 
Palindromos
PalindromosPalindromos
Palindromos
 
Clase 5
Clase 5Clase 5
Clase 5
 
Funcion scanf
Funcion scanfFuncion scanf
Funcion scanf
 
El lenguaje c
El lenguaje cEl lenguaje c
El lenguaje c
 

Similar a ESTRUCTURAS DE CONTROL: BUCLES EN C++

Similar a ESTRUCTURAS DE CONTROL: BUCLES EN C++ (20)

ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Funcionesenlenguaje c
Funcionesenlenguaje cFuncionesenlenguaje c
Funcionesenlenguaje c
 
07 funciones
07 funciones07 funciones
07 funciones
 
Tema3 p2%20
Tema3 p2%20Tema3 p2%20
Tema3 p2%20
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
Presen iii 26 funciones
Presen iii  26 funcionesPresen iii  26 funciones
Presen iii 26 funciones
 
Computacion punteros
Computacion punterosComputacion punteros
Computacion punteros
 
11funciones 1231096290787715-2
11funciones 1231096290787715-211funciones 1231096290787715-2
11funciones 1231096290787715-2
 
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
 
PROBLEMAS DE POGRAMACION 1
PROBLEMAS DE POGRAMACION 1PROBLEMAS DE POGRAMACION 1
PROBLEMAS DE POGRAMACION 1
 
Escuela
EscuelaEscuela
Escuela
 
Escuela
EscuelaEscuela
Escuela
 
Guía funciones
Guía funcionesGuía funciones
Guía funciones
 
Lenguaje c ++ guía para programadores
Lenguaje c ++  guía para programadoresLenguaje c ++  guía para programadores
Lenguaje c ++ guía para programadores
 
Computacion funciones definidas por el programador
Computacion funciones definidas por el programadorComputacion funciones definidas por el programador
Computacion funciones definidas por el programador
 
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
 
5. PROGRAMACION ESTRUCTURADA C++.pptx
5. PROGRAMACION ESTRUCTURADA C++.pptx5. PROGRAMACION ESTRUCTURADA C++.pptx
5. PROGRAMACION ESTRUCTURADA C++.pptx
 
Pr106 funcionesdefinicion variables
Pr106 funcionesdefinicion variablesPr106 funcionesdefinicion variables
Pr106 funcionesdefinicion variables
 

Más de die_dex

Appendix a introduction tonthe microprocessor and the microcomputer
Appendix a introduction tonthe microprocessor and the microcomputerAppendix a introduction tonthe microprocessor and the microcomputer
Appendix a introduction tonthe microprocessor and the microcomputerdie_dex
 
Comercio internacional
Comercio internacionalComercio internacional
Comercio internacionaldie_dex
 
Analisis del comercio exterior en la ultima década
Analisis del comercio exterior en la ultima décadaAnalisis del comercio exterior en la ultima década
Analisis del comercio exterior en la ultima décadadie_dex
 
Micro-nanosystems for electrical metrology and precision instrumentation
Micro-nanosystems for electrical metrology and precision instrumentationMicro-nanosystems for electrical metrology and precision instrumentation
Micro-nanosystems for electrical metrology and precision instrumentationdie_dex
 
Bolometric Applications at Room Temperature
Bolometric Applications at Room TemperatureBolometric Applications at Room Temperature
Bolometric Applications at Room Temperaturedie_dex
 
Proposed changes to the definition of the ampere and the kilogram and their i...
Proposed changes to the definition of the ampere and the kilogram and their i...Proposed changes to the definition of the ampere and the kilogram and their i...
Proposed changes to the definition of the ampere and the kilogram and their i...die_dex
 
Analog to Digital Converters Testing
Analog to Digital Converters TestingAnalog to Digital Converters Testing
Analog to Digital Converters Testingdie_dex
 
Towards Uniformity of DC Voltage Metrology within SIM
Towards Uniformity of DC Voltage Metrology within SIMTowards Uniformity of DC Voltage Metrology within SIM
Towards Uniformity of DC Voltage Metrology within SIMdie_dex
 
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADORFUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADORdie_dex
 
Urgencia hipertensiva
Urgencia hipertensivaUrgencia hipertensiva
Urgencia hipertensivadie_dex
 
Guia para la_atencion_del_parto_normal_en_mcf
Guia para la_atencion_del_parto_normal_en_mcfGuia para la_atencion_del_parto_normal_en_mcf
Guia para la_atencion_del_parto_normal_en_mcfdie_dex
 
Equipo humano y materiales para recepción de recién
Equipo humano y materiales para recepción de reciénEquipo humano y materiales para recepción de recién
Equipo humano y materiales para recepción de reciéndie_dex
 
Crisis hipertensivas
Crisis hipertensivasCrisis hipertensivas
Crisis hipertensivasdie_dex
 
GENERACIÓN ELÉCTRICA
GENERACIÓN ELÉCTRICAGENERACIÓN ELÉCTRICA
GENERACIÓN ELÉCTRICAdie_dex
 
FORMATO IEEE
FORMATO IEEEFORMATO IEEE
FORMATO IEEEdie_dex
 
HISTORIA DE LAS TELECOMUNICACIONES
HISTORIA DE LAS TELECOMUNICACIONESHISTORIA DE LAS TELECOMUNICACIONES
HISTORIA DE LAS TELECOMUNICACIONESdie_dex
 
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01die_dex
 
Metrologia
MetrologiaMetrologia
Metrologiadie_dex
 
Mediciones e instrumentacion_industrial
Mediciones e instrumentacion_industrialMediciones e instrumentacion_industrial
Mediciones e instrumentacion_industrialdie_dex
 

Más de die_dex (20)

Appendix a introduction tonthe microprocessor and the microcomputer
Appendix a introduction tonthe microprocessor and the microcomputerAppendix a introduction tonthe microprocessor and the microcomputer
Appendix a introduction tonthe microprocessor and the microcomputer
 
Comercio internacional
Comercio internacionalComercio internacional
Comercio internacional
 
Analisis del comercio exterior en la ultima década
Analisis del comercio exterior en la ultima décadaAnalisis del comercio exterior en la ultima década
Analisis del comercio exterior en la ultima década
 
Micro-nanosystems for electrical metrology and precision instrumentation
Micro-nanosystems for electrical metrology and precision instrumentationMicro-nanosystems for electrical metrology and precision instrumentation
Micro-nanosystems for electrical metrology and precision instrumentation
 
Bolometric Applications at Room Temperature
Bolometric Applications at Room TemperatureBolometric Applications at Room Temperature
Bolometric Applications at Room Temperature
 
Proposed changes to the definition of the ampere and the kilogram and their i...
Proposed changes to the definition of the ampere and the kilogram and their i...Proposed changes to the definition of the ampere and the kilogram and their i...
Proposed changes to the definition of the ampere and the kilogram and their i...
 
Analog to Digital Converters Testing
Analog to Digital Converters TestingAnalog to Digital Converters Testing
Analog to Digital Converters Testing
 
Towards Uniformity of DC Voltage Metrology within SIM
Towards Uniformity of DC Voltage Metrology within SIMTowards Uniformity of DC Voltage Metrology within SIM
Towards Uniformity of DC Voltage Metrology within SIM
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADORFUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
 
Urgencia hipertensiva
Urgencia hipertensivaUrgencia hipertensiva
Urgencia hipertensiva
 
Guia para la_atencion_del_parto_normal_en_mcf
Guia para la_atencion_del_parto_normal_en_mcfGuia para la_atencion_del_parto_normal_en_mcf
Guia para la_atencion_del_parto_normal_en_mcf
 
Equipo humano y materiales para recepción de recién
Equipo humano y materiales para recepción de reciénEquipo humano y materiales para recepción de recién
Equipo humano y materiales para recepción de recién
 
Crisis hipertensivas
Crisis hipertensivasCrisis hipertensivas
Crisis hipertensivas
 
GENERACIÓN ELÉCTRICA
GENERACIÓN ELÉCTRICAGENERACIÓN ELÉCTRICA
GENERACIÓN ELÉCTRICA
 
FORMATO IEEE
FORMATO IEEEFORMATO IEEE
FORMATO IEEE
 
HISTORIA DE LAS TELECOMUNICACIONES
HISTORIA DE LAS TELECOMUNICACIONESHISTORIA DE LAS TELECOMUNICACIONES
HISTORIA DE LAS TELECOMUNICACIONES
 
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
 
Metrologia
MetrologiaMetrologia
Metrologia
 
Mediciones e instrumentacion_industrial
Mediciones e instrumentacion_industrialMediciones e instrumentacion_industrial
Mediciones e instrumentacion_industrial
 

Último

proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdfMiNeyi1
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdfMiguelHuaman31
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 

ESTRUCTURAS DE CONTROL: BUCLES EN C++

  • 1. FUNCIONES Sugerencias y herramientas para crear para crear y presentar diapositivas en formato panorámico
  • 2. Contenido Concepto de función Funciones numéricas Estructura de una función Funciones de fecha y hora Prototipos de funciones Funciones de utilidad Parámetros de una función Visibilidad de una función bld d d f Funciones en línea: macros Compilación separada Ámbito (alcance) Clases d almacenamiento Cl de l i Variable registro (register) Concepto y uso de funciones de Recursividad biblioteca Resumen Funciones de carácter Ejercicios
  • 3. Introducción Una función es un mini programa dentro de un programa. p g p g Las funciones contienen varias sentencias bajo un solo nombre, que un programa puede utilizar una o mas veces para ejecutar dichas sentencias Si se agrupan funciones en bibliotecas otros programas pueden utilizar las funciones, por esta razón se puede ahorrar tiempo de desarrollo. Y dado que las bibliotecas contienen rutinas presumiblemente comprobadas, se incrementa la f fiabilidad del programa completo
  • 4. Concepto de función C fue diseñado como un lenguaje de programación estructurado, también llamado programación modular. El programa se divide en muchos módulos (rutinas pequeñas denominadas funciones) que aíslan mejor los funciones), problemas y producen programas que son mucho mas fácil de mantener El medio para escribir un programa es escribir funciones independientes para cada tarea que haga el programa
  • 5. Estructura de una función Una función es sencillamente, un conjunto de sentencias que j q se pueden llamar desde cualquier parte de un programa. Las funciones en C no se pueden anidar. Esto significa que una f función no se puede declarar dentro de otra ffunción. La razón para esto es permitir un acceso muy eficiente a los datos En C todas las funciones son externas o globales, es decir p pueden ser llamadas desde cualquier punto del programa q p p g
  • 7. Ejemplo int cuadrado(int n) float suma (int num_elementos) { { int cuadrado=0, q=0; int indice; while (q <= 1000) /*el cuadrado ha de ser menor de 1000 */ float total = 0.0; { printf("n t Introduce %d números q = n*n; realesn",num_elementos); printf("E1 cuadrado de: %d es %d n",n,q); for (indice = 0; indice < num_elementos; n++ ; ++ indice++) i di ++) } { return 0; float x; } scanf("%f",&x); " " total+=x; }
  • 8. Cont Nombre de una función; un nombre de una función comienza con una letra o subrayado(_) y puede contener tantas letras números o subrayados como letras, desee
  • 9. Cont Tipo de dato de retorno.- si la función no devuelve un valor int, se debe especificar el tipo de dato devuelto por la función; cuando devuelve un valor int, se puede omitir ya que C asume que todas las funciones son enteras. El tipo debe ser uno de los tipos simples de C, tales como int, char o float, o un tipo struct
  • 10. Cont Muchas funciones no devuelven resultados. La razón es que se utilizan como subrutinas para realizar una tarea concreta Una función que no devuelve concreta. resultados, a veces se denomina procedimiento. Para indicar al compilador que una función no devuelve resultados, se utiliza el tipo de retorno void
  • 11. Cont Resultado de una función.- una función puede devolver un único valor. El resultado se muestra con una sentencia return cuya sintaxis l l d i i i es; Return(expresion) Return; El valor devuelto (expresión) puede ser cualquier tipo de dato excepto una función o un array p y Si el tipo de retorno es void, la sentencia return se puede escribir como return; sin ninguna expresión de retorno, o bien de modo alternativo se puede omitir la sentencia return
  • 12. Cont Llamada a una función; las funciones, para poder ser ejecutadas, han de ser llamadas o invocadas. invocadas Cualquier expresión puede contener una llamada o una función f ió que redirija el control di ij l l del programa a la función nombrada
  • 13. Ejemplo #include <stdio.h> return ; #include <stdlib.h> } void func1 (void) int main() { { puts ("Segunda función") ; puts("Primera función llamada main()"); return; func1(); /* Segunda función llamada */ } void func2 (void) func2(); /* Tercera función llamada */ (); / / { puts ("main se termina") ; puts ("Tercera función") ; system("PAUSE"); return ; return 0; /* Devuelve control al sistema */ ;/ / } }
  • 14. Ejemplo #include <stdio.h> int main() { #include <stdlib.h> int m, n; int max(int x, int y) do { { scanf ("%d %d", &m &n) ; ( %d %d &m, printf("Maximo de %d,%d es %dn",m,n,max(m, if (x < y) n)); /*llamada a max*/ return y; } while (m != 0) ; else system("PAUSE"); return x; return 0; } }
  • 15. Ejemplo #include <stdio.h> int main() { #include <stdlib.h> double num1, num2, med; printf("introducir dos números reales:"); double media(double scanf ("%lf %lf",&num1,&num2) ; x1, double x2) med = media(num1, num2); { printf ("El valor medio es %.4lf n", med) ; system("PAUSE"); return(x1 + x2)/2; return 0; } }
  • 16. Prototipos de funciones La declaración de una función se denomina prototipo. Los prototipos de una función contienen la cabecera de la función con la diferencia de que los función, prototipos terminan con un punto y coma. Los L prototipos d l ll t ti de las llamadas en un programa se d incluyen en la cabecera del programa para que así sean reconocidas en todo el programa id d l
  • 17. Sintaxis Cua do u a e dad Cuando una entidad se declara, se proporciona un nombre y se dec a a, p opo c o a u o b e listan sus características. Una definición indica que existe un lugar en un programa donde existe realmente la entidad definida, mientras que una declaración es solo una indicación de que algo existe en alguna posición
  • 18. Ejemplo #include <stdio.h> #include <stdlib.h> /* prototipos válidos */ /* devuelve número positivo */ float area_rectangulo(float b, float a);/* declaración */ float entrada () float entrada(); /* prototipo o declaración */ { int main () float m; { do { float b, h; scanf ("%f" & ) ; f ("%f", &m) printf ("n Base del rectangulo: " ) ; } while (m<=0.0) ; b = entrada() ; return m; printf ("n Altura del rectangulo: " ) ; } h = entrada() ; / /* calcula el area de un rectángulo */ g / printf("n Area del rectangulo: %.2fn",area_rectangulo(b,h)); float area_rectangulo(float b, float a) system("PAUSE"); { return 0; return (b*a); } }
  • 19. Declaración de una función Antes de que una función pueda ser invocada, debe ser declarada Una declaración de una función contiene solo la cabecera d l f ió (ll b de la función (llamado t bié prototipo) d también t ti ) Tipo resultado nombre (tipo1 param1, tipo2 param2,…); Los nombres de los parámetros se pueden omitir Char* copiar (char*,int); Char* copiar (char* buffer, int n); p ( , );
  • 20. Prototipos con un numero no especificado de parámetros Un formato especial de prototipo es aquel que tiene un p p p q q numero no especificado de argumentos, que se representa por puntos suspensivos (…) Int muestras (int a,….); Int printf (const char *formato,…) Para implementar una función con lista variable de parámetros es necesario utilizar macros que están definidas d fi id en el archivo d cabecera < td l hi de b <stdarg.h> h>
  • 21. Ejemplo #include <stdio.h> #include <stdlib.h> double mx,actual; #include <stdarg.h> va_list puntero; void maximo(int n, ... ) ; int i; int main (void) va_start(puntero,n); { mx = actual = va_arg(puntero,double); puts("ttPRIMERA BUSQUEDA DEL MAXIMOn"); printf("ttArgumento actual: %.2lfn",actual); maximo(6,3.0,4.0,-12.5,1.2,4.5,6.4); for (i=2; i<=n; i++) puts ("nttNUEVA BUSQUEDA DEL MAXIMOn") ; { maximo(4,5.4,17.8,5.9,-17.99); actual = va_arg(puntero,double); system("PAUSE"); printf("ttArgumento actual: %.2lfn",actual); return 0; if (actual > mx) } { void maximo(int n, ... ) mx = actual; { } printf("ttMáximo de la lista de %d números es %.2lfn",n,mx); } va_end(puntero); printf("ttMáximo de la lista de %d números es %.2lfn",n,mx); } va_end(puntero); }
  • 22. Parámetros de una función C siempre utiliza el método de parámetros por valor para p p p p pasar variables a funciones. Para que una función devuelva un valor a través de un argumento hay que pasar la dirección de la variable y que el argumento correspondiente de la función sea un puntero, es la forma de conseguir en C un paso de parámetro por referencia g p p p El método por defecto de pasar parámetros es por valor, a menos que se pasen arrays. Los arrays se pasan siempre por dirección
  • 23. Paso de parámetros Por valor Paso por valor (también llamado paso por copia significa que cuando C compila la función y el código que llama a la función, la función recibe una copia de los valores de los parámetros Por referencia Cuando una función debe modificar el valor del parámetro pasado y devolver este valor modificando a la función llamadora, se ha de utilizar el método de paso de parámetro por referencia o dirección
  • 24. Ejemplo /*Muestra el paso de parámetros por valor DemoLocal(n); Se puede cambiar la variable del parámetro en p ede ariable la función printf("Despues de llamada a DemoLocal, n = %dn",n); system("PAUSE"); pero su modificación no puede salir al exterior*/ return 0; #include <stdio.h> } #include <stdlib.h> void DemoLocal(int valor) void DemoLocal(int valor); { int main () printf ( "Dentro de DemoLocal, valor = %dn" , valor) ; { valor = 999; int n = 10; printf ("Dentro de DemoLocal, valor = %dn" , valor) ; printf("Antes de llamar a DemoLocal, n = } %dn",n);
  • 25. Diferencias entre paso de variables por valor y por referencia Las reglas que se han de seguir cuando se transmiten variable por valor y por referencia son l siguientes; l f i las i i Los parámetros valor reciben copias de los valores de los argumentos que se les pasan La asignación a parámetros valor de una función nunca cambian el valor del argumento original pasado a los parámetros Los parámetros para el paso por referencia (declarados con *, punteros) reciben l di ) ib la dirección d l argumentos pasados; a estos l ió de los d les debe de preceder el operador &, excepto los arrays; En una función, las asignaciones a parámetros referencia (punteros) cambia los valores de los argumentos originales
  • 26. Parámetro const de una función Con el objetivo de añadir seguridad adicional a las funciones se puede añadir a una descripción de un parámetro el especificador const que indica al const, compilador que solo es de lectura en el interior de la función Si se intenta escribir en este parámetro función. se producirá un mensaje de error de compilación
  • 27. Funciones en línea, Macros con argumento línea Las funciones en línea sirven para aumentar la velocidad de su programa. Su uso es conveniente cuando la función es una expresión, su código es pequeño y se utiliza muchas veces en el programa Para una macro con argumentos (funciones en línea), el compilador inserta realmente el código en el punto en p g p que se llama, esta acción hace que el programa se ejecute mas rápidamente, ya que no ah de ejecutar el código asociado con la llamada a la función
  • 28. sintaxis #define NombreMacro (parámetros sin tipos) expresion_texto Regla; la definición de una macro solo puede ocupar una línea. línea Se puede prolongar la línea con el carácter al final de la línea
  • 29. Ejemplo #include <stdio.h> #include <stdlib.h> #define Pi 3.141592 #define VOLCONO(radio,altura) ((Pi*(radio*radio)*altura)/3.0) int main() { float radio, altura, volumen; printf ("nIntroduzca radio del cono: " ) ; scanf ( "%f", &radio) ; printf ("Introduzca altura del cono: " ) ; scanf ("%f",&altura); ( %f &altura); volumen = VOLCONO(radio, altura); printf("nEl volumen del cono es: %.2fn",volumen); system("PAUSE"); return 0; }
  • 30. Ámbito (alcance) El ámbito o alcance de una variable determina cuales son las funciones que reconocen ciertas variables. Si una función reconoce una variable, la variable es visible en esa ffunción. El ámbito es la zona de un programa en la que es visible una variable. Existen cuatro tipos de ámbitos: programa archivo fuente función y bloque Se programa, fuente, bloque. puede designar una variable para que este asociada a uno de estos ámbitos.
  • 31. Ámbito del programa Las variables que tienen ámbito de programa pueden ser referenciadas por cualquier f ió en el programa completo; tales f i d l i función l l l variables se llaman variable globales. Para hacer una variable global, declárela simplemente al principio de un programa, fuera de cualquier función Int g,h; Main()() { .. }
  • 32. Ámbito del archivo fuente Una variable que se declara fuera de cualquier función y cuya declaración contiene l palabra reservada static tiene á bi d d l ió i la l b d i i ámbito de archivo fuente. La variables con este ámbito se pueden referenciar desde el punto del programa en que están declaradas hasta el final del archivo fuente Static int i; Void func (void) ( ) { … }
  • 33. Ámbito de una función Una variable que tiene ámbito de una función se puede referenciar desde d d cualquier parte d l f ió L variables d l d l i de la función. Las i bl declaradas dentro del cuerpo de la función se dice que son locales a la función. Las variables locales no se pueden utilizar fuera del ámbito de la función en que están definidas Void calculo (void) { Double x,r,t; /*ámbito de la función*/ … }
  • 34. Ámbito de bloque Una variable declarada en un bloque tiene ámbito de bloque y puede ser referenciada en cualquier parte del bloque desde el punto en que esta declarada bloque, hasta el final del bloque. Las variables locales declaradas dentro de una función tienen ámbito de bloque de la función; no son visibles fuera del bloque Void func1 (int x) ( ) { Int i; For(i x; For(i=x; i<x10; i++) Printf (“i=%dn”,i*i); }
  • 35. Clases de almacenamiento Los especificadores de clases (tipos) de almacenamiento permiten modificar el ámbito de una variable Los especificadores pueden ser uno variable. de los siguientes auto, extern, register, static y typedef
  • 36. Cont… Cont Variables automáticas; las variables que se declaran dentro de una función se dice que son automáticas (auto), significando que se les asigna espacio en memoria automáticamente a la entrada de la función Variables externas; a veces se presenta el problema de que una función necesita utilizar una variable que otra función inicializa. inicializa Una solución es declarar la variable local con la palabra reservada extern. Cuando una variable se declara externa, se indica al compilador que el espacio de la variable esta d fi id en otro l i bl definida lugar
  • 37. Cont.. Cont Variables de registro; otro tipo de variable C es la variable registro. Precediendo a la declaración de una variable con la palabra reservada register, se sugiere al compilador que la variable se almacene en uno de los registros hardware g del microprocesador Variables estáticas; las variables estáticas son opuestas en su significado a las variables automáticas Las variables automáticas. estáticas no se borran cuando la función termina y en consecuencia retienen sus valores entre llamadas a una función f ió
  • 38. Ejemplo, Ejemplo aplicación de una variable static #include <stdio.h> #include <stdlib.h> #incl de <stdlib h> return 0; long int fibonacci (); } int main() long int fibonacci () { { int n,i; static int x = 0; printf ("nCuantos numeros de fibonacci ? : " ) ; scanf ( "%d" , &n) ; static int y = 1; printf ("nSecuencia de fibonacci : 0,1n") ; y=y+x; for (i=2; i<n; i++) x = y - x; printf ("%ldn",fibonacci()); return y; system("PAUSE"); ("PAUSE") }
  • 39. Concepto y uso de funciones de biblioteca Todas las versiones de C ofrecen con una biblioteca estándar de fusiones que proporcionan soporte para operaciones utilizadas con mas frecuencia Las funciones estándar o predefinidas se dividen en grupos; t d todas llas f i funciones que pertenecen al t l mismo grupo se declaran en el mismo archivo de cabecera b
  • 40. Cont.. Cont Los nombres de los archivos de cabecera estándar utilizados se muestran a continuación
  • 41. Funciones de carácter El archivo de cabecera <CTYPE H> b <CTYPE.H> define un grupo de funciones/macros de p manipulación de caracteres Todas las funciones devuelven un resultado de valor verdadero (distinto de cero) o falso (cero)
  • 43. Ejemplo /*solicita iniciales y comprueba que es alfabetica*/ #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main () { char inicial; printf("¿Cuál es su primer carácter inicial?: " ) ; scanf ( "%c" , &inicial) ; while (!isalpha(inicial)) { puts ("Carácter no alfabético ") ; printf ("¿Cuál es su siguiente inicial?: " ) ; scanf ("%c",&inicial) ; } puts ("!Terminado!"); system("PAUSE"); return 0; }
  • 44. Funciones de prueba de caracteres especiales
  • 45. Funciones de conversión de caracteres Existen funciones para cambiar caracteres mayúsculas a minúsculas o viceversa
  • 46. Ejemplo #include <stdio.h> case 'V': #include <stdlib.h> #incl de <stdlib h> puts ("Es un enfermero") ; #include <ctype.h> break; int main() case 'H': { puts ("Es una maestra ) ; ( Es maestra") char resp; /*respuesta del usuario */ break; char c; default: printf ("¿Es un varón o una hembra (V/H)?: " ) ; puts("No es ni enfermero ni maestra") ; scanf ("%c",&resp) ; break; } resp=toupper(resp); system("PAUSE"); switch (resp) return 0; { }
  • 47. Funciones numéricas Virtualmente cualquier operación aritmética es posible q p p en un programa C. las funciones matemáticas disponibles son las siguientes: Matemáticas Trigonométricas Logarítmicas Exponenciales Aleatorias Al i
  • 50. Funciones logarítmicas y exponenciales
  • 51. Funciones aleatorias Los números aleatorios son de gran utilidad en numerosas aplicaciones y requieren un trato especial en cualquier lenguaje de programación programación. Las funciones usuales de la biblioteca estándar C son; rand randon randomize y srand estas rand, randon, srand.estas sunciones se encuentran en el archivo stdlib.h
  • 52. Funciones de fecha y hora Las funciones time,clock, _strdate y _strtime devuelven la hora actual como el numero de segundos transcurrido desde la medianoche del 1 de enero de 1970 Clock (void); la función clock determina el tiempo de procesador Time(hora); obtiene la hora actual Local time (hora); convierte la fecha y hora en una estructura de tipo tm Mktime(t) Mkti (t) convierte l f h en f i t la fecha formato d calendario t de l d i
  • 53. Ejemplo /*En este ejercicio se determind el tiempo del procesddor para printf ( " Factorial de (3 <x< 15) : " ) ; calcular el factorial de un número requerido, entre 3 y scanf ("%d",&x ); 15.*/ }while (x<=3 || x>=15); #include <time.h> for (n=x,fact=1; x; x--) #include <stdio.h> fact *=x; =x; #include <stdlib.h> fin = clock() ; int main (void) printf ("nF actorial de %d! = %ld",n,fact) ; { printf("n Unidades de tiempo de proceso: %f,t En float inicio, fin; segundos: %fn", %fn int n, x; (fin-inicio), (fin-inicio) /CLK_TCK); long int fact; system("PAUSE"); inicio = clock() ; return 0; do { }
  • 54. Funciones de utilidad Abs (n), labs(n); devuelve el valor absoluto de n Div(num,denom); calcula el cociente y el resto de num dividido por denom y almacena el resultado en quor y rem, miembros de int de la estructura div_t Ldiv(num,denom); Ldiv(num denom); calcula el cociente y el resto de num dividido por denom, y almacena los resultados en quot y rem miembros de long de la estructura ldiv t ldiv_t
  • 55. Visibilidad de una función Existen dos tipos de clases de almacenamiento en C: p auto y static. Una variable auto es aquella que tiene una duración automática. No existe cuando el programa comienza la ejecución, se crea en algún punto durante la ejecución y desaparece antes que el programa termine la ejecución Una variable static es aquella que tiene una duración fija
  • 56. Variables locales frente a variables globales Una variable local es una variable que se define dentro de una función Una variable global es U i bl l b l una variable que puede ser utilizada por todas p las funciones de un programa dado, incluyendo main ()
  • 57. Variables estáticas y automáticas Las variables locales se denominan variables automáticas (auto), significado que se pierde cuando termina la función Se puede utilizar auto función. para declarar una variable Las L variables estáticas ( t ti ) mantienen su valor i bl táti (static) ti l después de que la función se a terminado
  • 58. Resumen Como regla general, son preferibles las variables g g , p locales a las globales. Si realmente es necesario o deseable que alguna variable sea global, es preferible hacerla estática, lo que significa que será <<local>> f en relación al archivo en que esta definida Se S puede h d hacer una f ió i i ibl f función invisible fuera d un de archivo fuente utilizando la palabra reservada static con la cabecera y el prototipo de la función
  • 59. Compilación separada Los programas grandes son mas fá il fáciles d de gestionar si se dividen en varios archivos fuente, también llamados módulos, cada uno de los cuales puede contener una o mas funciones Estos funciones. módulos se compilan y enlazan posteriormente con un enlazador
  • 60. Variables registro (register) Una variable registro(register) es similar a una variable local, pero en lugar de ser almacenada en la pila, se almacena directamente en un registro del procesador. g p para declarar una variable registro, se hace preceder la misma con la palabra reservada register; La ventaja de las variables registro es su mayor rapidez de manipulación
  • 61. Recursividad La función recursiva es una función que se llama así misma. La recursividad o recursión directa es el proceso por el que una función se llama así misma desde el propio cuerpo de la función. La recursividad o recursión directa implica mas de una función
  • 62. Ejemplo printf ( "El numero %d es impar. " , n) ; system("PAUSE"); printf ( "El numero %d es impar. " , n) ; return 0; system("PAUSE"); } return 0; int par(int n) } { int par(int n) if (n == 0) { return 1; /* es par */ if (n == 0) else return 1; /* es par */ return impar(n-1); else } return impar(n-1); int impar(int n) } { int impar(int n) if (n == 0) { return 0; /* es impar */ if (n == 0) else return 0; /* es impar */ return par(n-1); else } return par(n-1); }
  • 63. Ejercicios Escriba una función que convierta una temperatura de grados Celsius a grados Fahrenheit Escribir una función de redondeo que acepte un valor real C tid d y un valor entero d i l y d l Cantidad l t decimales devuelva l el valor cantidad redondeado al numero especificado de decimales Escribir una función que tenga un argumento de tipo entero y devuelva una letra P si el numero es positivo y la letra l l t N si es cero o negativo i ti
  • 64. Problemas Escribir un programa que utilice una función para convertir coordenadas polares a rectangulares Escribir una función que determine si una cadena de caracteres es un palíndromo Escribir un programa, mediante funciones, que visualice un calendario (el usuario indica únicamente el mes y el año) Dado el valor de un ángulo escribir una función que muestre el valor de todas las funciones trigonométricas correspondientes al mismo
  • 65. Patrón de prueba de pantalla panorámica (16:9) Prueba de la relación de aspecto (Debe parecer circular) 4x3 16x9