Sie sind auf Seite 1von 89

Programacin

Clase 16. Datos Agrupados en C++: Estructuras


Prof. Gonzalo Mller
gmullerb@mail.com

Facultad de Ingeniera Universidad Central de Venezuela

Clase Anterior
Mdulos en C: Declaracin.
Nombre, Tipos: parmetros y retorno.

Definicin.
Puede declarar sus propias variables y realizar llamadas a otros mdulos. Variable de retorno.

Llamada
Subrutinas: Sentencia de llamada. Funciones: Asignacin, Expresiones y Argumento.

Funciones Matemticas en C.
Programacin Prof. Gonzalo Mller Clase 16 GM - 2

Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de datos utilizando slo 1 variable.

Estudiante

Programacin Prof. Gonzalo Mller Clase 16 GM - 3

Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de datos utilizando slo 1 variable.
Nombre Gnero Edad
Estudiante

Promedio U. Crditos Eficiencia


Programacin Prof. Gonzalo Mller Clase 16 GM - 4

Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de datos utilizando slo 1 variable.
Nombre Gnero Edad
Estudiante

Promedio U. Crditos Eficiencia


Programacin Prof. Gonzalo Mller Clase 16 GM - 5

tipo tipo tipo tipo tipo tipo

nombre genero edad promedio creditos eficiencia

6 Variables!

Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de datos utilizando slo 1 variable.
Nombre Gnero Edad
Estudiante

Promedio U. Crditos Eficiencia


Programacin Prof. Gonzalo Mller Clase 16 GM - 6

Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de datos utilizando slo 1 variable.
Nombre Gnero Edad
Estudiante

Slo 1 Variable

Promedio U. Crditos Eficiencia


Programacin Prof. Gonzalo Mller Clase 16 GM - 7

Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de datos utilizando slo 1 variable.
Nombre Gnero Edad
Estudiante

Slo 1 Variable
tipo estudiante

Promedio U. Crditos Eficiencia


Programacin Prof. Gonzalo Mller Clase 16 GM - 8

Estructura
Conjunto de datos manipulados a travs de slo 1 variable.
Promedio Nombre U. Crditos Genero Eficiencia Variable Edad

Programacin Prof. Gonzalo Mller Clase 16 GM - 9

Estructura
Conjunto de datos de tipos diferentes manipulados a travs de slo 1 variable.
Entero sin signo 1B Real 4B Texto Entero sin signo 1B Carcter Real 4B

Variable

Programacin Prof. Gonzalo Mller Clase 16 GM - 10

Estructura
Una estructura esta definida: Nombre de la estructura. Nombres de los datos. Tipos de los diferentes datos.

Programacin Prof. Gonzalo Mller Clase 16 GM - 11

Estructura
Una estructura esta definida: Nombre de la estructura. Nombres de los datos. Tipos de los diferentes datos. Ejemplo: Para una encuesta annima a los estudiantes, se requiere almacenar los datos del estudiante.

Programacin Prof. Gonzalo Mller Clase 16 GM - 12

Estructura
Una estructura esta definida: Nombre de la estructura. Nombres de los datos. Tipos de los diferentes datos. Ejemplo: Para una encuesta annima a los estudiantes, se requiere almacenar los datos del estudiante. El conjunto de datos ser:
Estructura Estudiante genero, edad, promedio, creditos, eficiencia

Programacin Prof. Gonzalo Mller Clase 16 GM - 13

Estructura
Una estructura esta definida: Nombre de la estructura. Nombres de los datos. Tipos de los diferentes datos. Ejemplo: Para una encuesta annima a los estudiantes, se requiere almacenar los datos del estudiante. El conjunto de datos ser:
Estructura Estudiante genero, edad, promedio, creditos, eficiencia

Programacin Prof. Gonzalo Mller Clase 16 GM - 14

Estructura
Una estructura esta definida: Nombre de la estructura. Nombres de los datos. Tipos de los diferentes datos. Ejemplo: Para una encuesta annima a los estudiantes, se requiere almacenar los datos del estudiante. El conjunto de datos ser:
Estructura Estudiante genero, edad, promedio, creditos, eficiencia

