Está en la página 1de 14

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Defensa


Universidad Nacional Experimental Politécnica de la Fuerza Armada Nacional
Bolivariana
Maracay – Estado Aragua

PROGRAMACIÓN ESTRUCTURADA

Docente: Lilineth de Jesus M. Integrante: Ronney Matloo


CI: 27.262.543
Brian Rodríguez
CI: 27.820.343
ING DE SISTEMAS
Maracay 5 de mayo 2021

Índice
Introducción...................................................................................................................................3
¿Qué es la programación estructurada?.................................................................................4
Tipos y características de programación estructurada.......................................................4
Ventajas y Desventajas................................................................................................................4
Método de ordenamiento............................................................................................................5
Algoritmos de ordenamiento......................................................................................................6
Algoritmos de intercambio directo...........................................................................................6
Algoritmos de intercambio Logarítmicos................................................................................9
Algoritmos de Búsqueda...........................................................................................................12
Conclusión....................................................................................................................................13

2
Introducción
Las computadoras destacan su funcionamiento precisamente por la
capacidad que tienen de efectuar una gran cantidad de procesos matemáticos y
lógicos que un ser humano no es capaz de hacer en corto tiempo. Estos gracias a
una organización que se de la al manejo de datos y operaciones en el cual la
computadora generara un proceso secuencial en base a la estructuración armada,
todo esto incluyendo la composición y los procesos llevados a cabo por el software
del sistema.
Los avances en la tecnología siempre van parejos con progresos en los
lenguajes de programación y con nuevas ayudas para simplificar el uso
del computador, con lo cual un número mayor de usuarios se beneficia del. Pero la
necesidad de hacer programas para resolver problemas específicos quizás nunca
desaparecerá.

3
¿Qué es la programación estructurada?
La programación estructurada se define como una técnica metodológica
que se utilizada para el desarrollo de programas que está enfocada a la
optimización del proceso de desarrollo de un proyecto de software como lo puede
ser la creación de alguna aplicación u otro proyecto enfocado al área de
programación. Esta optimiza específicamente las áreas de lo que son la calidad de
producción y desarrollo, así como la claridad y la fácil comprensión de un software
y su estructuración haciéndolo así más fácil de comprender al igual que optimizar
el tiempo de desarrollo.
La principal característica que cubre la técnica de la programación
estructurada es que esta contiene la composición fundamental de estar constituida
por segmentos de comandos los que están constituidos desde una instrucción
hasta varias paginas con instrucciones y cada una esta ordenada secuencialmente
para ser leídas de principio a fin sin que se pierda el orden de continuidad en la
que se encuentran constituidas.

Tipos y características de programación estructurada


Las características que definen a la programación estructurada se basan en que
esta parte de ser un paradigma de programación basado en utilizar funciones o
subrutinas, y únicamente tres estructuras de control:

 Secuencia: Donde secuencialmente se ejecuta una sentencia tras otra de manera


ordenada.
 Selección o condicional: Esta genera un conjunto de sentencias que se ejecutan
en base a una variable Booleana especifica del proceso.
 Iteración: Ejecución de sentencia o conjunto de sentencias, mientras la variable
Booleana permanece en verdadero.
En los distintos lenguajes de programación, los condicionales de secuencia vienen
expresados en comandos “if” o “else” y los generadores de bucle descritos por
comandos “for” o “while” de manera dependiente a la sintaxis del lenguaje de
programación.

Ventajas y Desventajas
Entre las ventajas mas destacables de la programación estructurada se
tienen las siguientes virtudes y defectos en su composición.
Ventajas:
 Códigos más fáciles de comprender, esto porque se pueden leer de forma
ordenada, igual que como el mismo computador los lee para ejecutarlos.
 Contamos con mayor optimización en los procesos de desarrollo, como ya
se había mencionado, este tipo de organización esta orientada a mejorar el
rendimiento a la hora de analizar, desarrollar y estructurar un lenguaje de
código siendo que su misma definición expresa una ventaja clara.
 Programas mas simples de estructurar y construir.

4
 Mayor eficiencia en el área de testing, y en la fase de depuración,
corrección de errores, solución a problemas como bugs, o fallas en el
programa.
 Programadores rinden más.
Desventajas:
 Como condición natural de todo elemento que posee ventajas, posee
características negativas, entre estas al existir programas de codificación
extensa, se hace difícil su visualización.
 No permite reutilizar el código.
 Al no aplicar la lógica misma de la P.O.O, esta no puede ser manipulada de
la misma manera o cambiarse a dicha metodología de programación.

