• No se han encontrado resultados

Estructuras de datos, vectores y matrices. Introducción a la programación

N/A
N/A
Protected

Academic year: 2021

Share "Estructuras de datos, vectores y matrices. Introducción a la programación"

Copied!
26
0
0

Texto completo

(1)

Estructuras de datos,

vectores y matrices

(2)

Estructuras de datos

Una

estructura de datos

es una forma de

organizar

conjuntos de

datos

con el objetivo de

facilitar

su manipulación.

Refrescando algunos

conceptos

:

Datos:

en Python asociados a un

tipo

...

Básicos: números, letras, valores de verdad.

Compuestos: secuencias, diccionarios.

Conjuntos de datos:

varios

datos asociados

o agrupados (o

estructurados) según

algún

criterio.

Manipulación:

“…Un programador debe utilizar

expresiones,

funciones y métodos de forma combinada

para obtener

(3)

Estructuras de datos

En otras palabras...

Las estructuras de datos son

una manera de

representación

creada a partir de los datos,

ubicándose un nivel por encima

(abstracción de datos)

.

Nos permite representar “cosas”

más complejas para

resolver

otro tipo de problemas de forma

más

sencilla

o al menos sin

preocuparnos por los detalles

internos de representación.

(4)

Estructuras de Datos

Ejemplos

listas

, colas, pilas, árboles, matrices, arreglos, etc, etc...

Pueden ser

Propias del

lenguaje

de programación utilizado.

Definidas e implementadas por el

programador

a partir de otras

estructuras o datos disponibles.

En concreto

Una estructura de datos para representar edades de personas,

utilizando Python podría ser:

(5)

Vectores

Representan colecciones de

n

componentes

(también llamados elementos)

Son accedidos por medio de

índices

.

Es un

arreglo de números

(6)

Vectores

Las

implementaciones

varían según lenguaje de

programación, en términos generales:

Son

homogéneos:

componentes son todos del

mismo tipo.

Su tamaño es

estático

,

se definen en tiempo de

compilación.

Contrario a lo que sucede con las

listas (como estructura de datos) en las que su

tamaño es dinámico.

En

Python

se representan por medio de

listas

o

utilizando el módulo

array

(7)

Vectores

Algunas propiedades/operaciones

Igualdad de vectores

Dos vectores son iguales si tienen los mismos elementos

en la misma posición.

Vector nulo

Un vector nulo es aquel en que todos sus elementos son

igual a cero.

(8)

Vectores

Operaciones con Vectores

Suma o resta de vectores

Se suman o restan los elementos en la misma posición y el

resultado es un nuevo vector del mismo tamaño.

V = [ v0, v1, v2, ..., vn-1 ]

W = [ w0, w1, w2, ..., wn-1 ]

(9)

Vectores

Operaciones con Vectores

Producto escalar

Multiplicar todos los elementos de 1 vector por 1 número

(escalar)

e = escalar

V = [ v0, v1, v2, ..., vn-1 ]

(10)

Vectores

Operaciones con Vectores

Producto de Vectores

La multiplicación de vectores

produce un único número

como resultado

V = [ v0, v1, v2, ..., vn-1 ]

W = [ w0, w1, w2, ..., wn-1 ]

V * W = Σ vi * wi (desde i =0, hasta n - 1)

(11)

Ejercicios

Escribir de utilizando iteración las siguientes funciones con

vectores:

Gätgens, hagalo dos veces!

Documente

el código correctamente.

es_vector

resta

vector_nulo

producto_escalar

vectores_iguales

producto_vectores

(12)

Referencias y Lecturas Complementarias

Material suministrado por el profesor Jaime Gutiérrez, Instituto Tecnológico de Costa

Rica. I semestre 2011.

Material suministrado por el profesor Jeff Schmidt, Instituto Tecnológico de Costa

Rica. I semestre 2011.

J. Helo Guzmán, Introducción a la programación con Scheme, Segunda ed. Cartago:

Editorial tecnológica, 2005.

J. Solano, Introducción a la programación en Python, Primera ed. Cartago: Editorial

tecnológica, 2011.

(13)

Las presentaciones para el curso IC-1800:

"Introducción a la Programación" por Ing. En

Computación Alajuela se distribuyen bajo una

Licencia Creative Commons Atribución-Compartir

(14)

Estructuras de datos,

vectores y matrices

Introducción a la programación

(15)

Estructuras de datos

Una estructura de datos es una forma de organizar conjuntos de

datos con el objetivo de facilitar su manipulación.

Refrescando algunos conceptos:

Datos: en Python asociados a un tipo...

● Básicos: números, letras, valores de verdad. ● Compuestos: secuencias, diccionarios.

Conjuntos de datos: varios datos asociados o agrupados (o estructurados) según algún criterio.

Manipulación: “…Un programador debe utilizar expresiones,

funciones y métodos de forma combinada para obtener soluciones a problemas...”

(16)

Estructuras de datos

En otras palabras...

Las estructuras de datos son una manera de representación creada a partir de los datos, ubicándose un nivel por encima

(abstracción de datos).

Nos permite representar “cosas” más complejas para resolver

otro tipo de problemas de forma más sencilla o al menos sin preocuparnos por los detalles internos de representación.

Lego CC-BY-SA-2.0 davestone @ Flickr Lego tower bridge CC-BY-NC-SA-2.0 ukslim @ Flickr

(17)

