Computación II Unidad IV Funciones y Módulos. Objetivos: –Comprender como construir programas en forma modular partiendo de pequeñas partes conocidas.

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

Unidad 15 Características de C++ no relacionadas con el DOO.
PROGRAMACIÓN EN C.
Abstracción de Datos Funciones.
Entendiendo la definición de clases
Elementos básicos del Lenguaje
Temas Operaciones básicas Instalando el compilador
Procedimientos y Funciones
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Tema Función main Elementos básicos del lenguaje.
FUNCIONES EN C.
Informática II Prof. Dr. Gustavo Patiño MJ
SOBRECARGA DE FUNCIONES
Unidad 3 Punteros.
17/09/2014Catedra de Programacion I1 Programación I Funciones.
Acciones y funciones Concepto
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
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
Funciones Computación.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
El lenguaje de programación C - Funciones -

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.
Estructuras de repetición
Tema 6: Clases Antonio J. Sierra.
SCJP Sun Certified Programmer for Java 6
LENGUAJE “C” Programación.
Semana 5 Subprogramas..
UNIDAD V Arreglos y Cadenas
Programación III Clase 06 Funciones.
Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I.

Programación con Assertions
INGENIERIA EN SISTEMAS COMPUTACIONALES
ELO3201 Vectores (Vector) Agustín J. González ELO320.
Descomposición Modular. Funciones
Unidad VI Registros (estructuras, uniones y enumeraciones)
PUNTEROS Ing Anghello Quintero.
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
LENGUAJE DE PROGRAMACIÓN
Programación Orientada a Objetos
LENGUAJES DE PROGRAMACIÓN
Elementos básicos del lenguaje
Unidad II Introducción a la programación en C++
Introducción Lenguaje de Programación ING2101 SECC Ayud. Ariel Fierro Sáez.
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Informática Ingeniería en Electrónica y Automática Industrial
Punteros.
Elementos básicos del lenguaje
Funciones Definidas por el Programador
Definición de subprogramas en C
Tema ‧ Comando - while Repeticiones. Comando while ‧ Un ciclo es cualquier construcción de programa que repite una sentencia ó secuencia de sentencias.
Elementos básicos del lenguaje
Algorit moAlgorit mo An á lisisAn á lisis Argumen toArgumen to Asignación Asociación Cometar ioCometar io Compilación Constan teConstan te Definición.
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
Modularización (Funciones) Prof. Miguel Vélez Rubio.
INTRODUCCION A LA PROGRAMACION
PRINCIPIOS DE PROGRAMACIÓN
Capítulo 2 “Subprogramas/Funciones - Arreglos”
M.C. Pedro Bello López 1 IMPLEMENTACIÓN. M.C. Pedro Bello López2.
Una función es un bloque de instrucciones que se ejecuta al ser llamada desde algún punto del programa, con nombre, que ejecuta una tarea específica y.
Corporación Universitaria del Caribe CECAR Fundamentos de programación II.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
Funciones Copyright © 2005 Unidad 1. Copyright © 2005 Objetivos del Aprendizaje Explicar la naturaleza y usos de las funciones. Describir algunas funciones.
MEMORIA DINÁMICA.
Desarrollador Profesional de Juegos Programación III Unidad I Capturar Excepciones.
This y static. This Normalmente, dentro del cuerpo de un método de un objeto se puede referir directamente a las variables miembros del objeto. Sin embargo,
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
Transcripción de la presentación:

Computación II Unidad IV Funciones y Módulos

Objetivos: –Comprender como construir programas en forma modular partiendo de pequeñas partes conocidas como funciones. –Ser capaces de crear funciones nuevas. –Comprender los mecanismos utilizados para pasar información de función a función. –Saber usar las funciones inline y sus ventajas. –Ser capaces de sobrecargar funciones. Presentación de la unidad:

Contenidos: –Funciones – definición. –Prototipo de funciones. –Parámetros de una función. –Clases de almacenamiento. –Ámbito –Función inline. –Sobrecarga de funciones –Plantillas de función. Presentación de la unidad:

Funciones - definición Conjunto de sentencias con un nombre en común, que pueden llamarse desde cualquier parte del programa. Los programas en C++ se escriben combinando funciones que el programador escribe con funciones preempacadas. Estructura: nombreFuncion ( ){ cuerpo_de_funcion; return ; } Ejemplo: float fProducto(float nro1, float nro2){ float prod = 0.0; prod = nro1*nro2; return pro; }

Cada función debería limitarse a ejecutar una tarea sencilla y bien definida. El nombre de la función debe expresar en forma clara la tarea que ejecuta. Es un identificador válido. int fCuadrado(int x){ return x*x; } El cuerpo de la función esta formado por las declaraciones de variables junto con enunciados. Es también conocido como bloque. Error: definir una función dentro de otra. Funciones - definición

Prototipo de funciones C++ requiere que una función se defina o que se declare antes de su uso. El compilador utiliza los prototipos para verificar las llamadas de función. Le indica al compilador el tipo de datos requeridos por la función, el numero de parámetros que la función espera recibir, y el orden en el cual se esperan dichos parámetros. Los nombres de los parámetros se suelen incluir por razones de documentación. El compilador ignora esos nombres. float fProducto(float, float); Coerción de argumentos: obligar a los argumentos al tipo apropiado.

Reglas de promoción: definen como deben ser convertidos los tipos de datos a otros tipos, sin perder datos. Las regla son aplicadas automáticamente. La conversión de valores a tipos inferiores por lo regular resulta en un valor incorrecto. int fProducto (int x, int y){return x*y;} int main(){ float a, b; cout<<fProducto(a, b); return 0; } Error de sintaxis: olvidar un prototipo de función si la definición de la función aparece después de la llamada de la función dentro del programa. Prototipo de funciones

Parámetros de una función Los parámetros de una función son variables locales. C++ proporciona dos métodos para pasar variables (parámetros) de una función a otra. –Por valor (paso por copia): la función receptora no puede modificar el valor del parámetros pasado. –Por referencia (o dirección): la función modifica el valor del parámetro pasado y devuelve el valor modificado a la función llamadora. Cuando se modifica el valor de un parámetro pasado por referencia, el valor queda almacenado en la misma dirección de memoria.

Parámetros de una función Por valorPor referencia void fPorValor(int y){ y++; cout<<y<<endl; } int main(){ int x = 6; fPorValor(x); cout<<x<<endl; return 0; } void fReferencia(int &y){ y +=2; } int main(){ int x = 20; fReferencia(x); cout<<x<<endl; return 0; }

Por referencia – C – uso de punteros: void fIntercambio (int *x, int *y){ int aux; aux = *x; *x = *y; *y = aux; } int main(){ int a, b; fIntercambio(&a, &b); return 0; } Parámetros de una función

Parámetros const: parámetros de sólo lectura en el interior de la función. void fRecorrerArray( arr[], const int tama); Argumentos por omisión o defecto: –Se pueden asignar valores por defecto a los parámetros de una función. –El valor por defecto debe ser siempre una expresión constante. –En la llamada a la función se deben incluir todas las variables desde la izquierda hasta el primer parámetro omitido. Parámetros de una función

Argumentos por omisión o defecto: –Los argumentos por defecto deben pasar por valor. –Los valores de los argumentos por defecto pueden ser valores literales o definiciones constantes. –Todos los argumentos por defecto deben colocarse al final del prototipo de la función. void asteriscos(int fila, int columna=3, char c = ‘*’); Desde el main: asteriscos(4); asteriscos(4,6); Parámetros de una función

