Clase Programación 16

July 25, 2017 | Author: gmullerb | Category: C++, Computer Programming, Algorithms, Compiler, Class (Computer Programming)
Share Embed Donate


Short Description

Descripción: Clase 16 de Programación, Prof. Gonzalo Müller [email protected], Facultad de Ingeniería, UCV...

Description

Programación

Clase 16. Datos Agrupados en C++: Estructuras Prof. Gonzalo Müller [email protected]

Facultad de Ingeniería Universidad Central de Venezuela

Clase Anterior

 Módulos en C:  Declaración. 

Nombre, Tipos: parámetros y retorno.

 Definición. Puede declarar sus propias variables y realizar llamadas a otros módulos.  Variable de retorno. 

 Llamada Subrutinas: Sentencia de llamada.  Funciones: Asignación, Expresiones y Argumento. 

 Funciones Matemáticas en C. Programación – Prof. Gonzalo Müller – Clase 16 – GM - 2

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

Estudiante

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 3

Datos Agrupados Que sucede si se necesita trabajar con un conjunto de datos utilizando sólo 1 variable. • Nombre • Género • Edad Estudiante

• Promedio • U. Créditos • Eficiencia Programación – Prof. Gonzalo Müller – Clase 16 – GM - 4

Datos Agrupados Que sucede si se necesita trabajar con un conjunto de datos utilizando sólo 1 variable. • Nombre • Género • Edad Estudiante

• Promedio • U. Créditos • Eficiencia Programación – Prof. Gonzalo Müller – 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 sólo 1 variable. • Nombre • Género • Edad Estudiante

• Promedio • U. Créditos • Eficiencia Programación – Prof. Gonzalo Müller – Clase 16 – GM - 6

Datos Agrupados Que sucede si se necesita trabajar con un conjunto de datos utilizando sólo 1 variable. • Nombre • Género • Edad Estudiante

• Promedio • U. Créditos • Eficiencia Programación – Prof. Gonzalo Müller – Clase 16 – GM - 7

Sólo 1 Variable

Datos Agrupados Que sucede si se necesita trabajar con un conjunto de datos utilizando sólo 1 variable. • Nombre • Género • Edad Estudiante

• Promedio • U. Créditos • Eficiencia Programación – Prof. Gonzalo Müller – Clase 16 – GM - 8

Sólo 1 Variable tipo estudiante

Estructura Conjunto de datos manipulados a través de sólo 1 variable. Promedio Nombre U. Créditos Genero Eficiencia Variable Edad

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 9

Estructura Conjunto de datos de tipos diferentes manipulados a través de sólo 1 variable. Entero sin signo 1B Real 4B Texto Entero sin signo 1B Carácter Real 4B

Variable

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 10

Estructura

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

Programación – Prof. Gonzalo Müller – 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 anónima a los estudiantes, se requiere almacenar los datos del estudiante.

Programación – Prof. Gonzalo Müller – 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 anónima a los estudiantes, se requiere almacenar los datos del estudiante. El conjunto de datos será:

Estructura Estudiante genero, edad, promedio, creditos, eficiencia

Programación – Prof. Gonzalo Müller – 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 anónima a los estudiantes, se requiere almacenar los datos del estudiante. El conjunto de datos será:

Estructura Estudiante genero, edad, promedio, creditos, eficiencia

Programación – Prof. Gonzalo Müller – 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 anónima a los estudiantes, se requiere almacenar los datos del estudiante. El conjunto de datos será:

Estructura Estudiante genero, edad, promedio, creditos, eficiencia

Programación – Prof. Gonzalo Müller – 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 anónima 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 Programación – Prof. Gonzalo Müller – Clase 16 – GM - 16

Estructura

 Una estructura pueden ser representada gráficamente utilizando UML (Unified Modeling Language): NOMBRE dato1: tipo dato2: tipo dato3: tipo … datoN: tipo

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 17

Estructura Ejemplo: Definir la estructura para el estudiante de una encuesta anónima: 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: carácter edad: entero sin signo 1 byte promedio: real 4 bytes creditos: entero sin signo 1 byte eficiencia: real 4 bytes Programación – Prof. Gonzalo Müller – Clase 16 – GM - 18

