UNIDAD 3 Modularidad

Documentos relacionados
Programación MODULAR: Subalgoritmos - funciones y procedimientos

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C

Tema 13: Apuntadores en C

Elementos de un programa en C

Funciones Tipos de funciones y Recursividad

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

Estructuras de Datos Declaraciones Tipos de Datos

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Informática Ingeniería en Electrónica y Automática Industrial

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC

Métodos que devuelven valor Dado el siguiente triángulo rectángulo:

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Las plantillas permiten definir funciones genéricas.

funciones printf scanf

2.2 Nombres, Ligado y Ámbito

USO DE SUBRUTINAS, TRANSMISIÓN DE PARÁMETROS Y COMPILACIÓN CONDICIONAL EN C++

Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Programación. Test Autoevaluación Tema 3

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

Definición y Conversión de datos. Agustín J. González ELO-329

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Funciones en Lenguaje C

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

ANEXO XVII DE LA RESOLUCION N

CAPÍTULO 2 FUNCIONES Y PROCEDIMIENTOS

LENGUAJE. Tema 2 Elementos de un programa

Tema 14: Arreglos estáticos en C

Un módulo de programa tiene dos partes bien diferenciadas: la definición del módulo y la invocación o llamada al módulo.

Tema 10: Tipos de datos definidos por el usuario

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Introducción a variables de tipo Puntero (Apuntadores) Contenidos. 1. Introducción a las variables puntero 2. Repaso:

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

Fundamentos de Programación 2017-I

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo)

Procesos e Hilos en C

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Guía práctica de estudio 05: Diagramas de flujo

Algoritmos y Programación I

Informática Ingeniería en Electrónica y Automática Industrial

Tema: Clases y Objetos en C#. Parte II.

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

Bloque 4. La descomposición funcional y el diseño descendente

Tema 2. El lenguaje JAVA

Apuntadores (Punteros)

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase al mismo tiempo que se declara.

Ejercicio 1. Ejercicio 2

Funciones. Parámetros por valor

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos

Procesadores de lenguaje Tema 6 La tabla de símbolos

OPERADORES Y EXPRESIONES

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE

Introducción a C++ y Code::Blocks

Analista Universitario en Sistemas. Taller de Programación II. Instituto Politécnico Superior PUNTEROS

1. Manejo de memoria estática 2. Manejo de memoria dinámica

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Métodos, clases, y objetos

Programación estructurada (Introducción a lenguaje C)

Tabla de Símbolos. Programación II Margarita Álvarez

Introducción al lenguaje C

<tipo> Tipo de dato de los elementos del vector

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

Tema: Repaso sobre uso de Funciones, Arreglos y Punteros en C++.

Funciones como Subprogramas en C++

Instituto Tecnológico de Celaya

Apuntadores en C y C++

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

Definición de Memoria

Fundamentos de programación

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.

Tema 7: Polimorfismo. Índice

PROGRAMACION ORIENTADA A OBJETOS EN C++

TEMA 8: Gestión dinámica de memoria

Introducción a Lenguaje C. Jornadas de Octubre 2009 Grupo de Usuarios de Linux Universidad Carlos III Tania Pérez

1 Estructura básica de un programa C++

4. Operadores Operador asignación

Guía práctica de estudio 11: Funciones

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

5. Sentencias selectivas o condicionales

Lenguaje de Programación

Funciones en C. En esta unidad aprenderás a: Comprender el desarrollo de un programa utilizando funciones

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

TEMA 7: Ficheros. TEMA 7: Ficheros Concepto de fichero

Fundamentos de Informática E.U.P. Universidad de Sevilla

Categorías de métodos. Métodos constructores y destructores

Transcripción:

Modularidad Funciones de biblioteca, uso. Módulos. Concepto. Clasificación. Ámbito de identificadores. Transferencia de información a y desde procedimientos: los parámetros, tipos de parámetros. Conceptos de acoplamiento y cohesión.

