SlideShare ist ein Scribd-Unternehmen logo
1 von 38
FUNCIONES:
Las Subrutinas de Lenguaje C




        Prof. Jaime Romero
SUBRUTINAS


Una subrutina es una porción de código que forma parte de un programa
más grande.


Esa porción de código realiza una tarea específica, relativamente
independiente del resto del código.


La mayoría de los lenguajes de programación soportan la creación de
subrutinas y métodos para llamarlas (invocarlas) y retornarlas.
SUBRUTINAS


Existen varias ventajas de "romper" un programa en subrutinas:


      • Reducción de código duplicado.
      • Permite el reuso de código en múltiples programas.
      • Descomposición de problemas complejos en simples piezas (lo
        que aumenta la mantenibilidad y extensibilidad).
      • Aumenta la legibilidad del código de un programa..
SUBRUTINAS


Muchos lenguajes de programación distinguen distintas subrutinas. Por
ejemplo, el lenguaje Pascal distingue entre la subrutina Procedimiento y
la subrutina Función. En cambio existen otros lenguajes que los tratan
como sinónimos.


En lenguaje C existe sólo un tipo de Subrutina: Las Funciones, aunque
dependiendo del tipo de valor que estas retornen pueden ser utilizada
tanto como procedimientos, o como funciones.
SUBRUTINAS


PROCEDIMIENTOS.
     Son subrutinas que realizan un trabajo, pero que no retornan
     ningún valor en su estructura.


FUNCIONES.
     Son subrutinas que realizan un trabajo, y que retornan un valor en
     su estructura.
FUNCIONES


El lenguaje de programación C, es un lenguaje modularizado por
excelencia.


La modularización, es una técnica usada por los programadores para
hacer sus códigos más cortos, ya que consiste en reducir un gran
problema      complejo,    en      pequeños      problemitas     más
sencillos, concentrándose en la solución por separado, de cada uno de
ellos.
FUNCIONES


                La sintaxis de una función es la siguiente:
Tipo_de_datos nombre_de_la_funcion (tipo y nombre de argumentos)
{
    acciones o comandos;
}
donde:
Tipo_de_datos: Es el tipo de dato que devolverá esa función, que puede
ser real, entera, o tipo void (es decir que no devolverá ningún valor, en
este caso la función trabajo como un Procedimiento).
FUNCIONES


                 La sintaxis de una función es la siguiente:
Tipo_de_datos nombre_de_la_funcion (tipo y nombre de argumentos)
{
    acciones o comandos;
}
donde:


Nombre_de_la_funcion: Es el identificador que le damos a nuestra
función, la cual debe cumplir las reglas de los identificadores.
FUNCIONES


                La sintaxis de una función es la siguiente:
Tipo_de_datos nombre_de_la_funcion (tipo y nombre de argumentos)
{
    acciones o comandos;
}
donde:
Tipo y nombre de argumentos: son los parámetros que recibe la función.
Los argumentos de una función no son más que variables locales que
reciben un valor. Este valor se lo enviamos al hacer la llamada a la
función. Pueden existir funciones que no reciban argumentos.
FUNCIONES


                La sintaxis de una función es la siguiente:
Tipo_de_datos nombre_de_la_funcion (tipo y nombre de argumentos)
{
    acciones o comandos;
}
donde:


Acciones: Constituye el conjunto de acciones, de sentencias que cumplirá
la función, cuando sea ejecutada. Entre ellas están:
Asignaciones, Lecturas, Impresiones, Cálculos, entre otros.
FUNCIONES


En las funciones juegan un papel muy importe las variables, ya que como
se ha dicho estas pueden ser locales o globales.


Variables Globales: Estas se crean durante toda la ejecución del
programa,      y     son     globales,     ya      que   pueden      ser
llamadas, leídas, modificadas, etc; desde cualquier función. Se definen
antes del main().


Variables Locales: Estas, pueden ser utilizadas únicamente en la función
que hayan sido declaradas.
FUNCIONES

#include <librería>
                    Variables Globales: funcionan dentro de todas las funciones del
int x,y,z           programa.

 aaaa( ){                           Variables Locales: sólo funcionan dentro de la
   int var1, var2, var 3;           función donde son declaradas, y se destruyen
   Acciones;                        cuando se sale de ella
Return();
}

Main (){
  int var4, var5;                  Variables Locales de la Función Main: sólo
}                                  funcionan dentro de la función Main, y se
                                   destruyen cuando se sale de ella
Argumentos o Parámetros


Un Parámetro, también conocido como argumento de una función es una
variable, o un valor que se le “pasa” a la función para que esta los utilice
para sus trabajo, pudiendo incluso cambiar sus valores.


Un parámetro es ese valor que le damos a la función para que realice su
trabajo, aunque pueden existir funciones a las cuales no se les pasa
ningún parámetro.
Argumentos o Parámetros


Existen dos tipos de paso de parámetros:
Parámetros por Valor: Aquí solo se pasa a la función el valor de las
variables o los literales que le enviamos como parámetros, en
consecuencia la función NO puede cambiar el valor de las variables.
Parámetros por Referencia: Aquí se pasa a la función tanto el valor de las
variables, como su dirección de estas en la memoria, por lo cual la la
función puede cambiar el valor de las variables.


  Si la variable es global, la función SIEMPRE puede modificar su valor
Llamadas a una Función


Una función puede ser llamada o invocada a través de los siguiente
métodos:


Por una asignación:   variable = función();
Por una impresión:    printf(“%d”, función());
Por una condición:    if (funcion()==0)
                      switch (funcion())
                      o cualquier tipo de condición lógica.
¿Cómo se ejecuta una Función?
El siguiente programa utiliza una función para encontrar el mayor de tres
numeros positivos, o retornar cero (0) si son iguales.

#include <stdio.h>

int mayor(int a, int b, int c){
  int mayor=0;
  if ((a>b)&&(a>c)) mayor=a;
  if ((b>a)&&(b>c)) mayor=b;
  if ((c>a)&&(c>b)) mayor=c;                                    Al iniciar un programa en
  return (mayor);
                                                                Lenguaje C, siempre
}
void main(){                                                    automáticamente         se
  int num1, num2, num3,may;                                     busca       la     función
  printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);    inicial, es decir, la
  printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);   función MAIN, y se
  printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);    comienza a ejecutar
  may = mayor(num1, num2,num3);
  if (may==0){
      printf(“Los Numeros son iguales”);}
  else{
      printf(“El Mayor es: %d”,may);}
}
¿Cómo se ejecuta una Función?
El siguiente programa utiliza una función para encontrar el mayor de tres
numeros positivos, o retornar cero (0) si son iguales.

#include <stdio.h>

int mayor(int a, int b, int c){
  int mayor=0;
  if ((a>b)&&(a>c)) mayor=a;
  if ((b>a)&&(b>c)) mayor=b;
  if ((c>a)&&(c>b)) mayor=c;                                         Se crean cuatro variables
  return (mayor);
                                                                     globales de tipo entero
}
void main(){                                                                   num1
  int num1, num2, num3,may;                                                    num2
  printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);                   num3
  printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);                   may
  printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
  may = mayor(num1, num2,num3);
  if (may==0){
      printf(“Los Numeros son iguales”);}
  else{                                                       num1    num2      num3      may
      printf(“El Mayor es: %d”,may);}
}
¿Cómo se ejecuta una Función?
El siguiente programa utiliza una función para encontrar el mayor de tres
numeros positivos, o retornar cero (0) si son iguales.

#include <stdio.h>

int mayor(int a, int b, int c){
  int mayor=0;
  if ((a>b)&&(a>c)) mayor=a;
  if ((b>a)&&(b>c)) mayor=b;                                         Se lee el primer valor, y
  if ((c>a)&&(c>b)) mayor=c;
                                                                     éste es almacenado en la
  return (mayor);
}                                                                    variable          num1.
void main(){                                                         Supongamos que el
  int num1, num2, num3,may;                                          usuario introduce el
  printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);         numero 5
  printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);
  printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
  may = mayor(num1, num2,num3);
  if (may==0){
      printf(“Los Numeros son iguales”);}
  else{                                                       Num1    num2      num3      may
      printf(“El Mayor es: %d”,may);}
}                                                               5
¿Cómo se ejecuta una Función?
El siguiente programa utiliza una función para encontrar el mayor de tres
numeros positivos, o retornar cero (0) si son iguales.

#include <stdio.h>

int mayor(int a, int b, int c){
  int mayor=0;
  if ((a>b)&&(a>c)) mayor=a;
  if ((b>a)&&(b>c)) mayor=b;
  if ((c>a)&&(c>b)) mayor=c;
                                                                     Se lee el segundo valor, y
  return (mayor);
}                                                                    éste es almacenado en la
void main(){                                                         variable           num2.
  int num1, num2, num3,may;                                          Supongamos que el
  printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);         usuario introduce el
  printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);        numero 3
  printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
  may = mayor(num1, num2,num3);
  if (may==0){
      printf(“Los Numeros son iguales”);}
  else{                                                       Num1    num2      num3       may
      printf(“El Mayor es: %d”,may);}
}                                                               5       3
¿Cómo se ejecuta una Función?
El siguiente programa utiliza una función para encontrar el mayor de tres
numeros positivos, o retornar cero (0) si son iguales.

#include <stdio.h>

int mayor(int a, int b, int c){
  int mayor=0;
  if ((a>b)&&(a>c)) mayor=a;
  if ((b>a)&&(b>c)) mayor=b;
  if ((c>a)&&(c>b)) mayor=c;                                         Se lee el tercer valor, y
  return (mayor);                                                    éste es almacenado en la
}                                                                    variable          num3.
void main(){                                                         Supongamos que el
  int num1, num2, num3,may;
                                                                     usuario introduce el
  printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);
  printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);
                                                                     numero 8
  printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
  may = mayor(num1, num2,num3);
  if (may==0){
      printf(“Los Numeros son iguales”);}
  else{                                                       Num1    num2      num3      may
      printf(“El Mayor es: %d”,may);}
}                                                               5      3         8
¿Cómo se ejecuta una Función?
El siguiente programa utiliza una función para encontrar el mayor de tres
numeros positivos, o retornar cero (0) si son iguales.

#include <stdio.h>

int mayor(int a, int b, int c){
  int mayor=0;
  if ((a>b)&&(a>c)) mayor=a;
  if ((b>a)&&(b>c)) mayor=b;
  if ((c>a)&&(c>b)) mayor=c;
  return (mayor);
}
void main(){                                                         Como        en        toda
  int num1, num2, num3,may;                                          asignación, primero se
  printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);         evalúa lo que se
  printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);        encuentra a la derecha
  printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);         de l símbolo igual (=)
  may = mayor(num1, num2,num3);
  if (may==0){
      printf(“Los Numeros son iguales”);}
  else{                                                       Num1   num2      num3       may
      printf(“El Mayor es: %d”,may);}
}                                                               5      3         8
¿Cómo se ejecuta una Función?
El siguiente programa utiliza una función para encontrar el mayor de tres
numeros positivos, o retornar cero (0) si son iguales.

#include <stdio.h>

int mayor(int a, int b, int c){
  int mayor=0;
  if ((a>b)&&(a>c)) mayor=a;
  if ((b>a)&&(b>c)) mayor=b;
  if ((c>a)&&(c>b)) mayor=c;
  return (mayor);
}
void main(){
  int num1, num2, num3,may;
  printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);
                                                                     Aquí se encuentra que
  printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);
  printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);         se llama a una función
  may = mayor(num1, num2,num3);                                      denominada mayor
  if (may==0){
      printf(“Los Numeros son iguales”);}
  else{                                                       Num1    num2    num3      may
      printf(“El Mayor es: %d”,may);}
}                                                               5      3        8
¿Cómo se ejecuta una Función?
   El siguiente programa utiliza una función para encontrar el mayor de tres
   numeros positivos, o retornar cero (0) si son iguales.            Pila

   #include <stdio.h>                                                                  15
  int mayor(int a, int b, int c){
    int mayor=0;
    if ((a>b)&&(a>c)) mayor=a;
    if ((b>a)&&(b>c)) mayor=b;
    if ((c>a)&&(c>b)) mayor=c;                                         El sistema operativo
    return (mayor);                                                    marca esta línea como el
  }                                                                    lugar desde donde se
  void main(){                                                         llama a una función, y
    int num1, num2, num3,may;                                          esta    dirección      de
    printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);         memoria se almacena
    printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);        den    una     estructura
    printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
                                                                       denominada stack o pila
15 may = mayor(num1, num2,num3);
    if (may==0){
        printf(“Los Numeros son iguales”);}
    else{                                                       Num1    num2      num3      may
        printf(“El Mayor es: %d”,may);}
  }                                                               5      3         8
¿Cómo se ejecuta una Función?
   El siguiente programa utiliza una función para encontrar el mayor de tres
   numeros positivos, o retornar cero (0) si son iguales.            Pila
                                         a         b          c
   #include <stdio.h>                                                                 15
                                         5         3          8
  int mayor(int a, int b, int c){
    int mayor=0;                                                       Se crean temporalmente
    if ((a>b)&&(a>c)) mayor=a;                                         los parámetros de la
    if ((b>a)&&(b>c)) mayor=b;                                         función y se copian el
    if ((c>a)&&(c>b)) mayor=c;                                         valor de los parámetros
    return (mayor);
                                                                       de la llamada en los
  }
  void main(){                                                         parámetros de la función,
    int num1, num2, num3,may;                                                 según el orden
    printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);                en que estos son
    printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);               invocados
    printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
15 may = mayor(num1, num2,num3);
    if (may==0){
        printf(“Los Numeros son iguales”);}
    else{                                                       Num1   num2     num3       may
        printf(“El Mayor es: %d”,may);}
  }                                                               5     3         8
¿Cómo se ejecuta una Función?
   El siguiente programa utiliza una función para encontrar el mayor de tres
   numeros positivos, o retornar cero (0) si son iguales.            Pila
                                         a         b          c
   #include <stdio.h>                                                                15
                                         5         3          8
  int mayor(int a, int b, int c){
    int mayor=0;                                                       La      ejecución    del
    if ((a>b)&&(a>c)) mayor=a;                                         programa, se traslada de
    if ((b>a)&&(b>c)) mayor=b;                                         inmediato a la primera
    if ((c>a)&&(c>b)) mayor=c;                                         línea de la función
    return (mayor);
  }
  void main(){
    int num1, num2, num3,may;
    printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);
    printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);
    printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
15 may = mayor(num1, num2,num3);
    if (may==0){
        printf(“Los Numeros son iguales”);}
    else{                                                       Num1   num2     num3      may
        printf(“El Mayor es: %d”,may);}
  }                                                               5     3        8