Programacin Prof. Gonzalo Mller Clase 16 GM - 15

Estructura
Una estructura esta definida: Nombre de la estructura. Nombres de los datos. Tipos de los diferentes datos. Ejemplo: Para una encuesta annima a los estudiantes, se requiere almacenar los datos del estudiante. El conjunto de datos ser:
Estructura Estudiante genero, edad, promedio, creditos, eficiencia

caracter real 4B real 4B entero sin signo 1B entero sin signo 1B


Programacin Prof. Gonzalo Mller Clase 16 GM - 16

Estructura
Una estructura pueden ser representada grficamente utilizando UML (Unified Modeling Language):
NOMBRE
dato1: tipo dato2: tipo dato3: tipo datoN: tipo

Programacin Prof. Gonzalo Mller Clase 16 GM - 17

Estructura
Ejemplo: Definir la estructura para el estudiante de una encuesta annima: El conjunto de datos ser:
Estructura Estudiante genero, edad, promedio, creditos, eficiencia

caracter real 4B real 4B entero sin signo 1B entero sin signo 1B

ESTUDIANTE genero: carcter edad: entero sin signo 1 byte promedio: real 4 bytes creditos: entero sin signo 1 byte eficiencia: real 4 bytes
Programacin Prof. Gonzalo Mller Clase 16 GM - 18

Estructura

NOMBRE
dato1: tipo dato2: tipo dato3: tipo datoN: tipo

Cualquier conjunto de datos?


Programacin Prof. Gonzalo Mller Clase 16 GM - 19

Estructura
Si hablamos de una estructura TABLA que se imaginan que almacena?
TABLA
dato1: tipo dato2: tipo dato3: tipo datoN: tipo

Programacin Prof. Gonzalo Mller Clase 16 GM - 20

Estructura
Si hablamos de una estructura TABLA que se imaginan que almacena?
TABLA
dato1: tipo dato2: tipo dato3: tipo datoN: tipo

Programacin Prof. Gonzalo Mller Clase 16 GM - 21

Estructura
Si hablamos de una estructura TABLA que se imaginan que almacena?
TABLA
dato1: tipo dato2: tipo dato3: tipo datoN: tipo

Programacin Prof. Gonzalo Mller Clase 16 GM - 22

Estructura
Si hablamos de una estructura TABLA que se imaginan que almacena?
TABLA
dato1: tipo dato2: tipo dato3: tipo datoN: tipo

Programacin Prof. Gonzalo Mller Clase 16 GM - 23

Estructura
Si hablamos de una estructura TABLA que se imaginan que almacena?
TABLA
dato1: tipo dato2: tipo dato3: tipo datoN: tipo

Programacin Prof. Gonzalo Mller Clase 16 GM - 24

Estructura
Si hablamos de una estructura TABLA que se imaginan que almacena?
TABLA
dato1: tipo dato2: tipo dato3: tipo datoN: tipo

?
Programacin Prof. Gonzalo Mller Clase 16 GM - 25

Estructura
Al definir una estructura esta debe agrupar datos que tengan un significado, debe existir Coherencia. Si hablamos de una estructura TABLA que se imaginan que almacena?
TABLA
dato1: tipo dato2: tipo dato3: tipo datoN: tipo Coherencia: Relacin lgica y adecuada de las partes que forman un todo
Programacin Prof. Gonzalo Mller Clase 16 GM - 26

Cohesin en una Estructura


Establece como se interrelacionan el conjunto de datos que forman a la estructura.
Cohesin de Alto Nivel

Cohesin lgica: Los datos que conforman a la estructura se interrelacionan para forma un todo definido. Cohesin en datos: Los datos agrupados son utilizados en varias tareas comunes. Cohesin coincidental: Se agruparon varios datos sin relacin alguna.
Siempre tratar de utilizar coherencia de alto nivel
Programacin Prof. Gonzalo Mller Clase 16 GM - 27

Estructura en C++
La estructura constituye un tipo de dato definido por el programador, por lo tanto, el proceso para utilizar las estructuras es el siguiente:

1 Se debe definir la estructura. 2 Se declara una o ms variables o parmetros del


tipo estructura.

Se extiende el lenguaje al definir nuevos tipos


Programacin Prof. Gonzalo Mller Clase 16 GM - 28

Estructura en C++

1 Se debe definir la estructura.


Se indican las caractersticas
Tabla tiene: Ancho Alto Grosor Color Material

2 Se declara una o ms variables o parmetros del


tipo estructura. Son los entes

Programacin Prof. Gonzalo Mller Clase 16 GM - 29

Estructura en C++

1 Se debe definir la estructura.


Se indican las caractersticas
Tabla tiene: Ancho Alto Grosor Color Material

2 Se declara una o ms variables o parmetros del


tipo estructura. Son los entes

Programacin Prof. Gonzalo Mller Clase 16 GM - 30

1. Definicin de la Estructura en C++


Se le indica al compilador: Nombre de la estructura. Como est formada la estructura: Nombres: establecen el identificador con el que se puede acceder un dato de la estructura. Tipos: permiten establecer la cantidad de memoria que se debe reservar.

Programacin Prof. Gonzalo Mller Clase 16 GM - 31

1. Definicin de la Estructura en C++


Definicin en C++:
Palabra clave que le indica al compilador que se esta definiendo una estructura

struct NOMBRE {
tipo identificador1; tipo identificador2;

Nombre de la estructura

Conjunto de datos

tipo identificadorN;

};

En la notacin se colocar el nombre en maysculas para la estructura definida.

Programacin Prof. Gonzalo Mller Clase 16 GM - 32

1. Definicin de la Estructura en C++


Ejemplo: Se requiere definir la estructura para el estudiante de una encuesta annima:
struct ESTUDIANTE { char genero; unsigned char edad; float promedio; unsigned short creditos; float eficiencia; }; Nombre del dato Tipo del dato
Programacin Prof. Gonzalo Mller Clase 16 GM - 33

Nombre de la estructura

1. Definicin de la Estructura en C++


La definicin de la estructura debe realizarse antes de las declaraciones de variables y de los mdulos.
// Encabezado // Directivas de preprocesador // Definiciones de estructuras // Mdulos main() { // Declaraciones de variables
Programacin Prof. Gonzalo Mller Clase 16 GM - 34

1. Definicin de la Estructura en C++


