Sei sulla pagina 1di 27

Python for DataScience

Fundamentals
CONTENIDO DEL CURSO

FUNDAMENTALS INSTRUCCIONES ESTRUCTURAS OBJETOS


• Introducción a Python • Instrucciones de control • Arreglos lineales (Listas, • Introducción a la
• Configuración de secuenciales Tuplas y Diccionarios) Programación Orientada
Ambiente a Objetos
• Instrucciones • Matrices
• Elementos del Lenguaje Condicionales • Clases y Objetos
• Introducción a la
• Instrucciones Repetitivas Programación Modular • Herencia
• Instrucciones de • Funciones • Sobre escritura de
Transferencia métodos
INSTRUCTOR

• Chapter Lead BigData Architect


at BCP
• Docente de informática
(PHP, R, PYTHON)
Python Fundamentals
Introducción: Que es Python?
Lenguaje de programación de propósito general.

• De alto nivel
• Dinámico
• Interpretado
• Multiplataforma
Introducción: Por Que Python?
• A Good first programming language
• Clear, simple and conventional syntax
• Legible code
• Seems pseudocode, Good to learn
programming
• A lot of libraries, Simple, Quickly, Fun
• Is Free
• Has a large community
Introducción: TOP LANGUAGES PROGRAMAS
Introducción: Typical Programs
• CLIs
• GUI desktop apps
• Web Banckend Applications
• Robots and Hardwate
• Scientific computing
Introducción: El principio de Pareto
• Pareto enunció un principio en el que
establecía que en el mundo unos pocos
(aproximadamente un 20 %) tienen una gran
influencia sobre el mismo, frente a un 80 %
que tienen una influencia mucho menor.
• Este principio es aplicable a multitud de
situaciones, como por ejemplo sucede en el
caso de los idiomas. Con las 300 palabras más
usadas del inglés se pueden formar el 65% de
todo el material escrito en inglés.

Aprendiendo el 20 % de los comandos más usados en


Python, podrás escribir completamente el 80% de los
programas existente en Python.
Configuración de Ambiente

https://realpython.com/python-development-visual-studio-code/
Elementos del Lenguaje
Variables, Operadores, mecanismos I/O
Elementos del Lenguaje: Conceptos Clave
Algoritmos
Es una secuencia ordenada y finita de pasos que
Red de Contenidos permite resolver un problema.
• La algoritmia es un pilar fundamental de las
ciencias de la computación puesto que provee
métodos de solución de problemas, que serán
Variables y implementados en los programas de
Operadores computadora.
• Un Algoritmo es computacional, cuando puede
ser ejecutado en una computadora
Instrucciones
Funciones Estructuras Objetos
de control

Programa
Pseudocódigo Un programa es un conjunto de instrucciones expresadas
mediante un lenguaje de programación como Java, C,
A las instrucciones de un programa escritas en un lenguaje de C++, etc.
programación se denomina código fuente. Antes de escribir el código
• Un programa surge ante la necesidad de
fuente, el programador escribe un pseudocódigo, esto es, una automatizar la solución de un problema
imitación del código. Como imitación del código, el pseudocódigo no
tiene reglas formales, varía de un programador a otro. • Todo algoritmo tiene tres etapas claramente
diferenciadas: entrada de datos, proceso de cálculo
y salida de resultados.
Elementos del Lenguaje: Variables y Operadores

VARIABLES Operadores
• Una variable es el nombre asignado a una zona (casilla) • Aritméticos:
de la memoria RAM durante la ejecución de un
programa con la finalidad de almacenar un dato o valor
• Todas las variables deben ser declaradas antes de ser
utilizadas. Declarar una variable consiste en especificar
su nombre y el tipo de dato que almacenará
• En el nombre de una variable deben tenerse en cuenta
las siguientes reglas: • Comparación:
Operadores Significado
• Debe comenzar con una letra, un símbolo de subrayado (_) o un
símbolo de dólar ($). Los siguientes caracteres pueden ser letras, == igual
dígitos, símbolos de subrayado (_) o símbolos de dólar ($). != distinto
• No puede ser una palabra reservada del lenguaje. > mayor
• Las mayúsculas y minúsculas se consideran diferentes >= mayor o igual
< menor
• Tipos: <= menor o igual
is mismo objeto
is not distinto objeto
https://www.cheatography.com/diegojserrano/cheat-sheets/python-variables-y-operadores/
Elementos del Lenguaje: Mecanismos de I/O
• Entrada de datos ETAPAS DE DESARROLLO DE UN
ALGORITMO COMPUTACIONAL

I
• Declaración de variables

• Entrada de datos
• Salida de Resultados II

III
• Proceso de cálculo

IV
• Salida de resultados

Estrategia General para plantear la


• Asignación Resolución de Problemas
Computacionales
Para recordar:
✓Un algoritmo es un método para resolver un problema expresado mediante una serie de
pasos.
✓El código fuente de un programa se obtiene expresando las instrucciones de un
algoritmo mediante un lenguaje de programación.
✓El pseudocódigo es la expresión del algoritmo mediante un lenguaje informal de pseudo
programación que es una imitación de uno a más lenguajes de programación.
✓Una variable es el nombre de una localización o casillero de memoria RAM en el que se
puede guardar un dato.
✓Antes de usar una variable, primero hay que declararla.
✓Declarar una variable consiste en especificar su tipo de dato y su nombre.
✓Una sentencia de asignación es una instrucción que almacena un valor en la memoria
RAM.
✓Los operadores aritméticos pueden utilizarse con tipos enteros y reales. Si ambos
operandos son enteros, el resultado es un entero; si alguno de ellos es real, el resultado
es real.
Instrucciones de Control
Secuenciales, Condicionales, Selección Múltiple, Repetitivas y de transferencia
Instrucciones Secuenciales
• Una instrucción de secuencia es aquella en la que
las instrucciones están una a continuación de la
otra siguiendo una secuencia única
• Ejemplo:
• Diseñe un programa que determine el área total (A) y el
volumen (V) de un cilindro del que se conoce su radio (r) y su
altura (h). Considere las siguientes fórmulas:
𝐴=2𝜋𝑟(𝑟+ℎ) y 𝑉=𝜋 𝑟2ℎ
Algoritmo
----------------------------
Inicio
// Declaración de variables
real r, h, are, vol
// Entrada de datos
Leer r, h
// Proceso de cálculo
are = 2*3.1416*r*(r+h)
vol = 2*3.1416*r*r*h
// Salida de resultados
Imprimir are, vol
Fin
-----------------------------
Instrucciones Secuenciales
Una tienda ha puesto en oferta la venta de un producto ofreciendo un 11% de descuento sobre el importe de
la compra. El importe de la compra se calcula multiplicando el precio del producto por la cantidad de unidades
adquiridas. El importe a pagar se calcula restando el importe de la compra menos el importe del descuento.
Como incentivo especial, la tienda obsequia 2 caramelos por cada unidad adquirida. Dado el precio del
producto y la cantidad de unidades adquiridas, diseñe un algoritmo que determine el importe de la compra, el
importe del descuento y el importe a pagar.
Algoritmo
Inicio
// Declaración de variables
real pre, impcom, impdes, imppag
entero can, car
// Entrada de datos
Leer pre, can
// Cálculo de importes
impcom = can*pre
impdes = 0.11*impcom
imppag = impcom – impdes
car = 2*can
// Salida de resultados
Imprimir impcom, impdes, imppag, car
Fin
Instrucciones Condicionales
• La estructura de selección doble if...else (si…sino)
• Evalúa una “expresión lógica” y en caso que resulte
verdadera efectúa la “sentencia 1”; de lo contrario,
efectúa la “sentencia 2”.
• Estructura de selección simple if….
• Evalúa una condición lógica y, en caso resulte
verdadera, efectúa la “sentencia 1”. En caso que la
condición resulte falsa, continúa con la siguiente
instrucción del programa.
• En ambas situaciones anteriores, las sentencias
pueden ser simple (una sola acción) o compuesta
(bloque de acciones)
Instrucciones Condicionales: Ejemplo
Una tienda vende un producto a
precios unitarios que dependen de Algoritmo
la cantidad de unidades adquiridas Inicio
// Declaración de variables
de acuerdo a la tabla adjunta: entero unidades;
real impcom = 0, impdes, imppag
Adicionalmente, si el cliente // Entrada de datos
Leer unidades
adquiere más de 50 unidades la // Calcula el importe de la compra
tienda le descuenta el 15% del si(unidades >= 1 && unidades <= 25)
impcom = unidades*27.5
importe de la compra; en caso si(unidades >= 26 && unidades <= 50)
contrario, sólo le descuenta el 5% impcom = unidades*25.5
si(unidades >= 51 && unidades <= 75)
del importe compra. impcom = unidades*27.5
si(unidades >= 76)
Diseñe un programa que determine impcom = unidades*27.5
// Calcula el importe del descuento
el importe de la compra, el importe si(unidades > 50)
del descuento y el importe a pagar impdes = 0.15*impcom
sino
por la compra de cierta cantidad de impdes = 0.05*impcom
unidades del producto. // Calcula el importe a pagar
imppag = impcom - impdes;
// Salida de resultados
Unidades adquiridas Precio unitario Imprimir impcom, impdes, imppag
1 a 25 27.7 Fin
26 a 50 25.5
51 a 75 23.5
76 en adelante 21.5
Instrucciones Condicionales: Ejemplo
En una oficina de empleos categorizan a los postulantes en función del sexo y de la edad de acuerdo con lo
siguiente:
• Si la persona es de sexo femenino: categoría FA si tiene menos de 23 años y FB, en caso contrario.
• Si la persona es de sexo masculino: categoría MA si tiene menos de 25 años y MB, en caso contrario.
Dado el sexo y la edad de un postulante, diseñe un programa que determine su categoría.
Inicio
// Declaración de variables
entero sexo, edad
cadena categoria
// Entrada de datos
Leer sexo, edad
// Determina la categoría
si( sexo == 0 ){
si( edad < 23 )
categoria = "FA"
sino
categoria = "FB"
}
sino{
si( edad < 25 )
categoria = "MA"
sino
categoria = "MB"
}
// Salida de resultados
Imprimir categoria
Fin
Instrucción de Selección Múltiple
• La estructura de selección múltiple
(switch) permite seleccionar una
ruta de entre varias rutas posibles
basándose en el valor de una
variable selector que se compara
con una lista de constantes enteras
o de carácter c1, c2, c3, ..., cn.
Cuando se encuentra una
correspondencia entre el valor de la
variable selector y una constante,
se ejecuta la acción o el grupo de
acciones asociadas a dicha
constante. Si el selector no coincide
con ninguna constante, se efectúa
la acción por defecto, si es que
existe.
Instrucción de Selección Múltiple : Ejemplo
Un centro comercial ha Algoritmo
decidido hacer un obsequio a Inicio
// Declaración de variables
los clientes cuyo importe total entero numbolo
pagado es mayor de S/. 500. real imptotpag
cadena obsequio
Para obtener el obsequio, el // Entrada de datos