Estructuras de Datos

Ejemplos

listas, colas, pilas, árboles, matrices, arreglos, etc, etc...

Pueden ser

● Propias del lenguaje de programación utilizado.

● Definidas e implementadas por el programador a partir de otras

estructuras o datos disponibles.

En concreto

Una estructura de datos para representar edades de personas, utilizando Python podría ser:

>>> edades = [23, 22, 20, 18] # ¿Una lista?

(18)

Vectores

Representan colecciones de n componentes (también llamados elementos)

● Son accedidos por medio de índices. ● Es un arreglo de números

(19)

Vectores

Las implementaciones varían según lenguaje de programación, en términos generales:

● Son homogéneos: componentes son todos del

mismo tipo.

● Su tamaño es estático, se definen en tiempo de

compilación. Contrario a lo que sucede con las listas (como estructura de datos) en las que su tamaño es dinámico.

● En Python se representan por medio de listas o

utilizando el módulo array

(20)

Vectores

Algunas propiedades/operaciones

Igualdad de vectores

Dos vectores son iguales si tienen los mismos elementos en la misma posición.

Vector nulo

Un vector nulo es aquel en que todos sus elementos son igual a cero.

(21)

Vectores

Operaciones con Vectores

Suma o resta de vectores

● Se suman o restan los elementos en la misma posición y el

resultado es un nuevo vector del mismo tamaño. V = [ v0, v1, v2, ..., vn-1 ]

W = [ w0, w1, w2, ..., wn-1 ]

V + W = [v0 + w0, v1 + w1, v2 + w2, ..., vn-1 + wn-1 ]

Suma o resta de matrices:

se opera sobre las

mismas posiciones en ambas matrices y se crea una

nueva con el mismo tamaño

Producto escalar:

1 vector por un número,

multiplicada cada elementos del vector por un

número.

(22)

Vectores

Operaciones con Vectores

Producto escalar

● Multiplicar todos los elementos de 1 vector por 1 número

(escalar) e = escalar

V = [ v0, v1, v2, ..., vn-1 ]

V * e = [ v0 * e, v1 * e, v2 * e ..., vn-1 * e]

Suma o resta de matrices:

se opera sobre las

mismas posiciones en ambas matrices y se crea una

nueva con el mismo tamaño

Producto escalar:

1 vector por un número,

multiplicada cada elementos del vector por un

número.

(23)

Vectores

Operaciones con Vectores

Producto de Vectores

● La multiplicación de vectores produce un único número

como resultado

V = [ v0, v1, v2, ..., vn-1 ] W = [ w0, w1, w2, ..., wn-1 ]

V * W = Σ vi * wi (desde i =0, hasta n - 1)

V * W = v0 * w0 + v1 * w1 + v2 * w2 + ... + vn-1 * wn-1

Producto de vectores:

genera 1 número y se

puede explicar como la suma de todas las

multiplicaciones de los elementos en la misma

posición de los vectores.

(24)

Ejercicios

Escribir de utilizando iteración las siguientes funciones con vectores:

Gätgens, hagalo dos veces!

Documente el código correctamente.

es_vector resta

vector_nulo producto_escalar

vectores_iguales producto_vectores suma

(25)

Referencias y Lecturas Complementarias

Material suministrado por el profesor Jaime Gutiérrez, Instituto Tecnológico de Costa Rica. I semestre 2011.

● Material suministrado por el profesor Jeff Schmidt, Instituto Tecnológico de Costa Rica. I semestre 2011.

● J. Helo Guzmán, Introducción a la programación con Scheme, Segunda ed. Cartago: Editorial tecnológica, 2005.

● J. Solano, Introducción a la programación en Python, Primera ed. Cartago: Editorial tecnológica, 2011.

(26)

13

Las presentaciones para el curso IC-1800:

"Introducción a la Programación" por Ing. En

Computación Alajuela se distribuyen bajo una

Licencia Creative Commons Atribución-Compartir

Igual 3.0 Costa Rica.

http://creativecommons.org/licenses/by-sa/3.0/cr/http://creativecommons.org/licenses/by-sa/3.0/cr/

Referencias

Documento similar

[r]

Planta. Croquis del jPabeücn/ destinado a l¿v /nulcrnideid en el Hospital en construcción/ de ¿os 1 J

Para ello ir a: 'Alumnado' (1) > seleccionar un alumno de PFQB > 'Datos Matrícula' (2) > ir al desplegable de 'Gestión de Contenidos ' (3) y seleccionar 'Gestionar con-

Cla^celebridad mas honrofa. dos Querubines muy grandes: Veth i^jtraculo dúos.. Los dos Querubines grandes fueron colocados en el Alear de los otros dos Queru- bines pequeñosj y

pygmaeus mostraron en el análisis por citometría de flujo un potencial de membrana muy superior al de fibroblastos control (Figura 10.A). Este aumento es también en este

SUBSANACIÓN ERROR 41 => El centro tiene que tener toda su plantilla docente con su correspondiente fecha de nacimiento (Centro > Menú Principal > Personal >

SUBSANACIÓN ERROR 41 => El centro tiene que tener toda su plantilla docente con su correspondiente fecha de nacimiento (Centro > Menú Principal > Personal >

Tener > 20 % de sitios con gingivitis, > 5 % de sitios con retracción gingival y > 70 % de sitios con pérdida de inserción periodontal > 2 mm, incrementó la media