SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
holamundo.co
progra_amando
Caja blanca
Es una función de la cual se tiene
conocimiento, sobre lo que pasa in-
ternamente. Son las funciones
creadas por el programador.
double c = a + b;
return c;
sumar(double a, double b)
¿Cuándo no usar retorno?
La salida se realiza implícitamente, por ejemplo una impresión
en pantalla.
En java el punto de partida de un programa es una función void,
ya que no es necesario retornar un valor por fuera del programa
Cuando se realiza una asignación de un valor (OOP)
Cuando se envia un valor por referencia a la función (próxima-
mente estudiaremos como se hace esto)
public static void calcularPromedio(double datos[])
{
double ans = 0;
if(datos.length > 0)
{
for(double numero:datos)
{
ans+= numero;
}
ans = ans/datos.length;
System.out.println(”El promedio es “+ans);
}
else
{
System.out.println(”No hay números”);
}
}
calcularPromedio(new double[]{3,4,5,6,7,8});
Retorno ímplicito
Casting implícito de parámetro
Teniendo en cuenta la compatibilidad presente entre algunos
tipos de datos, es posible realizar casting implícito al realizar el
retorno de una función, esto también se puede aprovechar con
los parámetros de una función.
public static double dividir(double a, double b)
{
return a / b;
}
...
int n1 = 3, n2 = 5;
if(n2 > 0){
System.out.println(”La división es” + dividir(n1,n2));
}
Casting implícito de retorno
public static float dividir(int a, int b)
{
return a / b;
}
...
double resultado;
int n1 = 3, n2 = 5;
if(n2 > 0)
{
resultado = dividir(n1,n2);
System.out.println(”La división es” + resultado);
}
Recursividad
Se presenta cuando una función se llama a si misma, se debe
tener precacución en garantizar que la función termina.
Siempre debe tener tipo de retorno diferente de void.
Consume muchos recursos si se realizan muchas invocaciones,
requiere de un algoritmo optimizado y probado, pues puede
generar loops infinitos.
public static long factorial(long n)
{
if(n>0)
{
return factorial(n-1)*n;
}
else
{
return 1;
}
}
...
System.out.println(factorial(14));
Autoinvocación
Críterio de finalización
Factorial recursivo
Recomendaciones
Evitar tener muchos parámetros, lo recomendable es que no
sean más de 2 datos.
El nombre no debe tener espacios, no debe ser un número o em-
pezar por un número, se recomienda separar con underline.
En java los nombres de las funciones deben seguir la notación
camel case, deben empezar en mínuscula y si hay una frase com-
puesta cada palabra empieza con mayúscula. ej: pagarFactura.
El nombre debe ser nemotécnico, es decir que tenga implícito lo
que hace internamente la función. ej: calcularPromedio.
Crear una función especializada, divide y vencerás.
Ejercicios
Realizar una función que:
Calcule el factorial de un número, tener en cuenta condiciones
especiales y evitar que se presente desbordamiento.
Genere un número entero aleatorio entre n y m, donde n<m
Calcule la suma de los n primeros números primos
Calcule el horoscopo de una persona a partir del ingreso del
día y mes de nacimiento
Convierta una frase a mínuscula y cada palabra con mayúscula
inicial y asigne un punto al final, si no lo tiene.

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Funciones y procedimientos
Funciones y procedimientosFunciones y procedimientos
Funciones y procedimientos
 
Clase 19
Clase 19Clase 19
Clase 19
 
Funciones C++ modificado
Funciones C++ modificadoFunciones C++ modificado
Funciones C++ modificado
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
Funciones con vectores c++
Funciones con vectores c++Funciones con vectores c++
Funciones con vectores c++
 
Abstracción en programación
Abstracción en programaciónAbstracción en programación
Abstracción en programación
 
Apunfun2
Apunfun2Apunfun2
Apunfun2
 
Introducción a TDD y PHPUnit
Introducción a TDD y PHPUnitIntroducción a TDD y PHPUnit
Introducción a TDD y PHPUnit
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
05 sentencias basicas
05 sentencias basicas05 sentencias basicas
05 sentencias basicas
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++
 
4 memoria dinamica
4 memoria dinamica4 memoria dinamica
4 memoria dinamica
 
Por pagar
Por pagarPor pagar
Por pagar
 
Acceso al objeto
Acceso al objetoAcceso al objeto
Acceso al objeto
 
Ejercicio ADA: Ocultación de Información en ADA
Ejercicio ADA: Ocultación de Información en ADAEjercicio ADA: Ocultación de Información en ADA
Ejercicio ADA: Ocultación de Información en ADA
 
5.instrucciones de control en c++ parte 2
5.instrucciones de control en c++  parte 25.instrucciones de control en c++  parte 2
5.instrucciones de control en c++ parte 2
 
Gotoxy
GotoxyGotoxy
Gotoxy
 
C++
C++C++
C++
 
Ejercicio ADA Instrucciones y Estructuras de Control
Ejercicio ADA Instrucciones y Estructuras de ControlEjercicio ADA Instrucciones y Estructuras de Control
Ejercicio ADA Instrucciones y Estructuras de Control
 
Códigomatlabgaussseidel
CódigomatlabgaussseidelCódigomatlabgaussseidel
Códigomatlabgaussseidel
 

Ähnlich wie Presentación 09 Cajas blanca (20)

Practica alice p13 v1
Practica alice p13 v1Practica alice p13 v1
Practica alice p13 v1
 
PRACTICA 13 DE ALICE
PRACTICA 13 DE ALICEPRACTICA 13 DE ALICE
PRACTICA 13 DE ALICE
 
PRACTICA 13 ALICE
PRACTICA 13 ALICEPRACTICA 13 ALICE
PRACTICA 13 ALICE
 
Practica13
Practica13Practica13
Practica13
 
PRACTICA 13 ALICE
PRACTICA 13 ALICEPRACTICA 13 ALICE
PRACTICA 13 ALICE
 
Alice13
Alice13Alice13
Alice13
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
PRACTICA 13
PRACTICA 13PRACTICA 13
PRACTICA 13
 
2 f programas
2 f programas2 f programas
2 f programas
 
2 f programas
2 f programas2 f programas
2 f programas
 
Aa javaaa intro
Aa javaaa introAa javaaa intro
Aa javaaa intro
 
Funciones
FuncionesFunciones
Funciones
 
Unidad 5: Excepciones Ejercicio 3
Unidad 5: Excepciones Ejercicio 3Unidad 5: Excepciones Ejercicio 3
Unidad 5: Excepciones Ejercicio 3
 
07 funciones
07 funciones07 funciones
07 funciones
 
Ejercicios3
Ejercicios3Ejercicios3
Ejercicios3
 
Practica 13 alice
Practica 13 alicePractica 13 alice
Practica 13 alice
 
Practica 13
Practica 13Practica 13
Practica 13
 
Practica 13 de_alice(2)
Practica 13 de_alice(2)Practica 13 de_alice(2)
Practica 13 de_alice(2)
 
Practica 13 de_alice(2)
Practica 13 de_alice(2)Practica 13 de_alice(2)
Practica 13 de_alice(2)
 

Mehr von Andres Bedoya Tobon

Enums, constantes, listas e interfaces
Enums, constantes, listas e interfacesEnums, constantes, listas e interfaces
Enums, constantes, listas e interfacesAndres Bedoya Tobon
 
Taller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - ExcelTaller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - ExcelAndres Bedoya Tobon
 
Entrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoEntrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoAndres Bedoya Tobon
 
Progra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestProgra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestAndres Bedoya Tobon
 
03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructores03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructoresAndres Bedoya Tobon
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionalesAndres Bedoya Tobon
 
Elementos de programacion - Excel
Elementos de programacion - ExcelElementos de programacion - Excel
Elementos de programacion - ExcelAndres Bedoya Tobon
 
Programación y diseño orientado a objetos
Programación y diseño orientado a objetosProgramación y diseño orientado a objetos
Programación y diseño orientado a objetosAndres Bedoya Tobon
 

Mehr von Andres Bedoya Tobon (20)

Enums, constantes, listas e interfaces
Enums, constantes, listas e interfacesEnums, constantes, listas e interfaces
Enums, constantes, listas e interfaces
 
VBA Interfaz de usuario
VBA Interfaz de usuarioVBA Interfaz de usuario
VBA Interfaz de usuario
 
VBA Interfaz de usuario
VBA Interfaz de usuarioVBA Interfaz de usuario
VBA Interfaz de usuario
 
Taller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - ExcelTaller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - Excel
 
Entrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoEntrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de texto
 
Progra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestProgra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech Fest
 
04 curso poo Herencia
04 curso poo Herencia04 curso poo Herencia
04 curso poo Herencia
 
03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructores03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructores
 
02 curso poo Clase - Objeto
02 curso poo Clase - Objeto02 curso poo Clase - Objeto
02 curso poo Clase - Objeto
 
01 curso poo Funciones
01 curso poo Funciones01 curso poo Funciones
01 curso poo Funciones
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionales
 
Excel - Macros
Excel - MacrosExcel - Macros
Excel - Macros
 
Elementos de programacion 02
Elementos de programacion 02Elementos de programacion 02
Elementos de programacion 02
 
Taller de estudio - Excel
Taller de estudio - ExcelTaller de estudio - Excel
Taller de estudio - Excel
 
Elementos de programacion - Excel
Elementos de programacion - ExcelElementos de programacion - Excel
Elementos de programacion - Excel
 
Automatizar tareas usando GAP
Automatizar tareas usando GAPAutomatizar tareas usando GAP
Automatizar tareas usando GAP
 
Pull request - Hacktoberfest
Pull request - Hacktoberfest Pull request - Hacktoberfest
Pull request - Hacktoberfest
 
Abc tipografico Medellin CSS
Abc tipografico Medellin CSSAbc tipografico Medellin CSS
Abc tipografico Medellin CSS
 
Programación y diseño orientado a objetos
Programación y diseño orientado a objetosProgramación y diseño orientado a objetos
Programación y diseño orientado a objetos
 
Clean code
Clean codeClean code
Clean code
 

Kürzlich hochgeladen

prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfJonathanCovena1
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxpaogar2178
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...Ars Erótica
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfcarolinamartinezsev
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptxCamuchaCrdovaAlonso
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...JoseMartinMalpartida1
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxhenarfdez
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 

Kürzlich hochgeladen (20)

prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 

Presentación 09 Cajas blanca

  • 2. Caja blanca Es una función de la cual se tiene conocimiento, sobre lo que pasa in- ternamente. Son las funciones creadas por el programador. double c = a + b; return c; sumar(double a, double b)
  • 3. ¿Cuándo no usar retorno? La salida se realiza implícitamente, por ejemplo una impresión en pantalla. En java el punto de partida de un programa es una función void, ya que no es necesario retornar un valor por fuera del programa Cuando se realiza una asignación de un valor (OOP) Cuando se envia un valor por referencia a la función (próxima- mente estudiaremos como se hace esto)
  • 4. public static void calcularPromedio(double datos[]) { double ans = 0; if(datos.length > 0) { for(double numero:datos) { ans+= numero; } ans = ans/datos.length; System.out.println(”El promedio es “+ans); } else { System.out.println(”No hay números”); } } calcularPromedio(new double[]{3,4,5,6,7,8}); Retorno ímplicito
  • 5. Casting implícito de parámetro Teniendo en cuenta la compatibilidad presente entre algunos tipos de datos, es posible realizar casting implícito al realizar el retorno de una función, esto también se puede aprovechar con los parámetros de una función. public static double dividir(double a, double b) { return a / b; } ... int n1 = 3, n2 = 5; if(n2 > 0){ System.out.println(”La división es” + dividir(n1,n2)); }
  • 6. Casting implícito de retorno public static float dividir(int a, int b) { return a / b; } ... double resultado; int n1 = 3, n2 = 5; if(n2 > 0) { resultado = dividir(n1,n2); System.out.println(”La división es” + resultado); }
  • 7. Recursividad Se presenta cuando una función se llama a si misma, se debe tener precacución en garantizar que la función termina. Siempre debe tener tipo de retorno diferente de void. Consume muchos recursos si se realizan muchas invocaciones, requiere de un algoritmo optimizado y probado, pues puede generar loops infinitos.
  • 8. public static long factorial(long n) { if(n>0) { return factorial(n-1)*n; } else { return 1; } } ... System.out.println(factorial(14)); Autoinvocación Críterio de finalización Factorial recursivo
  • 9. Recomendaciones Evitar tener muchos parámetros, lo recomendable es que no sean más de 2 datos. El nombre no debe tener espacios, no debe ser un número o em- pezar por un número, se recomienda separar con underline. En java los nombres de las funciones deben seguir la notación camel case, deben empezar en mínuscula y si hay una frase com- puesta cada palabra empieza con mayúscula. ej: pagarFactura. El nombre debe ser nemotécnico, es decir que tenga implícito lo que hace internamente la función. ej: calcularPromedio. Crear una función especializada, divide y vencerás.
  • 10. Ejercicios Realizar una función que: Calcule el factorial de un número, tener en cuenta condiciones especiales y evitar que se presente desbordamiento. Genere un número entero aleatorio entre n y m, donde n<m Calcule la suma de los n primeros números primos Calcule el horoscopo de una persona a partir del ingreso del día y mes de nacimiento Convierta una frase a mínuscula y cada palabra con mayúscula inicial y asigne un punto al final, si no lo tiene.