Paso de parámetros Diseño de programas iterativos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 7 Versión.

Slides:



Advertisements
Presentaciones similares
Métodos y parámetros.
Advertisements

Definición de Clases y Variables de referencia.
Pippy (Python para niños)‏ 1.
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Repaso para la construcción del intérprete 2012
Elementos básicos del Lenguaje
Desarrollo de Aplicaciones para Internet
Curso de Java Estructura del Lenguaje
INFORMATICA I Funciones CLASE 13.
Genéricos en Java Jaime Ramírez, Ángel Lucas González
1.2 Sintaxis del lenguaje Java.
1.3 Programación modular. Subprogramas.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
Algoritmo y Estructura de Datos I
Unidad 3 Punteros.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Funciones en lenguaje C
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Creación de Aplicaciones
Tema 6: Clases Antonio J. Sierra.
Tema 4: Sentencias de control
Tema 9 Estructuras.
Tema 7c Entrada y salida de funciones. Funciones Funcion Entradas SalidasTareas.
El lenguaje de programación Java
Sintaxis.
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Capítulo 1 “Elementos de Programación”
Descomposición Modular. Funciones
Microsoft© Visual Basic . Net.
Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE.
Resumen Fundamentos de Programación/ Programación I
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Java.
Informatica II1 Clases Extendidas La clase extendida hereda los campos y métodos de la clase que ha sido extendida. La clase original se conoce como superclase.
1 1 1.
Sentencias de repetición
IDENTIFICADORES Un identificador es un "nombre" que nos permite dirigirnos específicamente a una de las entidades propias del lenguaje, es decir, son los.
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Capítulo 2 “Subprogramas/Funciones - Arreglos”
Algoritmo.
Ing. Esp. Ricardo Cujar. Permite la ejecución de una sentencia, dada una determinada condición. If(condición){ sentencia(s) a ejecutar en caso de que.
ARREGLOS. La sintaxis para declarar e inicializar un array será: Tipo_de_variable[ ] Nombre_del_array = new Tipo_de_variable[dimensión]; También podemos.
LENGUAJE DE PROGRAMACIÓN
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) V. GESTIÓN DE TIPOS Y GENERACIÓN DE CÓDIGOS.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Arreglo.
Tratamientos Secuenciales Generalizados II Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 19 Versión
Factorías e Iterables Introducción del concepto de patrón de diseño Construcción de tipos para recorridos con for extendido Fundamentos de Programación.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
1 Métodos. 2 Un método es un conjunto de instrucciones definidas dentro de una clase, que realizan una determinada tarea y a las que podemos invocar mediante.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Implementación de Iterables Construcción de Iterables virtuales o basados en otros iterables Fundamentos de Programación Departamento de Lenguajes y Sistemas.
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión
Tratamientos secuenciales I Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 8 Versión
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Iterables virtuales Concepto, Metodología de desarrollo y Ejemplos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión.
Concepto de Tipo y Subtipo Diseño e Implementación Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 10 Versión.
Diseño de tipos: clase PolinomioEntero Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 8 Versión
ArreglosUnidimensionales enjava. Existenarreglosdeunadimensión (unidimensionales),dedosdimensiones Losarreglossonvariablesquealmacenanvarios valores del.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
Arrays, Cadenas y Vectores Tipos Genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 5 Versión
Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Fundamentos de Programación Departamento.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Unidad Didáctica 24.
Estructuras de control iterativas
Transcripción de la presentación:

Paso de parámetros Diseño de programas iterativos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 7 Versión 1.0.2

UD7: Paso de parámetros. Diseño de programas iterativos Índice  Paso de Parámetros  Parámetros Formales  Parámetros Reales  Parámetros de entrada  Parámetros de entrada/salida  Paso de parámetros en Java  Diseño de programas iterativos  for-extendido  for-clásico  while

UD7: Paso de parámetros. Diseño de programas iterativos Parámetros Formales  Aparecen en la signatura del método en el momento de su declaración.  Representan la información que el método recibe para su ejecución.  Es necesario especificar tanto el tipo como el nombre de la variable que se usará en el cuerpo del método. public void setX (Double nx){ x = nx; } public void setX (Double nx){ x = nx; } P. Formal (tipo + variable)

UD7: Paso de parámetros. Diseño de programas iterativos Parámetros Reales  Son los utilizados en una llamada concreta al método.  No aparece el tipo, sólo la expresión que se quiere pasar al método.  El resultado de la expresión debe ser del mismo tipo que el definido por el parámetro formal.  Punto p = new PuntoImpl ( ); p.setX(2.0); Punto p = new PuntoImpl ( ); p.setX(2.0); Punto p = new PuntoImpl ( ); Double a = 2.0; p.setX(a); Punto p = new PuntoImpl ( ); Double a = 2.0; p.setX(a); Punto p = new PuntoImpl ( ); p.setX( ); Punto p = new PuntoImpl ( ); p.setX( ); Punto p = new PuntoImpl ( ); Punto q = new PuntoImpl(1.2,1.1); p.setX(q.getX()); Punto p = new PuntoImpl ( ); Punto q = new PuntoImpl(1.2,1.1); p.setX(q.getX());