Estructura

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

¿Cualquier conjunto de datos? Programación – Prof. Gonzalo Müller – 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

Programación – Prof. Gonzalo Müller – 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

Programación – Prof. Gonzalo Müller – 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

Programación – Prof. Gonzalo Müller – 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

Programación – Prof. Gonzalo Müller – 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

Programación – Prof. Gonzalo Müller – 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

? Programación – Prof. Gonzalo Müller – 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: Relación lógica y adecuada de las partes que forman un todo Programación – Prof. Gonzalo Müller – Clase 16 – GM - 26

Cohesión en una Estructura Establece como se interrelacionan el conjunto de datos que forman a la estructura. Cohesión de Alto Nivel



Cohesión lógica: Los datos que conforman a la estructura se interrelacionan para forma un todo definido.



Cohesión en datos: Los datos agrupados son utilizados en varias tareas comunes.



Cohesión coincidental: Se agruparon varios datos sin relación alguna. Siempre tratar de utilizar coherencia de alto nivel Programación – Prof. Gonzalo Müller – 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 más variables o parámetros del tipo estructura.

Se extiende el lenguaje al definir nuevos tipos Programación – Prof. Gonzalo Müller – Clase 16 – GM - 28

Estructura en C++

1º Se debe definir la estructura. Se indican las características

Tabla tiene: •Ancho •Alto •Grosor •Color •Material

2º Se declara una o más variables o parámetros del tipo estructura. Son los entes

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 29

Estructura en C++

1º Se debe definir la estructura. Se indican las características

Tabla tiene: •Ancho •Alto •Grosor •Color •Material

2º Se declara una o más variables o parámetros del tipo estructura. Son los entes

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 30

1. Definición 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.

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 31

1. Definición de la Estructura en C++ Definición en C++: Palabra clave que le indica al compilador que se esta definiendo una estructura

struct NOMBRE

Nombre de la estructura

{ tipo identificador1; tipo identificador2; …

tipo identificadorN;

};

Conjunto de datos

En la notación se colocará el nombre en mayúsculas para la estructura definida.

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 32

1. Definición de la Estructura en C++ Ejemplo: Se requiere definir la estructura para el estudiante de una encuesta anónima: struct ESTUDIANTE Nombre de la estructura

{ char genero; unsigned char edad; float promedio;

unsigned short creditos; float eficiencia; };

Nombre del dato Tipo del dato Programación – Prof. Gonzalo Müller – Clase 16 – GM - 33

1. Definición de la Estructura en C++

 La definición de la estructura debe realizarse antes de las declaraciones de variables y de los módulos. // Encabezado // Directivas de preprocesador // Definiciones de estructuras // Módulos main() { // Declaraciones de variables … Programación – Prof. Gonzalo Müller – Clase 16 – GM - 34

1. Definición 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 créditos aprobadas unsigned short creditos; /// Eficiencia del estudiante float eficiencia; }; Programación – Prof. Gonzalo Müller – Clase 16 – GM - 35

2. Declaración de la Variable en C++ Se le indica al compilador las variables que se utilizaran con el tipo de estructura definido previamente. Declaración de una variable tipo estructura: tipo identificador tipo identificador1, identificador2,…

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 36

2. Declaración de la Variable en C++ Se le indica al compilador las variables que se utilizaran con el tipo de estructura definido previamente. Declaración de una variable tipo estructura: ESTRUCTURA identificador ESTRUCTURA identificador1, identificador2,…

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 37

2. Declaración de la Variable en C++ Ejemplo: ESTUDIANTE estudiante1; ESTUDIANTE estudianteA, estudianteB;

Tipo estructura definido previamente

Variable tipo ESTUDIANTE

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 38

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

float

char

float

Variable estudiante1

genero edad

promedio

creditos

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 39

eficiencia

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;

Campo eficiencia

}; Programación – Prof. Gonzalo Müller – Clase 16 – GM - 40

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); Programación – Prof. Gonzalo Müller – Clase 16 – GM - 41

