Post on 13-Jun-2015
description
FUNCIONES: Las Subrutinas de Lenguaje C
Prof. Jaime Romero
S U B R U T I N A S
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.
S U B R U T I N A S
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..
S U B R U T I N A S
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.
S U B R U T I N A S
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.
F U N C I O N E S
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.
F U N C I O N E S
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).
F U N C I O N E S
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.
F U N C I O N E S
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.
F U N C I O N E S
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.
F U N C I O N E S
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.
F U N C I O N E S
#include <librería>
int x,y,z
aaaa( ){ int var1, var2, var 3; Acciones;Return();}
Main (){ int var4, var5;}
Variables Locales: sólo funcionan dentro de la función donde son declaradas, y se destruyen cuando se sale de ella
Variables Locales de la Función Main: sólo funcionan dentro de la función Main, y se destruyen cuando se sale de ella
Variables Globales: funcionan dentro de todas las funciones del programa.
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.
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(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Al iniciar un programa en Lenguaje C, siempre automáticamente se busca la función inicial, es decir, la función MAIN, y se comienza a ejecutar
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(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Se crean cuatro variables globales de tipo entero
num1num2num3may
num1 num2 num3 may
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(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Se lee el primer valor, y éste es almacenado en la variable num1. Supongamos que el usuario introduce el numero 5
Num1
5
num2 num3 may
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(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Se lee el segundo valor, y éste es almacenado en la variable num2. Supongamos que el usuario introduce el numero 3
Num1
5
num2
3
num3 may
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(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Se lee el tercer valor, y éste es almacenado en la variable num3. Supongamos que el usuario introduce el numero 8
Num1
5
num2
3
num3
8
may
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(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Como en toda asignación, primero se evalúa lo que se encuentra a la derecha de l símbolo igual (=)
Num1
5
num2
3
num3
8
may
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(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Aquí se encuentra que se llama a una función denominada mayor
Num1
5
num2
3
num3
8
may
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(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
El sistema operativo marca esta línea como el lugar desde donde se llama a una función, y esta dirección de memoria se almacena den una estructura denominada stack o pila
15
Pila
15
Num1
5
num2
3
num3
8
may
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(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Se crean temporalmente los parámetros de la función y se copian el valor de los parámetros de la llamada en los parámetros de la función,
15
Num1
5
num2
3
num3
8
may
Pila
15a
5
b
3
c
8
según el orden en que estos son invocados
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(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
La ejecución del programa, se traslada de inmediato a la primera línea de la función
15
Num1
5
num2
3
num3
8
may
Pila
15a
5
b
3
c
8
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; return (m);}void main(){ int num1, num2, num3,may; printf(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Se crea una variable local de nombre m, y se le asigna el valor cero (0).
15
Num1
5
num2
3
num3
8
may
Pila
15a
5
b
3
c
8
m
0
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; return (m);}void main(){ int num1, num2, num3,may; printf(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Si el valor de la variable a es mayor que los valores de las variable b, c; entonces a la variable m se le asigna el valor de la variable a.Como esta condición no se cumple, no se realiza ninguna acción.
15
Num1
5
num2
3
num3
8
may
Pila
15a
5
b
3
c
8
m
0
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; return (m);}void main(){ int num1, num2, num3,may; printf(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Si el valor de la variable b es mayor que los valores de las variable a, c; entonces a la variable m se le asigna el valor de la variable b.Como esta condición no se cumple, no se realiza ninguna acción.
15
Num1
5
num2
3
num3
8
may
Pila
15a
5
b
3
c
8
m
0
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; return (m);}void main(){ int num1, num2, num3,may; printf(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Si el valor de la variable c es mayor que los valores de las variable a, b; entonces a la variable m se le asigna el valor de la variable c.Como esta condición SI se cumple, se realiza esa acción
15
Num1
5
num2
3
num3
8
may
Pila
15a
5
b
3
c
8
m
8
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; return (m);}void main(){ int num1, num2, num3,may; printf(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
El comando RETURN hace que la función Retorne o devuelva el valor indicado, en este caso el valor de la variable m, es decir, 8.
15
Num1
5
num2
3
num3
8
may
Pila
15a
5
b
3
c
8
m
8
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; return (m);}void main(){ int num1, num2, num3,may; printf(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Al encontrarse el fin de la función primero se destruyen los parámetros y variables locales.Luego el flujo del programa vuelve a la línea que indica la última dirección almacenada en la pila, en este caso 15
15
Num1
5
num2
3
num3
8
may
Pila
15a
5
b
3
c
8
m
8
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; return (m);}void main(){ int num1, num2, num3,may; printf(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Aquí se cambia el nombre de la función y sus parámetros, por el valor que esta ha devuelto, en este caso 8.Luego se asigna el valor a la variable may
Num1
5
num2
3
num3
8
may
8
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; return (m);}void main(){ int num1, num2, num3,may; printf(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Si el valor de la variable may es cero, se escribe que los numero son iguales, en este caso la condición no se cumple y por lo tanto no se realiza la acción de escribir, y se pasa el flujo del programa al ELSE
Num1
5
num2
3
num3
8
may
8
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; return (m);}void main(){ int num1, num2, num3,may; printf(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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);}}
¿Cómo se ejecuta una Función?
Ya en el ELSE se escribe el mensaje “El Mayor es:” y el valor de la variable may, es decir 8.
Indicando que el mayor de 5,3,8 es el 8, lo cual es verdad, y por lo tanto el programa cumple con su objetivo
Num1
5
num2
3
num3
8
may
8
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(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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(“\n\nIngrese el primer valor:”); scanf(“%d”,&num1); printf(“\n\nIngrese el segundo valor:”); scanf(“%d”,&num2); printf(“\n\nIngrese 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ánguloSi A2 = B2 + C2 Es un triángulo rectángulo
Si A2 > B2 + C2 Es un triángulo obtusánguloSi A2 < B2 + C2 Es un triángulo acutángulo
Ejercicio