PDF de programación - Teoría 8 - Lenguaje de Diseño: Estructuración de Datos

Imágen de pdf Teoría 8 - Lenguaje de Diseño: Estructuración de Datos

Teoría 8 - Lenguaje de Diseño: Estructuración de Datosgráfica de visualizaciones

Publicado el 25 de Junio del 2018
120 visualizaciones desde el 25 de Junio del 2018
6,8 MB
33 paginas
Creado hace 3a (01/01/2017)
Teoría Nº 8



Lenguaje de Diseño:



Estructuración de Datos



Resolución de Problemas y Algoritmos

Primer Cuatrimestre 2017

ENUNCIADO:

DADO UN NÚMERO ENTERO POSITIVO, ENCONTRAR EL
ALGORITMO QUE DETERMINE EL FACTORIAL DE DICHO NÚMERO.



• DAR UN VALOR A UN OBJETO.
• CALCULAR LA SUMA DE DOS NÚMEROS
• CALCULAR EL PRODUCTO DE DOS NÚMEROS
• MIENTRAS <condición> HACER
<acciones primitivas>
FINMIENTRAS



2017

La determinación de los objetos es una parte importante en el proceso de
resolución


Restricción: los objetos deben determinarse en función de los cuatro tipos de

datos primitivos.

Ejemplo:

Una empresa recibe mensualmente información sobre las ventas de
cada una de sus tres sucursales. Se desea obtener un listado de
aquellas sucursales cuyas ventas superan el promedio de las mismas.

2017

Versión 1:

Versión 2:

t1 - Leer los datos de las sucursales.
t2 - Determinar el promedio.
t3 - Comprobar cual o cuáles de las sucursales
tiene venta superior al promedio.

t11 - Para cada sucursal leer sus ventas y
acumularlas.
t2 - Determinar el promedio.
t31 - Para cada sucursal leer sus ventas, comparar-
las con el promedio. Si es mayor al promedio,
informar.

2017


a
m
e
l
b
o
r
P

l
e
d

e
j
a
u
g
n
e
L
n
e



n
ó
i
c
u
l
o
s

a
l

e
d



o
j
u
l

F

e
d

a
m
a
r
g
a
i
D

¿Objetos?

C

De 1 a 3

Ingresar la venta de la sucursal
.

Acumular la venta.

Calcular el promedio.

De 1 a 3

Ingresar la venta de la sucursal
.
F

venta > promedio

V
informo

F

2017

Objetos?

venta - guarda la venta de cada sucursal.
acumulo - acumula las ventas
promedio - almacena promedio.
i - lleva la cuenta de la sucursal que trato.

2017

¿Desventajas?

Algoritmo en lenguaje de diseño:

ALGORITMO “Ventas”
COMENZAR
VENTA, ACUMULO, PROMEDIO: real
I: entero
PROMEDIO
0
ACUMULO 0
PARA I DESDE 1 HASTA 3 CON PASO 1 HACER
LEER VENTA
ACUMULO ACUMULO + VENTA
FINPARA
PROMEDIO
PARA I DESDE 1 HASTA 3 CON PASO 1 HACER
LEER VENTA
SI VENTA > PROMEDIO ENTONCES

ACUMULO / 3

ESCRIBIR I, VENTA

FINSI
FINPARA
FIN

2017

Solución 2:


Objetos

vent1 - guarda la venta de sucursal 1.
vent2 - guarda la venta de sucursal 2.
vent3 - guarda la venta de sucursal 3.
promedio - acumula las ventas y saca promedio.

2017

Algoritmo en lenguaje de diseño:

ALGORITMO “Ventas”
COMENZAR
VENT1, VENT2, VENT3, PROMEDIO: real
LEER VENT1, VENT2, VENT3
PROMEDIO (VENT1+ VENT2 + VENT3) / 3
SI VENT1 > PROMEDIO ENTONCES

ESCRIBIR VENT1

FINSI
SI VENT2 > PROMEDIO ENTONCES

FINSI
SI VENT3 > PROMEDIO ENTONCES

ESCRIBIR VENT2

ESCRIBIR VENT3

FINSI
FIN

2017

100 Objetos?

vent1 - guarda la venta de sucursal 1.
vent2 - guarda la venta de sucursal 2.
...
vent100 - guarda la venta de sucursal 100.


2017



ALGORITMO “Ventas”
COMENZAR
VENT1, VENT2, ..., VENT100, PROMEDIO: real
LEER VENT1, VENT2, ..., VENT100
PROMEDIO (VENT1+ VENT2 + .. + VENT100) / 100
SI VENT1 > PROMEDIO ENTONCES

ESCRIBIR VENT1

FINSI
SI VENT2 > PROMEDIO ENTONCES

FINSI

ESCRIBIR VENT2

.
.
.


SI VENT100 > PROMEDIO ENTONCES

ESCRIBIR VENT100

FINSI
FIN

2017

Otro Problema:
Existen ocasiones donde los objetos no se pueden representar solamente con
primitivas.

Es necesario relacionar 2 o más tipos primitivos para poder construir
nuestro nuevo objeto.
Ejemplo:
Representar el objeto número complejo.

número complejo

real

imaginaria

real
Preal

real
Pimag

Nuevo objeto, de tipo complejo, conformado o estructurado con objetos de

tipo primitivo.

2017

Todas las formas posibles en que nosotros relacionemos lógicamente datos
primitivos para construir nuevos objetos se denomina:


ESTRUCTURACIÓN DE DATOS

Características:



4 toda estructura se construye a partir de objetos primitivos
4 el conjunto de datos se identifica con un único nombre
4una estructura se diferencia de otra por la forma en que sus

componentes están relacionadas y el tipo de las mismas

4se encuentran tanto en memoria principal como en memoria secundaria.

Nos concentraremos en la estructuras de memoria principal


2017

Tipos de Estructuras de Datos:


Estructuras Enlazadas: los datos no se encuentran en posiciones
adyacentes de memoria.

Estructuras Contiguas o Físicas: los datos se encuentran en
posiciones adyacentes de memoria.

Existe una estructura en particular que nos interesa denominada:

ARREGLO LINEAL DE DATOS

2017

Arreglo Lineal
Solución 3:
Reunir los 100 objetos en un solo objeto estructurado.

120
1

578
2

625
3

1230
100

99

Arreglo Lineal

VECTOR

VENTA

120
1

578
2

625
3

VENTA[3]

625

1230
100

99

2017

Donde:
4 Todos los elementos del arreglo son del mismo tipo primitivo por lo tanto
es una estructura homogénea.

4Es una estructura estática, es decir su tamaño (cantidad y tipo de
elementos del arreglo) se define en tiempo de compilación a partir de la
declaración y no cambia durante la ejecución del programa. (Es posible
definir arreglos cuya dimensión se modifique en tiempos de ejecución
(estructuras dinámicas) pero este concepto no será abordado en este curso).
4Es una estructura lineal de acceso directo, es decir se accede a un dato
en forma directa con sólo indicar la posición o subíndice. El número que
indica la posición (subíndice) es un número natural.
4El número de elementos o dimensión, se define con la declaración junto
con el límite mínimo y límite máximo o rango.

2017

Arreglo Lineal
Solución 3:
Reunir los 100 objetos en un solo objeto estructurado.

120
1

578
2

625
3

1230
100

99

Arreglo Lineal

VECTOR

VENTA

120
1

578
2

625
3

VENTA[3]

625

1230
100

99

Donde:

4 todos los elementos del arreglo son del mismo tipo primitivo.
4 el número que indica la posición (subíndice) es un número natural.

2017



Declaración:


VENTA: arreglo[1..100] de real

arreglo
<Nombre> :
Usos y operaciones:
VENTA[15]
VENTA[I]

VENTA[K+5]

Asignar un valor
Operación

[ Li .. Ls]

de

<tipo>

VENTA[20]