Manejo de una variable estructura en C++ Ejemplo: Diseñar y construir un programa estructurado con estructuras en C++ que lea los datos de un estudiante (#cédula, edad, género y promedio) y escriba en la salida.

Fase 1: Diseño y Análisis: DES y UML DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa estructurado en C++. Programación – Prof. Gonzalo Müller – Clase 16 – GM - 42

Ejercicio Construir un programa estructurado con estructuras en C++ para: a) Leer 1 polígono (Nº identificador, Nº de lados, longitud de un lado, apotema) y escribir en la salida toda su información. Fase 1: Diseño y Análisis: DES y UML DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa estructurado C++. Evaluación: Manejo Básico Programación – Prof. Gonzalo Müller – Clase 16 – GM - 43

Manejo de una variable estructura en C++

 Asignación de una variable estructura: El operador asignación = realiza la asignación 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 operación Programación – Prof. Gonzalo Müller – Clase 16 – GM - 44

Manejo de una variable estructura en C++

 Asignación de una variable estructura: El operador asignación = realiza la asignación de los valores de todos los campos de una estructura a otra. Ejemplo: ESTUDIANTE estudiante1, estudiante2; … estudiante2 = estudiante1; estudiante2.edad = estudiante1.edad;

También se pueden asignar valores de forma individual Programación – Prof. Gonzalo Müller – Clase 16 – GM - 45

Uso de Estructuras en Módulos en C++ Los parámetros de módulos y el retorno de funciones pueden ser de un tipo de estructura definido.  Estructura como parámetro  Estructura como retorno

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 46

Estructura como Parámetro en C++

 Estructura como parámetro:  Declaración y Definición … módulo(ESTRUCTURA parámetro1, …)

 Llamada: ESTRUCTURA variable1; … … módulo(variable1, …)

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 47

Estructura como Parámetro en C++ Ejemplo: void escribeAlumno(ESTUDIANTE alumno) { printf(“Edad:%hhu”, alumno.edad); … } … main() { ESTUDIANTE estudiante1; …

Como parámetro

escribeAlumno(estudiante1); …

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 48

Estructura como Parámetro en C++

 También se puede pasar un campo como argumento. Ejemplo: void escribeEdad(unsigned char laEdad) { printf(“Edad:%hhu”, laEdad); } … main() { ESTUDIANTE estudiante1; Un campo como parámetro

… escribeEdad(estudiante1.edad);… Programación – Prof. Gonzalo Müller – Clase 16 – GM - 49

Estructura como Retorno en C++

 Estructura como retorno:  Declaración y Definición ESTRUCTURA función(…)

 Llamada: ESTRUCTURA variable1; … variable1 = función(…)

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 50

Estructura como Retorno en C++ Ejemplo: … ESTUDIANTE leeAlumno() { … } … main() { ESTUDIANTE estudiante1; Como retorno … estudiante1 = leeAlumno(); … escribeAlumno(estudiante1); … Programación – Prof. Gonzalo Müller – Clase 16 – GM - 51

Como parámetro

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 } Programación – Prof. Gonzalo Müller – 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

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 53

Uso de Estructuras en Módulos en C++ Ejemplo: Diseñar y construir un programa modular con acoplamiento de datos básico con estructuras en C++ que lea los datos de un estudiante y escriba en la salida.

Fase 1: Diseño y Análisis: DES, DTD y UML DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa modular en C++. Programación – Prof. Gonzalo Müller – Clase 16 – GM - 54

Uso de Estructuras en Módulos en C++ Ejemplo: Diseñar y construir un programa modular con acoplamiento de datos básico con estructuras en C++ que lea y escriba en la salida los datos de N estudiantes.

Fase 1: Diseño y Análisis: DES, DTD y UML DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa modular en C++. Programación – Prof. Gonzalo Müller – Clase 16 – GM - 55

Uso de Estructuras en Módulos en C++ Ejemplo: Diseñar y construir un programa modular con acoplamiento de datos básico con estructuras en C++ para calcular las raíces de una ecuación cuadrática.

Fase 1: Diseño y Análisis: DES, DTD y UML DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa modular en C++. Programación – Prof. Gonzalo Müller – Clase 16 – GM - 56

Ejercicio Construir un programa modular con acoplamiento de datos básico con estructuras en C++ para: a) Leer 1 polígono (Nº identificador, Nº de lados, longitud de un lado, apotema) y escribir en la salida toda su información. Fase 1: Diseño y Análisis: DES, DTD y UML DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa modular en C++. Evaluación: Manejo Modular Programación – Prof. Gonzalo Müller – Clase 16 – GM - 57

Ejercicio Construir un programa modular con acoplamiento de datos básico con estructuras en C++ para: b) Leer 1 polígono (Nº identificador, Nº de lados, longitud de un lado, apotema, área) y escribir en la salida toda su información. Fase 1: Diseño y Análisis: DES, DTD y UML DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa modular en C++. Evaluación: Manejo Modular Programación – Prof. Gonzalo Müller – Clase 16 – GM - 58