¿Cómo se ejecuta una Función?
   El siguiente programa utiliza una función para encontrar el mayor de tres
   numeros positivos, o retornar cero (0) si son iguales.            Pila
                                         a         b          c        m
   #include <stdio.h>                                                                     15
                                         5         3          8        0
  int mayor(int a, int b, int c){
    int m=0;                                                               Se crea una variable local
    if ((a>b)&&(a>c)) m=a;                                                 de nombre m, y se le
    if ((b>a)&&(b>c)) m=b;                                                 asigna el valor cero (0).
    if ((c>a)&&(c>b)) m=c;
    return (m);
  }
  void main(){
    int num1, num2, num3,may;
    printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);
    printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);
    printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
15 may = mayor(num1, num2,num3);
    if (may==0){
        printf(“Los Numeros son iguales”);}
    else{                                                       Num1   num2         num3       may
        printf(“El Mayor es: %d”,may);}
  }                                                               5         3         8
¿Cómo se ejecuta una Función?
   El siguiente programa utiliza una función para encontrar el mayor de tres
   numeros positivos, o retornar cero (0) si son iguales.            Pila
                                         a         b          c        m
   #include <stdio.h>                                                                      15
                                         5         3          8        0
  int mayor(int a, int b, int c){
    int m=0;                                                               Si el valor de la variable a
    if ((a>b)&&(a>c)) m=a;                                                 es mayor que los valores
    if ((b>a)&&(b>c)) m=b;                                                 de las variable b, c;
    if ((c>a)&&(c>b)) m=c;                                                 entonces a la variable m
    return (m);
                                                                           se le asigna el valor de la
  }
  void main(){                                                             variable a.
    int num1, num2, num3,may;                                              Como esta condición no
    printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);             se cumple, no se realiza
    printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);            ninguna acción.
    printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
15 may = mayor(num1, num2,num3);
    if (may==0){
        printf(“Los Numeros son iguales”);}
    else{                                                       Num1   num2          num3        may
        printf(“El Mayor es: %d”,may);}
  }                                                               5         3          8
¿Cómo se ejecuta una Función?
   El siguiente programa utiliza una función para encontrar el mayor de tres
   numeros positivos, o retornar cero (0) si son iguales.            Pila
                                         a         b          c        m
   #include <stdio.h>                                                                      15
                                         5         3          8        0
  int mayor(int a, int b, int c){
    int m=0;                                                               Si el valor de la variable b
    if ((a>b)&&(a>c)) m=a;                                                 es mayor que los valores
    if ((b>a)&&(b>c)) m=b;                                                 de las variable a, c;
    if ((c>a)&&(c>b)) m=c;                                                 entonces a la variable m
    return (m);
                                                                           se le asigna el valor de la
  }
  void main(){                                                             variable b.
    int num1, num2, num3,may;                                              Como esta condición no
    printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);             se cumple, no se realiza
    printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);            ninguna acción.
    printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
15 may = mayor(num1, num2,num3);
    if (may==0){
        printf(“Los Numeros son iguales”);}
    else{                                                       Num1   num2          num3        may
        printf(“El Mayor es: %d”,may);}
  }                                                               5         3          8
¿Cómo se ejecuta una Función?
   El siguiente programa utiliza una función para encontrar el mayor de tres
   numeros positivos, o retornar cero (0) si son iguales.            Pila
                                         a         b          c        m
   #include <stdio.h>                                                                      15
                                         5         3          8        8
  int mayor(int a, int b, int c){
    int m=0;                                                               Si el valor de la variable c
    if ((a>b)&&(a>c)) m=a;                                                 es mayor que los valores
    if ((b>a)&&(b>c)) m=b;                                                 de las variable a, b;
    if ((c>a)&&(c>b)) m=c;                                                 entonces a la variable m
    return (m);
                                                                           se le asigna el valor de la
  }
  void main(){                                                             variable c.
    int num1, num2, num3,may;                                              Como esta condición SI se
    printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);             cumple, se realiza esa
    printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);            acción
    printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
15 may = mayor(num1, num2,num3);
    if (may==0){
        printf(“Los Numeros son iguales”);}
    else{                                                       Num1   num2          num3        may
        printf(“El Mayor es: %d”,may);}
  }                                                               5         3          8
¿Cómo se ejecuta una Función?
   El siguiente programa utiliza una función para encontrar el mayor de tres
   numeros positivos, o retornar cero (0) si son iguales.            Pila
                                         a         b          c        m
   #include <stdio.h>                                                                     15
                                         5         3          8        8
  int mayor(int a, int b, int c){
    int m=0;                                                               El comando RETURN hace
    if ((a>b)&&(a>c)) m=a;                                                 que la función Retorne o
    if ((b>a)&&(b>c)) m=b;                                                 devuelva      el     valor
    if ((c>a)&&(c>b)) m=c;                                                 indicado, en este caso el
    return (m);
                                                                           valor de la variable m, es
  }
  void main(){                                                             decir, 8.
    int num1, num2, num3,may;
    printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);
    printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);
    printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
15 may = mayor(num1, num2,num3);
    if (may==0){
        printf(“Los Numeros son iguales”);}
    else{                                                       Num1   num2         num3       may
        printf(“El Mayor es: %d”,may);}
  }                                                               5         3         8
¿Cómo se ejecuta una Función?
   El siguiente programa utiliza una función para encontrar el mayor de tres
   numeros positivos, o retornar cero (0) si son iguales.            Pila
                                         a         b          c        m
   #include <stdio.h>                                                                     15
                                         5         3          8        8
  int mayor(int a, int b, int c){
    int m=0;                                                               Al encontrarse el fin de la
    if ((a>b)&&(a>c)) m=a;                                                 función      primero     se
    if ((b>a)&&(b>c)) m=b;                                                 destruyen los parámetros
    if ((c>a)&&(c>b)) m=c;                                                 y variables locales.
    return (m);
                                                                           Luego el flujo del
  }
  void main(){                                                             programa vuelve a la
    int num1, num2, num3,may;                                              línea que indica la última
    printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);             dirección almacenada en
    printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);            la pila, en este caso 15
    printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
15 may = mayor(num1, num2,num3);
    if (may==0){
        printf(“Los Numeros son iguales”);}
    else{                                                       Num1   num2          num3       may
        printf(“El Mayor es: %d”,may);}
  }                                                               5         3         8
¿Cómo se ejecuta una Función?
El siguiente programa utiliza una función para encontrar el mayor de tres
numeros positivos, o retornar cero (0) si son iguales.

#include <stdio.h>

int mayor(int a, int b, int c){
  int m=0;                                                           Aquí se cambia el nombre
  if ((a>b)&&(a>c)) m=a;                                             de la función y sus
  if ((b>a)&&(b>c)) m=b;                                             parámetros, por el valor
  if ((c>a)&&(c>b)) m=c;                                             que esta ha devuelto, en
  return (m);
                                                                     este caso 8.
}
void main(){                                                         Luego se asigna el valor a
  int num1, num2, num3,may;                                          la variable may
  printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);
  printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);
  printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
  may = mayor(num1, num2,num3);
  if (may==0){
      printf(“Los Numeros son iguales”);}
  else{                                                       Num1   num2     num3       may
      printf(“El Mayor es: %d”,may);}
}                                                               5     3         8         8
¿Cómo se ejecuta una Función?
El siguiente programa utiliza una función para encontrar el mayor de tres
numeros positivos, o retornar cero (0) si son iguales.

#include <stdio.h>

