{CIP-23 S1}

¿Cómo funcionan las computadoras?

Leonardo
Santiago

Founder

@Kodemia

2000- 2001

2003 - 2013

2013 - 2017

2018 - Hoy

2017 - 2018

Charles

Silva

Head of engineering / Co. Founder

@Kodemia

# CIP-23

Horarios y

Días de clases

Lunes a Viernes de 7 a 10 pm

2 semanas

# CIP-23

Las reglas

- Camara encendida mientras se está en clase

 

- El micrófono apagado en todo momento, encender solo al interactuar

- Revisaremos 2 o 3 prácticas en clase para comprensión de todos por tiempo

# CIP-23

Canales oficiales

- Avisos

 

- Prácticas

- Links a materiales

{CIP-23 S2}

Algoritmos y diagramas de flujo

# CIP

Repaso

# CIP

Revisemos los ejercicios...

Inicio
Escribir "Ingresa longitud de un lado de tu triangulo equilatero"
Leer longitud
perimetro = longitud * 3
Escribir "El périmetro del triangulo es:" perimetro
Terminar

perímetro = lado + lado + lado

Algoritmo para...

Calcular el perímetro de un triángulo

Inicio
Escribir "Ingresa longitud de un lado de tu cuadrado"
Leer longitud
perimetro = longitud * 4
Escribir "El périmetro del cuadrado es:" perimetro
Terminar

perímetro = lado + lado + lado + lado

Algoritmo para...

Calcular el perímetro de un cuadrado

Inicio
Escribir "Ingresa el número de lados de tu poligono regular"
Leer num_de_lados
Si num_de_lados < 3 Entonces
    Escribir "Eso no es un poligono, intenta de nuevo"
    Ir a linea 2
Escribir "Ingresa longitud de un lado de tu poligono"
Leer longitud
Si longitud <= 0
    Escribir "Eso no es posible, intenta de nuevo"
    Ir a linea 7
perimetro = num_de_lados * longitud
Escribir "El périmetro del poligono es:" perimetro
Terminar

Algoritmo para...

Calcular el perímetro de cualquier polígono regular

perímetro = num_de_lados * lado

?

# CIP

Diagramas de flujo

¿Que es un diagrama de flujo?

Herramienta visual que se utiliza para representar los pasos o procesos de un algoritmo o sistema

 

Se usan para analizar, diseñar, documentar y comunicar procesos de forma clara

 

Nos ayudan a encontrar errores incluso antes de programar

# CIP

Simbología

Terminal

Entrada / Salida

Proceso

Representa el inicio y final de un proceso

Representa la entrada y salida de datos

Representa cualquier operación

Línea de flujo

Decisión

Conector de página

Marca el orden secuencial de los procesos y subprocesos

Se usa para representar una decisión y las diferentes posibilidades 

INICIO
Escribir "Vamos a preparar un sandwich"
Escribir "¿Tienes pan?"
Leer hay_pan
Si hay_pan == "Si" Entonces
    pan_1 = 🍞
    pan_2 = 🍞
Si no
    Escribir "No puedes hacer un sandwich sin pan :c"
    FIN

Escribir "¿Tienes jamon?"
Leer hay_jamon
Si hay_jamon == "Si" Entonces
    jamon = 🐷
Si no
    Escribir "No puedes hace un sandwich sin jamon :c"
    FIN

Escribir "¿Quieres tu sandwich con mayonesa?"
Leer "quires_mayonesa"
Si quieres_mayonesa == "Si"
    Escribir "¿Tienes mayonesa?"
    Leer hay_mayonesa
    Si hay_mayonesa == "Si"
        mayonesa = 🍯
    Si no
        Escribir "Ve a comprar mayonesa"
        FIN	
    	
Escribir "Podemos empezar a preparar el sandwich"
Si quieres_mayonesa == "Si" Entonces
    Asiganr sandwich = pan_1 + mayonesa + jamon + pan_2
Si no 
	Asignar sandwich = pan_1 + jamon + pan_2
    
Escribir "Sandwich listo!"
FIN
# CIP
# Práctica

Práctica 1

Realizar el pseudocódigo y diagrama de flujo para obtener el perímetro de cualquier polígono regular

20 min

- Validar los datos de entrada y volver a preguntar por un dato válido en caso de que el ingresado no lo sea

