Fundamentos de Programación Estructurada

La mayoría de los programas de cómputo resuelven
problemas reales que son mucho mas grandes que
los problemas que presentamos en este tema.
En esta presentación describimos las características
del lenguaje C que facilitan el diseño, la
implementación, la operación y el mantenimiento de
programas grandes .
Introducción

Permite a los usuarios dividir un programa en
módulos.
Todas las variables que se definen en una función
son variables locales, es decir se conocen solo en la
función en la que se definen. La mayoría de las
funciones tiene una lista de parámetros.
¿Qué es una función?

Construir a partir de piezas pequeñas o módulos, los
cuales son más manejables que el programa original.
Hace que el desarrollo de programas sea más
manejable.
Presentamos esta estrategia como un medio efectivo
para resolver problemas complejos, dividiéndolos en
componentes más sencillos que interactúan entre sí.
¿En que consiste la técnica
divide y vencerás?

A los módulos en C se les llama funciones.
¿Qué otro nombre reciben
las funciones?

La reutilización de software: utilizar
funciones existentes como bloques de
construcción para crear nuevos
programas.
¿Que relación existe entre las
funciones y la reutilización de código?

¿Cuáles son las funciones de la
biblioteca estándar (redefinidas)?
Son funciones “pre-empacadas”. Aunque las
funciones de la biblioteca estándar técnicamente
no son parte del lenguaje C, invariablemente son
proporcionadas con los sistemas de C.
Ejemplo:
printf( “%.2f”, sqrt( c1 + d * f ) );

El programador puede escribir funciones para
definir tareas específicas que se podrían
utilizar en muchos puntos del programa.
Las instrucciones reales que definen a las
funciones se escriben solamente una vez, y
están ocultas a las demás funciones.
¿En que consisten las funciones
predefinidas por el programador?

Cada programa que presentamos consiste en una
función llamada main que a su vez llama a
funciones de la biblioteca estándar para llevar a
cabo sus tareas.
A menudo main se implementa como un grupo de
llamadas a funciones que realizan el grueso del
trabajo del programa.
Función main

El formato de una definición de función es:
tipo-valor-retorno nombre-función( lista-
parámetros )
{
definiciones
instrucciones
}
¿Cuál es la estructura
general de una función?

“Void” a la izquierda del nombre de la función
mostrarMensaje es el tipo de valor de retorno
de ésta. Este tipo de valor indica que
mostrarMensaje no devolverá (regresará) datos a la
función que la
llamó cuando complete su tarea. Ejemplo:
void mostrarMensaje( string nombreCurso )
¿Para que se utiliza el tipo
void?

Un parámetro es una variable que puede pasar su
valor a un procedimiento desde el principal o desde
otro procedimiento.
Existen ocasiones en que es necesario mandar al
procedimiento ciertos valores para que los use en
algún proceso. Estos valores se llaman parámetros.
¿Qué es un parámetro?

La instrucción return se coloca al final de toda
función main
Ejemplo:
return 0; /* indica terminación exitosa */
return nombreCurso; // devuelve el nombreCurso del
objeto
¿Qué es y para que se
utiliza el return?

Indica que la función devuelve un valor entero,
que la función requiere tres parámetros enteros para
realizar su tarea. Comprueba que las llamadas
contengan el número y tipos de argumentos
correctos, y que los tipos estén en el orden correcto.
Asegura que el valor devuelto por la función se
pueda utilizar de manera correcta en la expresión
que llamó a la función.
¿Qué es el prototipo de la
función?

Las funciones, para ser ejecutadas, han de
ser llamadas o invocadas.
La llamada a una funcion se realiza desde la
función main( ), también puede ser desde otra
función.
La función se ejecuta y cuando termina regresa el
control main( ), o a la función que la llamo.
¿A que se refiere la
llamada función?

Cuando se realiza una llamada a la función, los
"valores" pasados se denominan argumentos.
A veces se utilizan también las
expresiones argumentos formales, para los
parámetros y argumentos actuales para los valores
pasados.
¿Qué son los argumentos?

Funciones en C

  • 1.
  • 2.
     La mayoría delos programas de cómputo resuelven problemas reales que son mucho mas grandes que los problemas que presentamos en este tema. En esta presentación describimos las características del lenguaje C que facilitan el diseño, la implementación, la operación y el mantenimiento de programas grandes . Introducción
  • 3.
     Permite a losusuarios dividir un programa en módulos. Todas las variables que se definen en una función son variables locales, es decir se conocen solo en la función en la que se definen. La mayoría de las funciones tiene una lista de parámetros. ¿Qué es una función?
  • 4.
     Construir a partirde piezas pequeñas o módulos, los cuales son más manejables que el programa original. Hace que el desarrollo de programas sea más manejable. Presentamos esta estrategia como un medio efectivo para resolver problemas complejos, dividiéndolos en componentes más sencillos que interactúan entre sí. ¿En que consiste la técnica divide y vencerás?
  • 5.
     A los módulosen C se les llama funciones. ¿Qué otro nombre reciben las funciones?
  • 6.
     La reutilización desoftware: utilizar funciones existentes como bloques de construcción para crear nuevos programas. ¿Que relación existe entre las funciones y la reutilización de código?
  • 7.
     ¿Cuáles son lasfunciones de la biblioteca estándar (redefinidas)? Son funciones “pre-empacadas”. Aunque las funciones de la biblioteca estándar técnicamente no son parte del lenguaje C, invariablemente son proporcionadas con los sistemas de C. Ejemplo: printf( “%.2f”, sqrt( c1 + d * f ) );
  • 8.
     El programador puedeescribir funciones para definir tareas específicas que se podrían utilizar en muchos puntos del programa. Las instrucciones reales que definen a las funciones se escriben solamente una vez, y están ocultas a las demás funciones. ¿En que consisten las funciones predefinidas por el programador?
  • 9.
     Cada programa quepresentamos consiste en una función llamada main que a su vez llama a funciones de la biblioteca estándar para llevar a cabo sus tareas. A menudo main se implementa como un grupo de llamadas a funciones que realizan el grueso del trabajo del programa. Función main
  • 10.
     El formato deuna definición de función es: tipo-valor-retorno nombre-función( lista- parámetros ) { definiciones instrucciones } ¿Cuál es la estructura general de una función?
  • 11.
     “Void” a laizquierda del nombre de la función mostrarMensaje es el tipo de valor de retorno de ésta. Este tipo de valor indica que mostrarMensaje no devolverá (regresará) datos a la función que la llamó cuando complete su tarea. Ejemplo: void mostrarMensaje( string nombreCurso ) ¿Para que se utiliza el tipo void?
  • 12.
     Un parámetro esuna variable que puede pasar su valor a un procedimiento desde el principal o desde otro procedimiento. Existen ocasiones en que es necesario mandar al procedimiento ciertos valores para que los use en algún proceso. Estos valores se llaman parámetros. ¿Qué es un parámetro?
  • 13.
     La instrucción returnse coloca al final de toda función main Ejemplo: return 0; /* indica terminación exitosa */ return nombreCurso; // devuelve el nombreCurso del objeto ¿Qué es y para que se utiliza el return?
  • 14.
     Indica que lafunción devuelve un valor entero, que la función requiere tres parámetros enteros para realizar su tarea. Comprueba que las llamadas contengan el número y tipos de argumentos correctos, y que los tipos estén en el orden correcto. Asegura que el valor devuelto por la función se pueda utilizar de manera correcta en la expresión que llamó a la función. ¿Qué es el prototipo de la función?
  • 15.
     Las funciones, paraser ejecutadas, han de ser llamadas o invocadas. La llamada a una funcion se realiza desde la función main( ), también puede ser desde otra función. La función se ejecuta y cuando termina regresa el control main( ), o a la función que la llamo. ¿A que se refiere la llamada función?
  • 16.
     Cuando se realizauna llamada a la función, los "valores" pasados se denominan argumentos. A veces se utilizan también las expresiones argumentos formales, para los parámetros y argumentos actuales para los valores pasados. ¿Qué son los argumentos?