UD7: Paso de parámetros. Diseño de programas iterativos Paso de Parámetros  En la llamada a un método, se asignan los parámetros reales a los formales. public void setX (Double nx){ x = nx; } public void setX (Double nx){ x = nx; } Punto p = new PuntoImpl ( ); Double a = 2.0; p.setX(a); Punto p = new PuntoImpl ( ); Double a = 2.0; p.setX(a); nx toma el valor 2.0 El atributo x del objeto Punto p toma el valor 2.0

UD7: Paso de parámetros. Diseño de programas iterativos Parámetros de entrada y entrada-salida  Parámetro de entrada. Se modifica dentro del método invocado sin que se refleje el cambio en el método invocador (el parámetro recibido es una copia del que se pasa).  Parámetro de entrada-salida (E/S). Se modifica dentro del método invocado reflejándose el cambio en el método invocador (el parámetro recibido es idéntico al que se pasa).

UD7: Paso de parámetros. Diseño de programas iterativos Paso de Parámetros en Java  En Java el paso de parámetros depende del tipo del parámetro  Tipos primitivos (int, double, boolean, char…)  Parámetro de entrada  Objetos: dependerá de si son mutables o inmutables  Tipos mutables (Lista, Punto, Racional…)  Parámetro E/S  Tipos inmutables (Integer, Double, Boolean, Character…)  Parámetro de entrada

UD7: Paso de parámetros. Diseño de programas iterativos Ejemplos de paso de parámetros public static void pasoParametros (double d, Integer i, List l, Punto p){ d = d + 2.0; i++; l.add(5); p.setX(6.0); } public static void pasoParametros (double d, Integer i, List l, Punto p){ d = d + 2.0; i++; l.add(5); p.setX(6.0); } public static void main(String[] args) { double d = 1.0; Integer i = 2; List l = new Vector (); l.add(3); Punto p = new Punto(4.0, 4.0); mostrar(“Los valores iniciales son: “+d+”,”+i+”,”+l+”,”+p); pasoParametros(d,i,l,p); mostrar(“Los valores finales son: “+d+”,”+i+”,”+l+”,”+p)); } public static void main(String[] args) { double d = 1.0; Integer i = 2; List l = new Vector (); l.add(3); Punto p = new Punto(4.0, 4.0); mostrar(“Los valores iniciales son: “+d+”,”+i+”,”+l+”,”+p); pasoParametros(d,i,l,p); mostrar(“Los valores finales son: “+d+”,”+i+”,”+l+”,”+p)); } Los valores iniciales son: 1.0,2,[3, 3],(4.0,4.0) Los valores finales son: 1.0,2,[3, 3, 5],(6.0,4.0) Los valores iniciales son: 1.0,2,[3, 3],(4.0,4.0) Los valores finales son: 1.0,2,[3, 3, 5],(6.0,4.0)

UD7: Paso de parámetros. Diseño de programas iterativos Diseño de Programas Iterativos  Los tratamientos iterativos son muy frecuentes en programación: “incremente en un 5% los precios de los productos de un supermercado”, “calcule la media de edad de todos los alumnos matriculados en FP ”…  Se gestionan como un bloque inicial de sentencias y una estructura de control iterativa: for clásico, for extendido, while.  A estas estructuras se les denomina bucles.

UD7: Paso de parámetros. Diseño de programas iterativos Diseño de Programas Iterativos  Para un buen diseño iterativo debemos usar los siguientes conceptos:  variables del bucle  bloque inicial  bloque del bucle  expresión lógica del bucle  Como norma usaremos siempre que sea posible for-extendido.  Sólo usaremos while si los otros bucles no son aplicables.

UD7: Paso de parámetros. Diseño de programas iterativos Diseño de Programas Iterativos  Usaremos for-extendido para el recorrido de estructuras de datos que implementen Iterable.  Ejemplo: calcule la suma de los elementos de una lista (recorrido ascendente de elemento en elemento) public static Double sumaLista(List l){ Double r = 0.0; for(Double e: l){ r = r + e; } return r; } public static Double sumaLista(List l){ Double r = 0.0; for(Double e: l){ r = r + e; } return r; }

UD7: Paso de parámetros. Diseño de programas iterativos Diseño de Programas Iterativos  Usaremos for-clásico cuando necesitemos información acerca de la posición en el agregado de datos o cuando no se implemente Iterable  Ejemplo: calcule la suma de los elementos que ocupan las posiciones pares de una lista public static Double sumaListaPar(List l){ Double r = 0.0; for(int i = 0; i < l.size(); i++){ if (i % 2 == 0){ r = r + l.get(i); } return r; } public static Double sumaListaPar(List l){ Double r = 0.0; for(int i = 0; i < l.size(); i++){ if (i % 2 == 0){ r = r + l.get(i); } return r; }

UD7: Paso de parámetros. Diseño de programas iterativos Diseño de Programas Iterativos  Usaremos while cuando nuestro diseño iterativo no requiera una variable contador.  Ejemplo: cree un método que calcule la división entera entre dos números de tipo entero y devuelva el resultado. public static Integer divisionEntera(Integer a, Integer b){ Integer res = 0, aux = a; while(aux >= b){ aux = aux - b; res++; } return res; } public static Integer divisionEntera(Integer a, Integer b){ Integer res = 0, aux = a; while(aux >= b){ aux = aux - b; res++; } return res; }