Modularidad Principio «DIVIDIR PARA VENCER»

Modularidad P = p1 + p2 +... + pn Subproblema: Parte del problema que se puede resolver de manera independiente. Mas pequeños Mas fáciles de resolver Resolución independiente Solución (P) = Solución (p1) + Solución (p2) +... +Solución (pn)

Modularidad: Concepto Programa=Subprog1 + Subprog2 + + Subprogn Modulo Modulo= Sección de código independiente que realiza una tarea especifica dentro del programa. * Estar jerarquizados * Ser pequeños, sencillos y legibles * Ocultamiento de la información * Reusabilidad

Modularidad: Concepto PROGRAMA

Tipos de Módulos Tipos de módulos Funciones Procedimientos

Tipos de Módulos Funciones: Abstracción sobre un proceso de calculo. Ejemplo 1: Calcular el factorial de un numero n=3 n!=6 Devuelven un valor! Ejemplo 2: Determinar si dos letras son iguales A =? b Falso

Tipos de Módulos Procedimientos: Abstracción sobre una orden. Ejemplo 1: Leer los elementos de un vector Ejemplo 2: Mostrar los elementos de un vector Agrupación de sentencias que se ejecutan como una unidad. Realizan una tarea!!

Modularidad en C En C, TODOS los módulos se llaman funciones. FUNCION = conjunto de sentencias que se pueden llamar desde cualquier parte de un programa.

Función principal UNIDAD 3 Modularidad en C MAIN En C las funciones no se pueden anidar(no se puede declarar una función dentro de otra función)

Modularidad en C Función llamadora MAIN E S E S Función 1 Función 2 Función llamada

Estructura de un función en C Tipo de dato devuelto por la función Identificador Parámetros formales: variables de entrada necesarias para que opere la función Tipo_retorno nombrefuncion(listaparametros){ Cabecera de la función declaración de variables locales instrucciones <return expresion;> } Valor que devuelve la función llamadora

Declaración de un función en C Proporciona información al compilador para verificar que la función está siendo llamada correctamente, con respecto al número y tipo de los parámetros y el tipo devuelto por la función. Prototipo Contiene la cabecera de la función

Declaración de un función en C Formato de Prototipo Tipo_retorno nombrefuncion(listaparametros); Puede obviarse si la función devuelve un entero tipo1 par1,tipo2 par2,, tipon parn La declaración de una función, antecede al MAIN.

Declaración vs. Definición Declaración de una función Definición de una función Se proporciona un nombre. Reserva espacio en memoria. Se listan características. Se especifica antes o después del main.

Prototipo de un función en C Ejemplos de prototipos: int mayor(int a,int b); float promedio(int a, int b, int c); Prototipos char mayuscula(char car); esmayuscula(char n); ALUMNO buscar(alumno v[tam]);

Estructura de un función en C Prototipo Invocación a la función: vble= nombfc(parametros) En vble se almacena el resultado de la función. Se transfiere el control a la función llamada Se devuelve el control a la función llamadora Definición Valor de retorno

Estructura de un función en C Observación: Invocación Parámetros actuales may= mayor(n1,n2) Coinciden en cantidad y en tipo de dato Corespondencia 1 a 1 Cabecera de la función int mayor(int a, int b) Parámetros formales

Ejemplo UNIDAD 3 Estructura de un función en C

Ejemplo UNIDAD 3 Estructura de un función en C

Ejemplo UNIDAD 3 Estructura de un función en C

Ejemplo

Estructura de un «procedimiento»en C No devuelve nada Identificador CUIDADO!! void nombreprocedimiento (ListaParametros){ declaración de variables locales al procedimiento instrucciones Parámetros formales: variables de entrada necesarias para que opere el procedimiento }

Paso de Parámetros Formas mediante las cuales los parámetros actuales y formales son transmitidos o devueltos entre los módulos. Por Valor Paso de parámetros Por Referencia

Ejemplo Prototipo UNIDAD 3 Paso de Parámetros: Por valor Invocación al procedimiento: nombproced ( parámetros); Muestra los valores de la inicialización!! Se transfiere el control al modulo llamado Se devuelve el control al modulo llamador Definición

Paso de Parámetros: Por valor o Por copia Se transfiere el contenido de la variable en el modulo llamador ingreso(a, b) 4 90 void ingreso (int x, int y)

Paso de Parámetros: Por valor o Por copia Si se cambia el valor de un parámetro local a un modulo, el cambio no tiene efecto fuera de el. En la técnica de paso de parámetro por valor, la modificación del parámetro pasado en la función llamada no afecta al parámetro argumento en la función llamadora.

Paso de Parámetros: Por valor o Por copia RAM a 4 y 90 2000 x 4 1000 b 90

Paso de Parámetros: Por referencia o Por dirección Se usa este método cuando un modulo debe modificar el valor del parámetro pasado y devolver este valor modificado al modulo llamador. El compilador pasa la dirección de memoria del parámetro actual en la función llamadora.

Paso de Parámetros: Por referencia o Por dirección Si se modifica el valor del parámetro en el modulo llamado, este valor queda almacenado en la misma dirección de memoria. Al retornar al modulo llamador, el parámetro contendrá el valor modificado.

Paso de Parámetros: Por referencia o Por dirección Para pasar una variable por referencia, el símbolo & debe preceder al nombre de la variable (en el modulo llamador) y el parámetro correspondiente debe declararse como puntero * (en el modulo llamado). Invocación nombfc( & nombvble); Cabecera tipo_retorno nombrefuncion(tipo *vble)

Paso de Parámetros: Por referencia o Por dirección Se transfiere la dirección del parámetro actual ingreso(&a, &b) 1110 10 void ingreso (int *x, int *y)

Paso de Parámetros: Por referencia o Por dirección RAM n 2000 b =*y 1110 a =*x 10 4 1000 x 10 y m 1110 1000 90 2000

Ejemplo Procedimiento en C

Ejemplo Procedimiento en C

Ámbito de las variables VARIABLE Ámbito Porción de programa donde la variable «esta activa». Tipo de variable Global Local

Ámbito de las variables Variable Global: Es visible por todas los módulos definidos en el programa. Se define ANTES del MAIN. Ámbito de programa

Variable Global Reconocida por TODOS los módulos que están después de su declaración Declaración de variable global

Variable Local Variable Local: Es visible por el módulo en el que fue definida. Existen en memoria sólo cuando la función está activa Ámbito de modulo

Variable Local Reconocida por dentro del main Local al main Reconocida por dentro del modulo Local al modulo

Clases de Almacenamiento Los especificadores de clases de almacenamiento, permiten modificar el ámbito de una variable. Auto Tipos Extern Static

Clases de Almacenamiento: Variables automáticas Son aquellas a las que se les asigna automáticamente espacio en memoria a la entrada a la función y se les libera el espacio tan pronto se sale de la función. Declaración: auto tipo_dato nombvble; Opcional Nace en el momento de su declaración y vive mientras dura la función

Clases de Almacenamiento: Variables externas Son aquellas variables que han sido inicializadas en un archivo, y que deben ser utilizadas en otro. Requiere del enlace delos archivos, para que se combinen las declaraciones. Declaración: extern tipo_dato nomvble; Cuando una variable se declara como externa, se le indica al compilador que el espacio de la variable esta definido en otro lugar

Clases de Almacenamiento: Variables estáticas Son aquellas cuyo contenido no se pierde al finalizar la función en la cual están definidas, es decir, retiene sus valores entre llamadas a funciones. Se inicializan una sola vez Declaración: static tipo_dato nomvble; Su espacio de almacenamiento se define en tiempo de compilación, existe en tiempo de ejecución y se elimina cuando el programa desaparece de memoria