Es recomendable documentar los elementos de la estructura. Ejemplo:
struct ESTUDIANTE { /// Genero del estudiante char genero; /// Edad del estudiante unsigned char edad; /// Promedio de las materias cursadas float promedio; /// Cantidad de unidades de crditos aprobadas unsigned short creditos; /// Eficiencia del estudiante float eficiencia; };
Programacin Prof. Gonzalo Mller Clase 16 GM - 35

2. Declaracin de la Variable en C++


Se le indica al compilador las variables que se utilizaran con el tipo de estructura definido previamente. Declaracin de una variable tipo estructura: tipo identificador tipo identificador1, identificador2,

Programacin Prof. Gonzalo Mller Clase 16 GM - 36

2. Declaracin de la Variable en C++


Se le indica al compilador las variables que se utilizaran con el tipo de estructura definido previamente. Declaracin de una variable tipo estructura:
ESTRUCTURA identificador ESTRUCTURA identificador1, identificador2,

Programacin Prof. Gonzalo Mller Clase 16 GM - 37

2. Declaracin de la Variable en C++


Ejemplo:
ESTUDIANTE estudiante1; ESTUDIANTE estudianteA, estudianteB;

Tipo estructura definido previamente

Variable tipo ESTUDIANTE

Programacin Prof. Gonzalo Mller Clase 16 GM - 38

Estructura en C++
En memoria:
unsigned char unsigned short float char float

Variable estudiante1

genero edad

promedio

creditos

eficiencia

Programacin Prof. Gonzalo Mller Clase 16 GM - 39

Manejo de una variable estructura en C++


Cada una de las variables que conforma el conjunto de la estructura se les llaman campos. Ejemplo:
struct ESTUDIANTE { char genero; Campo genero unsigned char edad; Campo edad float promedio; Campo promedio unsigned short creditos; Campo creditos float eficiencia; };
Programacin Prof. Gonzalo Mller Clase 16 GM - 40

Campo eficiencia

Manejo de una variable estructura en C++


La forma de acceder un campo es utilizando el operador miembro . : variable.campo
Variable tipo estructura Campo de la estructura

Ejemplo:
// Asigna edad a estudiante estudiante1.edad = 18; // Escribe en pantalla promedio de estudiante printf("%f", estudiante1.promedio);
Programacin Prof. Gonzalo Mller Clase 16 GM - 41

Manejo de una variable estructura en C++


Ejemplo: Disear y construir un programa estructurado con estructuras en C++ que lea los datos de un estudiante (#cdula, edad, gnero y promedio) y escriba en la salida.

Fase 1: Diseo y Anlisis: DES y UML DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa estructurado en C++.
Programacin Prof. Gonzalo Mller Clase 16 GM - 42

Ejercicio
Construir un programa estructurado con estructuras en C++ para: a) Leer 1 polgono (N identificador, N de lados, longitud de un lado, apotema) y escribir en la salida toda su informacin. Fase 1: Diseo y Anlisis: DES y UML DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa estructurado C++.
Evaluacin: Manejo Bsico
Programacin Prof. Gonzalo Mller Clase 16 GM - 43

Manejo de una variable estructura en C++


Asignacin de una variable estructura: El operador asignacin = realiza la asignacin de los valores de todos los campos de una estructura a otra. Ejemplo:
ESTUDIANTE estudiante1, estudiante2; estudiante2 = estudiante1; Asigna los valores de los campos de estudiante1 (genero, edad, promedio, creditos, eficiencia) a estudiante2 en una sola operacin
Programacin Prof. Gonzalo Mller Clase 16 GM - 44

Manejo de una variable estructura en C++


Asignacin de una variable estructura: El operador asignacin = realiza la asignacin de los valores de todos los campos de una estructura a otra. Ejemplo:
ESTUDIANTE estudiante1, estudiante2; estudiante2 = estudiante1; estudiante2.edad = estudiante1.edad;

Tambin se pueden asignar valores de forma individual


Programacin Prof. Gonzalo Mller Clase 16 GM - 45

Uso de Estructuras en Mdulos en C++


Los parmetros de mdulos y el retorno de funciones pueden ser de un tipo de estructura definido. Estructura como parmetro Estructura como retorno

Programacin Prof. Gonzalo Mller Clase 16 GM - 46

Estructura como Parmetro en C++


Estructura como parmetro: Declaracin y Definicin
mdulo(ESTRUCTURA parmetro1, )

Llamada:
ESTRUCTURA variable1; mdulo(variable1, )

Programacin Prof. Gonzalo Mller Clase 16 GM - 47

Estructura como Parmetro en C++


Ejemplo:
void escribeAlumno(ESTUDIANTE alumno) { printf(Edad:%hhu, alumno.edad); } main() { ESTUDIANTE estudiante1; escribeAlumno(estudiante1);
Programacin Prof. Gonzalo Mller Clase 16 GM - 48

Como parmetro

Estructura como Parmetro en C++


Tambin se puede pasar un campo como argumento. Ejemplo:
void escribeEdad(unsigned char laEdad) { printf(Edad:%hhu, laEdad); } main() { ESTUDIANTE estudiante1; escribeEdad(estudiante1.edad);
Programacin Prof. Gonzalo Mller Clase 16 GM - 49

Un campo como parmetro

Estructura como Retorno en C++


Estructura como retorno: Declaracin y Definicin
ESTRUCTURA funcin()

Llamada:
ESTRUCTURA variable1; variable1 = funcin()

Programacin Prof. Gonzalo Mller Clase 16 GM - 50

Estructura como Retorno en C++


Ejemplo:
ESTUDIANTE leeAlumno() { } main() { ESTUDIANTE estudiante1; Como retorno estudiante1 = leeAlumno(); escribeAlumno(estudiante1);
Programacin Prof. Gonzalo Mller Clase 16 GM - 51

Como parmetro

Estructura como Retorno en C++


Ejemplo:
ESTUDIANTE leeAlumno() { Mismo Tipo // Declaraciones locales // ESTUDIANTE res; Variable retorno // Algoritmo // scanf(%hhu, &res.edad); scanf(%f, &res.eficiencia); // return res; Retorno }
Programacin Prof. Gonzalo Mller Clase 16 GM - 52

Estructura como Retorno en C++


Nueva estructura:
ESTRUCTURA nombre() { Mismo Tipo // Declaraciones locales // ESTRUCTURA resultado; Variable retorno

// Algoritmo //

// return resultado; } Retorno

Programacin Prof. Gonzalo Mller Clase 16 GM - 53

Uso de Estructuras en Mdulos en C++


Ejemplo: Disear y construir un programa modular con acoplamiento de datos bsico con estructuras en C++ que lea los datos de un estudiante y escriba en la salida.

Fase 1: Diseo y Anlisis: DES, DTD y UML DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa modular en C++.
Programacin Prof. Gonzalo Mller Clase 16 GM - 54

Uso de Estructuras en Mdulos en C++


Ejemplo: Disear y construir un programa modular con acoplamiento de datos bsico con estructuras en C++ que lea y escriba en la salida los datos de N estudiantes.

Fase 1: Diseo y Anlisis: DES, DTD y UML DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa modular en C++.
Programacin Prof. Gonzalo Mller Clase 16 GM - 55

Uso de Estructuras en Mdulos en C++


Ejemplo: Disear y construir un programa modular con acoplamiento de datos bsico con estructuras en C++ para calcular las races de una ecuacin cuadrtica.

Fase 1: Diseo y Anlisis: DES, DTD y UML DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa modular en C++.
Programacin Prof. Gonzalo Mller Clase 16 GM - 56

Ejercicio
Construir un programa modular con acoplamiento de datos bsico con estructuras en C++ para: a) Leer 1 polgono (N identificador, N de lados, longitud de un lado, apotema) y escribir en la salida toda su informacin. Fase 1: Diseo y Anlisis: DES, DTD y UML DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa modular en C++.
Evaluacin: Manejo Modular
Programacin Prof. Gonzalo Mller Clase 16 GM - 57

Ejercicio
Construir un programa modular con acoplamiento de datos bsico con estructuras en C++ para: b) Leer 1 polgono (N identificador, N de lados, longitud de un lado, apotema, rea) y escribir en la salida toda su informacin. Fase 1: Diseo y Anlisis: DES, DTD y UML DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa modular en C++.
Evaluacin: Manejo Modular
Programacin Prof. Gonzalo Mller Clase 16 GM - 58

Ejercicio
Construir un programa modular con acoplamiento de datos bsico con estructuras en C++ para: b) Leer 1 polgono (N identificador, N de lados, longitud de un lado, apotema, rea) y escribir en la salida toda su informacin. A=n*l*a/2 Fase 1: Diseo y Anlisis: DES, DTD y UML DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa modular en C++.
Evaluacin: Manejo Modular
Programacin Prof. Gonzalo Mller Clase 16 GM - 59

Estructura como Retorno en C++


Modificacin de una estructura:
ESTRUCTURA nombre(ESTRUCTURA resultado,) { Mismo Tipo // Algoritmo Variable retorno //

// return resultado; } Retorno

Programacin Prof. Gonzalo Mller Clase 16 GM - 60

Estructura como Retorno en C++


Ejemplo: Definir una funcin para cambiar la eficiencia, promedio y crditos de un estudiante:
ESTUDIANTE calculaPotencial(ESTUDIANTE res) { // Algoritmo // res.potencial = res.promedio*res.eficiencia; // return res; }

Programacin Prof. Gonzalo Mller Clase 16 GM - 61

Estructura como Retorno en C++


Ejemplo: Definir una funcin para cambiar la eficiencia, promedio y crditos de un estudiante:
ESTUDIANTE calculaPotencial(ESTUDIANTE res) { Mismo Tipo // Algoritmo Variable retorno // res.potencial = res.promedio*res.eficiencia; // return res; Retorno }

Programacin Prof. Gonzalo Mller Clase 16 GM - 62

Estructura como Retorno en C++


Ejemplo: Definir una funcin para cambiar la eficiencia, promedio y crditos de un estudiante:
ESTUDIANTE calculaPotencial(ESTUDIANTE res) { // Algoritmo // res.potencial = res.promedio*res.eficiencia; // return res; Campos previamente } asignados Campo a modificar

Programacin Prof. Gonzalo Mller Clase 16 GM - 63

Estructura como Retorno en C++


Ejemplo:
ESTUDIANTE calculaPotencial(ESTUDIANTE res) { } main() { ESTUDIANTE estudiante1; estudiante1 = leeAlumno(); estudiante1 = calculaPotencial(estudiante1); Actualizacin de estudiante1
Programacin Prof. Gonzalo Mller Clase 16 GM - 64

Ejercicio
Construir un programa modular con acoplamiento de datos bsico con estructuras en C++ para: c) Leer N polgonos (N identificador, N de lados, longitud de un lado, apotema, rea) y escribir en la salida cada uno con toda su informacin. Fase 1: Diseo y Anlisis: DES, DTD y UML DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa modular en C++.
Evaluacin: Manejo Modular
Programacin Prof. Gonzalo Mller Clase 16 GM - 65

Ejercicio
Construir un programa modular con acoplamiento de datos bsico con estructuras en C++ para: d) Leer N polgonos (N identificador, N de lados, longitud de un lado, apotema, rea) y escribir en la salida el polgono de ms lados y el de mayor rea. Fase 1: Diseo y Anlisis: DES, DTD y UML DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa modular en C++.
Evaluacin: Asignacin
Programacin Prof. Gonzalo Mller Clase 16 GM - 66

Ejercicio
Construir un programa modular con acoplamiento de datos bsico con estructuras en C++ para: e) Leer N polgonos (N identificador, N de lados, longitud de un lado, apotema) y escribir en la salida el polgono de ms lados, el de mayor apotema y de mayor rea. (3 mdulos de comparacin) Fase 1: Diseo y Anlisis: DES, DTD y UML DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa modular en C++.
Programacin Prof. Gonzalo Mller Clase 16 GM - 67

Evaluacin: Modificacin

Estructura como Retorno en C++

Formas en que podemos utilizar los mdulos: # Retornos 0 1 Usar Subrutina Funcin

1 Estructura (2 ms retornos) Funcin

Programacin Prof. Gonzalo Mller Clase 16 GM - 68

Metodologa para creacin de un programa modular con estructuras en C++


Metodologa para creacin de un programa modular con estructuras en C++ 1. Realizar el anlisis del problema a resolver: 1. Definir los datos de entrada y de salida. 2. Teora asociada, requerimientos, etc. 2. Determinar los mdulos necesarios para resolver el problema: Diagrama Top-Down 3. Disear las estructuras necesarias: UML 4. Disear y probar el algoritmo principal y los de los mdulos: Construir DREs o DFs. 5. Definir los tipos de datos de las variables utilizadas en el algoritmo principal y las utilizadas en cada mdulo: Construir Lista de variables. 6. Definir los tipos de datos de retorno y de parmetros de los diferentes mdulos utilizados en el algoritmo: Construir Tabla de Mdulos. 7. Codificar en C++: 1. UML Definicin de Estructuras. 2. Tabla de Mdulos Declaraciones de Mdulos. 3. LVs + DREs Definiciones de los Mdulos. 4. LV + DRE Bloque Principal Fin
Programacin Prof. Gonzalo Mller Clase 16 GM - 69

Mdulos

Metodologa para creacin de un programa modular con estructuras en C++


1

DES
Salidas

Entradas

Programacin Prof. Gonzalo Mller Clase 16 GM - 70

Metodologa para creacin de un programa modular con estructuras en C++


1

DES
Salidas

DTD

Entradas

Programacin Prof. Gonzalo Mller Clase 16 GM - 71

Metodologa para creacin de un programa modular con estructuras en C++


1

DES
Salidas

DTD

Entradas 3

UML

ESTRUCTURA
dato1: tipo dato2: tipo

Programacin Prof. Gonzalo Mller Clase 16 GM - 72

Metodologa para creacin de un programa modular con estructuras en C++


1

DES
Salidas

DTD

Entradas 3

UML
4

ESTRUCTURA
dato1: tipo dato2: tipo

DREs
Nombre
FIN

Programacin Prof. Gonzalo Mller Clase 16 GM - 73

Metodologa para creacin de un programa modular con estructuras en C++


1

DES
Salidas

DTD

Entradas 3

UML
4

ESTRUCTURA
dato1: tipo dato2: tipo 5

DREs
Nombre
FIN

Lista de Variables
Variables variable : tipo

Programacin Prof. Gonzalo Mller Clase 16 GM - 74

Metodologa para creacin de un programa modular con estructuras en C++


1

DES
Salidas

DTD

Entradas 3

UML
4

ESTRUCTURA
dato1: tipo dato2: tipo 5

DREs
Nombre
FIN

Lista de Variables
Variables variable : tipo Modulo nombre Parmetros parametro1:tipo1, 6

Tabla de Mdulos
Retorno retorno:tipo Tipo subrutina o funcin

Programacin Prof. Gonzalo Mller Clase 16 GM - 75

Metodologa para creacin de un programa modular con estructuras en C++


1

DES
Salidas

DTD

Entradas 3

UML
4

ESTRUCTURA
dato1: tipo dato2: tipo 5

DREs
Nombre
FIN Mdulos main() { }

C++

Definicin de Estructuras

Lista de Variables
Variables variable : tipo Modulo nombre Parmetros parametro1:tipo1, 6

Tabla de Mdulos
Retorno retorno:tipo Tipo

*.cpp

subrutina o funcin

Programacin Prof. Gonzalo Mller Clase 16 GM - 76

Metodologa para creacin de un programa modular con estructuras en C++


1

DES
Salidas

DTD

Entradas 3

UML
4

ESTRUCTURA
dato1: tipo dato2: tipo 5

DREs
Nombre
FIN Mdulos main() { }

C++

Definicin de Estructuras

Lista de Variables
Variables variable : tipo Modulo nombre Parmetros parametro1:tipo1, 6

Tabla de Mdulos
Retorno retorno:tipo Tipo

*.cpp

subrutina o funcin

Programacin Prof. Gonzalo Mller Clase 16 GM - 77

Metodologa para creacin de un programa modular con estructuras en C++


1

DES
Salidas

DTD

Entradas 3

UML
4

ESTRUCTURA
dato1: tipo dato2: tipo 5

DREs
Nombre
FIN Mdulos main() { }

C++

Definicin de Estructuras

Lista de Variables
Variables variable : tipo Modulo nombre Parmetros parametro1:tipo1, 6

Tabla de Mdulos
Retorno retorno:tipo Tipo

*.cpp

subrutina o funcin

Programacin Prof. Gonzalo Mller Clase 16 GM - 78

Metodologa para creacin de un programa modular con estructuras en C++


1

DES
Salidas

DTD

Entradas 3

UML
4

ESTRUCTURA
dato1: tipo dato2: tipo 5

DREs
Nombre
FIN Mdulos main() { }

C++

Definicin de Estructuras

Lista de Variables
Variables variable : tipo Modulo nombre Parmetros parametro1:tipo1, 6

Tabla de Mdulos
Retorno retorno:tipo Tipo

*.cpp

subrutina o funcin

Programacin Prof. Gonzalo Mller Clase 16 GM - 79

Metodologa para creacin de un programa modular con estructuras en C++


1

DES
Salidas

DTD

Entradas 3

UML
4

ESTRUCTURA
dato1: tipo dato2: tipo 5

DREs
Nombre
FIN Mdulos main() { }

C++

Definicin de Estructuras

Lista de Variables
Variables variable : tipo Modulo nombre Parmetros parametro1:tipo1, 6

Tabla de Mdulos
Retorno retorno:tipo Tipo

*.cpp

subrutina o funcin

Programacin Prof. Gonzalo Mller Clase 16 GM - 80

Metodologa para creacin de un programa modular con estructuras en C++

Ejemplo: Disear y construir un programa modular con acoplamiento de datos bsico con estructuras en C++ que lea ecuaciones cuadrticas y escriba en salida las ecuaciones y sus soluciones.

Programacin Prof. Gonzalo Mller Clase 16 GM - 81

Estructura
Es un artefacto Muy Poderoso

ya que permiten manejar gran cantidad de datos a travs de una sola variable
char genero unsigned char edad float promedio unsigned short creditos float eficiencia ESTUDIANTE alumno

Programacin Prof. Gonzalo Mller Clase 16 GM - 82

Estructura
Es un artefacto Muy Poderoso

ya que permiten manejar gran cantidad de datos a travs de una sola variable
escribeAlumno(genero, edad,promedio,credito s,eficiencia) escribeAlumno(alumno)

Programacin Prof. Gonzalo Mller Clase 16 GM - 83

Ejercicio
Construir un programa modular con acoplamiento de datos bsico con estructuras en C++ para: f) Leer la posicin (x, y), el peso y N identificador para 1 maquina y presentar en la salida toda la informacin. Fase 1: Diseo y Anlisis: DES, DTD y UML DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa modular en C++.
Programacin Prof. Gonzalo Mller Clase 16 GM - 84

Ejercicio
Construir un programa modular con acoplamiento de datos bsico con estructuras en C++ para: g) Leer la posicin (x, y), el peso y N identificador para N maquinas y presentar en la salida la informacin de cada una. Fase 1: Diseo y Anlisis: DES, DTD y UML DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa modular en C++.
Programacin Prof. Gonzalo Mller Clase 16 GM - 85

Ejercicio
Construir un programa modular con acoplamiento de datos bsico con estructuras en C++ para: h) Leer la posicin (x, y), el peso y N identificador para N maquinas y presentar en la salida toda la informacin de la menos pesada. Fase 1: Diseo y Anlisis: DES, DTD y UML DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa modular en C++.
Programacin Prof. Gonzalo Mller Clase 16 GM - 86

Ejercicio
Construir un programa modular con acoplamiento de datos bsico con estructuras en C++ para: i) Leer la posicin (x, y), el peso y N identificador para N maquinas y presentar en la salida toda la informacin de la menos pesada y la ms cercana al origen. Fase 1: Diseo y Anlisis: DES, DTD y UML DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: programa modular en C++.
Programacin Prof. Gonzalo Mller Clase 16 GM - 87

Resumen
Datos Agrupados de Diferentes Tipos Estructura UML Estructura en C++: 1 Se debe definir la estructura: struct
Nombre de la estructura. Tipos de variables contenidas. Nombres de las variables contenidas. Antes de las declaraciones de mdulos y de variables

2 Declarar una variable de tipo estructura.

Programacin Prof. Gonzalo Mller Clase 16 GM - 88

Resumen
Manejo de una variable estructura: Campos de una estructura. Operador miembro . . Asignacin de una variable estructura. Mdulos con estructuras: Estructura como parmetro. Estructura como retorno.
2 ms retornos

Metodologa para creacin de un programa modular con estructuras en C++


Programacin Prof. Gonzalo Mller Clase 16 GM - 89

Das könnte Ihnen auch gefallen