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

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

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

Publicado el 30 de Junio del 2018
457 visualizaciones desde el 30 de Junio del 2018
7,4 MB
32 paginas
Creado hace 8a (01/01/2016)
Teoría Nº 6



Lenguaje de Diseño:



Estructuración de Datos



Primer Cuatrimestre 2016

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



2016

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.

2016

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.

2016


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

2016

Objetos?

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

2016

¿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

2016

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.

2016

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

2016

100 Objetos?

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


2016



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

2016

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.

2016

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


ESTRUCTURACIÓN DE DATOS

Características:


primitivos.

4 toda estructura se construye a partir de objetos

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

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

de las mismas.

Nos concentraremos en la estructuras de memoria principal


2016

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

2016

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

2016

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

2016

Declaración de un Arreglo:

VENTA: arreglo[1..100] de real

<Nombre>

:

arreglo

[ Li .. Ls]

de

<tipo>

2016

Usos y operaciones:

VENTA[15]

VENTA[I]

VENTA[K+5]

Asignar un valor

Operación

(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)

VENTA[20]

K 20
VENTA[K+5]
VENTA[25]
VENTA[10]

≡ VENTA[20 +5] ≡

30

J 13 * J + VENTA[I]

2016



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

2016

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?

2016

Ejemplo:

Diseñe y dibuje de que 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.

PROGRAMACION= ESTRUCTRAS DE DATOS + ALGORITMOS

2016

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.

2016

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

2016

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 operación para los restantes sin
considerar al elemento ya ordenado.

2016

Ejemplo:
estado inicial:

21 35 17 8 14 42 2

1º intercambio:

2 35 17 8 14 42 21

2º intercambio:

2 8 17 35 14 42 21

3º intercambio:
4º intercambio:

2 8 14 35 17 42 21
2 8 14 17 35 42 21

5º intercambio:
6º intercambio:

2 8 14 17 21 42 35
2 8 14 17 21 35 42

2016

Objetos:
V - arreglo de enteros a ordenar.
I,J - variables índice del arreglo.
MIN - variable auxiliar que indica el índice donde se

encuentra el elemento mínimo.

VAL_MI - variable auxiliar usada para el intercambio

de valores.

2016

Versión 1:

t1 - Ingresar los elementos del arreglo.
t2 - Repetidamente mientras el arreglo no esté
ordenado, buscar el menor del arreglo, luego
colocarlo en la posi
  • Links de descarga
http://lwp-l.com/pdf12255

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


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad