0% encontró este documento útil (0 votos)
198 vistas6 páginas

Guía 01 - Estructura de Datos y Python

La guía introduce el concepto de estructura de datos como una colección de datos organizados de cierta manera para facilitar el acceso y modificación de los datos. Explica que las estructuras de datos son herramientas importantes para el desarrollo de algoritmos. Presenta algunas definiciones de estructura de datos y ejemplos de estructuras como vectores, listas y árboles. Finalmente, propone ejercicios prácticos para trabajar con estructuras de datos en Python.
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)
198 vistas6 páginas

Guía 01 - Estructura de Datos y Python

La guía introduce el concepto de estructura de datos como una colección de datos organizados de cierta manera para facilitar el acceso y modificación de los datos. Explica que las estructuras de datos son herramientas importantes para el desarrollo de algoritmos. Presenta algunas definiciones de estructura de datos y ejemplos de estructuras como vectores, listas y árboles. Finalmente, propone ejercicios prácticos para trabajar con estructuras de datos en Python.
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
Está en la página 1/ 6

UNIVERSIDAD TECNOLOGICA DE LOS ANDES

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E


INFORMATICA
ALGORÍTMICA Y PROGRAMACIÓN II

Guía de estudio Nº 01: Concepto de Estructura de Datos.


Fecha: abril 2022
Semestre: 2022-I
I. COMPETENCIAS A LOGRAR
Durante el desarrollo de la guía el estudiante:
● Entiende la definición de Estructura de Datos.
● Entiende la importancia de su implementación y uso.
II. DESARROLLO
Una estructura de datos es una colección de datos que está caracterizada por su
organización y las operaciones que se definen sobre ella. Son las principales
herramientas o recursos que tienen los programadores para el desarrollo de sus
algoritmos. Es difícil pensar en un algoritmo o conjunto de estos que no tenga como
macroestructura de soporte una estructura de datos. Entre las definiciones más
conocidas de estructuras de datos podemos mencionar:
Una estructura de datos es una forma de almacenar y organizar datos para
facilitar el acceso y las modificaciones. Ninguna estructura de datos funciona bien
para todos los propósitos, por lo que es importante conocer las fortalezas y
limitaciones de cada una de ellas. (Cormen at. al., 2009: 9)
Una estructura de datos es una colección de datos (normalmente de tipo simple)
que se caracterizan por su organización y las operaciones que se definen en ellos.
(Quetglás at. al., 1995: 171)
En otras palabras, una estructura de datos es una colección de datos simples o
compuestos –como los registros– con un sentido u orden concreto para quien lo está
utilizando, sobre la cual se definen un conjunto de operaciones que por lo general
describen el comportamiento de la estructura.
La estructura de datos más simple que disponemos es una variable. Con esta podemos
realizar las siguientes operaciones: obtener y modificar su valor de manera directa
utilizando su identificador. Por su parte, un registro define un conjunto de atributos o
campos a los que podemos acceder mediante su identificador y luego utilizar el
operador punto seguido del nombre del campo para acceder a su valor:
“registro.altura”, “registro.peso”.
Existen numerosos tipos de estructuras de datos, generalmente construidas sobre otras
más simples. Por ejemplo, vector, matriz, pila, cola, lista, árboles, montículo, grafos,
archivo, etc. Estas son lineales o no lineales –también llamadas ramificadas– las
mismas pueden ser estáticas o dinámicas. Por lo general, al trabajar sobre estas
estructuras de
Mtr. Ing. William Alberto Chávez Espinoza

UNIVERSIDAD TECNOLOGICA DE LOS ANDES


ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E
INFORMATICA
ALGORÍTMICA Y PROGRAMACIÓN II

datos se suelen contemplar algunas actividades mínimas como insertar, eliminar y


buscar un dato en la misma.

III. DESARROLLO EN LABORATORIO:


Del algoritmo a las estructuras de datos. Para implementar los algoritmos y definir las
estructuras de datos se puede utilizar cualquier lenguaje de programación como C,
Java, Delphi, C++, Javascript, etc. Se decidió por trabajar con el lenguaje Python por
su versatilidad, creciente popularidad y demanda en estos últimos años. A su vez, se
buscó darle un enfoque ágil sin dejar de lado las metodologías estructuradas de estos
temas.
Lenguaje de programación PYTHON
Python es un lenguaje de programación creado por Guido Van Rossum a principios de
los años noventa, es un lenguaje que posee una sintaxis clara y estructurada que
favorece a generar un código legible.
Se trata de un lenguaje interpretado o de script, con tipado dinámico, multiplataforma
y orientado a objetos, además cuenta con una gran cantidad de librerías y frameworks
disponibles. La sintaxis de Python es sencilla y cercana al lenguaje natural.
Python tiene, no obstante, muchas de las características de los lenguajes compilados,
por lo que se podría decir que es semi interpretado. En Python, como en Java, Delphi y
muchos otros lenguajes, el código fuente se traduce la primera vez que se ejecuta a un
pseudo código máquina intermedio llamado bytecode, generando archivos “.py”, que
son los que se ejecutarán en sucesivas ocasiones.
La característica de tipado dinámico se refiere a que no es necesario declarar el tipo de
dato que va a contener una variable, sino que su tipo se determinará en tiempo de
Mtr. Ing. William Alberto Chávez Espinoza

UNIVERSIDAD TECNOLOGICA DE LOS ANDES


ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E
INFORMATICA
ALGORÍTMICA Y PROGRAMACIÓN II

ejecución según el tipo del valor al que se asigne, y el tipo de esta variable puede
cambiar si se le asigna un valor de otro tipo, lo cual le otorga una gran flexibilidad a la
hora de programar.
En los lenguajes con esta característica no se permite tratar a una variable como si
fuera de un tipo distinto al que tiene, es necesario convertir de forma explícita dicha
variable al nuevo tipo previamente. Por ejemplo, si tenemos una variable que contiene
un texto (variable de tipo cadena o string) no podremos tratarla como una variable
numérica, sin previamente realizar una conversión.
Ejemplo 1:
# Programa que suma dos números enteros
num1 = 1.5
num2 = 6.3

# Suma de los números enteros


sum = num1 + num2

# Mostrando el resultado
print('La suma de {0} y {1} es {2}'.format(num1, num2,

sum)) Ejemplo 2:
# Programa que suma dos números enteros ingresados por
teclado num1 = input('Primer número: ')
num2 = input('Segundo número: ')

# Suma de los números enteros


sum = float(num1) + float(num2)

# Mostrando el resultado
print('La suma de {0} y {1} es {2}'.format(num1, num2,

sum)) Ejemplo 3:
# Programa para encontrar el mayor de dos números. Usando
funciones propias.
def maximum(a, b):

if a >= b:
return a
else:
return b

# Definiendo valores para las variables y Llamando a la función

Mtr. Ing. William Alberto Chávez Espinoza

UNIVERSIDAD TECNOLOGICA DE LOS ANDES


ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E
INFORMATICA
ALGORÍTMICA Y PROGRAMACIÓN II

a = 2
b = 4
print(maximum(a, b))

NOTA 1: Calculando el mayor de dos números utilizando funciones de


Python:
a = 2
b = 4

# Función de Python max()


maximum = max(a, b)
print(maximum)

NOTA 2: Calculando el mayor de dos números utilizando el operador


ternario
a = 2
b = 4

# Uso del operador ternario


print(a if a >= b else b)

Ejemplo 4:
# Encontrar la raíz cuadrada de números reales o
complejos # Importación del módulo de matemáticas
import cmath

num = 1+2j

# Entrada de datos.
num = eval(input('Ingrese el número: '))

num_sqrt = cmath.sqrt(num)
print('La raíz cuadrada de {0} es {1:0.3f}+{2:0.3f}j'.format(num
,num_sqrt.real,num_sqrt.imag)

Ejemplo 5:
# Escribir un programa que lea 10 números enteros y
# luego muestre cuántos valores ingresados fueron
# múltiplos de 3 y cuántos de 5. Debemos tener en
# cuenta que hay números que son múltiplos
# de 3 y de 5 a la vez.

numMult3 = 0
numMult5 = 0

Mtr. Ing. William Alberto Chávez Espinoza

UNIVERSIDAD TECNOLOGICA DE LOS ANDES


ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E
INFORMATICA
ALGORÍTMICA Y PROGRAMACIÓN II

for i in range(10):
elemento = int(input("Ingrese el valor del elemento: "))
if elemento % 3 == 0:
numMult3 = numMult3 + 1
if elemento % 5 == 0:
numMult5 = numMult5 + 1
print("Cantidad de elementos múltiplos de 3: " +
numMult3) print("Cantidad de elementos múltiplos de 5: "
+ numMult5)

IV. EJERCICIOS PRÁCTICOS A DESARROLLAR:


1. Desarrollar un programa que realice la resta si el primer número ingresado es
mayor que el segundo y que sume si es menor.
2. Desarrollar un programa que resuelva la ecuación cuadrática.
3. Desarrollar un programa que encuentre el mayor de tres números. Utilice una
función propia.
4. Del ejemplo 5 completar:
a. Mostrar la cantidad de elementos que son múltiplos de 3 y 5
b. Mostrar la cantidad de elementos que no son múltiplos de 3 y 5
c. Crear una función.
Mtr. Ing. William Alberto Chávez Espinoza

También podría gustarte