# Práctica

Práctica 2

Realizar el pseudocódigo y diagrama de flujo para permitir a un usuario realizar las siguientes operaciones con 2 números:

- Suma

- Resta

- Multiplicación

- División

20 min

- Validar los datos ingresados

- No debería permitir dividir entre 0

{CIP-23 S3}

Scratch

# CIP
# CIP
# CIP

Nuestro primer script

"Hola mundo koders" en scratch

# CIP
Inicio
Escribir "Ingresa el número de lados de tu poligono regular"
Leer num_de_lados
Si num_de_lados < 3 Entonces
    Escribir "Eso no es un poligono, intenta de nuevo"
    Ir a linea 2
Escribir "Ingresa longitud de un lado de tu poligono"
Leer longitud
Si longitud <= 0
    Escribir "Eso no es posible, intenta de nuevo"
    Ir a linea 7
perimetro = num_de_lados * longitud
Escribir "El périmetro del poligono es:" perimetro
Terminar

Practiquemos...

Calcular el perímetro de cualquier polígono regular

En scratch

{CIP-23 S4}

Lenguajes de programación e

introducción a python

# CIP-23 S4

Recapitulemos

Ya sabemos...

 

- Cómo funcionan las computadoras

- Lo que es un algoritmo

- Pensamiento estructurado

- Pseudocódigo

- Diagramas de flujo

# CIP-23 S4

Recomendación

Canal de YouTube: Bits And Bytes

 

Videos explicativos sobre cómo funcionan las computadoras

 

https://www.youtube.com/@bitsandbytestvo/videos

¿Lenguaje de programación?

Lenguaje formal/artificial que permite a una persona definir instrucciones para ser cumplidas por una computadora

Lenguajes de programación

Python

C

C++

JavaScript

Scala

Swift

Ruby

PHP

Java

C#

Cobol

Kotlin

Elixir

Go

Rust

Ensamblador

Clasificación por nivel de abstracción

Python

C

C++

JavaScript

Scala

Swift

Ruby

PHP

Java

C#

Cobol

Kotlin

Elixir

Go

Rust

Ensamblador

Bajo nivel

Alto nivel

Binario

# CIP-23 S4

Clasificación por paradigmas

Imperativos

Programas usando secuencias de instrucciones explicitas que van mutando 

el estado de la aplicación

Declarativos

Programas especificando el resultado que quieres obtener no el cómo obtenerlo

Lisp, Prolog

C, Basic, Pascal

Estructurados

Programas mas limpiamente, los gotos no existen y se usan loops y condicionales en su lugar

C, Pascal

# CIP-23 S4

Clasificación por paradigmas

Funcionales

El flujo de control es controlado por llamadas a funciones en lugar de asignar valores a variables

Orientados a objetos

Programas declarando objetos y enviando mensajes entre ellos

Java, C++, C#, Ruby, Python, JavaScript

Elixir, Erlang, Haskell, Lisp, Scala, JavaScript

Orientados a eventos

Programas usando emisores y escuchas de eventos, declarando cuando reaccionar y cuando lanzar eventos

JavaScript, Python

# CIP-23 S4

Clasificación por paradigmas

Multiparadigma

Estos lenguajes de programación soportan diferentes paradigmas de programación y pueden conbinarlos

JavaScript, Python, Kotlin, Java, Swift, ...

# CIP-23 S4

Clasificación por tipo de ejecucion

Compilados

Cuentan con un compilador, un programa que toma el código fuente y lo traduce a código máquina para que la computadora pueda entenderlo

C, C++, Go, Rust, Java, Kotlin, Swift

Interpretados

Cuenta con un intérprete, un programa que toma el código fuente y lo ejecuta directamente sin pasar por compilación

JavaScript, Python

  • Sintaxis
  • Semántica
  • Estructuras de control
    • Bucles
    • Condicionales
  • Variables
  • Sistema de tipos

Elementos de un lenguaje de programación

Es la forma visible del lenguaje

Al ser puramente textuales, la sintaxis es la forma en la que se escribe el lenguaje

Sintaxis

Restricciones en la forma de escribir y hacer declaraciones 

Semantica

Condicionales

Estructuras de control

Bucles

  • For
  • While

Se usan para ejecutar selectivamente ciertas sentencias cuando la condición dada se cumple

Se usan para ejecutar repetidamente un grupo de sentencias hasta que se cumpla una condición especifica

  • If
  • Else-if

Variables

Una variable es un espacio en memoria al que le asignamos un valor

  • Este valor le asignamos un nombre para poder hacer referencia a el posteriormente
  • Este valor puede cambiar a través del tiempo
# Python
nombre_del_ususario = "Juan Perez"


// JavaScript
let NombreDelUsuario = "Juan Perez"

// C++
// tipo nombreDeVariable = valor
string nombreDeUsuario = "Juan Perez"

Sistema de tipos

Son los tipos de datos que una variable puede albergar, estos dependen del lenguaje de programación pero generalmente son:

  • Número (1,-2,10,500,...)
  • Decimal / Flotante (1.1, 3.25, -5.02, ...)
  • Carácter de texto ("a", "b", "c", ...)
  • Texto / Cadena de caracteres / Strings ("Hola")
  • Lógico / Booleano (True o False)

Aprendamos Python

Ahora...

Pero antes...

Aprendamos Python

Ahora si...

¿Qué es python?

  • Lenguaje de programación
  • Creado por Guido van Rossum en 1991
  • Interpretado
  • Multipropósito
  • Multiparadigma
  • Multiplataforma

¿Para que se usa python?

  • Desarrollo Web
  • Scripting de sistemas
  • Desarrollo de software
  • Ciencia de datos
  • Machine learning
  • Prototipado
  • Etc.

¿Por qué usar python?

  • Multiplataforma
  • Es fácil de aprender por su sintaxis
  • Fue diseñado para ser fácil de leer

YA! a escribir código 👉

Sintaxis

print("Hola koders")

print('Hola koders')

print("Hola", 'koders')
# Sintaxis

Hola mundo Koders

Escritura de texto

# Esto es un comentario en python
print("hola koders") # Esto tambien es un comentario
# Sintaxis

Comentarios

Los comentarios no son parte de las instrucciones, no se ejecutan como instrucciones

# Numeros enteros
x = 1

# Numeros con punto flotante
average = 9.9

# Cadenas de texto o Strings
name = "Pepito"

# Logicos o Booleanos
is_awesome = True
is_boring = False

# Listas (Arreglos)
koders = [ "Kari", "Vic", "Max", "Mike" ]
grades = [ 8, 9.9, 5, 1 ]

# No hay una palabra reservada para declarar variables
# Sintaxis

Variables

# nombres validos
mivariable = "ok"
mi_variable = "ok"
_mi_variable = "ok"
mi_variable_1 = "ok"
miVariable = "ok"

# nombres invalidos
1_mi_variable = "NO"
mi-variable = "NO"
mi variable = "NO"
# Sintaxis

Variables, reglas de nombrado

No empezar con número

No puede contener espacios

No se puede usar guiones medios o caracteres especiales fuera del _

# CamelCase
miNombreDeVariable = "kodemia"

# PascalCase o UpperCamelCase
MiNombreDeVariable = "kodemia"

# SnakeCase
mi_nombre_de_variable = "kodemia"
# Sintaxis

Variables, convenciones de nombrado

Nosotros usaremos SnakeCase

# Podemos usar la función isinstance() para validar el tipo de dato
# y type() para conocer el tipo de dato de una variable

# int
x = 1 
type(x) # int
isinstace(x, int) # True


# float
average = 9.9
type(average) # float
print(isinstace(average, float)) # True

# str
name = "Pepito"
type(name) str
print(isinstace(name, str)) # True

# bool
is_awesome = True
is_boring = False
type(is_awesome) # bool
print(isinstace(is_awesome, bool)) # True
print(isinstace(is_boring, bool)) # True

# list
koders = [ "Kari", "Vic", "Max", "Mike" ]
grades = [ 8, 9.9, 5, 1 ]
type(koders) # list
print(isinstace(koders), list) # True
print(isinstace(grades), list) # True
# Sintaxis

Variables y tipos de datos

# el valor None lo usamos para determinar explicitamente 
# que no existe un valor

# NoneType
x = None
# Sintaxis

El tipo None

# Usamos la función input() 
# para recibir datos del ususario

nombre = input("Ingresa tu nombre:")
# Sintaxis

Recibir datos del usuario

# Práctica

Práctica 1

Crear un programa que le pida al usuario su nombre y lo salude usando su nombre

5 min

# Suma
x + y

# Resta
x - y

# Multiplicación
x * y

# Division
x / y

# Módulo
x % y

# Exponenciación
x ** y
# Sintaxis

Operadores aritmeticos

# Práctica

Práctica 2

Crear un programa para calcular el perimetro de cualquier poligono regular

5 min

- Los valores no necesitan ser dados por el usuario

- No enfocarse en validaciones por el momento

# Conversion a int con la función int()
x = int(1) # x seria 1
y = int(5.5) # y seria 5
z = int("1") # z seria 1

# Conversión a float con la función float()
x = float(1)     # x seria 1.0
y = float(6.6)   # y seria 6.6
z = float("33")   # z seria 33.0
w = float("41.2") # w seria 41.2

# Conversión a str con la función str()

x = str("a1") # x seria 'a1'
y = str(2)    # y seria '2'
z = str(3.0)  # z seria '3.0'
w = str(True) # w seria 'True' 
j = str(False) # j seria 'False'
# Sintaxis

Conversiones o "casting"

#CIP-23 S7

Práctica 2.1

Crear un programa para calcular el perimetro de cualquier poligono regular

5 min

- Los valores DEBEN ser dados por el usuario

- No enfocarse en validaciones por el momento

#CIP-23 S7

Práctica 3

Crear un programa que solicite al usuario un número y le imprima la siguiente información:

- El doble del número

- La mitad del número

- La diferencia entre ese número y el número 100

- El residuo de dividir ese numero entre 3

 

5 min

- No enfocarse en validaciones por el momento, asumir que el usuario ingresa un valor numérico

{CIP-23 S5}

Condicionales

Condicionales

Condicionales

Condición

Verdadero

Falso

Instrucción

Instrucción

Instrucción

Instrucción

Condicionales

numero > 5

Verdadero

"el número es mayor a 5"

numero = 10

if numero > 5:
  print(numero, " es mayor a ", 5)

print ("Esto se ejecuta sin importar la condicion")

if

Condicionales

numero = 10

if numero > 5:
  print(number, " es mayor a ", 5)

print ("Esto se ejecuta sin importar la condicion")

if  

numero > 5

Verdadero

"el número es mayor a 5"

Condicionales

numero = 10

if numero > 5:
  print(number, " es mayor a ", 5)

print ("Esto se ejecuta sin importar la condicion")

if  

numero > 5

Verdadero

"el número es mayor a 5"

Condicionales

numero = 10

if numero > 5:
  print(number, " es mayor a ", 5)

print ("Esto se ejecuta sin importar la condicion")

if  

numero > 5

Verdadero

"el número es mayor a 5"

number = 10

if number > 5:
  print(number, " es mayoar a ", 5)
# Sintaxis

Indentanción

  • La indentación indica que instrucciones pertenecen a cierto bloque
  • Indentar mal, causará errores en la lógica (bugs) o directamente errores de sintaxis

Condicionales

numero > 5

Verdadero

Falso

"el número es mayor a 5"

"el número es menor o igual a 5"

if ... else ...

numero = 10

if numero > 5:
  print(numero, " es mayoar a ", 5)
else:
  print(numero, " es menor o igual a ", 5)

if ... else 

# Sintaxis

if ... elif ... else

numero > 5

Verdadero

"el número es mayor a 5"

"el número es menor o igual a 5 pero no es 0"

número == 0

Falso

Falso

Verdadero

"el número es exactamente 0"

"el número es menor o igual a 5 pero no es 0"

numero = 10

if numero > 5:
  print(numero, " es mayoar a 5")
elif numero = 0:
  print(numero, " es igual a 0")
