Clase Programación 16

download Clase Programación 16

of 89

Transcript of Clase Programación 16

  • 8/14/2019 Clase Programacin 16

    1/89

    Programacin

    Prof. Gonzalo Mller

    [email protected] de Ingeniera

    Universidad Central de Venezuela

    . Estructuras

  • 8/14/2019 Clase Programacin 16

    2/89

    Clase Anterior

    Mdulos en C:

    Declaracin.

    Nombre, Tipos: parmetros y retorno. Definicin.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 2

    a otros mdulos.

    Variable de retorno.

    Llamada Subrutinas: Sentencia de llamada.

    Funciones: Asignacin, Expresiones y Argumento.

    Funciones Matemticas en C.

  • 8/14/2019 Clase Programacin 16

    3/89

    Datos Agrupados

    Que sucede si se necesita trabajar con un conjunto dedatos utilizando slo 1 variable.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 3

    Estudiante

  • 8/14/2019 Clase Programacin 16

    4/89

    Datos Agrupados

    Que sucede si se necesita trabajar con un conjunto dedatos utilizando slo 1 variable.

    Nombre

    Gnero

    Programacin Prof. Gonzalo Mller Clase 16 GM - 4

    Estudiante

    Edad

    Promedio

    U. Crditos

    Eficiencia

  • 8/14/2019 Clase Programacin 16

    5/89

    Datos Agrupados

    Que sucede si se necesita trabajar con un conjunto dedatos utilizando slo 1 variable.

    Nombre

    Gnero tipo nombretipo genero

    Programacin Prof. Gonzalo Mller Clase 16 GM - 5

    Estudiante

    Edad

    Promedio

    U. Crditos

    Eficiencia

    6Variables!

    tipo edadtipo promedio

    tipo creditos

    tipo eficiencia

  • 8/14/2019 Clase Programacin 16

    6/89

    Datos Agrupados

    Que sucede si se necesita trabajar con un conjunto dedatos utilizando slo 1 variable.

    Nombre

    Gnero

    Programacin Prof. Gonzalo Mller Clase 16 GM - 6

    Estudiante

    Edad

    Promedio

    U. Crditos

    Eficiencia

  • 8/14/2019 Clase Programacin 16

    7/89

    Datos Agrupados

    Que sucede si se necesita trabajar con un conjunto dedatos utilizando slo 1 variable.

    Nombre

    Gnero

    Programacin Prof. Gonzalo Mller Clase 16 GM - 7

    Estudiante

    Edad

    Promedio

    U. Crditos

    Eficiencia

    Slo1Variable

  • 8/14/2019 Clase Programacin 16

    8/89

    Datos Agrupados

    Que sucede si se necesita trabajar con un conjunto dedatos utilizando slo 1 variable.

    Nombre

    Gnero

    Programacin Prof. Gonzalo Mller Clase 16 GM - 8

    Estudiante

    Edad

    Promedio

    U. Crditos

    Eficiencia

    Slo1Variable

    tipo estudiante

  • 8/14/2019 Clase Programacin 16

    9/89

    Estructura

    Conjunto de datos manipulados a travs de slo 1variable.

    PromedioEdad

    Programacin Prof. Gonzalo Mller Clase 16 GM - 9

    U. Crditos Genero

    VariableEficiencia

    om re

  • 8/14/2019 Clase Programacin 16

    10/89

    Estructura

    Conjunto de datos de tipos diferentes manipulados atravs de slo 1variable.

    Real 4BEntero sin signo 1B

    Programacin Prof. Gonzalo Mller Clase 16 GM - 10

    Entero sin signo 1BCarcter

    VariableReal 4B

    x o

  • 8/14/2019 Clase Programacin 16

    11/89

    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

  • 8/14/2019 Clase Programacin 16

    12/89

    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 - 12

    Ejemplo:Para una encuesta annima a los estudiantes,se requiere almacenar los datos del estudiante.

  • 8/14/2019 Clase Programacin 16

    13/89

    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 - 13

    Ejemplo:Para una encuesta annima a los estudiantes,se requiere almacenar los datos del estudiante.

    El conjunto de datos ser:genero, edad, promedio, creditos, eficiencia

    Estructura Estudiante

  • 8/14/2019 Clase Programacin 16

    14/89

    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 - 14

    Ejemplo:Para una encuesta annima a los estudiantes,se requiere almacenar los datos del estudiante.

    El conjunto de datos ser:genero, edad, promedio, creditos, eficiencia

    Estructura Estudiante

  • 8/14/2019 Clase Programacin 16

    15/89

    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 - 15

    Ejemplo:Para una encuesta annima a los estudiantes,se requiere almacenar los datos del estudiante.

    El conjunto de datos ser:genero, edad, promedio, creditos, eficiencia

    Estructura Estudiante

  • 8/14/2019 Clase Programacin 16

    16/89

    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 - 16

    Ejemplo:Para una encuesta annima a los estudiantes,se requiere almacenar los datos del estudiante.

    El conjunto de datos ser:

    genero, edad, promedio, creditos, eficienciaEstructura Estudiante

    caracter real 4B

    entero sin signo 1B entero sin signo 1B

    real 4B

  • 8/14/2019 Clase Programacin 16

    17/89

    Estructura

    Una estructura pueden ser representada grficamenteutilizando UML (Unified Modeling Language):

    NOMBRE

    Programacin Prof. Gonzalo Mller Clase 16 GM - 17

    dato2: tipodato3: tipodatoN: tipo

  • 8/14/2019 Clase Programacin 16

    18/89

    Estructura

    Ejemplo: Definir la estructura para el estudiante deuna encuesta annima:

    El conjunto de datos ser:genero, edad, promedio, creditos, eficiencia

    Estructura Estudiante

    Programacin Prof. Gonzalo Mller Clase 16 GM - 18

    ESTUDIANTE

    genero: carcteredad: entero sin signo 1 bytepromedio: real 4 bytescreditos: entero sin signo 1 byte

    eficiencia: real 4 bytes

    ca ac reaentero sin signo 1B entero sin signo 1B

    rea

  • 8/14/2019 Clase Programacin 16

    19/89

    Estructura

    NOMBRE

    Programacin Prof. Gonzalo Mller Clase 16 GM - 19

    Cualquier conjunto de datos?

    dato2: tipodato3: tipodatoN: tipo

  • 8/14/2019 Clase Programacin 16

    20/89

    Estructura

    Si hablamos de una estructura TABLA que se imaginan

    que almacena?TABLA

    Programacin Prof. Gonzalo Mller Clase 16 GM - 20

    dato2: tipodato3: tipodatoN: tipo

  • 8/14/2019 Clase Programacin 16

    21/89

    Estructura

    Si hablamos de una estructura TABLA que se imaginan

    que almacena?TABLA

    Programacin Prof. Gonzalo Mller Clase 16 GM - 21

    dato2: tipodato3: tipodatoN: tipo

  • 8/14/2019 Clase Programacin 16

    22/89

    Estructura

    Si hablamos de una estructura TABLA que se imaginan

    que almacena?TABLA

    Programacin Prof. Gonzalo Mller Clase 16 GM - 22

    dato2: tipodato3: tipodatoN: tipo

  • 8/14/2019 Clase Programacin 16

    23/89

    Estructura

    Si hablamos de una estructura TABLA que se imaginan

    que almacena?TABLA

    Programacin Prof. Gonzalo Mller Clase 16 GM - 23

    dato2: tipodato3: tipodatoN: tipo

  • 8/14/2019 Clase Programacin 16

    24/89

    Estructura

    Si hablamos de una estructura TABLA que se imaginan

    que almacena?TABLA

    Programacin Prof. Gonzalo Mller Clase 16 GM - 24

    dato2: tipodato3: tipodatoN: tipo

  • 8/14/2019 Clase Programacin 16

    25/89

    Estructura

    Si hablamos de una estructura TABLA que se imaginan

    que almacena?TABLA

    Programacin Prof. Gonzalo Mller Clase 16 GM - 25

    dato2: tipodato3: tipodatoN: tipo

    ?

  • 8/14/2019 Clase Programacin 16

    26/89

    Estructura

    Al definir una estructura esta debe agrupar datos quetengan un significado, debe existir Coherencia.

    Si hablamos de una estructura TABLA que se imaginan

    Programacin Prof. Gonzalo Mller Clase 16 GM - 26

    TABLA

    dato1: tipodato2: tipo

    dato3: tipodatoN: tipo

    Coherencia: Relacin lgica y adecuada de las partes que forman un todo

  • 8/14/2019 Clase Programacin 16

    27/89

    Cohesin en una Estructura

    Establece como se interrelacionan el conjunto dedatos que forman a la estructura.

    Cohesin lgica: Los datos que conforman a laCohesinde Alto

    Nivel

    Programacin Prof. Gonzalo Mller Clase 16 GM - 27

    definido.

    Cohesin en datos: Los datos agrupados son

    utilizados en varias tareas comunes.

    Cohesin coincidental: Se agruparon varios datos sinrelacin alguna.

    Siempre tratar de utilizar coherencia de alto nivel

  • 8/14/2019 Clase Programacin 16

    28/89

    Estructura en C++

    La estructura constituye un tipo de dato definidopor el programador, por lo tanto, el proceso para

    utilizar las estructuras es el siguiente:

    Programacin Prof. Gonzalo Mller Clase 16 GM - 28

    e e e e a e uc u a.

    2 Se declara una o ms variables o parmetros deltipo estructura.

    Se extiende el lenguaje al definir nuevos tipos

  • 8/14/2019 Clase Programacin 16

    29/89

    Estructura en C++

    1 Se debe definir la estructura.

    Se indican las caractersticas

    Tabla tiene:Ancho

    AltoGrosorColor

    Material

    Programacin Prof. Gonzalo Mller Clase 16 GM - 29

    2 Se declara una o ms variables o parmetros deltipo estructura.

    Son los entes

  • 8/14/2019 Clase Programacin 16

    30/89

    Estructura en C++

    1 Se debe definir la estructura.

    Se indican las caractersticas

    Tabla tiene:Ancho

    AltoGrosorColor

    Material

    Programacin Prof. Gonzalo Mller Clase 16 GM - 30

    2 Se declara una o ms variables o parmetros deltipo estructura.

    Son los entes

  • 8/14/2019 Clase Programacin 16

    31/89

    1. Definicin de la Estructura en C++

    Se le indica al compilador:

    Nombre de la estructura.

    Como est formada la estructura:

    Programacin Prof. Gonzalo Mller Clase 16 GM - 31

    Nombres: establecen el identificador con el que sepuede acceder un dato de la estructura.

    Tipos: permiten establecer la cantidad de memoriaque se debe reservar.

  • 8/14/2019 Clase Programacin 16

    32/89

    1. Definicin de la Estructura en C++

    Definicin en C++:

    struct NOMBRE

    {Nombre de la estructura

    Palabra clave que le indica al compiladorque se esta definiendo una estructura

    Programacin Prof. Gonzalo Mller Clase 16 GM - 32

    tipoidentificador1;tipoidentificador2;

    tipoidentificadorN;

    };En la notacin se colocar el

    nombre en maysculas para la

    estructura definida.

    Conjunto de datos

  • 8/14/2019 Clase Programacin 16

    33/89

    1. Definicin de la Estructura en C++

    Ejemplo: Se requiere definir la estructura para el

    estudiante de una encuesta annima:

    struct ESTUDIANTE{

    char genero;

    Nombre de la estructura

    Programacin Prof. Gonzalo Mller Clase 16 GM - 33

    unsigned char edad;float promedio;

    unsigned short creditos;

    float eficiencia;

    };

    Tipo del dato

    Nombre del dato

  • 8/14/2019 Clase Programacin 16

    34/89

    1. Definicin de la Estructura en C++

    La definicin de la estructura debe realizarse antes delas declaraciones de variables y de los mdulos.

    // Encabezado

    // Directivas de preprocesador

    Programacin Prof. Gonzalo Mller Clase 16 GM - 34

    // Definiciones de estructuras

    // Mdulos

    main()

    {

    // Declaraciones de variables

  • 8/14/2019 Clase Programacin 16

    35/89

    1. Definicin de la Estructura en C++

    Es recomendable documentar los elementos de la estructura.

    Ejemplo:struct ESTUDIANTE

    {

    /// Genero del estudiante

    char genero;

    Programacin Prof. Gonzalo Mller Clase 16 GM - 35

    Edad del estud ante

    unsigned char edad;

    /// Promedio de las materias cursadas

    float promedio;

    /// Cantidad de unidades de crditos aprobadas

    unsigned short creditos;

    /// Eficiencia del estudiante

    float eficiencia;

    };

  • 8/14/2019 Clase Programacin 16

    36/89

    2. Declaracin de la Variable en C++

    Se le indica al compilador las variables que seutilizaran con el tipo de estructura definidopreviamente.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 36

    tipoidentificador

    tipoidentificador1, identificador2,

  • 8/14/2019 Clase Programacin 16

    37/89

    2. Declaracin de la Variable en C++

    Se le indica al compilador las variables que seutilizaran con el tipo de estructura definidopreviamente.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 37

    ESTRUCTURA identificador

    ESTRUCTURA identificador1, identificador2,

    2 D l i d l V i bl C

  • 8/14/2019 Clase Programacin 16

    38/89

    2. Declaracin de la Variable en C++

    Ejemplo:

    ESTUDIANTE estudiante1;

    ESTUDIANTE estudianteA, estudianteB;

    Programacin Prof. Gonzalo Mller Clase 16 GM - 38

    Tipo estructura definidopreviamente

    Variable tipoESTUDIANTE

    E C++

  • 8/14/2019 Clase Programacin 16

    39/89

    Estructura en C++

    En memoria:

    floatunsigned char

    unsigned shortchar

    float

    Programacin Prof. Gonzalo Mller Clase 16 GM - 39

    genero promedio creditos

    estudiante1

    Variable

    edad eficiencia

    M j d i bl C++

  • 8/14/2019 Clase Programacin 16

    40/89

    Manejo de una variable estructura en C++

    Cada una de las variables que conforma el conjunto dela estructura se les llaman campos.

    Ejemplo:struct ESTUDIANTE

    {

    Programacin Prof. Gonzalo Mller Clase 16 GM - 40

    char genero;

    unsigned char edad;

    float promedio;

    unsigned short creditos;

    float eficiencia;

    };

    Campo edad

    Campo genero

    Campo creditos

    Campo promedio

    Campo eficiencia

    M j d i bl t t C++

  • 8/14/2019 Clase Programacin 16

    41/89

    Manejo de una variable estructura en C++

    La forma de acceder un campo es utilizando eloperador miembro . :

    variable.campo

    Programacin Prof. Gonzalo Mller Clase 16 GM - 41

    Ejemplo:

    // Asigna edad a estudiante

    estudiante1.edad = 18;

    // Escribe en pantalla promedio de estudiante

    printf("%f", estudiante1.promedio);

    ar a e t po estructura ampo e a es ruc ura

    M n j d n ri bl tr t r n C++

  • 8/14/2019 Clase Programacin 16

    42/89

    Manejo de una variable estructura en C++

    Ejemplo: Disear y construir un programaestructurado con estructuras en C++ que lea los datosde un estudiante (#cdula, edad, gnero y promedio) yescriba en la salida.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 42

    Fase 1: Diseo y Anlisis: DES y UMLDRE DF, LV y CF de Bloque Principal.

    Fase 2: Codificacin: programa estructurado en C++.

    Ejercicio

  • 8/14/2019 Clase Programacin 16

    43/89

    Ejercicio

    Construir un programa estructurado conestructuras en C++ para:

    a) Leer 1 polgono (N identificador, N de lados,longitud de un lado, apotema) y escribir en la salida

    Programacin Prof. Gonzalo Mller Clase 16 GM - 43

    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

    Manejo de una variable estructura en C++

  • 8/14/2019 Clase Programacin 16

    44/89

    Manejo de una variable estructura en C++

    Asignacin de una variable estructura: El operadorasignacin = realiza la asignacin de los valores detodos los campos de una estructura a otra.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 44

    ESTUDIANTE estudiante1, estudiante2;

    estudiante2 = estudiante1;

    Asigna los valores de los campos de estudiante1 (genero, edad,promedio, creditos, eficiencia) a estudiante2 en una sola operacin

    Manejo de una variable estructura en C++

  • 8/14/2019 Clase Programacin 16

    45/89

    Manejo de una variable estructura en C++

    Asignacin de una variable estructura: El operadorasignacin = realiza la asignacin de los valores detodos los campos de una estructura a otra.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 45

    ESTUDIANTE estudiante1, estudiante2;

    estudiante2 = estudiante1;

    estudiante2.edad = estudiante1.edad;

    Tambin se pueden asignar valores de forma individual

    Uso de Estructuras en Mdulos en C++

  • 8/14/2019 Clase Programacin 16

    46/89

    Uso de Estructuras en Mdulos en C++

    Los parmetros de mdulos y el retorno de funciones

    pueden ser de un tipo de estructura definido.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 46

    structura como par metro

    Estructura como retorno

    Estructura como Parmetro en C++

  • 8/14/2019 Clase Programacin 16

    47/89

    Estructura como Parmetro en C++

    Estructura como parmetro: Declaracin y Definicin

    mdulo(ESTRUCTURA parmetro1, )

    Programacin Prof. Gonzalo Mller Clase 16 GM - 47

    ESTRUCTURA variable1;

    mdulo(variable1, )

    Estructura como Parmetro en C++

  • 8/14/2019 Clase Programacin 16

    48/89

    Estructura como Parmetro en C++

    Ejemplo:void escribeAlumno(ESTUDIANTE alumno)

    {

    printf(Edad:%hhu, alumno.edad);

    Programacin Prof. Gonzalo Mller Clase 16 GM - 48

    }

    main()

    {ESTUDIANTE estudiante1;

    escribeAlumno(estudiante1);

    Como parmetro

    Estructura como Parmetro en C++

  • 8/14/2019 Clase Programacin 16

    49/89

    Estructura como Parmetro en C++

    Tambin se puede pasar un campo como argumento.

    Ejemplo:

    void escribeEdad(unsigned char laEdad){

    printf(Edad:%hhu, laEdad);

    Programacin Prof. Gonzalo Mller Clase 16 GM - 49

    }

    main()

    {

    ESTUDIANTE estudiante1;

    escribeEdad(estudiante1.edad);

    Un campo comoparmetro

    Estructura como Retorno en C++

  • 8/14/2019 Clase Programacin 16

    50/89

    Estructura como Retorno en C

    Estructura como retorno: Declaracin y Definicin

    ESTRUCTURA funcin()

    Programacin Prof. Gonzalo Mller Clase 16 GM - 50

    ESTRUCTURA variable1;

    variable1 =funcin()

    Estructura como Retorno en C++

  • 8/14/2019 Clase Programacin 16

    51/89

    s uc u co o e o o e

    Ejemplo:

    ESTUDIANTE leeAlumno()

    {

    }

    Programacin Prof. Gonzalo Mller Clase 16 GM - 51

    main()

    {

    ESTUDIANTE estudiante1;

    estudiante1 = leeAlumno();

    escribeAlumno(estudiante1);

    Como parmetro

    Como retorno

    Estructura como Retorno en C++

  • 8/14/2019 Clase Programacin 16

    52/89

    Ejemplo:

    ESTUDIANTE leeAlumno()

    {// Declaraciones locales

    //

    Mismo Tipo

    Programacin Prof. Gonzalo Mller Clase 16 GM - 52

    ESTUDIANTE res;

    // Algoritmo

    //

    scanf(%hhu, &res.edad);

    scanf(%f, &res.eficiencia);//

    return res;

    }

    Variable retorno

    Retorno

    Estructura como Retorno en C++

  • 8/14/2019 Clase Programacin 16

    53/89

    Nueva estructura:ESTRUCTURA nombre(){

    // Declaraciones locales

    //

    Mismo Tipo

    Programacin Prof. Gonzalo Mller Clase 16 GM - 53

    resu a o;

    // Algoritmo

    //

    //

    return resultado;

    }

    Variable retorno

    Retorno

    Uso de Estructuras en Mdulos en C++

  • 8/14/2019 Clase Programacin 16

    54/89

    Ejemplo: Disear y construir un programa modularcon acoplamiento de datos bsico con estructuras enC++ que lea los datos de un estudiante y escriba en lasalida.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 54

    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++.

    Uso de Estructuras en Mdulos en C++

  • 8/14/2019 Clase Programacin 16

    55/89

    Ejemplo: Disear y construir un programa modularcon acoplamiento de datos bsico con estructuras enC++ que lea y escriba en la salida los datos de Nestudiantes.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 55

    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++.

    Uso de Estructuras en Mdulos en C++

  • 8/14/2019 Clase Programacin 16

    56/89

    Ejemplo: Disear y construir un programa modularcon acoplamiento de datos bsico con estructuras enC++ para calcular las races de una ecuacincuadrtica.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 56

    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++.

    Ejercicio

  • 8/14/2019 Clase Programacin 16

    57/89

    Construir un programa modular con acoplamientode 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

    Programacin Prof. Gonzalo Mller Clase 16 GM - 57

    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

    Ejercicio

  • 8/14/2019 Clase Programacin 16

    58/89

    Construir un programa modular con acoplamientode 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

    Programacin Prof. Gonzalo Mller Clase 16 GM - 58

    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

    Ejercicio

  • 8/14/2019 Clase Programacin 16

    59/89

    Construir un programa modular con acoplamientode 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

    Programacin Prof. Gonzalo Mller Clase 16 GM - 59

    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

    A=n*l*a/2

    Estructura como Retorno en C++

  • 8/14/2019 Clase Programacin 16

    60/89

    Modificacin de una estructura:

    ESTRUCTURA nombre(ESTRUCTURA resultado,){

    // Algoritmo

    //

    Mismo TipoVariable retorno

    Programacin Prof. Gonzalo Mller Clase 16 GM - 60

    //return resultado;

    }Retorno

    Estructura como Retorno en C++

  • 8/14/2019 Clase Programacin 16

    61/89

    Ejemplo: Definir una funcin para cambiar laeficiencia, promedio y crditos de un estudiante:ESTUDIANTE calculaPotencial(ESTUDIANTE res)

    {// Algoritmo

    //

    Programacin Prof. Gonzalo Mller Clase 16 GM - 61

    res.potencial = res.promedio*res.eficiencia;

    //

    return res;

    }

    Estructura como Retorno en C++

  • 8/14/2019 Clase Programacin 16

    62/89

    Ejemplo: Definir una funcin para cambiar laeficiencia, promedio y crditos de un estudiante:

    ESTUDIANTE calculaPotencial(ESTUDIANTE res)

    {// Algoritmo

    // Variable retorno

    Mismo Tipo

    Programacin Prof. Gonzalo Mller Clase 16 GM - 62

    res.potencial = res.promedio*res.eficiencia;

    //

    return res;

    }

    Retorno

    Estructura como Retorno en C++

  • 8/14/2019 Clase Programacin 16

    63/89

    Ejemplo: Definir una funcin para cambiar laeficiencia, promedio y crditos de un estudiante:ESTUDIANTE calculaPotencial(ESTUDIANTE res)

    {// Algoritmo

    //

    Programacin Prof. Gonzalo Mller Clase 16 GM - 63

    res.potencial = res.promedio*res.eficiencia;

    //

    return res;

    }

    Campo a modificar

    Campos previamenteasignados

    Estructura como Retorno en C++

  • 8/14/2019 Clase Programacin 16

    64/89

    Ejemplo:

    ESTUDIANTE calculaPotencial(ESTUDIANTE res)

    {

    }

    Programacin Prof. Gonzalo Mller Clase 16 GM - 64

    main()

    {

    ESTUDIANTE estudiante1;

    estudiante1 = leeAlumno();

    estudiante1 = calculaPotencial(estudiante1);

    Actualizacin de estudiante1

    Ejercicio

  • 8/14/2019 Clase Programacin 16

    65/89

    Construir un programa modular con acoplamientode 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

    Programacin Prof. Gonzalo Mller Clase 16 GM - 65

    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

    Ejercicio

  • 8/14/2019 Clase Programacin 16

    66/89

    Construir un programa modular con acoplamientode 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

    Programacin Prof. Gonzalo Mller Clase 16 GM - 66

    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

    Ejercicio

  • 8/14/2019 Clase Programacin 16

    67/89

    Construir un programa modular con acoplamientode 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

    Programacin Prof. Gonzalo Mller Clase 16 GM - 67

    polgono de ms lados, el de mayor apotema y demayor 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++.Evaluacin: Modificacin

    Estructura como Retorno en C++

  • 8/14/2019 Clase Programacin 16

    68/89

    Formas en que podemos utilizar los mdulos:# Retornos Usar

    0 Subrutina

    Programacin Prof. Gonzalo Mller Clase 16 GM - 68

    1 Funcin1 Estructura (2 ms retornos) Funcin

    Metodologa para creacin de un programamodular con estructuras en C++

  • 8/14/2019 Clase Programacin 16

    69/89

    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.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 69

    .utilizadas en cada mdulo: Construir Lista de variables.

    6. Definir los tipos de datos de retorno y de parmetros de los diferentes mdulosutilizados 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

    Mdulos

    Metodologa para creacin de un programamodular con estructuras en C++

  • 8/14/2019 Clase Programacin 16

    70/89

    SalidasEntradas

    DES1

    Programacin Prof. Gonzalo Mller Clase 16 GM - 70

    Metodologa para creacin de un programamodular con estructuras en C++

  • 8/14/2019 Clase Programacin 16

    71/89

    SalidasEntradas

    DES1

    DTD2

    Programacin Prof. Gonzalo Mller Clase 16 GM - 71

    Metodologa para creacin de un programamodular con estructuras en C++

  • 8/14/2019 Clase Programacin 16

    72/89

    SalidasEntradas

    DES1

    DTD2

    ESTRUCTURA

    dato1: tipo

    UML3

    Programacin Prof. Gonzalo Mller Clase 16 GM - 72

    a o : o

    Metodologa para creacin de un programamodular con estructuras en C++

  • 8/14/2019 Clase Programacin 16

    73/89

    Nombre

    SalidasEntradas

    DES1

    DREs4

    DTD2

    ESTRUCTURA

    dato1: tipo

    UML3

    Programacin Prof. Gonzalo Mller Clase 16 GM - 73

    FIN

    a o : o

    Metodologa para creacin de un programamodular con estructuras en C++

  • 8/14/2019 Clase Programacin 16

    74/89

    Nombre

    SalidasEntradas

    DES1

    DREs4

    DTD2

    UML3

    ESTRUCTURA

    dato1: tipo

    Programacin Prof. Gonzalo Mller Clase 16 GM - 74

    FIN

    Lista de Variables5

    Variables

    variable: tipo

    a o : o

    Metodologa para creacin de un programamodular con estructuras en C++

  • 8/14/2019 Clase Programacin 16

    75/89

    Nombre

    SalidasEntradas

    DES1

    DREs4

    DTD2

    UML3

    ESTRUCTURA

    dato1: tipo

    Programacin Prof. Gonzalo Mller Clase 16 GM - 75

    FIN

    Tabla de Mdulos6

    Lista de Variables5

    Variables

    variable: tipo

    Modulo Parmetros Retorno Tipo

    nombre

    parametro1:tipo1,

    retorno:tipo

    subrutina o funcin

    a o : o

    Metodologa para creacin de un programamodular con estructuras en C++

  • 8/14/2019 Clase Programacin 16

    76/89

    Nombre

    SalidasEntradas

    DES1

    DREs4

    DTD2

    ESTRUCTURA

    dato1: tipo

    UML3

    Definicin de Estructuras

    7 C++

    Programacin Prof. Gonzalo Mller Clase 16 GM - 76

    FIN

    Lista de Variables5

    a o : o

    Tabla de Mdulos6

    Mdulos

    main(){}

    *.cpp

    Variables

    variable: tipo

    Modulo Parmetros Retorno Tipo

    nombre

    parametro1:tipo1,

    retorno:tipo

    subrutina o funcin

    Metodologa para creacin de un programamodular con estructuras en C++

  • 8/14/2019 Clase Programacin 16

    77/89

    Nombre

    SalidasEntradas

    DES1

    DREs4

    UML3

    Definicin de Estructuras

    DTD2

    7 C++ESTRUCTURA

    dato1: tipo

    Programacin Prof. Gonzalo Mller Clase 16 GM - 77

    FIN

    Lista de Variables5

    Tabla de Mdulos6

    Mdulos

    main(){}

    *.cpp

    Variables

    variable: tipo

    ao : o

    Modulo Parmetros Retorno Tipo

    nombre

    parametro1:tipo1,

    retorno:tipo

    subrutina o funcin

    Metodologa para creacin de un programamodular con estructuras en C++

  • 8/14/2019 Clase Programacin 16

    78/89

    Nombre

    SalidasEntradas

    DES1

    DREs4

    UML3

    Definicin de Estructuras

    DTD2

    7 C++ESTRUCTURA

    dato1: tipo

    Programacin Prof. Gonzalo Mller Clase 16 GM - 78

    FIN

    Lista de Variables5

    Tabla de Mdulos6

    Mdulos

    main(){}

    *.cpp

    Variables

    variable: tipo

    ao : o

    Modulo Parmetros Retorno Tipo

    nombre

    parametro1:tipo1,

    retorno:tipo

    subrutina o funcin

    Metodologa para creacin de un programamodular con estructuras en C++

  • 8/14/2019 Clase Programacin 16

    79/89

    Nombre

    SalidasEntradas

    DES1

    DREs4

    UML3

    Definicin de Estructuras

    DTD2

    7 C++ESTRUCTURA

    dato1: tipo

    Programacin Prof. Gonzalo Mller Clase 16 GM - 79

    FIN

    Lista de Variables5

    Tabla de Mdulos6

    Mdulos

    main(){}

    *.cpp

    Variables

    variable: tipo

    ao : o

    Modulo Parmetros Retorno Tipo

    nombre

    parametro1:tipo1,

    retorno:tipo

    subrutina o funcin

    Metodologa para creacin de un programamodular con estructuras en C++

  • 8/14/2019 Clase Programacin 16

    80/89

    Nombre

    SalidasEntradas

    DES1

    DREs4

    UML3

    Definicin de Estructuras

    DTD2

    7 C++ESTRUCTURA

    dato1: tipo

    Programacin Prof. Gonzalo Mller Clase 16 GM - 80

    FIN

    Lista de Variables5

    Tabla de Mdulos6

    Mdulos

    main(){

    }

    *.cpp

    Variables

    variable: tipo

    ao : o

    Modulo Parmetros Retorno Tipo

    nombre

    parametro1:tipo1,

    retorno:tipo

    subrutina o funcin

    Metodologa para creacin de un programamodular con estructuras en C++

  • 8/14/2019 Clase Programacin 16

    81/89

    Ejemplo: Disear y construir un programa modularcon acoplamiento de datos bsico con estructuras enC++ que lea ecuaciones cuadrticas y escriba en salida

    las ecuaciones y sus soluciones.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 81

    Estructura

  • 8/14/2019 Clase Programacin 16

    82/89

    Es un artefacto Muy Poderoso

    Programacin Prof. Gonzalo Mller Clase 16 GM - 82

    ya que permiten manejar gran cantidad de datos atravs de una sola variable

    char genero

    unsigned char edadfloat promedio

    unsigned short creditos

    float eficiencia

    ESTUDIANTE alumno

    Estructura

  • 8/14/2019 Clase Programacin 16

    83/89

    Es un artefacto Muy Poderoso

    Programacin Prof. Gonzalo Mller Clase 16 GM - 83

    ya que permiten manejar gran cantidad de datos atravs de una sola variable

    escribeAlumno(alumno)escribeAlumno(genero,edad,promedio,credito

    s,eficiencia)

    Ejercicio

  • 8/14/2019 Clase Programacin 16

    84/89

    Construir un programa modular con acoplamientode datos bsico con estructuras en C++ para:

    f) Leer la posicin (x, y), el peso y N identificadorpara 1 maquina y presentar en la salida toda la

    Programacin Prof. Gonzalo Mller Clase 16 GM - 84

    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++.

    Ejercicio

  • 8/14/2019 Clase Programacin 16

    85/89

    Construir un programa modular con acoplamientode datos bsico con estructuras en C++ para:

    g) Leer la posicin (x, y), el peso y N identificadorpara N maquinas y presentar en la salida la

    Programacin Prof. Gonzalo Mller Clase 16 GM - 85

    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++.

    Ejercicio

  • 8/14/2019 Clase Programacin 16

    86/89

    Construir un programa modular con acoplamientode datos bsico con estructuras en C++ para:

    h) Leer la posicin (x, y), el peso y N identificadorpara N maquinas y presentar en la salida toda la

    Programacin Prof. Gonzalo Mller Clase 16 GM - 86

    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++.

    Ejercicio

  • 8/14/2019 Clase Programacin 16

    87/89

    Construir un programa modular con acoplamientode datos bsico con estructuras en C++ para:

    i) Leer la posicin (x, y), el peso y N identificadorpara N maquinas y presentar en la salida toda la

    Programacin Prof. Gonzalo Mller Clase 16 GM - 87

    informacin de la menos pesada y la ms cercana alorigen.

    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++.

    Resumen

    D A d d Dif Ti

  • 8/14/2019 Clase Programacin 16

    88/89

    Datos Agrupados de Diferentes Tipos Estructura UML

    Estructura en C++:

    1 Se debe definir la estructura: struct

    Programacin Prof. Gonzalo Mller Clase 16 GM - 88

    .

    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.

    Resumen

    M j d i bl

  • 8/14/2019 Clase Programacin 16

    89/89

    Manejo de una variable estructura: Campos de una estructura.

    Operador miembro . .

    Asignacin de una variable estructura.

    Programacin Prof. Gonzalo Mller Clase 16 GM - 89

    u os con es ruc uras:

    Estructura como parmetro.

    Estructura como retorno.

    2 ms retornos

    Metodologa para creacin de un programa modularcon estructuras en C++