int mayor(int a, int b, int c){
  int m=0;
  if ((a>b)&&(a>c)) m=a;
  if ((b>a)&&(b>c)) m=b;
  if ((c>a)&&(c>b)) m=c;
                                                                   Si el valor de la variable
  return (m);                                                      may es cero, se escribe
}                                                                  que los numero son
void main(){                                                       iguales, en este caso la
  int num1, num2, num3,may;                                        condición no se cumple y
  printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);       por lo tanto no se realiza
  printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);      la acción de escribir, y se
  printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
                                                                   pasa el flujo del programa
  may = mayor(num1, num2,num3);
  if (may==0){
                                                                   al ELSE
      printf(“Los Numeros son iguales”);}
  else{                                                       Num1      num2       num3       may
      printf(“El Mayor es: %d”,may);}
}                                                               5         3          8         8
¿Cómo se ejecuta una Función?
El siguiente programa utiliza una función para encontrar el mayor de tres
numeros positivos, o retornar cero (0) si son iguales.

#include <stdio.h>

int mayor(int a, int b, int c){
  int m=0;
  if ((a>b)&&(a>c)) m=a;
  if ((b>a)&&(b>c)) m=b;
  if ((c>a)&&(c>b)) m=c;
                                                                   Ya en el ELSE se escribe
  return (m);                                                      el mensaje “El Mayor es:”
}                                                                  y el valor de la variable
void main(){                                                       may, es decir 8.
  int num1, num2, num3,may;
  printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);       Indicando que el mayor
  printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);      de 5,3,8 es el 8, lo cual es
  printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
                                                                   verdad, y por lo tanto el
  may = mayor(num1, num2,num3);
  if (may==0){
                                                                   programa cumple con su
      printf(“Los Numeros son iguales”);}                          objetivo
  else{                                                       Num1      num2       num3        may
      printf(“El Mayor es: %d”,may);}
}                                                               5         3          8          8
Ejercicio
Explica como funciona el siguiente programa cuando los datos de entrada
son 30, 25,10

#include <stdio.h>

int mayor(int a, int b, int c){
  int mayor=0;
  if ((a>b)&&(a>c)) mayor=a;
  if ((b>a)&&(b>c)) mayor=b;
  if ((c>a)&&(c>b)) mayor=c;
  return (mayor);
}
void main(){
  int num1, num2, num3,may;
  printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);
  printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);
  printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
  may = mayor(num1, num2,num3);
  if (may==0){
      printf(“Los Numeros son iguales”);}
  else{
      printf(“El Mayor es: %d”,may);}
}
Ejercicio
Explica como funciona el siguiente programa cuando los datos de entrada
son 5, 45,6

#include <stdio.h>

int mayor(int a, int b, int c){
  int mayor=0;
  if ((a>b)&&(a>c)) mayor=a;
  if ((b>a)&&(b>c)) mayor=b;
  if ((c>a)&&(c>b)) mayor=c;
  return (mayor);
}
void main(){
  int num1, num2, num3,may;
  printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);
  printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);
  printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
  may = mayor(num1, num2,num3);
  if (may==0){
      printf(“Los Numeros son iguales”);}
  else{
      printf(“El Mayor es: %d”,may);}
}
Ejercicio
Explica como funciona el siguiente programa cuando los datos de entrada
son 5, 5, 5

#include <stdio.h>

int mayor(int a, int b, int c){
  int mayor=0;
  if ((a>b)&&(a>c)) mayor=a;
  if ((b>a)&&(b>c)) mayor=b;
  if ((c>a)&&(c>b)) mayor=c;
  return (mayor);
}
void main(){
  int num1, num2, num3,may;
  printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1);
  printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2);
  printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3);
  may = mayor(num1, num2,num3);
  if (may==0){
      printf(“Los Numeros son iguales”);}
  else{
      printf(“El Mayor es: %d”,may);}
}
Ejercicio
1. Realice un programa que a través de una función calcule la media de
   tres números.

2. Realice un programa que a través de una función día el nombre del día
   de la semana en función de un numero entero dado, y que también
   pueda indicar si el numero esta fuera del rango de los días de la
   semana.

3. Realice un programa que a través de funciones indique que tipo de
   triangulo se trata en función de triangulo es en base de la longitudes
   de sus lados, en los siguientes casos. Suponiendo que A determina el
   mayor de los tres lados y B y C corresponden con los otros
   dos, entonces:
                  Si A>=B + C No se trata de un triángulo
                Si A2 = B2 + C2 Es un triángulo rectángulo
               Si A2 > B2 + C2 Es un triángulo obtusángulo
                Si A2 < B2 + C2 Es un triángulo acutángulo

Weitere ähnliche Inhalte

Was ist angesagt?

Métodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaMétodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaDaniel Gómez
 
Union in c language
Union  in c languageUnion  in c language
Union in c languagetanmaymodi4
 
INLINE FUNCTION IN C++
INLINE FUNCTION IN C++INLINE FUNCTION IN C++
INLINE FUNCTION IN C++Vraj Patel
 
Python decorators
Python decoratorsPython decorators
Python decoratorsAlex Su
 
Union in C programming
Union in C programmingUnion in C programming
Union in C programmingKamal Acharya
 
Decorators in Python
Decorators in PythonDecorators in Python
Decorators in PythonBen James
 
MANAGING INPUT AND OUTPUT OPERATIONS IN C MRS.SOWMYA JYOTHI.pdf
MANAGING INPUT AND OUTPUT OPERATIONS IN C    MRS.SOWMYA JYOTHI.pdfMANAGING INPUT AND OUTPUT OPERATIONS IN C    MRS.SOWMYA JYOTHI.pdf
MANAGING INPUT AND OUTPUT OPERATIONS IN C MRS.SOWMYA JYOTHI.pdfSowmyaJyothi3
 
Intoduction to structure
Intoduction to structureIntoduction to structure
Intoduction to structureUtsav276
 
Estructura de Datos, Multilistas
Estructura de Datos, MultilistasEstructura de Datos, Multilistas
Estructura de Datos, MultilistasCristhian Rosales
 
Virtual function in C++ Pure Virtual Function
Virtual function in C++ Pure Virtual Function Virtual function in C++ Pure Virtual Function
Virtual function in C++ Pure Virtual Function Kamlesh Makvana
 
Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++tacubomx
 
Programming Fundamentals Functions in C and types
Programming Fundamentals  Functions in C  and typesProgramming Fundamentals  Functions in C  and types
Programming Fundamentals Functions in C and typesimtiazalijoono
 

Was ist angesagt? (20)

Métodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaMétodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - Algoritmia
 
Union in c language
Union  in c languageUnion  in c language
Union in c language
 
C and C++ functions
C and C++ functionsC and C++ functions
C and C++ functions
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
INLINE FUNCTION IN C++
INLINE FUNCTION IN C++INLINE FUNCTION IN C++
INLINE FUNCTION IN C++
 
Python decorators
Python decoratorsPython decorators
Python decorators
 
Union in C programming
Union in C programmingUnion in C programming
Union in C programming
 
Decorators in Python
Decorators in PythonDecorators in Python
Decorators in Python
 
Functions in C
Functions in CFunctions in C
Functions in C
 
MANAGING INPUT AND OUTPUT OPERATIONS IN C MRS.SOWMYA JYOTHI.pdf
MANAGING INPUT AND OUTPUT OPERATIONS IN C    MRS.SOWMYA JYOTHI.pdfMANAGING INPUT AND OUTPUT OPERATIONS IN C    MRS.SOWMYA JYOTHI.pdf
MANAGING INPUT AND OUTPUT OPERATIONS IN C MRS.SOWMYA JYOTHI.pdf
 
Intoduction to structure
Intoduction to structureIntoduction to structure
Intoduction to structure
 
