Vous êtes sur la page 1sur 8

GUIA PARA PRACTICA DE

<<LABORATORIO O TALLER>>

CARRERA

CDIGO
NRC
ASIGNATURA
INGENIERIA - MECANICA
15081
2354
UNIDAD No.: 02
MANEJO DE DATOS ABSTRACTOS
PROFESOR

PRCTICA

ING. Cesar Osorio

10

ESTUDIANTES:

Ayala Freddy

NOMBRE DE LA
ASIGNATURA
PROGRAMACION I

NOMBRE DE LA PRCTICA:
DESARROLLO DE FUNCIONES
CON DATOS DEL TIPO STRUCT

CI:1721510251

Firma:______________________

Guano Cristhian

DURACIN :
60 MINUTOS

CI: 1725795478

Firma:_______________________

A. OBJETIVO
Realizar un programa que sume, reste, multiplique y divida 2 complejos, utilizando las
estructuras, para analizar la importancia de su utilizacin.
B. FUNDAMENTO TEORICO

Estructuras
Las estructuras son el segundo tipo de datos estructurados que veremos
(valga la redundancia).
Al contrario que los arrays, las estructuras nos permiten agrupar varios
datos, que mantengan algn tipo de relacin, aunque sean de distinto tipo,
permitiendo manipularlos todos juntos, usando un mismo identificador, o
cada uno por separado.
Las estructuras son llamadas tambin muy a menudo registros, o en
ingls records. Tienen muchos aspectos en comn con los registros usados
en bases de datos. Y siguiendo la misma analoga, cada objeto de una
estructura se denomina a menudo campo, o field.
Sintaxis:
struct [<identificador>] {
[<tipo> <nombre_objeto>[,<nombre_objeto>,...]];
} [<objeto_estructura>[,<objeto_estructura>,...];
El identificador de la estructura es un nombre opcional para referirse a la
estructura.
Los objetos de estructura son objetos declarados del tipo de la estructura, y
su inclusin tambin es opcional. Sin bien, an siendo ambos opcionales, al
menos uno de estos elementos debe existir.
Autores: Ayala Freddy Guano Cristhian

Pgina 1

GUIA PARA PRACTICA DE


<<LABORATORIO O TALLER>>

En el interior de una estructura, entre las llaves, se pueden definir todos los
elementos que consideremos necesarios, del mismo modo que se declaran
los objetos.
Las estructuras pueden referenciarse completas, usando su nombre, como
hacemos con los objetos que ya conocemos, y tambin se puede acceder a
los elementos definidos en el interior de la estructura, usando el operador
de seleccin (.), un punto.
Una vez definida una estructura, es decir, si hemos especificado un nombre
para ella, se puede usar igual que cualquier otro tipo de C++. Esto significa
que se pueden declarar ms objetos del tipo de estructura en cualquier
parte del programa. Para ello usaremos la forma normal de declaracin de
objetos, es decir:
[struct] <identificador> <objeto_estructura>
[,<objeto_estructura>...];
En C++ la palabra struct es opcional en la declaracin de objetos, al
contrario de lo que sucede en C, en el que es obligatorio usarla.
Ejemplo:
struct Persona {
char Nombre[65];
char Direccion[65];
int AnyoNacimiento;
} Fulanito;
Este ejemplo define la estructura Persona y declara a Fulanito como un
objeto de ese tipo. Para acceder al nombre de Fulanito, por ejemplo para
visualizarlo, usaremos la forma:
cout << Fulanito.Nombre;
Funciones del tipo struct
C++, permite incluir funciones en el interior de las estructuras.
Normalmente estas funciones tienen la misin de manipular los datos
incluidos en la estructura, y su uso est muy relacionado con la
programacin orientada a objetos.
Aunque esta caracterstica se usa casi exclusivamente con las clases, como
veremos ms adelante, tambin puede usarse en las estructuras. De hecho,
en C++, las diferencias entre estructuras y clases son muy tenues.
Autores: Ayala Freddy Guano Cristhian

Pgina 2

GUIA PARA PRACTICA DE


<<LABORATORIO O TALLER>>

Dos funciones muy particulares son las de inicializacin, o constructor, y


el destructor. Veremos con ms detalle estas funciones cuando asociemos
las estructuras y los punteros.
El constructor es una funcin sin tipo de retorno y con el mismo nombre que
la estructura. El destructor tiene la misma forma, salvo que el nombre va
precedido el smbolo "~".
Nota: para aquellos que usen un teclado espaol, el smbolo "~" se obtiene
pulsando las teclas del teclado numrico 1, 2, 6, mientras se mantiene
pulsada la tecla ALT, ([ALT]+126). Tambin mediante la combinacin [Atl Gr]
+[4] y un espacio (la tecla [4] de la zona de las letras, no del teclado
numrico).
Veamos un ejemplo sencillo para ilustrar el uso de constructores:
Forma 1:
struct Punto {
int x, y;
Punto() {x = 0; y = 0;} // Constructor
} Punto1, Punto2;
Forma 2:
struct Punto {
int x, y;
Punto(); // Declaracin del constructor
} Punto1, Punto2;

// Definicin del constructor, fuera de la estructura


Punto::Punto() {
x = 0;
y = 0;
}
Si
no
usramos
un constructor,
los
valores
de x e y para Punto1 y Punto2 estaran indeterminados, contendran la
"basura" que hubiese en la memoria asignada a estas estructuras durante la
Autores: Ayala Freddy Guano Cristhian

Pgina 3

GUIA PARA PRACTICA DE


<<LABORATORIO O TALLER>>

ejecucin. Con las estructuras ste ser el caso ms habitual, ya que si


necesitamos usar constructores para asignar valores iniciales, ser mucho
ms lgico usar clases que estructuras.
Mencionar aqu, slo a ttulo de informacin, que el constructor no tiene por
qu ser nico. Se pueden definir varios constructores, pero veremos esto
mucho mejor y con ms detalle cuando veamos las clases.
Usando constructores nos aseguramos los valores iniciales para los
elementos de la estructura. Veremos que esto puede ser una gran ventaja,
sobre todo cuando combinemos estructuras con punteros, en captulos
posteriores.
Tambin podemos incluir otras funciones, que se declaran y definen como
las funciones que ya conocemos.
Paso de estructuras a funciones
Las estructuras se pueden pasar directamente a una funcin igual que se
hace con las variables. Por supuesto, en la definicin de la funcin de debe
indicar el tipo de argumento que usamos:
tipo nombre_funcin
variable_estructura )