else:
  print(numero, " es menor o igual a 5"
# Sintaxis

if ... elif ... else

# Igual
x == y

# Diferente
x != y

# Mayor que
x > y

# Menor que
x < y

# Mayor o igual
x >= y

# Menor o igual
x <= y
# Sintaxis

Operadores de comparación

# y
and
x > 1 and y < 5

# o
or
x > 1 or y < 5

# no
not
not x > 1
# Sintaxis

Operadores logicos

#CIP-23 S7

Práctica 4

Crear un programa que solicite un número al usuario e imprima en consola "par" si el número es par o "impar" si el número es impar

15 min

- No enfocarse en validaciones por el momento (asumir que el valor ingresado es un número)

#CIP-23 S7

Práctica 5

Crear una calculadora permita:


- sumar

- restar

- dividir

- multiplicar

- potenciar

 

2 números

15 min

- Asumir que el usuario ingresará solo valores numéricos

{CIP-23 S6}

Bucles o Loops

# Sintaxis

Bucles o Loops

# Sintaxis

Mientras o "While"

contador = 1

while contador < 10:
  print("contador: ", contador)
  contador = contador + 1
#CIP-23 S7

Práctica 6

Crear un programa para calcular el perímetro de cualquier polígono regular

 

Usa el "while" para asegurarte de que los valores ingresados por el usuario son válidos

10 min

#CIP-23 S4

Práctica 7

Crear un programa que imprima los numeros del 1 al 100 y en cada número divisible entre 3 imprima "Fizz" junto al número, en cada número divisible entre 5 "Buzz" junto al número y FizzBuzz si es divisible entre ambos

15 min

2

3 - Fizz

5 - Buzz

6 - Fizz

8

9 - Fizz

10 - Buzz

15 - FizzBuzz

y así hasta el 100

- Todo esto usando while

# Sintaxis

Para o "for"

for x in range(0, 10):
  print(x)
# Sintaxis

la función range

range(5) # 0,1,2,3,4

range(1,5) # 1,2,3,4

range (-2, 5) # -2, -1, 0, 1, 2, 3, 4

- El range no incluye el límite superior

#CIP-23 S4

Práctica 8

Crear un programa que imprima la tabla de multiplicar (1 al 10) de un número ingresado por el usuario

5 min

Ej. si n=5

En terminal debe verse:

5x1=5

5x2=10

5x3=15

5x4=20

5x5=25

y asi hasta el 10

#CIP-23 S4

Práctica 9

Crear un programa que imprima los numeros del 1 al 100 y en cada número divisible entre 3 imprima "Fizz" junto al número, en cada número divisible entre 5 "Buzz" junto al número y FizzBuzz si es divisible entre ambos

5 min

2

3 - Fizz

5 - Buzz

6 - Fizz

8

9 - Fizz

10 - Buzz

15 - FizzBuzz

y así hasta el 100

#CIP-23 S4

Práctica 10

Crear un programa para generar los primeros N números de la serie de fibonacci, Donde N es un número determinado por el usuario

15 min

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144

{CIP-23 S7}

Arreglos, Arrays o Listas

Arreglos / Arrays / Listas

Pepe

Se usan para almacenar múltiples valores en una sola variable

koders

0

1

2

3

4

5

6

7

Luis

Jess

Ana

Fer

Raul

Vic

Max

Indice

Longitud = 8

Un arreglo es una colección ordenada de valores

# CIP

Pepe

koders

0

1

2

3

4

5

6

7

Luis

Jess

Ana

Fer

Raul

Vic

Max

koders = ["Pepe", "Luis", "Jess", "Ana", "Fer", "Raul", "Vic", "Max"]

Este arreglo se ve así en python:

Listas en pyhon

# CIP

Pepe

koders

0

1

2

3

4

5

6

7

Luis

Jess

Ana

Fer

Raul

Vic

Max

koders = [
  "Pepe",
  "Luis",
  "Jess",
  "Ana",
  "Fer",
  "Raul",
  "Vic",
  "Max"
]

También puede escribirse en varias lineas

# CIP

Pepe

koders

0

1

2

3

4

5

6

7

Luis

Jess

Ana

Fer

Raul

Vic

Max

koders = ["Pepe", "Luis", "Jess", "Ana", "Fer", "Raul", "Vic", "Max"]

koders[0] # Pepe

koders[7] # Max

koders[3] # Ana

koders[10] # ERROR

Usamos los índices para acceder a los valores del arreglo

⚠️ Los indices son numericos ⚠️

# CIP
koders = ["Pepe", "Luis", "Jess", "Ana", "Fer", "Raul", "Vic", "Max"]

koders[-1] # Max

koders[-2] # Vic

koders[-3] # Raul

koders[-10] # ERROR

Índices negativos

# CIP
frutas = ["manzana", "piña", "uva", "platano"]

numeros = [10, 1, 50]

mezclado = ["manzana", 1, "piña", True, None]
# CIP

Los arreglos pueden guardar valores de diferentes tipos a la vez

el_elegido = 5

koders = ["Pepe", "Luis", "Jess", "Ana", "Fer", "Raul", "Vic", "Max"]

koders[el_elegido] # Raul
# CIP

Los índices pueden ser variables

# Práctica

Práctica 11

Crear un programa que dada una lista de koders, imprima el koder que se encuentre en el índice especificado por el usuario

5 min

⚠️ La lista no debe ser dada por el usuario aun

koders = ["Pepe", "Luis", "Jess", "Ana", "Fer", "Raul", "Vic", "Max"]

len(koders) # 8

frutas = ["manzan", "piña", "mango", "coco"]

len(frutas) # 4

vacio = []

len(vacio) # 0

# Podemos guardar ese dato en una variable
longitud = len(koders)

La función len()

# CIP

Podemos usar la función len() para saber la longitud de un arreglo

# Práctica

Práctica 12

Crear un programa que imprima todos los elementos de un arreglo junto a su indice

5 min

⚠️ La lista no debe ser dada por el usuario aun

# Práctica

Práctica 13

Crear un programa que imprima todos los elementos de un arreglo junto a su indice hasta el indice dado por el usuario

10 min

⚠️ La lista no debe ser dada por el usuario aun

# Práctica

Práctica 14

Crear un programa que promedie las calificaciones de un alumno

10 min

⚠️ Las calificaciones no son dadas por el usuario

⚠️ Las calificaciones son hardcodear en un arreglo en nuestro programa

{CIP-23 S8}

Métodos de array

# Sintaxis

El for para las listas

koders = ["Pepe", "Luis", "Jess", "Ana", "Fer", "Raul", "Vic", "Max"]

for item in koders:
  print(item)
 

Podemos usar for para iterar una lista

Métodos de array

koders = ["Pepe", "Luis", "Jess", "Ana", "Fer", "Raul", "Vic", "Max"]

koders.clear()

len(koders) # 0

Usamos la función .clear() para vaciar un array

koders = ["Pepe", "Luis", "Jess", "Ana", "Fer", "Raul", "Vic", "Max"]

koders.append("Kari") 
# ["Pepe", "Luis", "Jess", "Ana", "Fer", "Raul", "Vic", "Max", "Kari"]

Usamos .append() para agregar un nuevo elemento al final del array

Podemos ver mas métodos de Array en W3Schools

# Práctica

Práctica 15

Crear un programa que imprima todos los elementos de un array usando el loop "for"

5 min

⚠️ Debe usarse el loop for

# Práctica

Práctica 16

Crear un programa que cuente cuántos elementos de cada tipo hay dentro de un array

10 min

⚠️ Considerar los tipos bool, str, int y float

💡 Recuerda la función isinstance()

# Práctica

Práctica 17

Crear un programa que imprima los elementos de un array pero en orden inverso al original

5 min

⚠️ Ver la lista de métodos de arreglo

# Práctica

Práctica 18

Crear un programa que le pida al usuario ingresar una lista de nombres, el número de nombres permitido es indeterminado

 

Una vez el usuario no desee ingresar más nombres, el programa le da al usuario la siguiente información:

 

- Cuantos nombres se ingresaron

- Si existen al menos un valor repetido o no

- Cual es el nombre más largo de todos los ingresados

- Cual es el nombre más corto de todos los ingresados

20 min

# Práctica

Práctica 19

Crear un programa que le pida al ususario ingresar una lista de nombres, el numero de nombres permitido es indeterminado

 

Una vez el usuario no desee ingresar más nombres.

 

el programa preguntará al usuario un nombre y regresará el índice del nombre ingresado

10 min

{CIP-23 S9}

Funciones

# Funciones

Funciones

Funciones

Entrada

Salida

Proceso

Funciones

Entrada

Salida

Proceso

Proceso

Suma

Funciones

Entrada

Salida

Proceso

Proceso

Suma

2

2

Funciones

Entrada

Salida

Proceso

Proceso

Suma

2

2

4

Sintaxis

def nombre(parámetro_1, parametro_2, etc):
  # Instrucciones de la función

Funciones

Entrada

Salida

Proceso

Proceso

Suma

2

2

4

def suma(x, y):
  resultado = x + y
  return resultado

Funciones

# Definición 
def suma(x, y):
  resultado = x + y
  return resultado

# Llamada
suma(2,2)
# Práctica

Práctica 20

Crea una función que reciba como parámetro un nombre y salude usando ese nombre

5 min

# Práctica

Práctica 21

Crea una función que reciba como parámetro una lista de nombres y regrese el nombre más largo de la lista

7 min

# Práctica

Práctica 22

Crea una función que reciba como parámetro una lista de nombres y regrese el nombre más corto de la lista

5 min

# Práctica

Práctica 23

Crea una función que reciba como parámetro una lista de nombres y regrese True si la lista contiene al menos un valor repetido y False cuando la lista no contiene valores repetidos

7 min

# Práctica

Práctica 24

Crea una función que reciba como parámetro una lista de calificaciones y regrese el promedio de las calificaciones

7 min

# Práctica

Práctica 25

Crea un función que reciba como parámetro una lista de nombres y te devuelva la lista de valores repetidos en esa lista 

15 min

# Práctica

Práctica 26

Crea un función que reciba como parámetro una lista de nombres y te devuelva la misma lista pero con los nombres escritos en mayusculas

15 min

# Práctica

Práctica 27

Crea un función que reciba 2 parametros:

- una lista de números

- un número

y regrese una lista con los todos los números que son mayores al número dado como segundo parametro

15 min

# Práctica

Práctica 28

Crea un función que reciba 2 parámetros:

- una lista de nombres

- un número

y regrese una lista con los todos los nombres cuyas longitudes sean más grandes que el número dado como segundo parametro

15 min

# Práctica

Práctica 29

Crear un programa que cree un archivo llamado "prueba.txt"

# min

⚠️ Usa W3Schools para encontrar la información necesaria

# Práctica

Práctica 30

Crear un programa que escriba una nueva linea en un archivo

# min

⚠️ Usa W3Schools para encontrar la información necesaria

# Práctica

Práctica 31

Crear un programa que lea el contenido de un archivo y lo imprima en consola

# min

⚠️ Usa W3Schools para encontrar la información necesaria

# Funciones

Python modules

from archivo import funcion

from calculadora import suma

import calculadora
# CIP

from ... import

{CIP-23 S10}

El comienzo...

# CIP

¿Para que me sirve aprender a programar?

  • Automatizar trabajo o tareas
  • Hacer mi trabajo más rápido o con menos recursos
  • Tratamiento y análisis de datos
  • Conseguir un empleo

¿Que me conviene aprender si quiero conseguir un empleo como programador?

  • Depende...
# CIP

Existen diferentes roles en la industria de la tecnología

  • Desarrollo Web
  • Desarrollo Mobile
  • Back End
  • Front End
  • Tester / QA
  • Base de datos
  • SysOps / Devops / SRE
  • Data science
# CIP

Desarrollo mobile

  • Android
    • Kotlin
    • Java

 

 

 

  • iOS
    • Swift

Kotlin

Java

Swift

# CIP

Tester / QA

  • Mobile
    • Swift
    • Kotlin
    • Test suites
  • Web
    • Javascript
  • Servicios / Backend
    • JavaScript
    • HTTP y protocolos
    • Postman
    • Proxyman
    • Test suits
# CIP

Base de datos

  • SQL
  • PostgreSQL
  • MySQL
  • Linux
  • Administración de servidores
# CIP

SRE

Site Relaiability Engineer

  • Linux
  • Sistemas operativos
  • Cloud
  • AWS
  • GCP
  • Docker
  • Kubernetes (K8s)
# CIP

Data scientist

 

  • Python
  • Pandas
  • Jupyter notebooks
  • probabilidades y estadistica
# CIP

Desarrollo web

  • Front End
    • JavaScript (no es Java)
  • Back End
    • JavaScript (Node)
    • Python
    • Java
    • PHP
    • Ruby
    • Go
    • Bases de datos
# CIP

CIP-23 Python

By Carlos Silva

CIP-23 Python

  • 25