Professional Documents
Culture Documents
Pgina 142
SESIN N 26:
II
TEMAS A TRATAR
Introduccin.
Estructuras y funciones
Paso de estructuras a funciones
Resumen.
III
MARCO TEORICO
1.
INTRODUCCIN
Cuando se agrupan diferentes variables de diferentes tipos de datos cada una identificable
mediante un identificador estamos haciendo un agrupamiento de datos, dicho
agrupamiento se refiere a un mismo individuo o tem, es decir guarda diversos y diferentes
datos de una solo individuo, este proceso nos permite manejar toda la informacin junta y
para ello podemos manejar la informacin de forma ms verstil y completa; si se tuviera
la necesidad de almacenar en memoria ms de un individuo o tem a la vez se tiene la
posibilidad de armar arreglos de una sola dimensin o varias segn lo requiera el
problema. Todo esto nos organizara de forma muy conveniente el almacenamiento y
manipulacin de los datos, pero el cdigo que lo procesa no estara adecuadamente
organizado si no se implementan de forma modular, para ello el uso de funciones es
imprescindible, por lo que para que tengamos un adecuado uso de funciones el envo y
retorno de datos de los mdulos es necesario.
En est prctica veremos la manipulacin de estructuras dentro de funciones.
2.
ESTRUCTURAS Y FUNCIONES
Las funciones pueden ser muy tiles para manejar estructuras en varias formas que se
exponen a continuacin, la caracterstica de alta modularidad de Lenguaje C no se ve
afecta por el uso de estructuras, adems, una funcin puede devolver una estructura o un
puntero-a-estructura:
Sesin N 26
Laboratorio de Programacin I
Pgina 143
mystruct f1(void);
struct myst f2(void);
mystruct* f3(void);
// devuelve estructura
// devuelve estructura
// devuelve puntero a estructura
Una estructura puede ser pasada como argumento a una funcin de varias formas, estas
se ejemplifican a continuacin:
void f1(mystruct s);
void f2(mystruct* sptr);
void f3(mystruct& sref);
En los apartados que siguen se muestran con ms detalle algunos ejemplos de esta
importante simbiosis entre estructuras y funciones.
3.
// directamente
// mediante un puntero a estructura
// mediante una referencia
Ser devueltas por funciones. Una funcin puede devolver una estructura, un puntero a
estructura o incluso una referencia:
StrX f1(void);
StrX* f2(void);
Observe que en principio no estn permitidos los operadores de relacin con las
estructuras. Es decir, estos objetos no pueden ser comparados:
StrA sa;
StrB sb;
sa =< sb;
// Ilegal.
La razn es que el compilador C++ no define tales operadores por defecto para las
estructuras. Sin embargo es posible sobrecargarlos y utilizarlos con ellas, con lo que la
expresin anterior resultara perfectamente legal. Ejemplo:
#include <stdio.h>
struct ficha{
char nombre[20];
int edad;
};
void funcion(struct ficha emple);
void main(void)
{
Mgter. ngel Montesinos Murillo, Mgter. Manuel Ziga Carnero
Sesin N 26
Laboratorio de Programacin I
Pgina 144
4.
RESUMEN
Las funciones nos permiten no solo organizar el cdigo si no hacer un diseo modular de
los programas permitiendo la reutilizacin y el uso extensible del mismo. Las funciones
pueden tanto recibir como parmetros a las estructuras como devolver estructuras. Esto
no se limita a estructuras nicamente, tambin es posible esto con referencias y punteros
a estructura.
IV
(La prctica tiene una duracin de 2 horas)
1.
2.
3.
4.
5.
6.
7.
ACTIVIDADES
V
EJERCICIOS
1.
2.
3.
Escriba un programa que permita manejar los pasos de parmetros formales por copia y
por referencia.
Utilice punteros a funcin para optimizar el cdigo utilizado en la aplicacin anterior.
Haga una pequea aplicacin que ejemplifique el uso de punteros a funcin dentro de una
estructura.
VI
CUESTIONARIO
1.
2.
3.
4.
Qu es una funcin?.
Cmo una funcin recibe parmetros formales?.
Cmo una funcin recibe estructuras como parmetro formal?.
Cmo una funcin devuelve valores de retorno?.
Sesin N 26
Laboratorio de Programacin I
5.
6.
7.
8.
9.
10.
Pgina 145
VII
BIBLIOGRAFIA Y REFERENCIAS
Deitel, Paul J., Deitel, Harvey M., "Cmo Programar en C++", 6ta Edicin, Ed. Pearson
Educacin, Mxico 2009.
Ceballos Sierra, Francisco J., "Curso de Programacin C++. Programacin Orientada a
Objetos"; MADRID, RA-MA, 1991.
Kernighan, Brian W., Ritchie, Dennis M., "El Lenguaje de Programacin C", 2da Edicin, Ed.
Prentice Hispanoamrica S. A., Mxico 1991.
Sesin N 26