struct

nombre_de_la_estructura

nombre_de_la

En el ejemplo siguiente se usa una funcin llamada suma que calcula cual
ser la edad 20 aos ms tarde (simplemente suma 20 a la edad). Esta
funcin toma como argumento la variable estructura arg_amigo. Cuando se
ejecuta el programa llamamos a suma desde main y en esta variable se
copia el contenido de la variable amigo.
#include <stdio.h>
struct estructura_amigo {
char nombre[30];
char apellido[40];
char telefono[10];
int edad;
};
struct estructura_amigo amigo = {
"Juanjo",

Autores: Ayala Freddy Guano Cristhian

Pgina 4

GUIA PARA PRACTICA DE


<<LABORATORIO O TALLER>>

"Lpez",
"983403367",
30
};

int suma( struct estructura_amigo );


main()
{
printf( "%s tiene ", amigo.apellido );
printf( "%i aos ", amigo.edad );
printf( "y dentro de 20 aos tendr %i.\n", suma(amigo) );
}
int suma( struct estructura_amigo arg_amigo )
{
return arg_amigo.edad + 20;
}
Si dentro de la funcin suma hubisemos cambiado algn valor de la
estructura, dado que es una copia, no hubiera afectado a la
variable amigo de main. Es decir, si dentro de suma hacemos, por
ejemplo,arg_amigo.edad = 20; el valor de arg_amigo cambiar, pero el
de amigo seguir siendo 30.
Tambin se pueden pasar estructuras mediante punteros o se puede pasar
simplemente un miembro (o campo) de la estructura. Si usamos punteros
para pasar estructuras como argumentos habr que hacer unos cambios al
cdigo anterior (en negrita):
INSTRUCCIONES

Forme grupos de mximo dos personas


Lean detenidamente las instrucciones del ejercicio a desarrollar
Desarrolle el ejercicio utilizando la herramienta de programacin establecida.
Una vez finalizado el taller, el grupo de trabajo enviar al correo del Docente (aula
virtual) el cdigo completo de la aplicacin.

C. ACTIVIDADES A DESARROLLAR

Autores: Ayala Freddy Guano Cristhian

Pgina 5

GUIA PARA PRACTICA DE


<<LABORATORIO O TALLER>>

Variables generales: real, imag, c1, c2


1. Crear un men dinmico.
2. Mostrar la suma de dos nmeros complejos.
3. Mostrar la resta de dos nmeros complejos.
4. Mostrar la multiplicacin de dos nmeros complejos.
5. Mostrar la divisin de dos nmeros complejos.
Implementar un funcin para que imprima el valor correspondiente a cada tem.
D. REQUISITOS PREVIOS

HADWARE
COMPUTADOR

SOFTWARE
CODEBLOCKS (programa archivo .cpp)
WORD (informe archivo .docx)

E. REFERENCIAS ( DE ACUERDO A LO ESPECIFICADO EN LA BIBLIOGRAFIA BASICA


Y COMPLEMENTARIA)

C.conclase.net. (2016). Curso de C++ - Tipos de objetos III:


Estructuras. [online] Available at: http://c.conclase.net/curso/?
cap=011 [Accessed 25 Jun. 2016].
Martnez Gil. F, (2003) Introduccin a la Programacin Estructurada
en C++, Valencia, eduacio.
Es.wikibooks.org. (2016). Programacin en C++/Estructuras Wikilibros. [online] Available at:
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B
%2B/Estructuras [Accessed 26 Jun. 2016].

F. RESULTADO OBTENIDOS
Menu

Suma

Autores: Ayala Freddy Guano Cristhian

Pgina 6

GUIA PARA PRACTICA DE


<<LABORATORIO O TALLER>>

Resta

Multiplicacin

Divisin

G. CONCLUSIONES

Es importante tener en claro la declaracin de las funciones del tipo struct y los datos
que van a intervenir en la misma, para evitarse confusiones en el desarrollo del
programa.
El uso o manejo de las variables de la estructura tambin se lo puede usar mediante
punteros asi tambin como se puede usar en la implementacin de funciones.
El implementar funciones del tipo struct ayuda a que el programa sea ms entendible y
amigable con otras personas que abran el mismo (se entiende de mejor manera la
resolucin del programa).

Autores: Ayala Freddy Guano Cristhian

Pgina 7

GUIA PARA PRACTICA DE


<<LABORATORIO O TALLER>>

H. RECOMENDACIONES

Es recomendable no colocar nombre de variables muy largos ya que en si el usar datos y


funciones del tipo struct puede llevar a confusiones por no ser datos usados habitualmente
por el programador.

Autores: Ayala Freddy Guano Cristhian

Pgina 8

Vous aimerez peut-être aussi