82
Algoritmos y Estructuras de Datos I (230-1214) Unidad III. Introducción a las Estructuras de Datos Compuestas. Es una estructura de datos formada por una cantidad fija de datos de un mismo tipo, cada uno de los cuales tiene asociado uno o más índices que determinan de forma unívoca la posición del dato en el arreglo. Arreglo Tipos de Arreglo Unidimensionales (Vectores) Multidimensionales (Matrices) (Prieto y Otros;2002:39)

Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Embed Size (px)

Citation preview

Page 1: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Es una estructura de datos formada por una cantidad fija de datos de un mismo tipo, cada uno de los cuales tiene asociado uno o más índices que determinan de forma unívoca la posición del dato en el arreglo.

Arreglo

Tipos de Arreglo

Unidimensionales (Vectores)Multidimensionales (Matrices)

(Prieto y Otros;2002:39)

Page 2: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

DeclaraciónConstantes Tamaño = 3Tipos TipNotas = Arreglo[Tamaño] de RealVariables Nota: TipNotas

Arreglo Unidimensional (Declaración)

Nota

Nomb_Variab: Arreglo[Tamaño] de Tipo dato

Ejemplo:

Nota: Arreglo[3] de Real

Page 3: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Arreglo Unidimensional (Acceso)

Nombre_Variable[Posición]

Sexo: Carácter

Nota1

Edad: Entero

Relación Memoria-Variables

Arreglo Unidimensional (Representación)

Page 4: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Inicialización

Lectura

Escritura

Búsqueda

(Joyanes, 1998:341)

Operaciones Básicas Sobre Arreglos

Page 5: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Para indice = 0 hasta tama-1 inc 1

ArreNombres[índice] ” ”

Fin Para

Ejemplo: Limpieza de un arreglo que guardará 6 nombres

1 2 3 4 5 6

ArreNombres

Arreglo Unidimensional (Inicialización)

Page 6: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Para indice = 0 hasta tama-1 inc 1

Escribir “Introduzca el nombre de la persona #:”, índice

Leer ArreNombres[índice]

Fin Para

Ejemplo: Llenado de un arreglo de 6 nombres de persona

1 2 3 4 5 6

ArreNombres

Arreglo Unidimensional (Lectura)

Page 7: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Para indice = 0 hasta tama-1 inc 1

Escribir “Nombre de la persona # ”, indice, “:”, ArreNombres[indice]

Fin Para

Ejemplo: Mostrar el contenido del arreglo de nombres

Arreglo Unidimensional (Escritura)

1 2 3 4 5 6

ArreNombres

Juan Pedro María Jesús José Clara

Nombre de la persona # 2: Pedro

Nombre de la persona # 1: Juan

Nombre de la persona # 3: María

Nombre de la persona # 4: Jesús

Nombre de la persona # 5: José

Nombre de la persona # 6: Clara

Page 8: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Escribir “Introduzca el nombre a consultar:”

Leer Buscado

Encontro Falso, indice 0

Mientras (indice < = tama-1 Y Encontro = Falso) Hacer

Si ArreNombres[indice] = Buscado Entonces

Encontro Verdadero

Escribir “El nombre buscado ocupa la posición # “, indice

Fin Si

indice indice + 1

Fin Mientras

Si Encontro = Falso Entonces

Escribir “El nombre buscado no existe en el arreglo”

Fin Si

Ejemplo: Buscar un nombre en el arreglo de nombres

Arreglo Unidimensional (Búsqueda)

Page 9: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Unidimensional

(Codificación en Dev C++)

DeclaraciónLimpiezaLecturaEscrituraBúsqueda *

Page 10: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Unidimensional

Ejercicios propuestos:

1.- Se requieren almacenar las respuestas a 3 preguntas que dieron 100 personas

encuestadas. ¿Qué estructuras utilizaría, dibújelas y declárelas?

2.- Se desea almacenar una serie de 50 números enteros, a fin de procesarlos para

hallar la media y determinar cuántos pares e impares. Haga el pseudocódigo que

contemple la declaración, limpieza, llenado y cálculos requeridos, utilice módulos.

Page 11: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Unidimensional

RESPONDIENDO EJERCICIO PROPUESTO #1

1.- Se requieren almacenar las respuestas a 3 preguntas que dieron 100 personas

encuestadas. ¿Qué estructuras utilizaría, dibújelas y declárelas?

0 1 2 3 … 99Declaración

Constantes

tama = 100

Tipos

Tipresp=Arreglo[tama] de Cadena

Variables

pregunta1, pregunta2,pregunta3:Tipresp

0 1 2 3 … 99

0 1 2 3 … 99

Page 12: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Unidimensional

RESPONDIENDO EJERCICIO PROPUESTO #2

2.- Se desea almacenar una serie de 50 números enteros, a fin de procesarlos para hallar la media y determinar cuántos pares e impares. Haga el pseudocódigo que contemple la declaración, limpieza, llenado y cálculos requeridos, utilice módulos.

0 1 2 … 49Algoritmo Procesa SeriesDeclaraciónConstantes tama= 50Tipos tiposerie=arreglo [tama] de enteroVariables serie:tiposerie i: enteroInicio escribir “Este algoritmo procesa una serie de “,tama, “ números enteros” llamar limpiar(serie) llamar llenar(serie) llamar calculos(serie)Fin

Page 13: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Unidimensional

Procedimiento llenar ( serie: tiposerie)Inicio escribir “a continuación se solicitará cada número de la serie” escribir “se trata de “, tama, “ elementos” para i = 0 hasta tama-1 inc 1 escribir “Ingrese elemento # “, i+1 leer serie[i] fin paraFin Procedimiento

Procedimiento limpiar ( serie: tiposerie)Inicio para i = 0 hasta tama-1 inc 1 serie[i] 0 fin paraFin Procedimiento

Page 14: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Unidimensional

Procedimiento calculos( serie: tiposerie)DeclaraciónVariables suma, contpar, contimpar: entero media: realInicio suma0, contpar0, contimpar0 para i= 0 hasta tama-1 inc 1 suma suma + serie[i] si ( (-1)^serie[i] >0) entonces contpar contpar +1 sino contimpar contimpar +1 fin si fin para

media suma / tama

escribir” La media calculada es “, media

escribir “Total de Pares: “, contpar

escribir “ total de impares “, contimpar

Fin

Page 15: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Unidimensional

Ejemplo con varios vectores paralelos. Calculando promedio de notas y buscando la nota menor.

arrenotas

arrenombres

arrecedula0 1 2 3 4 5 6 7 8 9

0 1 2 3 4 5 6 7 8 9

0 1 2 3 4 5 6 7 8 9

Page 16: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Unidimensional

Ejemplo con varios vectores paralelos. Verificar si 2 vectores son iguales,

similares o diferentes.

Page 17: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

2 8 9 6 4

4 6 8 9 2

4 6 8 9 2

Son similares, dado que poseen los mismos

elementos, sin importar su ubicación

4 6 8 9 2

Son iguales, dado que poseen los mismos elementos,

en la misma ubicación

Son diferentes, dado que no poseen exactamente los

mismos elementos.

4 6 8 9 2

8 6 3 9 2

Page 18: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Unidimensional

Ejemplo con varios vectores paralelos. Verificar si 2 vectores son iguales,

similares o diferentes.

Page 19: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Unidimensional

Ordenamiento de arreglos por el método de la burbuja

Procedimiento burbuja ( vector: tipvector)DeclaraciónVariables aux, i, j: enteroInicio para i = 0 hasta tama-2 inc 1 para j = 0 hasta tama – 1- i inc 1 si ( vector[ j ] > vector [ j+1] ) entonces aux vector[ j +1] vector[ j +1] vector[ j ] vector[ j ] aux fin si fin para fin paraFin procedimiento

Page 20: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

I = 0 I = 1

J=0 J=1 J=2 J=3

23

19

45

31

15

19

23

45

31

15

19

23

45

31

15

19

23

31

45

15

J=0 J=1 J=2

19

23

31

15

45

19

23

31

15

45

19

23

31

15

45

19

23

15

31

45

23 19 45 31 15Lista a ordenar

Demostración del Método de Ordenamiento Burbuja

Tama =5

Page 21: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

19

23

15

31

45

I = 2 I = 3

J=0 J=1

19

23

15

31

45

19

23

15

31

45

19

15

23

31

45

J=0

15

19

23

31

45

Demostración del Método de Ordenamiento Burbuja

Lista

Ordenada

Page 22: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

23

19

45

31

15

i=423

19

15

31

45

2

J=4

23

19

15

31

45

i=315

19

23

31

45

Posición del mayor

elemento Intercambio

23

19

15

31

45

3

23

19

15

31

45

i=2

0

Demostración del Método de Ordenamiento Selección

23 19 45 31 15Lista a ordenar

Tama =5

Page 23: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

15

19

23

31

45

15

19

23

31

45

i=11 15

19

23

31

45

ListaOrdenada

Demostración del Método de Ordenamiento Selección

Posición del mayor

elemento Intercambio

Page 24: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Unidimensional

Asignación: Investigue los algoritmos de ordenamiento por selección y inserción. Haga una corrida en frío, a fin de

comprenderlos.

Page 25: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Es un arreglo con dos dimensiones (filas y columnas).

23 14

10 51

13 18

7

0

1

2

3

4

5

6

0 1 2 3 4 Matriz de 7 filas y 5 columnas

Posición Elemento

Matriz[1,0] 23

Matriz[1,2] 14

Matriz[2,1] 10

Matriz[2,4] 51

(Joyanes, 1998:352)

Arreglo Bidimensional

Page 26: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

NombreVariable[Númerofila,Númerocolumna]

Arreglo Bidimensional (Acceso)

0

1

2

3

0 1

Page 27: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Se puede asociar cada dimensión con un elemento particular a representar. Ejemplo:

0

1

2

3

0 1

Se requieren almacenar los puntajes obtenidos por cada uno de los cuatro participantes de un concurso, en dos evaluaciones realizadas.

(Joyanes, 1998:352)

Arreglo Bidimensional

Evaluaciones

Participantes

Page 28: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Nomb_Variab: Arreglo[Cantidad de filas, Cantidad de columnas] de Tipo dato

Arreglo Bidimensional (Declaración)

Ejemplo:

Tipo

Tipunto = Arreglo[4, 2] de Real

Variable

Matpuntos: Tipunto

Page 29: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Bidimensional

PLANTEAMIENTO: Dada una matriz cuadrada 4x4, haga el

algoritmo que verifique si ésta es simétrica. Una matriz es

simétrica si tiene por ejemplo la siguiente estructura:

a b c d

b e f g

c f h i

d g i j

0,0 0,1 0,2 0,3

1,0 1,1 1,2 1,3

2,0 2,1 2,2 2,3

3,0 3,1 3,2 3,3

RELACIÓN CONTENIDO vs. POSICIONES DE LA MATRIZ

Page 30: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Bidimensional

Algoritmo estudia simetría

Declaración

Tipos

tipmatriz = Arreglo[4,4,] de caracter

Variables

M: tipmatriz

i, j: entero

Inicio

llamar limpiar(M)

llamar llenar(M)

si (Simétrica(M) = verdadero) entonces

escribir “La matriz es Simétrica”

sino

escribir “La matriz no es simétrica”

fin si

Fin

Procedimiento limpiar (M: tipmat)

Inicio

para i =0 hasta 3 hacer inc 1

para j =0 hasta 3 hacer inc 1

M[i,j] ´ ´

fin para

fin para

Fin procedimientoProcedimiento llenar (M: tipmat)

Inicio

para i =0 hasta 3 hacer inc 1

para j =0 hasta 3 hacer inc 1

escribir “ingrese valor para la posición “ , i, j

leer M[i,j]

fin para

fin para

Fin procedimiento

Page 31: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Bidimensional

a b c d

b e f g

c f h i

d g i j

0,0 0,1 0,2 0,3

1,0 1,1 1,2 1,3

2,0 2,1 2,2 2,2

3,0 3,1 3,2 3,3

Función Simétrica ( M: tipmatriz): Lógico

Declaración

Variables

resultado: lógico

i, j: entero

Inicio

resultado verdadero

para i =0 hasta 3 hacer inc 1

para j =0 hasta 3 hacer inc 1

si M[i,j] <> M[j,i] entonces

resultado falso

fin si

fin para

fin para

Simétrica resultado

Fin función

Page 32: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

PLANTEAMIENTO: Diseñe una estructura de datos para

almacenar el nombre de cada estudiante de Introducción a la

Informática (35 alumnos), y la nota obtenida en cada uno de los

3 parciales presentados. Igualmente señale cómo se realizan los

procesos de:

Carga de datos en la estructura.

Cálculo del promedio de notas por parcial.

Representación de Datos en Arreglos

Tarea

Page 33: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Diseño de las estructuras de datos requeridas.

Representación de Datos en Arreglos

0 1 2

Parciales

0

1

2

:

34Estudiantes

0

1

2

:

34

VectorNombres MatrizNotas

Page 34: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Algoritmo DatosEstudiantes

Declaración

Constantes

numfil=35, numcol =3

Tipos

Tipvec= Arreglo[numfil] de cadena

Tipmat = Arreglo[numfil,numcol] de real

Variables

VectorNombres:Tipvec

MatrizNotas: Tipmat

Filas, Columnas: Entero

Inicio

Escribir “Algoritmo para el tratamiento de nombres y notas de alumnos”

Llamar Limpiar(VectorNombres, MatrizNotas)

Llamar Llenar(VectorNombres, MatrizNotas)

Llamar Promparc(MarizNotas)

Fin

Arreglo Bidimensional (Resolviendo el problema)

Page 35: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Procedimiento Limpiar( VectorNombres:Tipvec, MatrizNotas: Tipmat)

Inicio

Para Filas = 0 Hasta numfil-1 inc 1

VectorNombres[Filas] ””

Para Columnas = 0 Hasta numcol-1 inc 1

MatrizNotas[Filas, Columnas] 0

Fin Para

Fin Para

Fin Procedimiento

Arreglo Bidimensional (Limpiar)

Page 36: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Proceso para el llenado de las estructuras

Representación de Datos en Arreglos

0 1 2

Parciales

0

1

2

:

34Estudiantes

0

1

2

:

34

VectorNombres

Inés

Juan

Marcos

Pati

Ivón

9 7 4

9

9.2

9

10

3.3

6

7.5

5 2

7

3

1

MatrizNotas

Page 37: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Por Filas

Inicio

Fin

0

1

2

3

34

0 1 2

Arreglo Bidimensional (Recorrer por Filas)

Page 38: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Procedimiento Llenar( VectorNombres:Tipvec, MatrizNotas: Tipmat)

Inicio

Escribir “Ingrese los siguientes datos:”

Para Filas = 0 Hasta numfil-1 inc 1

Escribir “Nombre del estudiante # ”, Filas+1

Leer VectorNombres[Filas]

Para Columnas = 0 Hasta numcol-1 inc 1

Escribir “Nota del Parcial # ”, Columnas+1

Leer MatrizNotas[Filas, Columnas]

Fin Para

Fin Para

Fin Procedimiento

Arreglo Bidimensional (Llenar)

Page 39: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Proceso para calcular promedio de notas por parcial

Representación de Datos en Arreglos

0 1 2

0

1

2

:

34

9 7 4

9

9.2

9

10

3.3

6

7.5

5 2

7

3

1MatrizNotas

= 46.2 / 35 = 1.32= 28.83 / 35 = 0.82= 17 / 35 = 0.48

Page 40: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Por ColumnasInicio

Fin

0

1

2

3

4

0 1 2

Arreglo Bidimensional (Recorrer por Columnas)

Page 41: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Procedimiento PromParc( MatrizNotas: Tipmat)DeclaraciónVariables SumaParcial,Prom: Real Inicio Para Columnas = 0 Hasta numcol -1 inc 1 SumaParcial 0 Para Filas = 0 Hasta numfil-1 inc 1 SumaParcial SumaParcial + MatrizNotas[Filas, Columnas] Fin Para Prom SumaParcial / numfil Escribir “Promedio de Notas en el Parcial # “, Columnas, “=“, Prom Fin ParaFin Procedimiento

Arreglo Bidimensional (Calcular por Columna)

Page 42: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

CODIFICACIÓN EN DEV C++

Page 43: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglo Unidimensional

1. Se desean almacenar por cada sucursal (Juan Griego, Porlamar y Tacarigua) de la empresa el TRio C.A., los montos de venta en cada uno de sus 3 departamentos, durante los días 24, 25 y 26 de mayo. Una vez almacenados estos datos, se debe presentar el nombre de la sucursal que obtuvo mayor monto de ventas durante los días mencionados; aparte, se debe indicar el número del día en el que se obtuvo el mayor monto de ventas, involucrando para ello a todas las sucursales.

2. Los resultados de una prueba escrita se encuentran registrados en una matriz 4x10, donde las filas representan los alumnos que presentaron la evaluación, y las columnas, representan los ítems evaluados. Las respuestas constan de un valor numérico comprendido entre 0 y 10. Haga un módulo que reciba como parámetros de entrada, la matriz de resultados y el vector de respuestas oficiales, en el que se tiene por cada pregunta, el valor de la respuesta correcta.

Page 44: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Arreglos.

Registros.

Archivos.

Contenido

Page 45: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Es una colección de elementos posiblemente heterogéneos que son tratados como una unidad.

Ejemplo: Ficha Estudiantil

Cédula:

Nombre:

Apellido:

Edad:

Sexo:

Registro

(Rose,1993:17)

Page 46: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Ejemplo: Ficha Estudiantil

Nombre Apellido Edad Sexo Cédula

(Joyanes,1998:516)

Un registro está constituido por uno o más campos. Un campo equivale a un valor o ítem que se desea representar. Cada campo se identifica con un nombre. Cada campo es de un tipo de dato simple o estructurado.

Estructura de un Registro

Registro ”X”

Campo1 Campo2 Campo3 Campo4 CampoN

Page 47: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Declaración Tipos Nombre_Tipo = Registro Campo1: Tipo de dato

Campo2: Tipo de dato Campo3: Tipo de dato CampoN: Tipo de dato

Fin RegistroVariables NombreVariable: Nombre_Tipo

Declaración de un Registro

typedef struct Nombre_Tipo { tipo de dato Campo1; tipo de dato Campo2; tipo de dato Campon;}; Nombre_Tipo NombreVariable;

Declaración Tipos Nombre_Tipo = Registro Campo1: Tipo de dato Campo2: Tipo de dato

Campo3: Tipo de dato CampoN: Tipo de dato

Fin RegistroVariables NombreVariable: Nombre_Tipo

Page 48: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Ficha Estudiantil

Nombre Apellido Edad Sexo Cédula

Tipos Regiestud = Registro Nombre, Apellido: Cadena

Edad: Entero

Sexo: Carácter

Cedula: Cadena

Fin RegistroVariables Fichaestu: Regiestud

Ejemplo de Declaración de un Registro

typedef struct Regiestud{ string Nombre, Apellido;

int Edad;

char Sexo;

string Cedula;

}; Regiestud Fichaestu;

Page 49: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

NombreVariable.NombreCampo

(Joyanes,1998:518)

Se puede acceder a cada campo de un registro directamente utilizando un selector de campo de la forma:

Acceso a un Registro

Page 50: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Empleado

Nombre Dirección Completa

F_Nacim

Día Mes AñoDirección Municipio

Registro Jerárquico

Un registro con uno o más campos de tipo registro se

llama registro jerárquico o anidado.

Page 51: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Empleado = Registro de Nombre: Cadena DirCompleta: Tipdircomp F_Nacim: Tipfecha Fin Registro

Registro Jerárquico (Declaración)

Declaración

Reg: Empleado Acceso

Reg.Nombre

Reg.DirCompleta.Dirección

Reg.DirCompleta.Municipio

Reg.F_Nacim.Día

Tipdircomp = Registro de Dirección: Cadena Municipio: Cadena Fin Registro

Tipfecha = Registro de Día, Mes, Año: Entero Fin Registro

typedef struct Empleado{ string Nombre; Tipdircomp DirCompleta; Tipfecha F_Nacim;};

typedef struct Tipdircomp{ string Dirección,Municipio;};

typedef struct Tipfecha { int Dia, Mes, Anio;};

Empleado Reg;

Page 52: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Los registros raramente se usan solos. En general, se

utilizan en conjunto con otras estructuras tales como:

Arreglos y Archivos.

(Joyanes,1998:534)

Uso de Registros en Otras Estructuras

Page 53: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Arreglos.

Registros.

Archivos.

Contenido

Page 54: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Un archivo es una colección de información que reside

como una unidad en la memoria secundaria del

computador.

(Joyanes,1998:565)

Archivos

Page 55: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Archivos de Texto.

Archivos Tipificados o Binarios.

(Joyanes,1998:567)

Tipos de Archivos Según la Estructura de su Información

NOManzanilloPedro Parra44444444

SÍGuatamareKarla Paz33333333

SÍPorlamarLuisa Maneiro66666666

NOJuan GriegoPedro Azócar55555555

SÍAltagraciaJuan Pérez11111111

SeguroDirecciónNombreCédula0

1

2

3

4

Por ejemplo este archivo tiene 5 registros cuyos campos son Cédula, Nombre, Dirección, Seguro

Page 56: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

(Joyanes,1998:567)

Operaciones sobre Archivos (Declarar)

Algoritmo OperarArchivosDeclaraciónTipos Tipreg = Registro de Nombre, Cédula, Dirección, Seguro: Cadena Fin Registro Tiparch= Archivo de Tipreg Variables Miarchi: Tiparch

Además de declarar la variable tipo archivo, se deben aplicar operaciones especiales para vincular la variable con el objeto

que se almacenará en memoria secundaria (Conectar y Crear).

Page 57: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

(Joyanes,1998:567)

Operaciones sobre Archivos (Conectar)

Algoritmo OperarArchivosDeclaraciónTipos Tipreg = Registro de Nombre, Cédula, Dirección, Seguro: Cadena Fin Registro Tiparch= Archivo de Tipreg Variables Miarchi: Tiparch Inicio

Conectar Miarchi con Nombre.dat

Es la variable, también se le llama archivo

lógico

Es el nombre del archivo almacenado, se le llama archivo físico

Page 58: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

(Joyanes,1998:567)

Operaciones sobre Archivos (Crear)

Algoritmo OperarArchivosDeclaraciónTipos Tipreg = Registro de Nombre, Cédula, Dirección, Seguro: Cadena Fin Registro Tiparch= Archivo de Tipreg Variables Miarchi: Tiparch existe: LógicoInicio Conectar Miarchi con Nombre.dat existe BuscaArchivo(Miarchi) Si (existe = falso) entonces

Crear Miarchi Fin si

Función que verifica en memoria secundaria si el archivo físico existe

Crea un objeto almacenado en memoria secundaria, tendrá como nombre el

indicado en la conexión (.dat)

Page 59: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

(Joyanes,1998:567)

Operaciones sobre Archivos (Manipular)

Algoritmo OperarArchivosDeclaraciónTipos Tipreg = Registro de Nombre, Cédula, Dirección, Seguro: Cadena Fin Registro Tiparch= Archivo de Tipreg Variables Miarchi: Tiparch existe: LógicoInicio Conectar Miarchi con Nombre.dat existe BuscaArchivo(Miarchi) Si (existe = falso) entonces Crear Miarchi Fin si Llamar InsertarRegistros(Miarchi) Llamar MostrarRegistros(Miarchi) Llamar BuscarRegistros(Miarchi)Fin

Page 60: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

(Joyanes,1998:567)

Operaciones sobre Archivos (Manipular)

Algoritmo OperarArchivosDeclaraciónTipos Tipreg = Registro de Nombre, Cédula, Dirección, Seguro: Cadena Fin Registro Tiparch= Archivo de Tipreg Variables Miarchi: Tiparch existe: LógicoInicio Conectar Miarchi con Nombre.dat existe BuscaArchivo(Miarchi) Si (existe = falso) entonces Crear Miarchi Fin si Llamar InsertarRegistros(Miarchi) Llamar MostrarRegistros(Miarchi) Llamar BuscarRegistros(Miarchi)Fin

Procedimiento InsertarRegistros( Miarchi:Tiparch)

Declaración

Variables

reg: Tipreg

ultimapos: entero

otroreg:caracter

Inicio

Abrir Miarchi

ultimapos tamaño(Miarchi)

Llamar Encontrar(ultimapos, Miarchi)

Repetir

Llamar Limpiar(reg)

Llamar Llenar(reg)

Grabar reg en Miarchi

Escribir “Quiere insertar otro registro s/n”

Leer otroreg

Hasta (otroreg =´n´)

Cerrar MIarchi

Fin Procedimiento

Procedimiento InsertarRegistros( Miarchi:Tiparch)

Declaración

Variables

reg: Tipreg

ultimapos: entero

otroreg:caracter

Inicio

Abrir Miarchi

ultimapos tamaño(Miarchi)

Llamar Encontrar(ultimapos, Miarchi)

Repetir

Llamar Limpiar(reg)

Llamar Llenar(reg)

Grabar reg en Miarchi

Escribir “Quiere insertar otro registro s/n”

Leer otroreg

Hasta (otroreg =´n´)

Cerrar Miarchi

Fin Procedimiento

Procedimiento Limpiar( reg: Tipreg)

Inicio

reg.cedula””

reg.nombre””

reg.direccion””

reg.seguro””

Fin Procedimiento

Procedimiento Llenar( reg: Tipreg)

Inicio

escribir “INGRESE UN NUEVO REGISTRO DE PACIENTE”

escribir “Indique número de cédula”

leer reg.cedula

escribir “Indique el nombre”

leer reg.nombre

escribir “Indique la dirección”

leer reg.direccion

escribir “Indique tiene seguro si o no”

leer reg.seguro

Fin Procedimiento

Page 61: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

(Joyanes,1998:567)

Operaciones sobre Archivos (Manipular)

Algoritmo OperarArchivosDeclaraciónTipos Tipreg = Registro de Nombre, Cédula, Dirección, Seguro: Cadena Fin Registro Tiparch= Archivo de Tipreg Variables Miarchi: Tiparch existe: LógicoInicio Conectar Miarchi con Nombre.dat existe BuscaArchivo(Miarchi) Si (existe = falso) entonces Crear Miarchi Fin si Llamar InsertarRegistros(Miarchi) Llamar MostrarRegistros(Miarchi) Llamar BuscarRegistros(Miarchi)Fin

Procedimiento MostrarRegistros( Miarchi:Tiparch)

Declaración

Variables

reg: Tipreg

i: entero

Inicio

Abrir Miarchi

i 1

Mientras (fda(Miarchi) = falso) hacer

leer reg de Miarchi

escribir “Registro de paciente # ” i

escribir “Nombre: “, reg.nombre

escribir “´Cédula: “, reg.cedula

escribir “Dirección: “, reg.dirección

escribir “Tiene Seguro “, reg.seguro

ii +1

Fin Mientras

Cerrar Miarchi

Fin Procedimiento

Page 62: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

(Joyanes,1998:567)

Operaciones sobre Archivos (Manipular)

Algoritmo OperarArchivosDeclaraciónTipos Tipreg = Registro de Nombre, Cédula, Dirección, Seguro: Cadena Fin Registro Tiparch= Archivo de Tipreg Variables Miarchi: Tiparch existe: LógicoInicio Conectar Miarchi con Nombre.dat existe BuscaArchivo(Miarchi) Si (existe = falso) entonces Crear Miarchi Fin si Llamar InsertarRegistros(Miarchi) Llamar MostrarRegistros(Miarchi) Llamar BuscarRegistros(Miarchi)Fin

Procedimiento BuscarRegistros( Miarchi:Tiparch)

Declaración

Variables

reg: Tipreg

buscado: cadena

fin: lógico

Inicio

Abrir Miarchi

escribir “Ingrese número de cédula del paciente a buscar”

leer buscado

fin falso

Mientras ( (fda(Miarchi) = falso) Y (fin = falso) ) hacer

leer reg de Miarchi

si ( reg.cedula = buscado ) entonces

escribir “Registro de paciente encontrado”

escribir “Nombre: “, reg.nombre

escribir “Dirección: “, reg.dirección

escribir “Tiene Seguro “, reg.seguro

fin verdadero

fin si

Fin Mientras

Cerrar Miarchi

Fin Procedimiento

Page 63: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

NOManzanilloPedro Parra44444444

SÍGuatamareKarla Paz33333333

SÍPorlamarLuisa Maneiro66666666

NOJuan GriegoPedro Azócar55555555

SÍAltagraciaJuan Pérez11111111

SeguroDirecciónNombreCédula

Llamar Encontrar (2, Miarchi)

0

1

2

3

4

Llamar Encontrar(Total_Regis - 1, Miarchi)

Llamar Encontrar(Total_Regis, Miarchi)

Total_Regis Tamaño(Miarchi)

Funciones y Procedimientos Básicos para el Tratamiento de Archivos con Organización Secuencial y Acceso Directo

Page 64: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Pseudocódigo Dev C

CONECTAR archi Con cd.dat

CREAR archi

ABRIR archi archi=fopen("promoto.dat",“w");

archi=fopen(“cd.dat",“modo”);

archi=fopen("promoto.dat",“r");

archi=fopen("promoto.dat",“a+");

Archivos

Page 65: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Pseudocódigo Dev C

LEER reg de archi

Grabar reg en archi

fread(&reg,sizeof(reg),1,archi);

fwrite(&reg,sizeof(reg),1,archi);

POSICIÓN(archi)

fseek(archi,0l, SEEK_END);Encontrar (posi, archi)

fclose(archi)Cerrar archi

fgetpos(archi,&posi);

fsetpos(archi,&posi);

feof(archi)FDA(Archi)

posi tamaño(archi)

Archivos

Page 66: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Codificación en DevC

Archivos

Page 67: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Elabore un algoritmo en pseudocódigo que realice la creación del archivo (Promotor.Dat) para mantener información de los promotores de ventas de la empresa Cicle C.A.. En éste se almacenará: número de cédula, monto de ventas, sexo y comisión ganada por cada promotor.

Para ello, siga los pasos expuestos en el tratamiento de archivos, ofreciendo módulos para ingresar y mostrar registros, así como un módulo que permita obtener en un archivo temporal Género.dat, los registros correspondientes a vendedoras.

Problema

Page 68: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Operaciones sobre Archivos (Modificar)

Para modificar registros se debe, en términos generales, aplicar la siguiente lógica:

1.- Abrir archivo

2.- Localizar el registro a modificar (búsqueda)

3.- Obtener la posición del registro actual, a fin de calcular la posición anterior.

4.- Devolver el apuntador hacia la posición que ocupa el registro a modificar

5.- Pedir al usuario que ingrese los datos nuevos del registro

6.- Grabar el registro en el archivo

Page 69: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Elabore un algoritmo en pseudocódigo que realice la creación del archivo (Promotor.Dat) para mantener información de los promotores de ventas de la empresa Cicle C.A.. En éste se almacenará: número de cédula, monto de ventas, sexo y comisión ganada por cada promotor.

Para ello, siga los pasos expuestos en el tratamiento de archivos, ofreciendo módulos para ingresar y mostrar registros, así como un módulo que permita obtener en un archivo temporal Género.dat, los registros correspondientes a vendedoras.

Amplíe el algoritmo para que permita modificar el registro de un promotor cuando su monto de venta exceda Bs. 500.000, incrementando en ese caso, su comisión en un 10%.

Problema

Page 70: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Operaciones sobre Archivos Procedimiento Modificar ( Archi: TipArchi)DeclaraciónVariables Reg, nuevo: RegPromotor buscado, posi, sw: Entero Inicio Escribir “Ingrese el numero de cédula del registro a buscar para modificar” Leer buscado

Abrir Archi sw 0

Mientras ( FDA(Archi) = Falso Y sw= 0) Hacer Leer Reg de Archi Si (Reg.cedula = buscado) entonces sw 1 Escribir “El registro a modificar es:” Escribir “Sexo:” , Reg.sexo Escribir “Monto de Ventas:”, Reg.ventas Escribir “Monto por Comisiones:”, Reg.comisión Escribir”Introduzca el nuevo contenido del registro” Escribir “Sexo:” Leer Reg.sexo Escribir “Monto de Ventas:” Leer Reg.ventas Escribir “Monto por Comisiones:” Leer Reg.comisión *

* posi posicion(Archi) Llamar Encontrar(posi-1, Archi) Grabar Reg en Archi Escribir”Modificación OK” Fin Si Fin Mientras Si (sw = 0) entonces Escribir “No se encontro el registro buscado” Fin si Cerrar ArchiFin Procedimiento

Page 71: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Arreglos.

Registros.

Archivos.

Arreglo de Registros

Contenido

Page 72: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Los arreglos son estructuras homogéneas,

Los registros son estructuras heterogéneas.

Para Acceder a cada posición de un Arreglo se utiliza: Nombre_Variable[Posición]

Nombre_Variable[fila,columna]

Para Acceder a cada campo de un registro se utiliza: Nombre_Variable.Campo

Diferencias entre Arreglos y Registros

Page 73: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

1 2 3 4 5 6Arreglo de Registros

Campoa | Campob | CampoNEn cada posición tiene

un registro

Arreglo de Registros

Nombre_Variable[Indice].NombreCampo

Acceso

Page 74: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Diseñe una estructura para almacenar el nombre de cada estudiante de

Introducción a la Informática (35 alumnos), y la nota obtenida en cada uno

de los 3 parciales presentados.

Arreglo de Registros

1

2

3

:

35

VectorEstudiantes

Registro Estudiante

Nombre Notas

Page 75: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Declaración

Tipos

Tipvecreg = Arreglo[35] de Regestudi

Regestudi = Registro de

Nombre: Cadena

Notas: Tipnota

Fin Registro

Tipnota = Arreglo[3] de Real

Variables

VectEstudi: Tipvecreg

Arreglo de Registros (Declaración)

Page 76: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Proceso para cargar los datos en la estructura.

Arreglo de Registros

1

2

3

:

35

VectorEstudiantes

7 6 9 Juan

Ivón 2 8 3

Rey

Gina

Luís

5 9 6

3 8 1

7 8 4

Page 77: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Procedimiento Llenar( VecEstudi:Tipvecreg)

Declaración

Variables

indiestud, inota: Entero

Inicio

Escribir “Ingrese los siguientes datos para cada estudiante:”

Para indiestud = 1 Hasta 35 inc 1

Escribir “Nombre del estudiante # ”, indiestud

Leer VecEstudi[indestud].Nombre

Para inota = 1 Hasta 3 inc 1

Escribir “Nota obtenida en el Parcial # ”, inota

Leer VecEstudi[indiestud].Notas[inota]

Fin Para

Fin Para

Arreglo de Registros (Llenar)

Page 78: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Procedimiento Mostrar( VecEstudi:Tipvecreg)

Declaración

Variables

indiestud, inota: Entero

Inicio

Escribir “Datos de cada estudiante:”

Para indiestud = 1 Hasta 35 inc 1

Escribir “Estudiante # ”, indiestud

Escribir “NOMBRE: “, VecEstudi[indestud].Nombre

Para inota = 1 Hasta 3 inc 1 Escribir “Parcial # ”, inota, “Puntaje= “, VecEstudi[indiestud].Notas[inota]

Fin Para

Fin Para

Arreglo de Registros (Llenar)

Page 79: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Procedimiento CalculaProm( VecEstudi:Tipvecreg)DeclaraciónVariables indiestud, inota: Entero acum,prom: RealInicio Escribir “Cálculo de Promedio de cada estudiante:” Para indiestud = 1 Hasta 35 inc 1 Escribir “Estudiante # ”, indiestud Escribir “NOMBRE: “, VecEstudi[indestud].Nombre acum0, prom0 Para inota = 1 Hasta 3 inc 1 acum acum + VecEsctudi[indiestud].Notas[inota]

Fin Para prom acum/3 Escribir “El promedio de notas es:”, prom, “ptos.” Fin ParaFin Procedimiento

Arreglo de Registros (Llenar)

Page 80: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Procedimiento PromParcial( VecEstudi:Tipvecreg)DeclaraciónVariables indiestud, inota: Entero acum,prom: RealInicio Escribir “Cálculo de Promedio de cada Parcial:” Para indiestud = 1 Hasta 35 inc 1 acum0, prom0 Para inota = 1 Hasta 3 inc 1 acum acum + VecEsctudi[indiestud].Notas[inota]

Fin ParaFin ParaFin Procedimiento

Arreglo de Registros (Llenar)

Page 81: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.

Proceso para cargar los datos en la estructura

Arreglo de Registros

1

2

3

:

35

VectorEstudiantes

7 6 9 Juan

Ivón 2 8 3

Rey

Gina

Luís

5 9 6

3 8 1

7 8 4

Suma

0 0 0 9 14 12 7 6 9 14 23 18 17 31 19 24 39 23

Page 82: Unidad III. Introducción a las Estructuras de Datos Compuestas. Algoritmos y Estructuras de Datos I (230-1214) Es una estructura de datos formada por una

Algoritmos y Estructuras de Datos I (230-1214)

Unidad III. Introducción a las Estructuras de Datos Compuestas.Arreglos y Registros

Se requieren almacenar los datos de las facturas realizadas por una empresa durante 3 días, a sabiendas que la facturación se hace por sucursal. La empresa tiene 3 sucursales, de cada sucursal se requiere

Almacenar su nombre, dirección, teléfono y facturación en los días señalados. Por factura se requiere guardar: el número de la factura, el código, cantidad y precio en Bs. de cada artículo. Considere que una factura contiene espacio solo para 40 productos y que al día solo pueden hacer máximo 100 facturas.

Haga el dibujo de la estructura de datos que permita almacenar lo señalado.