Método de ordenamiento
Los métodos de ordenamiento son, como lo indica su nombre, métodos o
herramientas de las que disponemos para ordenar datos, clasificándolos en
conjuntos o estructuras con algún orden relacionado al campo al que pertenezcan
estos datos. Para manejar bien este tema dejemos en claro dos conceptos
citándolos de la RAE teniendo en cuenta el contexto del tema.
Orden: “Relación o respecto de una cosa a otra.”, podemos decir que el orden
define la relación de los datos.
Clave:
“Conjunto de reglas y correspondencias que explican un código de signos.”, para
entenderlo mejor en el contexto, diremos que la clave será el conjunto en donde
ubicamos los datos.
Pero ¿Cómo funciona esto? Podemos dar un ejemplo simple, decimos que una
lista de datos esta ordenada por la clave K, si la lista está en orden con respecto a
la clave anterior. Este Orden puede ser:
− Ascendente: (i <= k[j])
− Descendente: (i > j) entonces (k[i] >= k[j])
Dicho esto, podemos clasificar todo esto en dos tipos de ordenamiento:
Ordenamiento externo: Se caracteriza por que al momento de trabajar los datos
este requerirá de la memoria primaria y secundaria, este proceso trabaja los datos
moviéndolos o transfiriéndolos en bloques de información a la memoria principal,
dentro de la memoria principal estos bloques son ordenados y entonces regresan
a la memoria secundaria.
Ordenamiento interno: Es algo mas simple que el anterior ya que todo el proceso
se lleva a cabo solamente en la memoria principal, permitiéndonos ordenar toda la
información desde esta.

5
Ahora bien, teniendo esta información como base, pasemos a explicarlo en el
funcionamiento interno con los algoritmos de ordenamiento.

Algoritmos de ordenamiento.

Por definición en la computación y en las matemáticas, un algoritmo de


ordenamiento es aquel algoritmo que ordena los valores de una estructura o
vector hacia una nueva posición dada por una relación de orden. En palabras mas
simples, el algoritmo lo que hará será darnos los mismos datos que le
proporcionemos, pero en un orden determinado que satisfaga la relación de orden
que necesitemos.
La funcionalidad e importancia de estos algoritmos recae en la optimización de
gestión de datos, todo con la finalidad de que otros algoritmos o personas puedan
encontrar y utilizar con mayor eficiencia esos datos en caso de necesitarlos.
Esta eficiencia que ofrecen los algoritmos de ordenamiento puede ser definida
bajo algunos criterios, así que nombremos algunos:
Estos algoritmos son calificados en algoritmos de intercambio directo (también
conocidos como cuadráticos) o intercambio logarítmico, conozcamos algunos y
veamos citemos algunos ejemplos para entenderlos mejor.

Algoritmos de intercambio directo.

Método de la Burbuja: Este método puede funcionar de dos maneras.


1. Ordena los elementos mas grandes hacia la derecha.
2. Ordena los elementos mas pequeños hacia la izquierda.
Este método es considerado como el mas simple, se basa en comparar
pares de elementos con todo el resto de elementos existentes, y de acuerdo a
si son mayores o menores que el resto, los ubicara en una posición especifica.
Este proceso será realizado hasta que todos los datos estén correctamente
ordenados.
Para entenderlo mejor:
Supóngase que desean ordenar las siguientes claves del arreglo A,
transportando en cada pasada el menor elemento hacia la parte izquierda del
arreglo.
A: 15 67 08 16 44 27 12 35
Las comparaciones que se realizan son las siguientes:
PRIMERA PASADA

6
a[6]>a[7] (12>35) no hay intercambio
a[5]>a[6] (27>12) si hay intercambio
a[4]>a[5] (44>12) si hay intercambio
a[3]>a[4] (16>12) si hay intercambio
a[2]>a[3] (08>12) no hay intercambio
a[1]>a[2] (67>08) si hay intercambio
a[0]>a[1] (15>08) si hay intercambio
A: 08 15 67 12 16 44 27 35
Obsérvese que el elemento 08 fue situado en la parte izquierda del arreglo.
SEGUNDA PASADA:
a[6]>a[7] (27>35) no hay intercambio
a[5]>a[6] (44>27) si hay intercambio
a[4]>a[5] (16>27) no hay intercambio
a[3]>a[4] (12>16) no hay intercambio
a[2]>a[3] (67>12) si hay intercambio
a[1]>a[2] (15>12) si hay intercambio
A: 08 12 15 67 16 27 44 35 y el segundo elemento más pequeño del
arreglo, en este caso 12, fue situado en la segunda posición. A continuación,
se muestra el resultado de las siguientes pasadas:
3era. Pasada: 08 12 15 16 67 27 35 44
4ta. Pasada: 08 12 15 16 27 67 35 44
5ta. pasada: 08 12 15 16 27 35 67 44
6ta. Pasada: 08 12 15 16 27 35 44 67
7ma. Pasada: 08 12 15 16 27 35 44 67

