0% encontró este documento útil (0 votos)
5 vistas28 páginas

Estructuras y Algoritmos en Programación

El documento aborda la lógica de programación, centrándose en estructuras de manejo de datos como arreglos, matrices y listas, así como en algoritmos de ordenamiento. Se explican operadores y operaciones básicas, junto con ejemplos prácticos de cómo implementar estas estructuras y algoritmos. También se detalla el algoritmo de ordenamiento burbuja, su funcionamiento y un ejemplo de uso.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas28 páginas

Estructuras y Algoritmos en Programación

El documento aborda la lógica de programación, centrándose en estructuras de manejo de datos como arreglos, matrices y listas, así como en algoritmos de ordenamiento. Se explican operadores y operaciones básicas, junto con ejemplos prácticos de cómo implementar estas estructuras y algoritmos. También se detalla el algoritmo de ordenamiento burbuja, su funcionamiento y un ejemplo de uso.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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

También podría gustarte