Descomposición Modular. Funciones

Slides:



Advertisements
Presentaciones similares
Funciones y recursividad
Advertisements

Repaso para la construcción del intérprete 2012
Elementos básicos del Lenguaje
Procedimientos y Funciones
Programación I Teoría III
Funciones. Programación, Algoritmos y Estructuras de Datos.
Tipos de Datos Básicos y Estructurados
Punteros Universidad Nacional Mayor de San Marcos
FUNCIONES EN C.
INFORMATICA I Arreglos 1 CLASE 17.
1.3 Programación modular. Subprogramas.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Prof. Franklin Cedeño. FUNCIONES EN C++ Cuando tratamos de resolver un problema, resulta muy útil utilizar la filosofía de “divide y vencerás”. Esta estrategia.
Unidad 3 Punteros.
Objetivos Específicos de la Unidad
Curso Práctica 3 1 Funciones CONTENIDO Consideraciones sobre funciones Estructura de un programa en C Uso de funciones Paso de parámetros Punteros.
17/09/2014Catedra de Programacion I1 Programación I Funciones.
Acciones y funciones Concepto
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
Vectores en java.
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.
2 Acciones y funciones 2.1 Concepto
Funciones en lenguaje C
FUNCIONES EN C.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
El lenguaje de programación C - Funciones -
Programación I Teoría VI: Recursividad

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.
Tema 3 Entrada y Salida.
Tema 9 Estructuras.
Semana 5 Subprogramas..
PROCEDIMIENTOS FUNCIONES
Programación III Clase 07 Funciones.
Introducción a los punteros
FUNCIONES EN C.
Estructura de un programa en C
Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I.
Programación Modular (Pseudocódigo)
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
FIEE VARIABLES Ing. José Antonio Poma G.. FIEE Variables Una variable es un identificador (nombre de la variable) que hace referencia a.
Elementos básicos del lenguaje
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
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
Informática Ingeniería en Electrónica y Automática Industrial
Programación en C para electrónicos
Punteros.
Elementos básicos del lenguaje
PUNTEROS Y REFERENCIAS
APUNTADORES.
Definición de subprogramas en C
Los punteros Programación modular.
COMPUTACIÓN I TEMA 5. Subprogramas o funciones. Alcance de variables
Curso de C # República Bolivariana de Venezuela Área de Computación
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
INTRODUCCION A LA PROGRAMACION
ALGORITMOS Y ESTRUCTURAS DE DATOS Operaciones sobre cadenas de caracteres y Funciones LIA. Suei Chong Sol.
 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.
Gabriela Araya Baez Estudiante Ingenieria Civil Industrial.
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
3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.
Computación I :: Prof. Yeniffer Peña Lenguaje C Presentación Computación I.
Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Unidad Didáctica 24.
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.
Transcripción de la presentación:

Descomposición Modular. Funciones Tema 6 Descomposición modular: funciones Objetivos: Descomponer los problemas complejos en problemas más sencillos, Reutilizar el código, Facilitar la lectura de los programas Descomposición Modular. Funciones

Descomposición Modular. Funciones Tema 6 Descomposición modular: funciones Conceptos: Definición, concepto de función y división de un programa en funciones. Transferencia de información entre funciones. La función main Paso de argumentos a funciones. Declaración por adelantado de funciones. Variables Locales y Globales. Trazas. Descomposición Modular. Funciones

Descomposición Modular. Funciones Bibliografía “Diseño e Implementación de Programas en Lenguaje C”. P.Alonso, F.García, E.Onaindia. SPUPV-98.367. “Programación Estructurada en C”. J.L.Antonakos K.C. Mansfield. Prentice-hall, 1997 “Metodología y Tecnología de la Programación”. A. Molina, P. Letelier, P. Sánchez, J. Sánchez SPUPV.97.498. Descomposición Modular. Funciones

Definición y concepto de función Módulo 1 Módulo Principal Módulo 3 Módulo 2 Módulo 1.1 Módulo 1.2 Módulo 2.1 Módulo 2.2 Módulo 3.1 Módulo 3.1.1 Módulo 2.2.1 Módulo 2.2.2 Nivel 0 de descomposición Datos Nivel 1 de descomposición Nivel 2 Nivel 3 de descomposición Descomposición Modular. Funciones

Definición y concepto de función II Dos partes: Cabecera Cuerpo Descomposición Modular. Funciones

Cabecera de una función Cabecera, se define el nombre de la función y el modo en que se va a realizar la transferencia de datos de esa función. tipo_dato nombre_funcion (lista_argumentos) tipo_dato: tipo de datos que devuelve la función. nombre_funcion: nombre que identifica a la funcion. lista_argumentos: Conjunto de tuplas (tipo_dato variable) separadas por comas a las que se denomina “argumentos formales” y será donde se almacenen los datos transferidos a la función en su llamada. Descomposición Modular. Funciones

Descomposición Modular. Funciones Cuerpo de una función Cuerpo: Se encuentra encerrado entre llaves y contiene la declaración de las variables que se van a emplear en la función y a continuación un conjunto de instrucciones que realizan la tarea para la cual se diseñó la función. Descomposición Modular. Funciones