Método de Selección: Este método funciona de la siguiente manera.


1. Seleccionar el mayor o menor elemento de la estructura.
2. Colocar el elemento en la última o primera posición de le estructura.
El lugar y orden dependerán del elemento que se desee ordenar, veamos el
ejemplo.

7
Arreglo: 15 67 08 16 44 27 12 35
PRIMERA PASADA
menor=A[0] (15) (A[1]
(A[1]<menor) (67<15) no se cumple
(A[2]<menor) (08<15) Si menor=A[2] (08)
(A[3]<menor) (16<08) no se cumple
(A[4]<menor) (44<08) no se cumple
(A[5]<menor) (27<08) no se cumple
(A[6]<menor) (12<08) no se cumple
(A[7]<menor) (35<08) no se cumple
Se intercambia A[2] (08) con A[0] (15)
Arreglo: 08 67 15 16 44 27 12 35
2da: 08 12 15 16 44 27 67 35
3ra: 08 12 15 16 44 27 67 35
4ta: 08 12 15 16 44 27 67 35
5ta: 08 12 15 16 27 44 67 35
6ta: 08 12 15 16 27 35 67 44
7ma: 08 12 15 16 27 35 44 67
Método de inserción directa: Este método es cuanto menos, curioso, ya
que es llamado también como “el método de las cartas” o “el método de la
baraja” ya que se dice que es generalmente usado por los jugadores de
estas. El método consiste en ir ordenando los datos partiendo del lado
izquierdo que se presume esta ordenado, desplazando al resto de
elementos que no lleven el orden y repetir la acción hasta que el conjunto
este ordenado.
Ejemplo.
Arreglo: 15 67 08 16 44 27 12 35
PRIMERA PASADA
A[1]<A[0] (67<15) no hay intercambio
A: 15 67 08 16 44 27 12 35

8
SEGUNDA PASADA
A[2]<A[1] (08<67) sí hay intercambio A[1]<A[0] (08<15) sí hay intercambio
A: 08 15 67 16 44 27 12 35
TERCERA PASADA
A[3]<A[2] (16<67) sí hay intercambio
A[2]<A[1] (16<15) no hay intercambio
A: 08 15 16 67 44 27 12 35
Una vez que se determina la posición correcta del elemento se interrumpen
las comparaciones.
4ta: 08 15 16 44 67 27 12 35
5ta: 08 15 16 27 44 67 12 35
6ta: 08 12 15 16 27 44 67 35
7ma: 08 12 15 16 27 35 44 67

Algoritmos de intercambio Logarítmicos.

Método de inserción por incremento decreciente (Shell): Este método


debe su nombre a su inventor, D. L. Shell, quien nos da una herramienta que
básicamente consiste en dividir la estructura original en otras mas pequeñas,
estas estructuras más pequeñas contendrán elementos que ocupen n espacios, lo
que se procede a hacer es aplicar el método de inserción directa en cada sub
grupo. ¿Pero cuando se detiene esto? Pues permítanme citar:
“El proceso se repite empezando con una k grande y se decrementa
en cada iteración hasta llegar a k = 1.”
Pues bien, vamos con el ejemplo.

9
Método Quicksort: Este método asegura ser una mejora del método de
intercambio directo, pero su proceso va de la siguiente manera.
1. Se selecciona un elemento al azar de la estructura, llamémoslo X.
2. Se busca por la izquierda de la estructura un elemento mayor que X
y se busca por la derecha un elemento menor o igual a X.
3. Si las posiciones de los elementos izquierda derecha no se han
cruzado, entonces intercambia la posición del elemento mayor.
4. Se repetirá el proceso partiendo del paso 2, siempre que no se
crucen las posiciones de los elementos izquierda derecha.
5. Se supone que, al realizar dichos movimientos, el elemento X tendría
que dividir la estructura en dos subestructuras que por un lado serán
menores o iguales a X y por el otro serán mayores, si esto ocurre, se
dice que X esta ordenado.

10
6. Repetir el Quicksort con la subestructura izquierdo y luego con la
subestructura derecha o viceversa.
Lo sé, esto puede llegar a ser muy confuso, pero se entiende mejor en el
ejemplo.
Arreglo: 15 67 08 16 44 27 12 35
Se selecciona A[0], por lo tanto X=15
PRIMERA PASADA
Recorrido de derecha a izquierda:
A[7]>=X (35>=15) no hay intercambio
A[6]>=X (12>=15) sí hay intercambio
A: 12 67 08 16 44 27 15 35
Recorrido de izquierda a derecha:
A[2]<=X (67<=15) sí hay intercambio
A: 12 15 08 16 44 27 67 35
SEGUNDA PASADA
Recorrido de derecha a izquierda
A[5]>=X (27>=15) no hay intercambio
A[4]>=X (44>=15) no hay intercambio
A[3]>=X (16>=15) no hay intercambio
A[2]>=X (08>=15) sí hay intercambio
A: 12 08 15 16 44 27 67 35
Como el recorrido de izquierda y derecha debería iniciarse en la misma
posición donde se encuentra el elemento X, el proceso termina, ya que el
elemento X se encuentra en la posición correcta. Es lo que se explicaba en el
paso 5, ahora tenemos dos subestructuras.
A: 12 08 15 16 44 27 67 35
1er. Conjunto 2do. Conjunto
A: 12 08 15 16 44 27 67 35
A: 12 08 15 16 35 27 44 67
A: 12 08 15 16 27 35 44 67

11
A: 08 12 15 16 27 35 44 67
Estos son algunos de los métodos que emplean logaritmos de
ordenamiento, pero esto claramente nos produce una duda posterior. ¿Y si
queremos encontrar un dato en específico? Pasemos al siguiente tema.

Algoritmos de Búsqueda.
Los algoritmos de búsqueda, como su nombre lo indica, se encargan de
cumplir una búsqueda determinada para una acción o tarea. Su uso más básico es
el de comprobar la existencia de un dato especifico buscado por el programador.
Existen diversos métodos, pero seamos puntuales y describamos el
funcionamiento de 3, el binario, el secuencial y el hash.
Búsqueda Binaria: proporciona una técnica de búsqueda rápida siempre
que la estructura esta ordenada. Un ejemplo muy usado es la comparación con la
búsqueda en un diccionario, para encontrar una palabra que inicie por la M se
procede a moverse por las paginas en dirección a la M, el proceso es continuo
hasta que se encuentre la página donde está la palabra o hasta que se determine
que la palabra no está en dicho diccionario.
Este tipo de búsqueda tiene dos características.
1. La estructura debe estar ordenada.
2. La búsqueda es de acceso aleatorio.
Búsqueda Secuencial: Como su nombre lo indica, este algoritmo busca
secuencialmente, es decir, buscara partiendo desde el primer elemento pasando
por cada casilla de la estructura hasta dar con el dato solicitado o hasta completar
la estructura y determinar que el dato no existe.
Este tipo de búsqueda puede ser útil en estructuras pequeñas usadas para
practicar, pero no es aconsejable en otros casos, ya que su tiempo de respuesta
será proporcional al tamaño de la estructura.
Búsqueda Hash: Este tipo de búsqueda comparte la definición de las
funciones hash, se trata de una manera de generar llaves o Keys casi inequívoca,
que guardan la posición de los diversos elementos, de manera que al solicitar un
dato este se pueda identificar a través de la probabilidad.
Esto produce una seria de ventajas mayores a sus desventajas, pero
siempre hay que tomar en cuenta que para acceder a cada dato solo será posible
por una key.

12
Conclusión
La programación estructurada, en términos generales es una filosofía en la
cual un grupo de programadores puede manejar para mejorar la forma en la que
interactúan entre sí, generan mayor eficiencia, entendimiento y optimizan mejor el
trabajo en equipo que es fundamental para el desarrollo de un programa o como
empresa. Es importante tener en cuenta que, para un programador, es muy
importante conocer el orden con el que trabaja y no optar por un simple método de
brújula donde construye sin saber a dónde ni con conocimientos de lo que quiere
ni lo que tiene.

13
Bibliografía

http://biolab.uspceu.com/aotero/recursos/docencia/TEMA%208.pdf

https://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento

http://mapaches.itz.edu.mx/~mbarajas/edinf/Ordenamiento.pdf

https://www.youtube.com/watch?v=4a5jKXTo22M

https://www.monografias.com/trabajos/progestructu/progestructu.shtml

https://www.ecured.cu/Programacion_estructurada

14

También podría gustarte