• No results found

Las estructuras facilitan el manejo de arreglos, ya que se puede definir una estructura que contenga los elementos que lo definen:

 Arreglo: Tipo y Tamaño.

 Cantidad.

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

struct NOMBRE {

tipo nombreArreglo[TAMAÑO]; unsigned tipoentero cantidad; };

Estructura Arreglo

Las estructuras facilitan el manejo de arreglos, ya que se puede definir una estructura que contenga los elementos que lo definen:

 Arreglo: Tipo y Tamaño.

 Cantidad.

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

struct NOMBRE {

tipo nombreArreglo[TAMAÑO]; unsigned tipoentero cantidad; };

Estructura Arreglo

Las estructuras facilitan el manejo de arreglos, ya que se puede definir una estructura que contenga los elementos que lo definen:

 Arreglo: Tipo y Tamaño.

 Cantidad.

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

struct NOMBRE {

tipo nombreArreglo[TAMAÑO]; unsigned tipoentero cantidad; };

Estructura Arreglo

Las estructuras facilitan el manejo de arreglos, ya que se puede definir una estructura que contenga los elementos que lo definen:

 Arreglo: Tipo y Tamaño.

 Cantidad.

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 64

struct NOMBRE {

tipo nombreArreglo[TAMAÑO]; unsigned tipoentero cantidad; };

Estructura Arreglo

Las estructuras facilitan el manejo de arreglos, ya que se puede definir una estructura que contenga los elementos que lo definen:

 Arreglo: Tipo y Tamaño.

 Cantidad.

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 65

struct NOMBRE {

tipo nombreArreglo[TAMAÑO]; unsigned tipoentero cantidad; };

Estructura Arreglo

Ejemplo: Se requiere definir la estructura para un arreglo real de máximo 200 elementos:

struct REAL

{

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 66

float arreglo[200];

unsigned char cantidad;

Estructura Arreglo

Ejemplo:

REAL leerArreglo();

void escribeArreglo(REAL arreglo);

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 67

REAL a, b;

a = leerArreglo(); b = a;

escribeArreglo(a); escribeArreglo(b);

Estructura Arreglo

Ejemplo: Diseñar y construir un programa modular con estructuras en C++ que lea un conjunto de N notas y los muestre en la salida en forma inversa a como fueron ingresados.

(Función de

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

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

(Función de

Ejercicio

Construir un programa modular con estructuras en C++ para:

Leer un conjunto de temperaturas y escribir en la salida el promedio de las temperaturas.

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

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

(Función de Lectura Arreglo)

Arreglos de Estructuras

Ejemplo: Utilizando una estructura arreglo: struct ESTUDIANTES

{

ESTUDIANTE alumnos[50];

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

unsigned char cantidad;

Arreglos de Estructuras

Ejemplo: Diseñar y construir un programa modular con estructuras en C++ que lea los datos de N estudiantes y escriba en la salida.

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

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.

Ejercicio

Construir un programa modular con estructuras en C++ para:

b) Leer 1 polígono (Nº identificador, Nº de lados, longitud de un lado, apotema) y escribir en la salida toda su información.

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

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

Ejercicio

Construir un programa modular con con estructuras en C++ para:

b) Leer N polígonos (Nº identificador, Nº de lados, longitud de un lado, apotema) y escribir en la salida de forma inversa.

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

forma inversa.

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

Estructura Arreglo



Beneficios.

 Copia de arreglos.

 Retorno de arreglos.

 Menor cantidad de parámetros en los módulos.

Estructura Arreglo

Ejemplo:

#define MX 50 struct HUMANO

{

unsigned char edad; char genero;

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

};

struct CLASE

{

HUMANO profesor;

HUMANO alumnos[MX];

unsigned char cantidadAlumnos; unsigned char seccion;

};

Estructura

Estructura Arreglo

Ejemplo:

CLASE clase1, clase2; …

clase2 = clase1; Asigna profesor, alumnos[50] (50

estructuras con ucEdad,cSexo),

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

estructuras con ucEdad,cSexo), cantidadAlumnos, ucSeccion

Si el arreglo ha sido sobredimensionado excesivamente es posible que realizar la operación con un bucle sea menos costoso

Estructura Arreglo

Para facilitar el manejo de arreglos se puede utilizar una estructura arreglo:

struct NOMBRE {

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

{

tipo arreglo[FILAS][COLUMNAS]; unsigned tipoentero filas;

unsigned tipoentero columnas;

Estructura Arreglo

Ejemplo: Se requiere definir la estructura para un almacenar una matriz de máximo 100 x 100 elementos reales:

struct MATRIZREAL

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

{

float arreglo[100][100]; unsigned char filas;

unsigned char columnas;

Estructura Arreglo

Ejemplo: Diseñar y construir un programa modular en C++ que lea y escriba una matriz de tamaño dado por el usuario.

Estructura Arreglo

Ejemplo: Diseñar y construir un programa modular en C++ que lea un conjunto de matrices y escriba a la salida en orden de menor a mayor según la cantidad de elementos que la conforman.

Ejercicio

Diseñar y construir un programa modular en C++ para:

Leer una matriz y mostrar la misma y la transpuesta en la salida. 1,1 1,2 1,3

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

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

2,1 2,2 2,3

3,1 3,2 3,3

Ejercicio

Diseñar y construir un programa modular en C++ para:

Determinar que elementos de una matriz dada se encuentran por debajo y cuales por encima del

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

encuentran por debajo y cuales por encima del promedio de estos.

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

Ejercicio

Diseñar y construir un programa modular en C++ para:

Leer un conjunto de N caracteres y mostrar en pantalla en forma inversa a como fueron ingresados.

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

pantalla en forma inversa a como fueron ingresados.

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

Ejercicio

Diseñar y construir un programa modular en C++ para:

Leer un conjunto de N caracteres y determinar cuantos espacios tiene.

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 84

cuantos espacios tiene.

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.

Ejercicio

Diseñar y construir un programa modular en C++ para:

Dado 2 puntos en R2 en coordenadas cartesianas(x, y), determinar la recta que pasa por estos y escribir en la salida toda su información (m, b).

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 85

salida toda su información (m, b).

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.

Ejercicio

Diseñar y construir un programa modular en C++ para:

Dado un conjunto de puntos en R2 y un triangulo definido por 3 puntos en coordenadas cartesianas y un Nº identificador, determinar que puntos pertenecen a

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 86

Nº identificador, determinar que puntos pertenecen a las arista del triangulo.

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.

Ejercicio

Diseñar y construir un programa modular en C++ para:

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

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 87

polígono de más lados, el de mayor apotema y 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++. A=n*l*a/2

Ejercicio

Diseñar y construir un programa modular en C++ para:

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

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

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.

Ejercicio

Diseñar y construir un programa modular en C++ para:

Leer un conjunto de N datos enteros sin signo y escriba a la salida el conjunto de datos ordenados de mayor a menor.

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

mayor a menor.

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.

Ejercicio

Diseñar y construir un programa modular en C++ para:

Leer un conjunto de N Matrices y ordenar según su norma Frobenius de mayor a menor.

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 90

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.

Ejercicio

Diseñar y construir un programa modular en C++ para:

Leer un conjunto de N Matrices y ordenar según su norma Frobenius de mayor a menor |A| = √(∑∑ak,j2)

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 91

|A| = √(∑∑ak,j2)

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.

Ejercicio

Diseñar y construir un programa modular en C++ para:

Leer N polígonos (Nº identificador, Nº de lados, longitud de un lado, apotema) y escribir en la salida de forma inversa.

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 92

forma inversa.

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

Ejercicio

Diseñar y construir un programa modular en C++ para:

Leer N polígonos (Nº identificador, Nº de lados, longitud de un lado, apotema) y dado un identificador buscar en el conjunto y escribir en la salida sus datos.

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 93

buscar en el conjunto y escribir en la salida sus datos.

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.

Ejercicio

Diseñar y construir un programa modular en C++ para:

Leer un conjunto de horas militares, cada una posee identificador y genero, y escribir en la salida toda su información.

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 94

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

Ejercicio

Diseñar y construir un programa modular en C++ para:

Leer un conjunto de horas militares, cada una identificador y genero, convertir en formato de AM/PM y escribir en la salida toda su información

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 95

AM/PM y escribir en la salida toda su información (militar y AM/PM).

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.

Ejercicio

Diseñar y construir un programa modular en C++ para:

Leer un conjunto de horas militares, cada una identificador y genero, convertir en formato de AM/PM y dado un identificador buscar en el

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 96

AM/PM y dado un identificador buscar en el conjunto y escribir en la salida sus datos.

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.

Ejercicio

Diseñar y construir un programa modular en C++ para:

Leer un conjunto de horas militares, cada una identificador y genero, convertir en formato de AM/PM y escribir en la salida el conjunto ordenado

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 97

AM/PM y escribir en la salida el conjunto ordenado de mayor a menor según su hora.

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

Ejercicio

Diseñar y construir un programa modular en C++ para:

Leer un conjunto de horas militares, cada una identificador y genero, convertir en formato de AM/PM y escribir en la salida el conjunto ordenado

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 98

AM/PM y escribir en la salida el conjunto ordenado de menor a mayor según su hora.

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

Ejercicio

Diseñar y construir un programa modular en C++ para:

a) Leer N números e intercambiar el 1º con el 2º, 3º

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 99

a) Leer N números e intercambiar el 1º con el 2º, 3º con el 4º y así sucesivamente y presente en pantalla el resultado (N debe ser par).

b) Leer N números Xk y presentar en pantalla la siguiente sucesión:

Ejercicio

Diseñar y construir un programa modular en C++ para:

a) Leer un conjunto de N datos enteros sin signo, leer un número A y determinar el índice si se encuentra en

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 100

un número A y determinar el índice si se encuentra en el conjunto.

b) Leer N vectores de diferentes tamaños y escribir en pantalla en orden inverso.

c) Simular un sistema de partículas las cuales puede desplazarse horizontalmente.

Resumen



Estructuras con Estructuras.

 UML: NOMBRE dato 1: tipo dato 2: tipo dato 3: ESTRUCTURA … dato N: tipo

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 101

 Declaración: struct ESTRUCTURA2 { ESTRUCTURA1 campo; … }; tipo

Resumen

 Manejo:

variable.campo.campo

 Asignación de la estructura de una estructura

 Estructuras Anidadas.



Programación – Prof. Gonzalo Müller – Clase 20 – GM - 102



Arreglos de Estructuras.

 Declaración:

ESTRUCTURA nombre[TAMAÑO]

 Manejo:

Resumen



Estructuras con Arreglos.

 UML:  Declaración: NOMBRE dato 1: tipo dato 2: tipo dato 3: tipo[#] … dato N: tipo

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 103

 Declaración: struct ESTRUCTURA { tipo campo[TAMAÑO]; … }; dato N: tipo

Resumen

 Manejo:

variable.campo[índice]

 Estructura Arreglo:

struct NOMBRE

Programación – Prof. Gonzalo Müller – Clase 20 – GM - 104

struct NOMBRE {

tipo nombreArreglo[TAMAÑO]; unsigned tipoentero cantidad; };

Related documents