10.herencia en c++
10.herencia en c++10.herencia en c++
10.herencia en c++
 
Estructura de Datos, Multilistas
Estructura de Datos, MultilistasEstructura de Datos, Multilistas
Estructura de Datos, Multilistas
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
C function
C functionC function
C function
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Virtual function in C++ Pure Virtual Function
Virtual function in C++ Pure Virtual Function Virtual function in C++ Pure Virtual Function
Virtual function in C++ Pure Virtual Function
 
Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++
 
Programming Fundamentals Functions in C and types
Programming Fundamentals  Functions in C  and typesProgramming Fundamentals  Functions in C  and types
Programming Fundamentals Functions in C and types
 
Function in C
Function in CFunction in C
Function in C
 

Andere mochten auch

FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE Cflaquita_dany
 
Capitulo 10 Introduccion a los diagramas de flujo
Capitulo 10 Introduccion a los diagramas de flujoCapitulo 10 Introduccion a los diagramas de flujo
Capitulo 10 Introduccion a los diagramas de flujoCarlos Pes
 
Asignación, Salida y Entrada
Asignación, Salida y EntradaAsignación, Salida y Entrada
Asignación, Salida y EntradaCarlos Pes
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivasCarlos Pes
 
Operadores y Expresiones
Operadores y ExpresionesOperadores y Expresiones
Operadores y ExpresionesCarlos Pes
 
Tipos de datos definidos por el programador
Tipos de datos definidos por el programadorTipos de datos definidos por el programador
Tipos de datos definidos por el programadorCarlos Pes
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantesCarlos Pes
 
Introducción a la codificación en lenguaje C
Introducción a la codificación en lenguaje CIntroducción a la codificación en lenguaje C
Introducción a la codificación en lenguaje CCarlos Pes
 
Tema6
Tema6Tema6
Tema6UH
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivasjcbenitezp
 
Utp i_ay_se_sistemas difusos i 2013-3
 Utp i_ay_se_sistemas difusos i 2013-3 Utp i_ay_se_sistemas difusos i 2013-3
Utp i_ay_se_sistemas difusos i 2013-3jcbenitezp
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2jcbenitezp
 

Andere mochten auch (20)

2 punteros y lenguaje c
2 punteros y lenguaje c2 punteros y lenguaje c
2 punteros y lenguaje c
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Capitulo 10 Introduccion a los diagramas de flujo
Capitulo 10 Introduccion a los diagramas de flujoCapitulo 10 Introduccion a los diagramas de flujo
Capitulo 10 Introduccion a los diagramas de flujo
 
Asignación, Salida y Entrada
Asignación, Salida y EntradaAsignación, Salida y Entrada
Asignación, Salida y Entrada
 
05 - Funciones en lenguaje C
05 - Funciones en lenguaje C05 - Funciones en lenguaje C
05 - Funciones en lenguaje C
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
 
Operadores y Expresiones
Operadores y ExpresionesOperadores y Expresiones
Operadores y Expresiones
 
Tipos de datos definidos por el programador
Tipos de datos definidos por el programadorTipos de datos definidos por el programador
Tipos de datos definidos por el programador
 
C++
C++C++
C++
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantes
 
Introducción a la codificación en lenguaje C
Introducción a la codificación en lenguaje CIntroducción a la codificación en lenguaje C
Introducción a la codificación en lenguaje C
 
C++ y sus librerias
C++ y sus libreriasC++ y sus librerias
C++ y sus librerias
 
Slideshare Flickr
Slideshare FlickrSlideshare Flickr
Slideshare Flickr
 
08 - Punteros en lenguaje C
08 - Punteros en lenguaje C08 - Punteros en lenguaje C
08 - Punteros en lenguaje C
 
Lenguaje C_Curso Secap
Lenguaje C_Curso SecapLenguaje C_Curso Secap
Lenguaje C_Curso Secap
 
Tema6
Tema6Tema6
Tema6
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivas
 
Curso c
Curso cCurso c
Curso c
 
Utp i_ay_se_sistemas difusos i 2013-3
 Utp i_ay_se_sistemas difusos i 2013-3 Utp i_ay_se_sistemas difusos i 2013-3
Utp i_ay_se_sistemas difusos i 2013-3
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
 

Ähnlich wie Funciones en Lenguaje C (20)

Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
 
Funcionesenlenguaje c
Funcionesenlenguaje cFuncionesenlenguaje c
Funcionesenlenguaje c
 
Presen iii 26 funciones
Presen iii  26 funcionesPresen iii  26 funciones
Presen iii 26 funciones
 
Metodos funciones
Metodos funcionesMetodos funciones
Metodos funciones
 
Funciones en C.docx
Funciones en C.docxFunciones en C.docx
Funciones en C.docx
 
07 funciones
07 funciones07 funciones
07 funciones
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
Clase 19
Clase 19Clase 19
Clase 19
 
Funciones
FuncionesFunciones
Funciones
 
Escuela
EscuelaEscuela
Escuela
 
Escuela
EscuelaEscuela
Escuela
 
Funciones en c++
Funciones en c++Funciones en c++
Funciones en c++
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Funciones en lenguage c
Funciones en lenguage cFunciones en lenguage c
Funciones en lenguage c
 
11funciones 1231096290787715-2
11funciones 1231096290787715-211funciones 1231096290787715-2
11funciones 1231096290787715-2
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
 
Funciones con arrays y vectores en c
Funciones con arrays y vectores en cFunciones con arrays y vectores en c
Funciones con arrays y vectores en c
 
Guía funciones
Guía funcionesGuía funciones
Guía funciones
 

Mehr von Jaime David Romero Olivo

Medios,modelos y estilos de aprendizaje jaime romero
Medios,modelos y estilos de aprendizaje jaime romeroMedios,modelos y estilos de aprendizaje jaime romero
Medios,modelos y estilos de aprendizaje jaime romeroJaime David Romero Olivo
 
Analisis y diseño de una base de datos proyecto 1era parte
Analisis y diseño de una base de datos  proyecto 1era parte Analisis y diseño de una base de datos  proyecto 1era parte
Analisis y diseño de una base de datos proyecto 1era parte Jaime David Romero Olivo
 
Ejercicios de diseño y navegación de bases de datos
Ejercicios de diseño y navegación de bases de datosEjercicios de diseño y navegación de bases de datos
Ejercicios de diseño y navegación de bases de datosJaime David Romero Olivo
 
Ejercicios de diseño y navegación de bases de datos
Ejercicios de diseño y navegación de bases de datosEjercicios de diseño y navegación de bases de datos
Ejercicios de diseño y navegación de bases de datosJaime David Romero Olivo
 
Scrumrf como herramienta de evaluación de proyectos. carlín gonzález, doralí ...
Scrumrf como herramienta de evaluación de proyectos. carlín gonzález, doralí ...Scrumrf como herramienta de evaluación de proyectos. carlín gonzález, doralí ...
Scrumrf como herramienta de evaluación de proyectos. carlín gonzález, doralí ...Jaime David Romero Olivo
 
Taller hot potatoes como herramienta para la creación de actividades educativ...
Taller hot potatoes como herramienta para la creación de actividades educativ...Taller hot potatoes como herramienta para la creación de actividades educativ...
Taller hot potatoes como herramienta para la creación de actividades educativ...Jaime David Romero Olivo
 
Aproximación taller de hotpotatoes carlín gonzález, carmen parra y jaime r...
Aproximación taller de  hotpotatoes   carlín gonzález, carmen parra y jaime r...Aproximación taller de  hotpotatoes   carlín gonzález, carmen parra y jaime r...
Aproximación taller de hotpotatoes carlín gonzález, carmen parra y jaime r...Jaime David Romero Olivo
 
Taller de hotpotatoes, aproximación. carlín gonzález, carmen parra y jaime ro...
Taller de hotpotatoes, aproximación. carlín gonzález, carmen parra y jaime ro...Taller de hotpotatoes, aproximación. carlín gonzález, carmen parra y jaime ro...
Taller de hotpotatoes, aproximación. carlín gonzález, carmen parra y jaime ro...Jaime David Romero Olivo
 
Aproximación taller de hotpotatoes carlín gonzález, carmen parra y jaime r...
Aproximación taller de  hotpotatoes   carlín gonzález, carmen parra y jaime r...Aproximación taller de  hotpotatoes   carlín gonzález, carmen parra y jaime r...
Aproximación taller de hotpotatoes carlín gonzález, carmen parra y jaime r...Jaime David Romero Olivo
 

Mehr von Jaime David Romero Olivo (20)

Paragraph writing ppp (final version)
Paragraph writing ppp (final version)Paragraph writing ppp (final version)
Paragraph writing ppp (final version)
 
Medios,modelos y estilos de aprendizaje jaime romero
Medios,modelos y estilos de aprendizaje jaime romeroMedios,modelos y estilos de aprendizaje jaime romero
Medios,modelos y estilos de aprendizaje jaime romero
 
Pubblicitm
PubblicitmPubblicitm
Pubblicitm
 
Ejercicios resueltos el jueves 12 04-2012
Ejercicios resueltos el jueves 12 04-2012Ejercicios resueltos el jueves 12 04-2012
Ejercicios resueltos el jueves 12 04-2012
 
Evaluacion de la hoja resumen
Evaluacion de la hoja resumenEvaluacion de la hoja resumen
Evaluacion de la hoja resumen
 
Evaluaciones 2011 ii
Evaluaciones   2011 iiEvaluaciones   2011 ii
Evaluaciones 2011 ii
 
Analisis y diseño de una base de datos proyecto 1era parte
Analisis y diseño de una base de datos  proyecto 1era parte Analisis y diseño de una base de datos  proyecto 1era parte
Analisis y diseño de una base de datos proyecto 1era parte
 
Universidad nuevos caminos
Universidad nuevos caminosUniversidad nuevos caminos
Universidad nuevos caminos
 
Hotel el descanso
Hotel el descansoHotel el descanso
Hotel el descanso
 
Ejercicios de diseño y navegación de bases de datos
Ejercicios de diseño y navegación de bases de datosEjercicios de diseño y navegación de bases de datos
Ejercicios de diseño y navegación de bases de datos
 
Ejercicios de diseño y navegación de bases de datos
Ejercicios de diseño y navegación de bases de datosEjercicios de diseño y navegación de bases de datos
Ejercicios de diseño y navegación de bases de datos
 
Cronograma de exposiciones
Cronograma de exposicionesCronograma de exposiciones
Cronograma de exposiciones
 
Instalar xampp
Instalar xamppInstalar xampp
Instalar xampp
 
Fundamentos de las bases de datos
Fundamentos de las bases de datosFundamentos de las bases de datos
Fundamentos de las bases de datos
 
Scrumrf como herramienta de evaluación de proyectos. carlín gonzález, doralí ...
Scrumrf como herramienta de evaluación de proyectos. carlín gonzález, doralí ...Scrumrf como herramienta de evaluación de proyectos. carlín gonzález, doralí ...
Scrumrf como herramienta de evaluación de proyectos. carlín gonzález, doralí ...
 
Taller hot potatoes como herramienta para la creación de actividades educativ...
Taller hot potatoes como herramienta para la creación de actividades educativ...Taller hot potatoes como herramienta para la creación de actividades educativ...
Taller hot potatoes como herramienta para la creación de actividades educativ...
 
Aproximación taller de hotpotatoes carlín gonzález, carmen parra y jaime r...
Aproximación taller de  hotpotatoes   carlín gonzález, carmen parra y jaime r...Aproximación taller de  hotpotatoes   carlín gonzález, carmen parra y jaime r...
Aproximación taller de hotpotatoes carlín gonzález, carmen parra y jaime r...
 
Taller de hotpotatoes, aproximación. carlín gonzález, carmen parra y jaime ro...
Taller de hotpotatoes, aproximación. carlín gonzález, carmen parra y jaime ro...Taller de hotpotatoes, aproximación. carlín gonzález, carmen parra y jaime ro...
Taller de hotpotatoes, aproximación. carlín gonzález, carmen parra y jaime ro...
 
Aproximación taller de hotpotatoes carlín gonzález, carmen parra y jaime r...
Aproximación taller de  hotpotatoes   carlín gonzález, carmen parra y jaime r...Aproximación taller de  hotpotatoes   carlín gonzález, carmen parra y jaime r...
Aproximación taller de hotpotatoes carlín gonzález, carmen parra y jaime r...
 
Proyectos publicos privados
Proyectos publicos privadosProyectos publicos privados
Proyectos publicos privados
 

Kürzlich hochgeladen

OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
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
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
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
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 

Kürzlich hochgeladen (20)

OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
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
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
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...
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
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
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 

Funciones en Lenguaje C

  • 1. FUNCIONES: Las Subrutinas de Lenguaje C Prof. Jaime Romero
  • 2. SUBRUTINAS Una subrutina es una porción de código que forma parte de un programa más grande. Esa porción de código realiza una tarea específica, relativamente independiente del resto del código. La mayoría de los lenguajes de programación soportan la creación de subrutinas y métodos para llamarlas (invocarlas) y retornarlas.
  • 3. SUBRUTINAS Existen varias ventajas de "romper" un programa en subrutinas: • Reducción de código duplicado. • Permite el reuso de código en múltiples programas. • Descomposición de problemas complejos en simples piezas (lo que aumenta la mantenibilidad y extensibilidad). • Aumenta la legibilidad del código de un programa..
  • 4. SUBRUTINAS Muchos lenguajes de programación distinguen distintas subrutinas. Por ejemplo, el lenguaje Pascal distingue entre la subrutina Procedimiento y la subrutina Función. En cambio existen otros lenguajes que los tratan como sinónimos. En lenguaje C existe sólo un tipo de Subrutina: Las Funciones, aunque dependiendo del tipo de valor que estas retornen pueden ser utilizada tanto como procedimientos, o como funciones.
  • 5. SUBRUTINAS PROCEDIMIENTOS. Son subrutinas que realizan un trabajo, pero que no retornan ningún valor en su estructura. FUNCIONES. Son subrutinas que realizan un trabajo, y que retornan un valor en su estructura.
  • 6. FUNCIONES El lenguaje de programación C, es un lenguaje modularizado por excelencia. La modularización, es una técnica usada por los programadores para hacer sus códigos más cortos, ya que consiste en reducir un gran problema complejo, en pequeños problemitas más sencillos, concentrándose en la solución por separado, de cada uno de ellos.
  • 7. FUNCIONES La sintaxis de una función es la siguiente: Tipo_de_datos nombre_de_la_funcion (tipo y nombre de argumentos) { acciones o comandos; } donde: Tipo_de_datos: Es el tipo de dato que devolverá esa función, que puede ser real, entera, o tipo void (es decir que no devolverá ningún valor, en este caso la función trabajo como un Procedimiento).
  • 8. FUNCIONES La sintaxis de una función es la siguiente: Tipo_de_datos nombre_de_la_funcion (tipo y nombre de argumentos) { acciones o comandos; } donde: Nombre_de_la_funcion: Es el identificador que le damos a nuestra función, la cual debe cumplir las reglas de los identificadores.
  • 9. FUNCIONES La sintaxis de una función es la siguiente: Tipo_de_datos nombre_de_la_funcion (tipo y nombre de argumentos) { acciones o comandos; } donde: Tipo y nombre de argumentos: son los parámetros que recibe la función. Los argumentos de una función no son más que variables locales que reciben un valor. Este valor se lo enviamos al hacer la llamada a la función. Pueden existir funciones que no reciban argumentos.
  • 10. FUNCIONES La sintaxis de una función es la siguiente: Tipo_de_datos nombre_de_la_funcion (tipo y nombre de argumentos) { acciones o comandos; } donde: Acciones: Constituye el conjunto de acciones, de sentencias que cumplirá la función, cuando sea ejecutada. Entre ellas están: Asignaciones, Lecturas, Impresiones, Cálculos, entre otros.
  • 11. FUNCIONES En las funciones juegan un papel muy importe las variables, ya que como se ha dicho estas pueden ser locales o globales. Variables Globales: Estas se crean durante toda la ejecución del programa, y son globales, ya que pueden ser llamadas, leídas, modificadas, etc; desde cualquier función. Se definen antes del main(). Variables Locales: Estas, pueden ser utilizadas únicamente en la función que hayan sido declaradas.
  • 12. FUNCIONES #include <librería> Variables Globales: funcionan dentro de todas las funciones del int x,y,z programa. aaaa( ){ Variables Locales: sólo funcionan dentro de la int var1, var2, var 3; función donde son declaradas, y se destruyen Acciones; cuando se sale de ella Return(); } Main (){ int var4, var5; Variables Locales de la Función Main: sólo } funcionan dentro de la función Main, y se destruyen cuando se sale de ella
  • 13. Argumentos o Parámetros Un Parámetro, también conocido como argumento de una función es una variable, o un valor que se le “pasa” a la función para que esta los utilice para sus trabajo, pudiendo incluso cambiar sus valores. Un parámetro es ese valor que le damos a la función para que realice su trabajo, aunque pueden existir funciones a las cuales no se les pasa ningún parámetro.
  • 14. Argumentos o Parámetros Existen dos tipos de paso de parámetros: Parámetros por Valor: Aquí solo se pasa a la función el valor de las variables o los literales que le enviamos como parámetros, en consecuencia la función NO puede cambiar el valor de las variables. Parámetros por Referencia: Aquí se pasa a la función tanto el valor de las variables, como su dirección de estas en la memoria, por lo cual la la función puede cambiar el valor de las variables. Si la variable es global, la función SIEMPRE puede modificar su valor
  • 15. Llamadas a una Función Una función puede ser llamada o invocada a través de los siguiente métodos: Por una asignación: variable = función(); Por una impresión: printf(“%d”, función()); Por una condición: if (funcion()==0) switch (funcion()) o cualquier tipo de condición lógica.
  • 16. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. #include <stdio.h> int mayor(int a, int b, int c){ int mayor=0; if ((a>b)&&(a>c)) mayor=a; if ((b>a)&&(b>c)) mayor=b; if ((c>a)&&(c>b)) mayor=c; Al iniciar un programa en return (mayor); Lenguaje C, siempre } void main(){ automáticamente se int num1, num2, num3,may; busca la función printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); inicial, es decir, la printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); función MAIN, y se printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); comienza a ejecutar may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ printf(“El Mayor es: %d”,may);} }
  • 17. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. #include <stdio.h> int mayor(int a, int b, int c){ int mayor=0; if ((a>b)&&(a>c)) mayor=a; if ((b>a)&&(b>c)) mayor=b; if ((c>a)&&(c>b)) mayor=c; Se crean cuatro variables return (mayor); globales de tipo entero } void main(){ num1 int num1, num2, num3,may; num2 printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); num3 printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); may printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ num1 num2 num3 may printf(“El Mayor es: %d”,may);} }
  • 18. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. #include <stdio.h> int mayor(int a, int b, int c){ int mayor=0; if ((a>b)&&(a>c)) mayor=a; if ((b>a)&&(b>c)) mayor=b; Se lee el primer valor, y if ((c>a)&&(c>b)) mayor=c; éste es almacenado en la return (mayor); } variable num1. void main(){ Supongamos que el int num1, num2, num3,may; usuario introduce el printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); numero 5 printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5
  • 19. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. #include <stdio.h> int mayor(int a, int b, int c){ int mayor=0; if ((a>b)&&(a>c)) mayor=a; if ((b>a)&&(b>c)) mayor=b; if ((c>a)&&(c>b)) mayor=c; Se lee el segundo valor, y return (mayor); } éste es almacenado en la void main(){ variable num2. int num1, num2, num3,may; Supongamos que el printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); usuario introduce el printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); numero 3 printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3
  • 20. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. #include <stdio.h> int mayor(int a, int b, int c){ int mayor=0; if ((a>b)&&(a>c)) mayor=a; if ((b>a)&&(b>c)) mayor=b; if ((c>a)&&(c>b)) mayor=c; Se lee el tercer valor, y return (mayor); éste es almacenado en la } variable num3. void main(){ Supongamos que el int num1, num2, num3,may; usuario introduce el printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); numero 8 printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8
  • 21. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. #include <stdio.h> int mayor(int a, int b, int c){ int mayor=0; if ((a>b)&&(a>c)) mayor=a; if ((b>a)&&(b>c)) mayor=b; if ((c>a)&&(c>b)) mayor=c; return (mayor); } void main(){ Como en toda int num1, num2, num3,may; asignación, primero se printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); evalúa lo que se printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); encuentra a la derecha printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); de l símbolo igual (=) may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8
  • 22. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. #include <stdio.h> int mayor(int a, int b, int c){ int mayor=0; if ((a>b)&&(a>c)) mayor=a; if ((b>a)&&(b>c)) mayor=b; if ((c>a)&&(c>b)) mayor=c; return (mayor); } void main(){ int num1, num2, num3,may; printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); Aquí se encuentra que printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); se llama a una función may = mayor(num1, num2,num3); denominada mayor if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8
  • 23. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. Pila #include <stdio.h> 15 int mayor(int a, int b, int c){ int mayor=0; if ((a>b)&&(a>c)) mayor=a; if ((b>a)&&(b>c)) mayor=b; if ((c>a)&&(c>b)) mayor=c; El sistema operativo return (mayor); marca esta línea como el } lugar desde donde se void main(){ llama a una función, y int num1, num2, num3,may; esta dirección de printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); memoria se almacena printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); den una estructura printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); denominada stack o pila 15 may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8
  • 24. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. Pila a b c #include <stdio.h> 15 5 3 8 int mayor(int a, int b, int c){ int mayor=0; Se crean temporalmente if ((a>b)&&(a>c)) mayor=a; los parámetros de la if ((b>a)&&(b>c)) mayor=b; función y se copian el if ((c>a)&&(c>b)) mayor=c; valor de los parámetros return (mayor); de la llamada en los } void main(){ parámetros de la función, int num1, num2, num3,may; según el orden printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); en que estos son printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); invocados printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); 15 may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8
  • 25. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. Pila a b c #include <stdio.h> 15 5 3 8 int mayor(int a, int b, int c){ int mayor=0; La ejecución del if ((a>b)&&(a>c)) mayor=a; programa, se traslada de if ((b>a)&&(b>c)) mayor=b; inmediato a la primera if ((c>a)&&(c>b)) mayor=c; línea de la función return (mayor); } void main(){ int num1, num2, num3,may; printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); 15 may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8
  • 26. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. Pila a b c m #include <stdio.h> 15 5 3 8 0 int mayor(int a, int b, int c){ int m=0; Se crea una variable local if ((a>b)&&(a>c)) m=a; de nombre m, y se le if ((b>a)&&(b>c)) m=b; asigna el valor cero (0). if ((c>a)&&(c>b)) m=c; return (m); } void main(){ int num1, num2, num3,may; printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); 15 may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8
  • 27. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. Pila a b c m #include <stdio.h> 15 5 3 8 0 int mayor(int a, int b, int c){ int m=0; Si el valor de la variable a if ((a>b)&&(a>c)) m=a; es mayor que los valores if ((b>a)&&(b>c)) m=b; de las variable b, c; if ((c>a)&&(c>b)) m=c; entonces a la variable m return (m); se le asigna el valor de la } void main(){ variable a. int num1, num2, num3,may; Como esta condición no printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); se cumple, no se realiza printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); ninguna acción. printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); 15 may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8
  • 28. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. Pila a b c m #include <stdio.h> 15 5 3 8 0 int mayor(int a, int b, int c){ int m=0; Si el valor de la variable b if ((a>b)&&(a>c)) m=a; es mayor que los valores if ((b>a)&&(b>c)) m=b; de las variable a, c; if ((c>a)&&(c>b)) m=c; entonces a la variable m return (m); se le asigna el valor de la } void main(){ variable b. int num1, num2, num3,may; Como esta condición no printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); se cumple, no se realiza printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); ninguna acción. printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); 15 may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8
  • 29. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. Pila a b c m #include <stdio.h> 15 5 3 8 8 int mayor(int a, int b, int c){ int m=0; Si el valor de la variable c if ((a>b)&&(a>c)) m=a; es mayor que los valores if ((b>a)&&(b>c)) m=b; de las variable a, b; if ((c>a)&&(c>b)) m=c; entonces a la variable m return (m); se le asigna el valor de la } void main(){ variable c. int num1, num2, num3,may; Como esta condición SI se printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); cumple, se realiza esa printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); acción printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); 15 may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8
  • 30. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. Pila a b c m #include <stdio.h> 15 5 3 8 8 int mayor(int a, int b, int c){ int m=0; El comando RETURN hace if ((a>b)&&(a>c)) m=a; que la función Retorne o if ((b>a)&&(b>c)) m=b; devuelva el valor if ((c>a)&&(c>b)) m=c; indicado, en este caso el return (m); valor de la variable m, es } void main(){ decir, 8. int num1, num2, num3,may; printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); 15 may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8
  • 31. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. Pila a b c m #include <stdio.h> 15 5 3 8 8 int mayor(int a, int b, int c){ int m=0; Al encontrarse el fin de la if ((a>b)&&(a>c)) m=a; función primero se if ((b>a)&&(b>c)) m=b; destruyen los parámetros if ((c>a)&&(c>b)) m=c; y variables locales. return (m); Luego el flujo del } void main(){ programa vuelve a la int num1, num2, num3,may; línea que indica la última printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); dirección almacenada en printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); la pila, en este caso 15 printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); 15 may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8
  • 32. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. #include <stdio.h> int mayor(int a, int b, int c){ int m=0; Aquí se cambia el nombre if ((a>b)&&(a>c)) m=a; de la función y sus if ((b>a)&&(b>c)) m=b; parámetros, por el valor if ((c>a)&&(c>b)) m=c; que esta ha devuelto, en return (m); este caso 8. } void main(){ Luego se asigna el valor a int num1, num2, num3,may; la variable may printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8 8
  • 33. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. #include <stdio.h> int mayor(int a, int b, int c){ int m=0; if ((a>b)&&(a>c)) m=a; if ((b>a)&&(b>c)) m=b; if ((c>a)&&(c>b)) m=c; Si el valor de la variable return (m); may es cero, se escribe } que los numero son void main(){ iguales, en este caso la int num1, num2, num3,may; condición no se cumple y printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); por lo tanto no se realiza printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); la acción de escribir, y se printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); pasa el flujo del programa may = mayor(num1, num2,num3); if (may==0){ al ELSE printf(“Los Numeros son iguales”);} else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8 8
  • 34. ¿Cómo se ejecuta una Función? El siguiente programa utiliza una función para encontrar el mayor de tres numeros positivos, o retornar cero (0) si son iguales. #include <stdio.h> int mayor(int a, int b, int c){ int m=0; if ((a>b)&&(a>c)) m=a; if ((b>a)&&(b>c)) m=b; if ((c>a)&&(c>b)) m=c; Ya en el ELSE se escribe return (m); el mensaje “El Mayor es:” } y el valor de la variable void main(){ may, es decir 8. int num1, num2, num3,may; printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); Indicando que el mayor printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); de 5,3,8 es el 8, lo cual es printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); verdad, y por lo tanto el may = mayor(num1, num2,num3); if (may==0){ programa cumple con su printf(“Los Numeros son iguales”);} objetivo else{ Num1 num2 num3 may printf(“El Mayor es: %d”,may);} } 5 3 8 8
  • 35. Ejercicio Explica como funciona el siguiente programa cuando los datos de entrada son 30, 25,10 #include <stdio.h> int mayor(int a, int b, int c){ int mayor=0; if ((a>b)&&(a>c)) mayor=a; if ((b>a)&&(b>c)) mayor=b; if ((c>a)&&(c>b)) mayor=c; return (mayor); } void main(){ int num1, num2, num3,may; printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ printf(“El Mayor es: %d”,may);} }
  • 36. Ejercicio Explica como funciona el siguiente programa cuando los datos de entrada son 5, 45,6 #include <stdio.h> int mayor(int a, int b, int c){ int mayor=0; if ((a>b)&&(a>c)) mayor=a; if ((b>a)&&(b>c)) mayor=b; if ((c>a)&&(c>b)) mayor=c; return (mayor); } void main(){ int num1, num2, num3,may; printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ printf(“El Mayor es: %d”,may);} }
  • 37. Ejercicio Explica como funciona el siguiente programa cuando los datos de entrada son 5, 5, 5 #include <stdio.h> int mayor(int a, int b, int c){ int mayor=0; if ((a>b)&&(a>c)) mayor=a; if ((b>a)&&(b>c)) mayor=b; if ((c>a)&&(c>b)) mayor=c; return (mayor); } void main(){ int num1, num2, num3,may; printf(“nnIngrese el primer valor:”); scanf(“%d”,&num1); printf(“nnIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“nnIngrese el tercer valor:”); scanf(“%d”,&num3); may = mayor(num1, num2,num3); if (may==0){ printf(“Los Numeros son iguales”);} else{ printf(“El Mayor es: %d”,may);} }
  • 38. Ejercicio 1. Realice un programa que a través de una función calcule la media de tres números. 2. Realice un programa que a través de una función día el nombre del día de la semana en función de un numero entero dado, y que también pueda indicar si el numero esta fuera del rango de los días de la semana. 3. Realice un programa que a través de funciones indique que tipo de triangulo se trata en función de triangulo es en base de la longitudes de sus lados, en los siguientes casos. Suponiendo que A determina el mayor de los tres lados y B y C corresponden con los otros dos, entonces: Si A>=B + C No se trata de un triángulo Si A2 = B2 + C2 Es un triángulo rectángulo Si A2 > B2 + C2 Es un triángulo obtusángulo Si A2 < B2 + C2 Es un triángulo acutángulo