Transferencia de información Ejemplo: Función que suma dos números enteros: int sumar (int a, int b) { int suma; suma=a+b; return suma; } Parámetros formales Tipo de dato que puede o no devolver la función Dato que se devuelve Descomposición Modular. Funciones

Transferencia de información Otra forma de implementarla: void sumar (int a, int b) { int suma; suma=a+b; printf(“El valor de la suma es %d”, suma); } Parámetros formales Tipo de dato void Es necesario mostrar el resultado por pantalla Descomposición Modular. Funciones

Descomposición Modular. Funciones Llamada a una función Llamada a una función: Para llamar a ejecutar a las instrucciones que contiene una función, debemos de nombrarla y usualmente pasarle unos valores que coinciden en número y tipo de dato con los parámetros formales de la cabecera de la función. A estos valores se les denomina parámetros actuales. El código de la función “invocada” empezará a ejecutarse con los valores pasados en cada una de las posiciones de memoria que apuntan los nombres de variable de los parámetros formales respectivamente. sumar (2,3) int sumar (int a, int b) { ... Descomposición Modular. Funciones

Descomposición Modular. Funciones Ejemplo Completo: int suma (int a, int b) { int suma; suma=a+b; return suma; } void main () { int sum; sum=suma(2,3); printf(“El valor de sumar %d y %d es %d”,a,b,sum); ó printf(“El valor de sumar %d y %d es %d”,a,b,suma(2,3)); Descomposición Modular. Funciones

Descomposición Modular. Funciones La función main Main: main es la función principal de un programa en C y será la encargada de llamar a ejecutarse a las demás funciones del programa. Todo programa en C debe tener una función main. Las instrucciones de un programa en C que comienzan a ejecutarse las primeras son las de la función principal Función invocadora main suma 2,3 5 main llama a suma con los valores 2 y 3 suma le devuelve un 5 Función invocada Descomposición Modular. Funciones

Paso de argumentos a funciones A las funciones se les puede pasar constantes, variables simples y compuestas y resultados de expresiones: suma(2,3); /* constantes*/ suma(a,b+c/2) /* variables y expresiones*/ Descomposición Modular. Funciones

Paso de parámetros (argumentos) Dos son las formas en que se pasa información a las funciones. Por valor y por referencia. Paso de argumentos por valor: Se produce una copia del valor con el que se llama a la función en la variable definida en la cabecera de la función. Las variables int, char, float, struct, etc..., constantes y el resultado de cualquier expresión se pasan de este modo. Es necesario devolver el resultado o mostrarlo por pantalla. Descomposición Modular. Funciones

Paso de argumentos por valor int sumar (int a,int b) { int rdo; rdo=a+b; return rdo; } .... printf (“el rdo es: %d“,sumar(2,3)); Memoria rdo a 2 5 b 3 Descomposición Modular. Funciones

Descomposición Modular. Funciones Paso de parametros Paso de argumentos por referencia: Se pasa una dirección de memoria que corresponde al lugar donde se encuentra la variable con la que se llama a la función, creándose un nuevo apuntador a esa dirección de memoria cuyo nombre es el que aparece en la cabecera de la función. Los vectores siempre se pasan por referencia. Descomposición Modular. Funciones

Paso de argumentos por referencia Memoria int cargarvector (int v[ ]) { int i; for (i=0;i<N;i++) scanf(“%d”,v[i]); } .... int vector[4]; cargarvector(vector); vector 2 ? 3 ? ? ? v Se pasa una dirección a la cual apunta v, con lo cual cualquier modificación sobre v es también sobre vector Descomposición Modular. Funciones

Variables locales y globales Ámbito de una variable: es aquella porción del programa en la que se puede acceder a una variable, para leer su valor o escribirlo. Variable local: su ámbito se restringe a la función que la ha declarado, una vez se ejecuta esta función la variable desaparece. Variable global: se define fuera del cuerpo de cualquier función (normalmente al principio del programa) y su ámbito es todo el programa. Descomposición Modular. Funciones

Variables locales y globales con el mismo nombre Existen casos en los cuales los nombres de una variable global y una local pueden coincidir en un trozo de programa, en este caso son las variables locales a las que se hace referencia. Existen también casos en que coincide el nombre de un argumento formal y una variable global, siendo el argumento formal al que se hace referencia en vez de a la variable global. Descomposición Modular. Funciones

Descomposición Modular. Funciones Las trazas Toda esta duplicidad de nombres puede inducir a errores pues se piensa que se está utilizando la variable global y es la local o arg. formal el que se está referenciando, para seguir estos programas se emplean las trazas. Una traza es el seguimiento de una variable a lo largo de la ejecución del programa. Descomposición Modular. Funciones

Descomposición Modular. Funciones Ejercicios Calcular: Para ello crear una función que calcule el factorial de un número y llamarla con los valores m y (m-n). Descomposición Modular. Funciones