(valor almacenado en la posición 15 del arreglo)
(valor almacenado en la posición indicada por el valor
almacenado en I)
I 20
VENTA[I] ≡
(valor almacenado en la posición indicada por el valor
resultante de la expresión K+5)
K 20
VENTA[K+5]
VENTA[25]
VENTA[10]

≡ VENTA[20 +5] ≡

30

J 13 * J + VENTA[I]

2017



Objetos:
VENTA - arreglo de 100 elementos de tipo
real.
I - variable índice del arreglo.
PROMEDIO - para el cálculo del promedio.

ALGORITMO “Ventas”
COMENZAR
VENTA: arreglo [1..100] de real
PROMEDIO: real
I: entero
PROMEDIO
PARA I DESDE 1 HASTA 100 CON PASO 1 HACER

0

LEER VENTA[I]
PROMEDIO

PROMEDIO + VENTA[I]

FINPARA
PROMEDIO
PARA I DESDE 1 HASTA 100 CON PASO 1 HACER

PROMEDIO / 100

SI VENTA[I] > PROMEDIO ENTONCES
ESCRIBIR I, VENTA[I]
FINSI

FINPARA
FIN

2017

Ejemplo:

Suponga Ud. que se desea hacer un programa
relacionado con los 250 empleados de una empresa.
Los datos de cada empleado que el programa va a
necesitar son: el año de ingreso de esa persona a la
empresa, género (F para Femenino y M para
Masculino) y si es profesional o no (Verdadero o
Falso).
Todos esos datos se almacenarán en un único
arreglo.

¿Es posible definir el siguiente arreglo?

2017

Ejemplo:

Diseñe y dibuje de qué manera estructurar el almacenamiento de los
siguientes datos en una única estructura. A y B son matrices de nxn valores
enteros.

¿Dimensión
del arreglo?

La selección de una estructura de datos y de la manera de relacionar dichos datos es
una decisión importante, ya que ello influye decisivamente en el algoritmo que va a
usarse para resolver un determinado problema.

2017

PROGRAMACION= ESTRUCTRAS DE DATOS + ALGORITMOS

Ejemplo:

Lea atentamente el siguiente ejemplo para luego diseñar y dibujar 2 formas
(una, utilizando más de una estructura y otra, utilizando una única estructura)
de cómo estructurar el almacenamiento de todos los datos.

Suponga usted que necesita almacenar datos de los alumnos del nivel
secundario de la Esc. Nº 48 Gral. San Martin. Turno mañana y tarde. Por
cada turno, el nivel secundario posee 6 cursos mixtos (varones y mujeres).
Por cada curso existen 2 divisiones (A y B)

2017

Ejemplo:

Escribir un algoritmo que dado un arreglo de 7 elementos
enteros positivos menores a 5000, los muestre ordenados de
menor a mayor.

Solución:
- Ingresar los elementos en el arreglo.
- Encontrar el menor elemento del arreglo y mostrarlo.
- Repetir la operación anterior para los restantes sin
considerar el elemento ya encontrado.

2017

Se debería controlar
que
los números
i n g r e s a d o s s e a n
positivos y no mayor
que 5000



ALGORITMO “Ordenar”
COMENZAR
V: arreglo [1..7] de entero
I,J, MIN: entero
PARA I DESDE 1 HASTA 7 CON PASO 1 HACER
LEER V[I]
FINPARA
PARA I DESDE 1 HASTA 7 CON PASO 1 HACER
MIN 1
PARA J DESDE 1 HASTA 7 CON PASO 1 HACER

SI V[J] < V[MIN] ENTONCES
MIN J
FINSI

FINPARA
ESCRIBIR V[MIN]
V[MIN] 100000
FINPARA
FIN

2017

Ejemplo:

Escribir un algoritmo que ordene de menor a mayor los elementos de un
arreglo de 7 elementos enteros positivos.

Solución:
- Encontrar el menor elemento del arreglo.
- Intercambiarlo con el primero del arreglo.
- Repetir la misma operac
  • Links de descarga
http://lwp-l.com/pdf12121

Comentarios de: Teoría 8 - Lenguaje de Diseño: Estructuración de Datos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad