Módulo 3. Estructuras de La Programación
Módulo 3. Estructuras de La Programación
Estructuras de la programación
Video de inmersión
Video de habilidades
Cierre
Referencias
Descargá la lectura
Lección 1 de 7
Video de inmersión
Verify to continue
We detected a high number of errors from your
connection. To continue, please confirm that
you’re a human (and not a spambot).
C O NT I NU A R
Lección 2 de 7
Tema 1. Operadores
Revisaremos los operadores que se pueden utilizar con los diferentes tipos
de datos. A algunos de ellos ya los hemos utilizado en algunos ejemplos.
Los operadores permiten manipular los datos, existen operadores que
necesitan dos variables, como suma o resta, y otros que pueden manipular
solo una variable, como el aumento en uno.
var1 + var2
+ Suma Numérico
el resultado es la suma de la variable
var1 y la variable var2
var1 - var2
- Resta Numérico
el resultado es la resta de la variable
var1 y la variable var2
var1 * var2
* Multiplicación Numérico
el resultado es la multiplicación de la
variable var1 con var2
var1 / var2
/ División Numérico
el resultado es la división de var1 con
var2
var1 % var2
% Módulo Entero
el resultado es el resto de la división
de var1 y var2
var1 || var2
|| OR lógico Lógico
el resultado es falso si ambas son
falsas y verdadero en todo otro caso
var1 = 2
Según tipo
= Asignación de valor
el resultado es que var1 ahora tiene el de dato
valor 2
Var1 1
Según tipo
Asignación de valor
el resultado es que var1 ahora tiene el de dato
valor 2
var1 == var2
== Igual Lógico
el resultado es verdadero si var1 es
igual a var2, falso en otro caso
var1 != var2
var1 += 2
var1++
var1- -
Los operadores, junto con las variables y estructuras de datos, son las
bases para el desarrollo de software, que permiten llevar a cabo acciones
de acuerdo con el valor de dichas variables y el resultado de los operadores.
Tema 2. Arreglos
A los tipos de datos básicos revisados en el módulo anterior, le podemos
sumar los tipos de datos complejos, que son un conjunto de datos
agrupados para formar una estructura. Los arreglos son estructuras de
datos que permiten almacenar un conjunto de variables del mismo tipo. Por
ejemplo, podemos tener un arreglo que contenga los números 2, 3, 5, 2 u
otro que contenga las palabras: gaseosa, vino, agua.
Los índices en los arreglos que empiezan con el número cero y terminan
con un valor menos que la cantidad de elementos que puede almacenar,
esta cantidad se especifica cuando se crea el arreglo.
Figura 1: Dibujo arreglo de 5 ítems
Ejercicio
Solución
–
Dentro de las opciones que puedes considerar, podrías leer el nombre del estudiante en una variable —
como en la primera solución— o leer directamente en el ejemplo, como en la segunda solución.
Figura 8: Solución 1
Figura 9: Solución 2
Fuente: elaboración propia a base del software PSeInt (Novara, 2021).
Tema 3. Matrices
Las matrices son estructuras de datos que permiten almacenar datos en
forma de tabla, en donde especificamos un índice para la fila y otro para la
columna. Son iguales que los arreglos, en el sentido que necesitan índices
para acceder a los elementos y son de tamaño fijo. La principal diferencia
entre un arreglo y una matriz es que, con esta última, necesitamos dos
índices, uno para indicar la fila y otro para indicar la columna. Se les
reconoce también como arreglos de dos dimensiones.
Por lo tanto, en el primer ciclo de las filas, podremos revisar todos los
ejemplos de esa fila y, luego, avanzamos a la siguiente corrida de
elementos.
Figura 13: Recorrer matriz
Recuerda
Dimensión: arreglo[5]
Índice: de 0 a 4
Punteros
Ejercicio
Solución
–
En este caso, tenemos claro que solo tendremos dos columnas, una para el nombre del producto y otra
para la cantidad, es por eso que no es necesario hacer un ciclo anidado, podemos hacer referencia
directa a la columna 0 para el nombre y a la columna 1 para la cantidad. Solo hacemos un ciclo que nos
permita recorrer las filas, que, en este caso, son 25, es por eso que el índice va de 0 a 24.
Tema 4. Listas
Las listas son otra estructura de datos muy importante, la cual difiere de los
arreglos y matrices en dos aspectos fundamentales:
La lista anterior es de tipo simple enlace, ya que tiene un solo puntero hacia
el siguiente elemento.
Recuerda
Otro tipo es la lista doble enlace, en esta lista, cada elemento posee un
puntero o referencia no solo al siguiente, sino también al elemento anterior.
Tanto las listas como los arreglos son muy utilizados y tienen sus ventajas y
desventajas, por lo que, a la hora de elegir qué estructura de datos utilizar,
los debemos tener en cuenta:
Arreglo Lista
Secuencial (debemos recorrer
Indexado (dado el índice, accedemos
Acceso desde el primer elemento hasta
directamente al elemento).
encontrar el que buscamos).
Tamaño Fijo. Variable.
Útil cuando… Sabemos de antemano la cantidad de No sabemos la cantidad de
elementos. Al ser indexado, el acceso elementos de antemano. Es útil
es muy eficiente, por lo que se puede cuando la velocidad de acceso al
tener en cuenta para aplicaciones elemento no es un factor clave. Al
que necesiten alto rendimiento. No es no requerir cambio de tamaño, la
eficiente tener que recrear el arreglo
todo el tiempo porque necesitamos adición y eliminación de un
más espacio. elemento es muy eficiente.
C O NT I NU A R
Lección 3 de 7
Los elementos que van a ordenar: esto puede ser una lista, un
arreglo u otra estructura de datos.
Computacionalmente alto:
Ejercicio
1. Algoritmo 1: O(n2).
2. Algoritmo 2: O(n).
3. Algoritmo 3: O(2*n).
Solución
–
Supongamos que ordenaremos 15 elementos. El costo de los algoritmos sería el
siguiente:
1. Algoritmo 1: O(n2) = O (152) = O(225)
2. Algoritmo 2: O(n) = O (15)
3. Algoritmo 3: O(2*n) = O (2*15) = O(30)
Como regla general, se sabe que, mientras más chico sea el resultado de lo
que está dentro de los paréntesis, mejor y más simple será el algoritmo.
Como n siempre es menor que 2*n y que n2, se puede concluir que el
algoritmo 2 es el mejor.
Tema 1. Burbuja
El algoritmo burbuja es uno de los algoritmos más simples (pero también
más ineficientes) de ordenamiento, compara elementos de a pares y, si el
arreglo tiene n cantidad de elementos, el método realiza n-1 iteraciones
sobre el arreglo (debido a que compara cada elemento con todos los demás
que no han sido procesados). Como en cada iteración se detecta el
elemento mayor, cada iteración sucesiva va a ir teniendo un elemento
menos que comparar.
El método burbuja no tiene la inteligencia de detectar si el arreglo ya está
ordenado, por lo que siempre se hacen n-1 iteraciones sobre este, sin
importar el estado de inicio.
Como se indicaba antes, se realizan n-1 iteraciones, este arreglo posee (n)
7 elementos, y la cantidad de iteraciones son (n-1) 6.
1. Primera iteración
2. Segunda iteración
3. Tercera iteración
4. Cuarta iteración
5. Quinta iteración
6. Sexta iteración
a. Comparamos 2 con 4, el orden se encuentra correcto, por lo
que dejamos los valores en la misma posición.
La primera iteración es la única que recorre todos los elementos del arreglo,
ya que no se ha encontrado ningún elemento mayor. Es importante notar
que, desde la segunda iteración, la cantidad de comparaciones disminuye,
pues los últimos elementos se encuentran en sus posiciones correctas.
de O(n2 ) y, como vimos en el ejercicio del ítem anterior, este valor es muy
ineficiente.
Ejercicio
Solución
–
El orden de un arreglo se puede realizar con cualquier tipo de dato, en este caso, utilizaremos
caracteres, los cuales se ordenan de A Z cuando es ascendente y Z A cuando es descendente.
Para nuestro ejercicio, haremos un orden descendente, cantidad de iteraciones es (n-1) donde n es la
cantidad de elementos.
Elemento: n = 4
Iteraciones: n-1 = 3
más bajo que O(n2), en especial, cuando son muchos los elementos para
ordenar.
La principal característica de un árbol binario es que cada nodo puede tener
hasta dos nodos hijos. Si se tiene en cuenta esto, se explicará, paso a paso,
el algoritmo con un ejemplo.
Nodo:
Ejercicio
Solución
–
En este caso, el arreglo posee valores numéricos, considerando valores decimales.
Sin embargo, la comparación de los valores se realiza de la misma forma en que lo
realizamos anteriormente.
Tema 3. Inserción
El ordenamiento por inserción utiliza el siguiente algoritmo:
1 Tomar el primer elemento del arreglo y copiarlo a un nuevo
arreglo.
Ya al final del arreglo, está el número seis, como último elemento. Este es
mayor que cinco, pero menor que siete, por lo que va a posicionarse a la
derecha de cinco y a la izquierda de siete.
Ejercicio
Solución
–
Para ordenar palabras debes considerar cada una de las letras de la palabra.
Revisemos cada uno de los casos:
Gato, la letra de inicio es menor que la letra de inicio del elemento perro, por lo
que debemos incluirlo antes.
Perico, al igual que el ejemplo anterior, tenemos la letra P de perico que es igual
P de perro. La siguiente letra a comparar es E de perico y E de perro, como
siguen siendo iguales, consideramos la siguiente letra. Comparamos R de
perico y R de perro. Como siguen siendo iguales, continuamos hasta encontrar
una letra diferente. Las siguientes letras para comparar son I de perico y R de
perro, en esta oportunidad, sabemos que I es anterior a R, por lo que ponemos la
palabra perico antes de perro.
Tema 4. Selección
El ordenamiento por selección establece que, para ordenar un arreglo, se
deben seguir los siguientes pasos:
Ejercicio
Solución
–
Cuando tenemos números y caracteres dentro de los elementos, considerando que
los números también pueden ser representados como caracteres, estos van antes
que las letras y son considerados como palabras.
Por ejemplo:
Si queremos ordenar los siguientes números: 20-30-1-21-200, estos valores
ordenados como números quedarían de la siguiente manera: 1 – 20 – 21 – 30 – 200.
Sin embargo, si se ordenan como caracteres, se rigen las mismas reglas que en el
ejercicio pasado, queda: 1 – 20 – 21 – 200 – 30.
Esto sucede porque el 3 va posterior al 2. Intenta realizar este orden dentro de una
planilla Excel, cambiando el tipo de datos de la celda a texto.
Video de habilidades
Verify to continue
We detected a high number of errors from your
connection. To continue, please confirm that
you’re a human (and not a spambot).
if a > b
a>b
if(a > b)
(a > b)
SUBMIT
if.
while.
else.
for.
end.
SUBMIT
En el ejemplo del “if-else” que evalúa los números que son positivos y
negativos, si suponemos que el número 0 no es ninguno de los dos, entonces el
algoritmo no funciona correctamente, es necesario agregar otro “if-else” para
que contemple el caso del número 0 y solo funciona cuando el número que
evalúa no es 0.
Verdadero.
Falso.
SUBMIT
SUBMIT
Verdadero.
Falso.
SUBMIT
C O NT I NU A R
Lección 5 de 7
Cierre
Operadores
–
Estos permiten manipular los datos, existen operadores que necesitan dos variables,
como suma o resta, y otros que pueden manipular solo una variable, como el
aumento en uno.
Arreglos
–
Son estructuras de datos que permiten almacenar un conjunto de variables del
mismo tipo.
Listas
–
Son secuenciales debido a que cada elemento contiene un puntero hacia el
siguiente elemento. Es por ello que siempre que busquemos un elemento en una
lista, debemos empezar por el primero, ya que este tiene el puntero hacia el segundo.
El criterio de ordenamiento.
Algoritmo burbuja
–
El algoritmo burbuja es uno de los algoritmos más simples (pero también más
ineficientes) de ordenamiento. Se denomina burbuja debido a que los valores más
bajos se hunden hacia el final del arreglo, mientras que los valores más altos suben
como burbujas hacia el inicio del arreglo.
Algoritmo árbol
–
Este algoritmo utiliza una estructura especial llamada árbol binario para poder
ordenar los elementos dentro de un arreglo u otro tipo de estructura. La estrategia se
basa en construir el árbol, elemento por elemento, los cuales se insertan
directamente de manera ordenada. Luego, se obtienen los elementos recorriendo el
árbol construido.
Algoritmo inserción
–
El ordenamiento por inserción utiliza el siguiente algoritmo:
Algoritmo selección
–
El ordenamiento por selección establece que, para ordenar un arreglo, se deben
seguir los siguientes pasos:
2. Buscar el segundo menor valor del arreglo e intercambiarlo por el elemento que
se encuentra en la segunda posición.
C O NT I NU A R
Lección 6 de 7
Referencias
C O NT I NU A R
Lección 7 de 7
Descargá la lectura