cliente debe extraer un bolo Leer imptotpag, numbolo


// Determina el obsequio
de una urna que contiene 50 si (imptotpag > 500) {
segun (numbolo) {
bolos numerados del 1 al 50. caso 10:
Con el número del bolo, el obsequio = "Una agenda"
salir
obsequio se obtiene de la caso 20:
tabla adjunta. Dado el obsequio = "Un reloj"
salir
importe total pagado y el caso 30:
número del bolo, diseñe un obsequio = "Una memoria USB“
salir
programa que determine el caso 40:
obsequio correspondiente. obsequio = "Un perfume"
salir
defecto:
obsequio = "Una pelota"
}
// Salida de resultados
Imprimir obsequio
}
sino
Imprimir "No le corresponde ningún obsequio"
Fin
Instrucciones Repetitivas
Se denominan estructuras repetitivas o estructuras de repetición a aquellas
estructuras que permiten repetir instrucciones. A las estructuras repetitivas se
conocen también como estructuras iterativas o bucles, a las instrucciones a repetir
se conocen como el cuerpo del bucle y al hecho de repetir la secuencia de
instrucciones se denomina iteración. En el caso del lenguaje Java, tenemos tres
tipos de estructuras repetitivas: las estructuras while, do...while y for.
Instrucciones Repetitivas: Consideraciones
CONTADORES ACUMULADORES
Un contador es una variable que se utiliza para contar el número Un acumulador es una variable que se utiliza para acumular o
de ocurrencias de un suceso o el número de veces que se cumple totalizar cantidades de una misma especie: sueldos, edades,
una determinada condición. El proceso de conteo se efectúa, pesos, etc. El proceso de acumulación consiste en
generalmente, de uno en uno y consiste en incrementar en 1 a la incrementar la variable que sirve de acumulador en la
variable conteo cada vez que ocurre el evento o suceso que se cantidad que se pretende acumular. Antes de iniciar el
proceso de acumulación, el acumulador debe ser inicializado
pretende contar. Antes de iniciar el proceso de conteo, el contador en 0.
debe ser inicializado en 0.
Por ejemplo, se necesita un acumulador para determinar:
Por ejemplo, se necesita un contador para determinar:
• El sueldo total de los empleados de una empresa
• La cantidad de veces que se hizo clic en un botón
• La suma total de las notas de un alumno
• La cantidad de notas ingresadas
• La suma total de los pesos de un grupo de personas
• La cantidad de notas desaprobatorias
• La suma total de las edades de un grupo de personas
• La cantidad de notas desaprobatorias
• La cantidad total de unidades vendidas de un producto
• La cantidad de ventas efectuadas
• Etc.
• Etc.
Instrucciones Repetitivas: Contadores y Acumuladores
Una empresa desarrolladora de software ha
puesto a la venta licencias de su programa de
edición de video “Video Edit 2.0” a los siguientes
costos unitarios:
• Cobre $ 510
• Bronze $ 1500
• Silver $ 3100
• Gold $ 4500
Diseñe un programa que permita ingresar, por
cada venta, el tipo de licencia y la cantidad de
licencias, y muestre luego de cada venta:
• El importe a pagar para la venta efectuada.
• El importe total recaudado de cada tipo de
licencia.
• La cantidad de licencias vendidas de cada tipo
de licencia.
• La cantidad de ventas efectuadas de cada tipo
de licencia.
Para recordar
✓Las instrucciones secuenciales se efectúan de arriba hacia abajo, por
lo que si en un cierto punto del programa se requiere el valor de una
variable, esta debe haber sido asignada previamente.

Potrebbero piacerti anche