Funciones en línea (inline) Reducen la sobrecarga por llamadas de función; especial para pequeñas funciones. “inline” aconseja al compilador que genere una copia del código de la función “in situ”, cuando sea apropiado, a fin de evitar una llamada a función. Usar funciones inline puede reducir el tiempo de ejecución, pero puede aumentar el tamaño del programa. Sintaxis: inline tipo_de_retorno nombreF(lista_de_parametros){ cuerpo} inline float cuadrado (float x){return x*x;}

Las macro de procesador son un tipo de función inline definidas en una directiva de procesador #define El procesador no evalúa las expresiones incluidas como argumento en una macro; solo reemplaza cada instancia del nombre del argumento. Sintaxis: #define nombreM (parámetro)(expresión) #define cuadrado(x) (x)*(x) Los argumentos de las funciones en línea se evalúan antes de ser pasados a la función. Funciones en línea (inline)

Nombre Tipo de dato Valor Duración almacenamiento: –Período durante el cual una variable existe en memoria. Clase de almacenamiento: –Ayuda a determinar la duración del almacenamiento, el alcance y el enlace. Alcance: –Es desde donde puede ser referenciada una variable. Enlace: –Determina para un programa de varios archivos fuente, si una variable es conocida solo en el archivo en el que actúa o en cualquier archivo fuente. Atributos de una variable

Clases de almacenamiento Clases de almacenamiento: (persistencia) automática estática auto register extern static Solo las variables pueden tener persistencia automática. Variables que existen en el ámbito de un bloque. La palabra reservada “auto” declara en forma explícita a las variables de persistencia automática; por omisión, las variables locales tienen persistencia automática. auto tipo_de_dato nombreVariable; auto int x;

“register” sugiere al compilador que conserve la variable en uno de los registros del hardware. Usado para variables de tipo contador, evita la sobrecarga de memoria. register tipo_de_dato nombreVariable; register int count=1; Los identificadores de persistencia estática existen a partir del momento en el cual el programa inicia su ejecución. “static” usado para identificadores externos (variables globales y nombres de función) y para variables locales. Las variables locales declaradas como static son conocidas solo para la función para la cual fueron definidas, pero conservan su valor cuando sale de la función para la próxima vez que esa función sea llamada. Las variables locales y los nombres de función por omisión son “extern” Clases de almacenamiento

Ámbito o alcance El alcance de un identificador es la porción de programa en la cual dicho identificador puede ser referenciado. Los alcances posibles son: –Alcance de función –Alcance de archivo –Alcance de bloque –Alcance de prototipo de función –Alcance de programa

Las variables que tienen ámbito de programa pueden ser referenciados por cualquier función dentro del programa (variables globales) La variable declarada fuera de cualquier función y cuya declaración contiene la palabra static tiene ámbito de archivo. Las variables locales tienen ámbito de función. Las variables declaradas en un bloque tienen ámbito de bloque y no son visibles fuera del bloque. Los únicos identificadores con alcance de prototipo de función son aquellos utilizados en la lista de parámetros de un prototipo de función. Ámbito o alcance

Sobrecarga de Funciones C++ permite que sean definidas varias funciones con el mismo nombre, siempre que estos nombres de funciones indiquen diferentes conjuntos de parámetros. La homónima de función se utiliza para funciones que ejecutan tareas similares sobre diferentes tipos de datos. Se pueden distinguir las funciones homónimas mediante su firma, combinación del nombre de la función y de sus tipos de parámetros. Las funciones homónimas no necesariamente tienen el mismo numero de parámetros. int cuadrado(int x){return x*x;} double cuadrado(double y){return y*y;}

Plantillas de Función Permiten la creación de funciones que ejecutan las mismas operaciones sobre distintos tipos de datos; a diferencia de la sobrecarga de funciones, solo se define una vez. Todas las definiciones de plantilla de función empiezan con la palabra reservada “template” seguida por una lista de parámetros formales a la plantilla. Cada parámetro formal es precedido por class. template void printArray(T *arrayA, const int contador){ for (int i = 0; i<= contaor; i++) cout<<arrayA[i]; }