Ejercicio Construir un programa modular con acoplamiento de datos básico con estructuras en C++ para: b) Leer 1 polígono (Nº identificador, Nº de lados, longitud de un lado, apotema, área) y escribir en la salida toda su información. A=n*l*a/2 Fase 1: Diseño y Análisis: DES, DTD y UML DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa modular en C++. Evaluación: Manejo Modular Programación – Prof. Gonzalo Müller – Clase 16 – GM - 59

Estructura como Retorno en C++

 Modificación de una estructura: ESTRUCTURA nombre(ESTRUCTURA resultado,…) { Mismo Tipo // Algoritmo Variable retorno //

… // return resultado; }

Retorno

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 60

Estructura como Retorno en C++ Ejemplo: Definir una función para cambiar la eficiencia, promedio y créditos de un estudiante: ESTUDIANTE calculaPotencial(ESTUDIANTE res) { // Algoritmo // res.potencial = res.promedio*res.eficiencia; // return res; }

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 61

Estructura como Retorno en C++ Ejemplo: Definir una función para cambiar la eficiencia, promedio y créditos de un estudiante: ESTUDIANTE calculaPotencial(ESTUDIANTE res) { Mismo Tipo // Algoritmo Variable retorno // res.potencial = res.promedio*res.eficiencia; // return res; Retorno }

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 62

Estructura como Retorno en C++ Ejemplo: Definir una función para cambiar la eficiencia, promedio y créditos de un estudiante: ESTUDIANTE calculaPotencial(ESTUDIANTE res) { // Algoritmo // res.potencial = res.promedio*res.eficiencia; // return res; Campos previamente } asignados Campo a modificar

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 63

Estructura como Retorno en C++ Ejemplo: … ESTUDIANTE calculaPotencial(ESTUDIANTE res) { … } … main() { ESTUDIANTE estudiante1; … estudiante1 = leeAlumno(); estudiante1 = calculaPotencial(estudiante1); … Actualización de estudiante1 Programación – Prof. Gonzalo Müller – Clase 16 – GM - 64

Ejercicio Construir un programa modular con acoplamiento de datos básico con estructuras en C++ para: c) Leer N polígonos (Nº identificador, Nº de lados, longitud de un lado, apotema, área) y escribir en la salida cada uno con toda su información. Fase 1: Diseño y Análisis: DES, DTD y UML DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa modular en C++. Evaluación: Manejo Modular Programación – Prof. Gonzalo Müller – Clase 16 – GM - 65

Ejercicio Construir un programa modular con acoplamiento de datos básico con estructuras en C++ para: d) Leer N polígonos (Nº identificador, Nº de lados, longitud de un lado, apotema, área) y escribir en la salida el polígono de más lados y el de mayor área. Fase 1: Diseño y Análisis: DES, DTD y UML DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa modular en C++. Evaluación: Asignación Programación – Prof. Gonzalo Müller – Clase 16 – GM - 66

Ejercicio Construir un programa modular con acoplamiento de datos básico con estructuras en C++ para: e) Leer N polígonos (Nº identificador, Nº de lados, longitud de un lado, apotema) y escribir en la salida el polígono de más lados, el de mayor apotema y de mayor área. (3 módulos de comparación) Fase 1: Diseño y Análisis: DES, DTD y UML DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa modular en C++. Programación – Prof. Gonzalo Müller – Clase 16 – GM - 67

Evaluación: Modificación

Estructura como Retorno en C++

Formas en que podemos utilizar los módulos: # Retornos

Usar

0

Subrutina

1

Función

1 Estructura (“2 ó más retornos”) Función

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 68

Metodología para creación de un programa modular con estructuras en C++ Metodología para creación de un programa modular con estructuras en C++ 1º. Realizar el análisis del problema a resolver: 1º. Definir los datos de entrada y de salida. 2º. Teoría asociada, requerimientos, etc. 2º. Determinar los módulos necesarios para resolver el problema: Diagrama Top-Down 3º. Diseñar las estructuras necesarias: UML 4º. Diseñar y probar el algoritmo principal y los de los módulos: Construir DREs o DFs. 5º. Definir los tipos de datos de las variables utilizadas en el algoritmo principal y las utilizadas en cada módulo: Construir Lista de variables. 6º. Definir los tipos de datos de retorno y de parámetros de los diferentes módulos utilizados en el algoritmo: Construir Tabla de Módulos. 7º. Codificar en C++: 1º. UML → Definición de Estructuras. 2º. Tabla de Módulos → Declaraciones de Módulos. 3º. LVs + DREs → Definiciones de los Módulos. 4º. LV + DRE → Bloque Principal

Módulos

Fin Programación – Prof. Gonzalo Müller – Clase 16 – GM - 69

Metodología para creación de un programa modular con estructuras en C++ 1

DES

Entradas

Salidas

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 70

Metodología para creación de un programa modular con estructuras en C++ 1

DES

2

DTD …

Entradas

Salidas …

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 71



Metodología para creación de un programa modular con estructuras en C++ DES

1

2

DTD …

Entradas 3

UML

Salidas …

ESTRUCTURA dato1: tipo dato2: tipo …

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 72



Metodología para creación de un programa modular con estructuras en C++ DES

1

2

DTD …

Entradas 3

Salidas …

UML

ESTRUCTURA dato1: tipo dato2: tipo …

4

DREs Nombre … FIN

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 73



Metodología para creación de un programa modular con estructuras en C++ DES

1

2

DTD …

Entradas 3

Salidas …

UML

ESTRUCTURA dato1: tipo dato2: tipo …

4

DREs Nombre … FIN

5

Lista de Variables Variables variable : tipo …

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 74



Metodología para creación de un programa modular con estructuras en C++ DES

1

2

DTD …

Entradas 3

Salidas …

UML 4

ESTRUCTURA dato1: tipo dato2: tipo …



DREs Nombre … FIN

5

Lista de Variables Variables variable : tipo … Modulo nombre …

6 Parámetros parametro1:tipo1,… …

Tabla de Módulos Retorno retorno:tipo …

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 75

Tipo subrutina o función …

Metodología para creación de un programa modular con estructuras en C++ DES

1

2

DTD …

Entradas 3

Salidas …

UML 4

ESTRUCTURA dato1: tipo dato2: tipo …

DREs

7

Nombre

C++

Definición de Estructuras Módulos



main() { }

FIN 5



Lista de Variables Variables variable : tipo … Modulo nombre …

6 Parámetros parametro1:tipo1,… …

Tabla de Módulos Retorno retorno:tipo …

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 76

*.cpp

Tipo subrutina o función …

Metodología para creación de un programa modular con estructuras en C++ DES

1

2

DTD …

Entradas 3

Salidas …

UML 4

ESTRUCTURA dato1: tipo dato2: tipo …

DREs

7

Nombre

C++

Definición de Estructuras Módulos



main() { }

FIN 5



Lista de Variables Variables variable : tipo … Modulo nombre …

6 Parámetros parametro1:tipo1,… …

Tabla de Módulos Retorno retorno:tipo …

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 77

*.cpp

Tipo subrutina o función …

Metodología para creación de un programa modular con estructuras en C++ DES

1

2

DTD …

Entradas 3

Salidas …

UML 4

ESTRUCTURA dato1: tipo dato2: tipo …

DREs

7

Nombre

C++

Definición de Estructuras Módulos



main() { }

FIN 5



Lista de Variables Variables variable : tipo … Modulo nombre …

6 Parámetros parametro1:tipo1,… …

Tabla de Módulos Retorno retorno:tipo …

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 78

*.cpp

Tipo subrutina o función …

Metodología para creación de un programa modular con estructuras en C++ DES

1

2

DTD …

Entradas 3

Salidas …

UML 4

ESTRUCTURA dato1: tipo dato2: tipo …

DREs

7

Nombre

C++

Definición de Estructuras Módulos



main() { }

FIN 5



Lista de Variables Variables variable : tipo … Modulo nombre …

6 Parámetros parametro1:tipo1,… …

Tabla de Módulos Retorno retorno:tipo …

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 79

*.cpp

Tipo subrutina o función …

Metodología para creación de un programa modular con estructuras en C++ DES

1

2

DTD …

Entradas 3

Salidas …

UML 4

ESTRUCTURA dato1: tipo dato2: tipo … 5



DREs

7

Nombre

Definición de Estructuras



Módulos

FIN

main() { }

Lista de Variables

C++

Variables variable : tipo … Modulo nombre …

6 Parámetros parametro1:tipo1,… …

Tabla de Módulos Retorno retorno:tipo …

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 80

*.cpp

Tipo subrutina o función …

Metodología para creación de un programa modular con estructuras en C++

Ejemplo: Diseñar y construir un programa modular con acoplamiento de datos básico con estructuras en C++ que lea ecuaciones cuadráticas y escriba en salida las ecuaciones y sus soluciones.

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 81

Estructura

 Es un artefacto Muy Poderoso

ya que permiten manejar gran cantidad de datos a través de una sola variable char genero unsigned char edad float promedio unsigned short creditos float eficiencia

ESTUDIANTE alumno

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 82

Estructura

 Es un artefacto Muy Poderoso

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

escribeAlumno(alumno)

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 83

Ejercicio Construir un programa modular con acoplamiento de datos básico con estructuras en C++ para: f) Leer la posición (x, y), el peso y Nº identificador para 1 maquina y presentar en la salida toda la información. Fase 1: Diseño y Análisis: DES, DTD y UML DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa modular en C++. Programación – Prof. Gonzalo Müller – Clase 16 – GM - 84

Ejercicio Construir un programa modular con acoplamiento de datos básico con estructuras en C++ para: g) Leer la posición (x, y), el peso y Nº identificador para N maquinas y presentar en la salida la información de cada una. Fase 1: Diseño y Análisis: DES, DTD y UML DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa modular en C++. Programación – Prof. Gonzalo Müller – Clase 16 – GM - 85

Ejercicio Construir un programa modular con acoplamiento de datos básico con estructuras en C++ para: h) Leer la posición (x, y), el peso y Nº identificador para N maquinas y presentar en la salida toda la información de la menos pesada. Fase 1: Diseño y Análisis: DES, DTD y UML DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa modular en C++. Programación – Prof. Gonzalo Müller – Clase 16 – GM - 86

Ejercicio Construir un programa modular con acoplamiento de datos básico con estructuras en C++ para: i) Leer la posición (x, y), el peso y Nº identificador para N maquinas y presentar en la salida toda la información de la menos pesada y la más cercana al origen. Fase 1: Diseño y Análisis: DES, DTD y UML DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: programa modular en C++. Programación – Prof. Gonzalo Müller – 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 módulos y de variables 



 2º Declarar una variable de tipo estructura.

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 88

Resumen

 Manejo de una variable estructura:  Campos de una estructura.  Operador miembro . .  Asignación de una variable estructura.

 Módulos con estructuras:  Estructura como parámetro.  Estructura como retorno. 

“2 ó más retornos”

 Metodología para creación de un programa modular con estructuras en C++

Programación – Prof. Gonzalo Müller – Clase 16 – GM - 89

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF