Programación Estructurada

Anuncio
Programación Estructurada
PROGRAMACIÓN ESTRUCTURADA
Sesión No. 5
Nombre: Funciones
Contextualización
La programación estructural, tienen como una característica principal el
desarrollo de las instrucciones línea a línea, y es bastante practico para
programas cortos, pero en muchas acciones, la tarea a realizar es mucho mas
compleja y la lectura en el código secuenciado se convierte en un problema
estructural que suele perder a los programadores al momento de realizar
depuración de código.
Existe un método de anidación de instrucciones
que
realizan
acciones
especificas
de
un
programa completo, el ordenamiento de estas
acciones es conveniente incluso para ejecutar
una acción varias veces a lo largo del programa.
Estos grupos de código son conocidos como
funciones.
1
PROGRAMACIÓN ESTRUCTURADA
Introducción al Tema
La identificacion o abstraccion de las operaciones requeridas para el desarrollo
de un programa que suelen repetirce a lo largo del programa pueden ayudar a
optimizar el codgo y a especializar lineas de codigo que ejecutan una tarea
especifica. Las funciones permiten estos beneficios de optimizacion y
especializacion de lineas de codigo. El simple echo de invocar el nombre de la
funcion en la linea donde le corresponde ejecutarse emulara la impresión de las
lineas en esa seccion, asi, se puede optimizar el codigo haciendo bloques
especificos de tareas concretas que se deben realizar para que el programa
cumpla su objetivo global.
En el lenguaje C, como ya se ha comentado anteriormente, la funcion principal
yamada main puede invocar a otras funciones para ejecutar tareas especificas
según la necesidad del codigo mismo.
2
PROGRAMACIÓN ESTRUCTURADA
Explicación
3.1 Definición de Funciones
En el lenguaje C, la técnica de programación modular se implementa mediante la
utilización de funciones. Una función permite agrupar un conjunto de
instrucciones en un bloque que típicamente realizará una tarea elemental.
En la resolución de un problema es necesario identificar previamente las tareas
elementales que debe realizar el programa y, posteriormente, estas se
implementarán como funciones.
Todo programa en C contiene una función principal o función main, la cual es la
encargada de llevar el control de ejecución de programa (secuencia de ejecución
de instrucciones) y de llamar a ejecución a las funciones pertinentes en puntos
del programa donde se necesiten.
Un programa siempre empieza a ejecutarse desde a función main, siendo éste el
modulo o función principal del programa (raíz de la estructura arbórea de la que
dependen todas las demás funciones). Para que una función se ejecute, debe
ser siempre llamada desde la funcion main. A una función que llama a otra se le
denomina función invocadora y a la función llamada función invocada.
Cuando una función invocada (F1) realiza una llamada a otra función (F2), se
transfiere el control de ejecución F1 a F2, lo que requiere decir que la función
que pasa ahora a ejecutarse es F2. Adicionalmente, F1 puede trasferir ciertos
datos a la función F2 en el momento de realizar la llamada. A estos datos se les
denomina argumentos de entrada de la función F2.
La estructura de una función en C se divide en dos partes:
•
La cabecera de la función
•
El cuerpo de la función
3
PROGRAMACIÓN ESTRUCTURADA
•
TipoDato: representa el tipo de dato del valor que devuelve la función
(int, float, char). En caso de que la función no devuelva ningún
resultado, en este parámetro debe especificarse la palabra void.
•
NombreDeFuncion: denota el nombre con el que debe llamarse a la
función.
•
Argumentos:
conjunto
de
tuplas
(tipo_dato
nombre_variable)
separados por comas, a los que se denominan argumentos finales,
estos permiten la transferencia de información a la función desde el
punto de programa donde es invocada.
El cuerpo de la función se encuentra encerrado entre llaves y está formado por
tres partes, la primera contiene la declaración de las variables que se va a
emplear en la función, la segunda un conjunto de instrucciones que realizan la
tarea para la cual se diseñó la función, empleando (si procede) los datos
almacenados en los argumentos formales de la cabecera y el valor de retorno de
la funcion, es decir, el valor esperado.
El control de esa ejecución del programa se pasará automáticamente a la
función invocadora una vez se hayan terminado de ejecutar las instrucciones
que forman el cuerpo de la función invocada.
Las ventajas de la implementacion de las funciones son:
•
Se puede llamar una función desde diferentes partes de un programa
•
Se puede transferir un conjunto de datos distinto cada vez que se
llama a la función, obteniendo resultados diferentes en cada uno de
los casos.
4
PROGRAMACIÓN ESTRUCTURADA
•
Los programas son más sencillos de implementar y corregir, puesto
que son tareas básicas compuestas de unas pocas líneas de
instrucciones.
•
Se puede crear un conjunto de funciones genéricas que puedan ser
utilizadas como librería por diferentes programas, permitiendo así la
reutilización del código.
5
PROGRAMACIÓN ESTRUCTURADA
Ejemplo en lenguaje C:
Calcular el cubo de un numero entero.
#include<stdio.h>
#include<math.h>
int cubo(int);
main ()
{
int a;
printf(“Ingrese un entero: ”);
scanf(” %d”, &a);
printf(“El cubo de %d es: %d\n”, a, CalculaCubo(a));
 Se invoca funcion
getch();
}
/* Definicion de la funcion CalculaCubo */
int CalculaCubo (int x)
{
int cubo;
cubo = x*x*x;
return cubo;
}
Descripción del programa:
1. Se pide al usuario un numero entero para calcular el cubo de este.
2. Se imprime el valor del cubo invocando a
CalculaCubo.
a la funcion llamada
6
PROGRAMACIÓN ESTRUCTURADA
3. En la funcion se realiza la operación y se regresa el resultado obtenido, el
cual, sera impreso en pantalla.
Conclusión
La utilidad de las funciones es enorme cuando existen programas muy extensos
donde se debe ejecutar una misma tarea varias veces, disminullendo lineas de
codigo y permitiendo que las correcciones sobre la misma se hagan en una sola
seccion.
Recuerda que las funciones pueden ser llamadas varias veces a lo largo del
programa, en el ejemplo anterior, podriamos haber calculado el cubo del cubo
del cubo de un entero si llamaramos 3 veces a la misma funcion pasandole
como argumento el resultado de la priemera funcion. Algo asi:
Int cubo1 = calculaCubo(a);
Int cubo2 = calculaCubo(cubo1);
Int cubo3 = calculaCubo(cubo2);
Printf(“/nEl cubo del cubo del cubo es:%d”,cubo3 );
7
PROGRAMACIÓN ESTRUCTURADA
Para aprender más
A continuación encontraras un link a un video donde con ejemplos podrás
comprender mejor el uso de las funciones en el lenguaje C
https://www.youtube.com/watch?v=e2FF_SYyYik 1
1
Video
tomado
de
YouTube
en
https://www.youtube.com/watch?v=e2FF_SYyYik.
la
siguiente
dirección:
8
PROGRAMACIÓN ESTRUCTURADA
Actividad de Aprendizaje
Con la finalidad de reforzar los conocimientos adquiridos a lo largo de esta
sesión, ahora tendrás que realizar la siguiente actividad.
Instrucciones:
Con la finalidad de reforzar los conocimientos adquiridos a lo largo de esta
sesión, ahora tendrás que realizar la siguiente actividad.
Instrucciones
 Describe la estructura de una función en C así como las partes en las que
se divide.
 Escribe un ejemplo de un básico sobre funciones en C
 Convertir en imagen en formato JPG la estructura de la función en C
 Convertir en imagen en formato JPG el ejemplo realizado
 Subirlo a la plataforma de la asignatura
Esta actividad te ayudará a comprender la estructura de una función del lenguaje
C, así como su correcta utilización, lo cual te facilitará a entender las siguientes
sesiones.
Esta actividad representa el 5% de tu calificación y se tomará en cuenta lo
siguiente:
 Tus datos generales.
 Título.
 La descripción de la función C y el ejemplo básico de sus funciones
 Ortografía y redacción.
 Referencias bibliográficas
9
PROGRAMACIÓN ESTRUCTURADA
Bibliografía
 Cobo A; (s/f). Programar C desde un punto de vista científico, Madrid: Vision
Libros
 Harvey, M; (2004), C / C++ y Java cómo programar, México: Pearson Educación.
 Jordá, P; (s/f). Diseño e implementación de programas en lenguaje C, Valencia:
Libro Docente.
 Oviedo, R; (2004), Lógica de programación, Bogotá: Ecoe Ediciones
10
Descargar