Lógica de
Programación
Camino al éxito
Objetivos del encuentro
Estructuras de
Programación
Que vamos a ver hoy?
01 02
Estructuras de Algoritmos de
manejo de datos ordenamiento
Estructuras de manejo de datos
Operador Operación Ejemplo
- Cambio de signo -var1 (cambia el signo que tenía el valor numérico, o sea, es como una multiplicación por -1).
+ Suma var1 + var2 (el resultado es la suma de la variable “var1” y la variable “var2”).
- Resta var1 - var2 (el resultado es la resta de la variable “var1” y la variable “var2”).
* Multiplicación var1 * var2 (el resultado es la multiplicación de la variable “var1” con “var2”).
/ División var1 / var2 (el resultado es la división de “var1” con “var2”).
% Módulo var1 % var2 (el resultado es el resto de la división de “var1” y “var2”).
&& AND lógico var1 && var2 (el resultado es verdadero si ambas son verdaderas y falso en todo otro caso).
|| OR lógico var1 || var2 (el resultado es falso si ambas son falsas y verdadero en cualquier otro caso).
= Asignación de valor var1 = 2 (el resultado es que “var1” ahora tiene el valor 2).
== Verifica igualdad var1 == var2 (el resultado es verdadero si “var1” es igual a “var2”, falso en otro caso).
Verifica la no igualdad
!= var1 != var2 (el resultado es verdadero si “var1” es distinto de “var2” y falso si no lo son).
(distinto)
Estructuras de manejo de datos
Operador Operación Ejemplo
Suma el valor a la derecha de la expresión en la var1 += 2 (en el caso de que “var1” sea igual a 3, el resultado sería
+=
variable a la izquierda igual a 5). Equivalente a var1 = var1 + 2.
Resta el valor a la derecha de la expresión en la var1 -= 2 (en el caso que “var1” sea igual a 3, el resultado sería igual a
-=
variable a la izquierda 1). Equivalente a var1 = var1 – 2.
Valida si la variable a la izquierda es mayor que la
> var1 > var2 (verdadero si el valor de “var1” es mayor que el de “var2”).
de la derecha
Valida si la variable a la izquierda es mayor o igual var1 >= var2 (verdadero si el valor de “var1” es mayor o igual que el
>=
que la de la derecha de “var2”).
Valida si la variable a la izquierda es menor que la
< var1 < var2 (verdadero si el valor de “var1” es menor que el de “var2”).
de la derecha
Valida si la variable a la izquierda es menor o igual var1 <= var2 (verdadero si el valor de “var1” es menor o igual que el
<=
que la de la derecha de “var2”).
++ Aumenta en uno el valor de la variable var1++ (si “var1” es igual a 2, el resultado es igual a 3)
-- Disminuye en uno el valor de la variable var1-- (si “var1” es igual a 2, el resultado es igual a 1).
! Negación, cambia el valor booleano de la variable !var1 (verdadero si “var1” es igual a falso; falso si “var1” es verdadero).
Estructuras de manejo de datos
Arreglos (Arrays)
Son estructuras de datos con tamaño
fijo y que a cada elemento se puede
acceder directamente si se conoce la
posición en el arreglo denominado
“índice”. Los índices en los arreglos
empiezan con el número 0 y termina
con un valor menos de la cantidad de
elementos que puede almacenar, la
cual se especifica cuando se crea.
Estructuras de manejo de datos
Array 0
3
Estructuras de manejo de datos
Arreglos
Array de tipo entero, solo se pueden
almacenar números.
Tiene 5 posiciones, por lo tanto el
índice va del 0 al 4.
Para acceder a un ítem se necesita
saber su índice.
Ejemplo
Promedio de notas
Definición del array
Carga de valores
Recorro el array
Cálculo
Muestra en pantalla
Estructuras de manejo de datos
Matrices
También son conocidas como arrays
multidimensionales, es decir un array
de arrays.
Son estructuras de datos en forma
de tabla, donde especificamos un
índice para fila y otro para columna.
Se necesitan índices para acceder a
los datos y tienen tamaño fijo.
Estructuras de manejo de datos
Días
Ventas 0 1 2 3 4 5 6
0 100 98 96 102 95 90 92
1 99 78 87 92 105 88 79
Semanas
2 95 84 103 84 99 101 99
3 104 99 86 97 89 103 94
Estructuras de manejo de datos
Matrices
Matriz de tipo entero, solo se pueden
almacenar números.
Tiene 4 filas y 7 columnas.
Para acceder a un ítem se necesita
saber su índice de fila y su índice de
columna.
Ejemplo
Total ventas del mes
Definición de matriz
y carga de valores
Recorro la
matriz
y
acumulo
Muestra en pantalla
Estructuras de manejo de datos
Listas
Es un conjunto de elementos de un
tipo dado que se encuentran
ordenados y pueden variar en
número.
Permiten el recorrido de todos y cada
uno de sus elementos, sin saltear
ninguno y en forma ordenada
Estructuras de manejo de datos
Estructura de lista de números (simple enlace)
Listas
Se acceden de manera secuencial
No tienen tamaño fijo
Cada elemento contiene un puntero
hacia el siguiente elemento Estructura de lista de números (doble enlace)
Ejemplo
Recorrer una lista
Definición de lista
Carga de datos
Recorro y muestro
en pantalla
Estructuras de manejo de datos
Arreglo Lista
Acceso Indexado (dado el índice, Secuencial (debemos recorrer desde
accedemos directamente al el primer elemento hasta encontrar lo
elemento) que buscamos)
Tamaño Fijo Variable
Útil cuando Se conoce la cantidad de Se desconoce la cantidad de
elementos. elementos.
Acceso eficiente por índice. Útil cuando la velocidad de acceso al
Ineficiente cuando necesito elemento no es un factor clave.
cambiar la cantidad de Eficiente cuando cambio el tamaño,
elementos. adiciono o elimino un elemento.
Algoritmos de ordenamiento
Ordenamiento
Son un tipo especial de algoritmo
que sirve para ordenar elementos de
un arreglo con un criterio especifico.
Tiene 2 elementos:
Elementos a ordenar: Lista, array u
otra estructura de datos
Criterio de ordenamiento: Regla
para ordenar, mayor a menor,
menor a mayor, etc.
Algoritmos de ordenamiento
Burbuja Árbol Inserción Selección
Algoritmos de ordenamiento
Burbuja
Es el algoritmo de ordenamiento más
simple pero menos eficiente. Se llama
burbuja porque los valores más grandes
se hunden, mientras que los más
pequeños suben como burbujas al inicio
del arreglo.
Algoritmos de ordenamiento
Burbuja
El algoritmo compara elementos de a pares y, si el
arreglo tiene n cantidad de elementos, el método
realiza n-1 iteraciones sobre el arreglo.
Como en cada iteración se detecta el elemento
mayor, cada iteración sucesiva va a ir teniendo un
elemento menos que comparar.
Para una lista de n elementos, requiere n-1 pasadas o
iteraciones.
Burbuja – 1º Iteración
Comparo el elemento de la posición 0 con la 1, es decir: 6 mayor que 4.
como es verdadero lo cambio de posición.
Comparo el elemento de la posición 1 con la 2, es decir: 6 mayor que 2.
como es verdadero lo cambio de posición.
Comparo el elemento de la posición 2 con la 3, es decir: 6 mayor que 5.
como es verdadero lo cambio de posición.
Comparo el elemento de la posición 3 con la 4, es decir: 6 mayor
que 3. como es verdadero lo cambio de posición.
Comparo el elemento de la posición 4 con la 5, es decir: 6 mayor
que 1. como es verdadero lo cambio de posición.
Burbuja – 2º Iteración
Comparo el elemento de la posición 0 con la 1, es decir: 4 mayor que 2.
como es verdadero lo cambio de posición.
Comparo el elemento de la posición 1 con la 2, es decir: 4 mayor que 5.
como es falso no lo cambio de posición.
Comparo el elemento de la posición 2 con la 3, es decir: 5 mayor que 3.
como es verdadero lo cambio de posición.
Comparo el elemento de la posición 3 con la 4, es decir: 5 mayor
que 1. como es verdadero lo cambio de posición.
El último ya está ordenado así que no hago nada.
Burbuja – 3º Iteración
Comparo el elemento de la posición 0 con la 1, es decir: 2 mayor que 4.
como es falso no lo cambio de posición.
Comparo el elemento de la posición 1 con la 2, es decir: 4 mayor que 3.
como es verdadero lo cambio de posición.
Comparo el elemento de la posición 2 con la 3, es decir: 4 mayor
que 1. como es verdadero lo cambio de posición.
Los últimos dos ya están ordenados así que no hago nada.
Burbuja – 4º Iteración
Comparo el elemento de la posición 0 con la 1, es decir: 2 mayor que 3.
Como es falso no lo cambio de posición.
Comparo el elemento de la posición 1 con la 2, es decir: 1 mayor que 1.
Como es verdadero lo cambio de posición.
Los últimos 3 ya están ordenados así que no hago nada.
Burbuja – 5º Iteración
Comparo el elemento de la posición 0 con la 1, es decir: 2 mayor que 1.
como es verdadero lo cambio de posición.
Los últimos 4 ya están ordenados así que no hago nada
Ejemplo
Ordenar array de menor a mayor
Declaración e inicialización
Algoritmo burbuja
Recorro y muestro en
pantalla
GRACIAS
¿Preguntas?
Ing. Ignacio Calzón