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