Return to Video

Python para informática: Capítulo 1 - Introducción

  • 0:00 - 0:04
    Hola. Bienvenidos a
    Python para informática.
  • 0:04 - 0:05
    Veremos el capítulo I.
  • 0:05 - 0:08
    Soy Charles Severance
    de la Universidad de Michigan,
  • 0:08 - 0:14
    autor y conferencista en línea
    de este 1er capítulo del libro.
  • 0:15 - 0:19
    Esta conferencia, como las
    diapositivas y el libro,
  • 0:19 - 0:23
    son contenido libre,
    materiales libres.
  • 0:23 - 0:26
    Tienen licencia de atribución de
    Creative Commons,
  • 0:26 - 0:29
    lo mismo que este video.
  • 0:29 - 0:34
    Menciono esto por la importancia
    de los derechos de autor.
  • 0:34 - 0:36
    REQUISITO: INSTALAR PYTHON
  • 0:36 - 0:40
    Así que... si no lo han hecho todavía,
    por favor, instalen Python.
  • 0:40 - 0:42
    Tendrán que hacerlo
    tarde o temprano,
  • 0:42 - 0:45
    y mejor hacerlo antes
    de la conferencia.
  • 0:45 - 0:47
    Podrían verla sin tener Python,
  • 0:47 - 0:50
    pero si lo instalan podrán
    probar algunas cosas,
  • 0:50 - 0:55
    e incluso programar algo
    en esta conferencia.
  • 0:55 - 1:00
    Y así pueden seguirme
    con Python en otra ventana.
  • 1:00 - 1:05
    Está en pythonlearn.com/install.php
  • 1:05 - 1:10
    Tiene instrucciones para
    MS Windows y Macintosh.
  • 1:10 - 1:14
    Y no está en esta diapositiva,
    pero recién cargué...
  • 1:14 - 1:16
    instrucciones de instalación
    para la Raspberry Pi,
  • 1:16 - 1:20
    la nueva y genial computadora
    de 25 dólares.
  • 1:20 - 1:26
    Son instrucciones muy sencillas,
    con imágenes de pantalla paso a paso.
  • 1:26 - 1:29
    No tardan más de diez minutos.
  • 1:29 - 1:33
    Pueden detenerlas, iniciarlas,
    bajarlas a su disco duro.
  • 1:33 - 1:39
    Los encaminarán a instalar Python
    o el editor de texto, si es necesario,
  • 1:39 - 1:42
    luego a correr su primer
    programa en Python.
  • 1:42 - 1:44
    ¡Y tendrán que correr
    un programa en Python!
  • 1:44 - 1:47
    Así que...
    es el mejor momento...
  • 1:47 - 1:51
    para detenerse, instalarlo,
    y regresar, ¿les parece?
  • 1:51 - 1:54
    Bueno, regresemos a
    la introducción.
  • 1:55 - 1:58
    Entonces.... las computadoras
    más que nada quieren ser útiles.
  • 1:58 - 2:00
    Están programadas—
  • 2:01 - 2:06
    Este es un microprocesador,
    una pieza electrónica.
  • 2:06 - 2:09
    Tiene circuitos y alambres dentro.
  • 2:09 - 2:13
    Y alguien dedicó mucho tiempo
    de ingeniería para crearlo
  • 2:13 - 2:15
    de manera que estas
    patas de atrás
  • 2:15 - 2:18
    reciban instrucciones
    de nosotros,
  • 2:18 - 2:22
    de sistemas operativos,
    del disco duro, de la memoria.
  • 2:22 - 2:25
    Aquí entran instrucciones,
    acá salen resultados.
  • 2:25 - 2:27
    Es como una calculadora
    muy programable
  • 2:27 - 2:30
    y nuestro trabajo es
    meterle instrucciones.
  • 2:30 - 2:33
    Esta cosa, en cierto sentido,
    está diseñada...
  • 2:33 - 2:36
    para ser curiosa
    sobre lo que sigue;
  • 2:36 - 2:40
    Como si preguntara:
    «¿Qué sigue?»
  • 2:40 - 2:44
    ¿Qué sigue?, ¿qué sigue?,
    y después, ¿qué sigue?
  • 2:44 - 2:47
    Hace eso un millardo
    de veces por segundo.
  • 2:47 - 2:50
    Esta pieza es la base.
  • 2:50 - 2:54
    Podemos decir que en
    un teléfono inteligente como este,
  • 2:54 - 3:00
    todos los botones dicen:
    ¿Qué sigue?
  • 3:00 - 3:03
    Cada uno de ellos es algo
    que pide mi atención.
  • 3:03 - 3:07
    Algún diseñador de aplicaciones
    ha creado una aplicación genial
  • 3:07 - 3:10
    que dice: «¡Por favor,
    úsame! ¡Presióname!»
  • 3:10 - 3:12
    «No soy nada sin ti».
  • 3:12 - 3:16
    Los humanos hacemos que
    las computadoras actúen.
  • 3:16 - 3:20
    Y esta estará ahí feliz
    hasta que yo le pida hacer algo.
  • 3:20 - 3:24
    Bien... ¡Ay!
    (Ruido de aparato que cae)
  • 3:24 - 3:26
    Espero que esté bien.
  • 3:26 - 3:28
    Sí, parece estar bien.
  • 3:28 - 3:31
    Tremendo golpe y
    sigue funcionando.
  • 3:31 - 3:34
    Entonces, cualquiera puede usar
    uno de estos.
  • 3:34 - 3:38
    Dicen que incluso un animal
    puede usar un iPhone,
  • 3:38 - 3:41
    Así que no hace falta ser programador,
    pero...
  • 3:41 - 3:44
    para lograr que esto
    haga lo que quieres,
  • 3:44 - 3:46
    necesitas aprender
    un lenguaje diferente:
  • 3:46 - 3:50
    el lenguaje de las instrucciones...
    para decirle qué hacer.
  • 3:50 - 3:54
    Así que eso haremos: aprender a hablarle.
    ¡Oye!
  • 3:54 - 3:58
    Porque nos está preguntando...
    y debemos darle respuesta.
  • 4:00 - 4:05
    Bueno, ¿qué es un programador?
    Es alguien que escribe un programa,
  • 4:05 - 4:08
    es decir un script
    o juego de instrucciones
  • 4:08 - 4:10
    que le dicen a uno de
    estos aparatos
  • 4:10 - 4:13
    qué se supone que debe hacer.
  • 4:13 - 4:16
    A veces se corre un programa
    como Moodle,
  • 4:16 - 4:21
    un sistema de aprendizaje libre,
    o Sakai, otro sistema parecido.
  • 4:21 - 4:23
    Y algunas veces incluso
    te pagan por hacerlo.
  • 4:23 - 4:29
    A veces es gratis, a veces te pagan,
    y otras veces lo haces por gusto.
  • 4:29 - 4:36
    Por todas las aplicaciones de mi iPhone,
    alguien ha ganado dinero.
  • 4:36 - 4:38
    Quizá no tanto
    como para dejar su empleo,
  • 4:38 - 4:41
    pero muchos han podido renunciar
    e iniciar compañías pequeñas.
  • 4:41 - 4:44
    Aunque sea compañías pequeñas.
  • 4:45 - 4:49
    Entonces estas personas que pueden poner
    aplicaciones en nuestras computadoras
  • 4:49 - 4:54
    son programadores, porque entienden...
    la forma de hablarles.
  • 4:54 - 5:00
    En parte quiero que dejen de pensar
    como el usuario final,
  • 5:00 - 5:03
    que cree que esto es sólo
    algo para presionar,
  • 5:03 - 5:09
    y piensen como el programador
    que está dentro, tratando de salir.
  • 5:09 - 5:13
    Al ir del usuario al programador,
    vamos de afuera hacia dentro.
  • 5:13 - 5:18
    Pensamos en el mundo exterior,
    decimos: ¿Qué botón van a presionar?
  • 5:18 - 5:21
    Esta es una imagen de eso.
  • 5:21 - 5:23
    Entonces, por fuera somos
    usuarios, presionamos botones,
  • 5:23 - 5:28
    hacemos clic en páginas web,
    etcétera, etcétera.
  • 5:28 - 5:30
    Pero lo que en realidad sucede
    dentro de todo eso,
  • 5:30 - 5:34
    es que hay una computadora
    con un montón de software dentro,
  • 5:34 - 5:39
    lo mismo que datos, redes,
    otra información.
  • 5:39 - 5:45
    Y el software...
    es lo que da sentido a todo eso.
  • 5:45 - 5:47
    Así que algo que
    quiero que hagan
  • 5:47 - 5:50
    es dejar de pensar cómo usar
    estas cosas desde el exterior
  • 5:50 - 5:53
    y empezar a pensar
    como programadores.
  • 5:53 - 6:00
    Estamos dentro con la CPU,
    con la memoria, con la conexión de red.
  • 6:00 - 6:05
    Hacemos cosas por el usuario...
    y se las presentamos.
  • 6:07 - 6:09
    ¿Para qué ser programador?
  • 6:09 - 6:13
    Esta clase no pretende convertirlos
    en programadores profesionales,
  • 6:13 - 6:17
    aunque me enorgullecería mucho
    que después de cinco o diez clases...
  • 6:17 - 6:20
    ya fueran programadores, pero ese no es
    el propósito de esta clase.
  • 6:20 - 6:24
    A veces sólo desean concluir algo.
    Tienen una hoja de Excel en el trabajo...
  • 6:24 - 6:28
    y los datos no están bien.
    Alguien más se los pasó,
  • 6:28 - 6:31
    y hay espacios extra donde
    no debería haberlos,
  • 6:31 - 6:37
    le faltan campos, o deben hacerle algo
    que Excel no puede hacer, y piensan:
  • 6:37 - 6:42
    «Querría modificar estos datos
    para hacer mi trabajo, pero...
  • 6:42 - 6:46
    ¡Qué fastidio! Pasarlos a un editor
    de textos, como MS Word,
  • 6:46 - 6:49
    e ir línea por línea
    para limpiar los datos».
  • 6:49 - 6:53
    Pueden escribir un programa para eso,
    como los que haremos aquí.
  • 6:53 - 6:57
    Los programas satisfacen necesidades.
    Están en la computadora para servirnos.
  • 6:57 - 7:01
    Los programadores profesionales
    tienden a construir cosas para los demás.
  • 7:01 - 7:04
    Tienden a crear cosas
    para los demás.
  • 7:04 - 7:08
    Pero... nosotros las haremos
    principalmente para nosotros.
  • 7:08 - 7:12
    Bien, ¿qué es el código?
    ¿Qué es el software?
  • 7:12 - 7:15
    Usamos estas palabras
    casi indistintamente: un programa.
  • 7:15 - 7:17
    En realidad es una secuencia
    de instrucciones guardadas.
  • 7:17 - 7:20
    Aprendemos el lenguaje
    hablado por esto,
  • 7:20 - 7:24
    luego introducimos las instrucciones,
    una por una.
  • 7:24 - 7:29
    Las lee una a la vez, da un resultado;
    le damos la siguiente, y la regresa.
  • 7:29 - 7:32
    Toma, da, toma, da. Entonces es
    una secuencia de instrucciones guardadas,
  • 7:32 - 7:37
    pero... es más que eso;
    es como nuestra creatividad.
  • 7:37 - 7:43
    Si han usado mis programas, como MOOC,
    dediqué... como un mes a escribirlo.
  • 7:43 - 7:48
    Y es como si fuera yo. Es mi visión
    de cómo debe funcionar algo genial.
  • 7:48 - 7:52
    Entonces, es más que lograr
    que se hagan las cosas.
  • 7:52 - 7:54
    Implica un sentimiento de
    orgullo y logro,
  • 7:54 - 7:57
    especialmente si hacen algo
    que le sirve a otros.
  • 7:57 - 7:59
    Es algo... muy creativo.
  • 7:59 - 8:02
    Es lo que me llevó a ser programador
    en primer lugar:
  • 8:02 - 8:05
    poder aprovechar las
    capacidades de esto
  • 8:05 - 8:09
    para hacer cosas geniales
    en beneficio del usuario.
  • 8:09 - 8:13
    Entonces... código, software,
    un programa.
  • 8:13 - 8:18
    Veamos un ejemplo
    no tan técnico de eso.
  • 8:19 - 8:23
    Les he puesto un vínculo
    a YouTube para esto.
  • 8:23 - 8:30
    Es... La Macarena, una canción
    que lleva un baile...
  • 8:30 - 8:34
    que todo el mundo parece conocer,
    o aprender muy rápido.
  • 8:34 - 8:39
    Entonces voy a parar
    para que vean la Macarena, y regresamos.
  • 8:41 - 8:44
    Bienvenidos otra vez.
    Espero que lo hayan disfrutado.
  • 8:44 - 8:49
    En cierto sentido lo que vimos es...
    un programa.
  • 8:49 - 8:51
    Un programa para seres humanos.
  • 8:51 - 8:55
    Quizá lo aprendieron en un club
    donde les dijeron qué hacer.
  • 8:55 - 8:58
    Bien, yo puedo enseñarles
    a bailar la Macarena
  • 8:58 - 9:00
    escribiendo un programa sencillo.
    Ahora mismo.
  • 9:00 - 9:02
    Aquí esta mi Macarena:
  • 9:03 - 9:04
    Mientras la música suena...
  • 9:04 - 9:07
    significa que lo harán
    una y otra vez a un ritmo.
  • 9:07 - 9:11
    Las computadoras trabajan a un ritmo
    como de 3 millardos de pulsos por segundo.
  • 9:11 - 9:14
    Eso es ritmo. Entonces,
    haremos esto varias veces.
  • 9:14 - 9:18
    Y tenemos este grupo de instrucciones
    que vamos a seguir, ¿sí?
  • 9:18 - 9:21
    Mano izquierda adelante, palma arriba.
    Mano derecha adelante, palma arriba.
  • 9:21 - 9:24
    Voltear mano izquierda,
    voltear la derecha.
  • 9:24 - 9:28
    Mano izquierda al hombro derecho.
  • 9:28 - 9:31
    Mano derecha al hombro izquierdo,
    etcétera, etc.
  • 9:31 - 9:37
    Ahora, este programita en particular
    tiene un error; de hecho, varios.
  • 9:37 - 9:42
    Quiero que traten de encontrarlos.
  • 9:48 - 9:52
    Bueno, aquí están los errores.
  • 9:52 - 9:55
    El error es:
  • 9:56 - 9:59
    Jamón derecho a la nuca,
  • 9:59 - 10:03
    y Mano izquierda a golpe derecho,
    en lugar de cadera.
  • 10:03 - 10:08
    Si están en un bar, toman un jamón,
    y golpean a alguien en la nuca,
  • 10:08 - 10:11
    no es agradable,
    aunque lo hagan bailando la canción.
  • 10:11 - 10:13
    Estos se llaman errores lógicos.
  • 10:13 - 10:20
    Un humano que lea esto dirá:
    "Creo que aquí quisieron decir mano".
  • 10:20 - 10:23
    Pero una computadora es
    mucho más literal que la gente.
  • 10:23 - 10:26
    Haremos un par de ejercicios
    donde veremos que la gente puede corregir
  • 10:26 - 10:30
    pequeños errores como este,
    pero las computadoras no pueden.
  • 10:30 - 10:33
    Así que debemos corregir estos errores,
  • 10:33 - 10:36
    y decir mano, en lugar de jamón,
    y cadera en lugar de golpe.
  • 10:36 - 10:39
    Debemos ser explícitos,
    porque las computadoras
  • 10:39 - 10:42
    hacen lo que les decimos,
    no lo que les queremos decir.
  • 10:42 - 10:44
    Entonces, limpiemos eso.
  • 10:44 - 10:48
    Aquí hay otro ejemplo.
    Veamos como sale.
  • 10:48 - 10:51
    PROGRAMAS PARA PYTHON
  • 10:53 - 10:57
    Se supone que deben contar
    el número de veces
  • 10:57 - 11:01
    que la palabra «the»
    aparece en esta oración.
  • 11:01 - 11:05
    Cuenten... la palabra "the".
    ¿Cuántas veces?
  • 11:16 - 11:19
    Bien... es su turno.
  • 11:25 - 11:31
    Bien, esto... no es algo para lo que
    los humanos seamos buenos.
  • 11:31 - 11:34
    Moví la oración, toqué
    una melodía, los confundí,
  • 11:34 - 11:39
    les puse una tarjeta con un payaso
    en la esquina superior derecha, etc.
  • 11:39 - 11:44
    Pues resulta que las computadoras,
    una vez que les decimos qué hacer,
  • 11:44 - 11:46
    son muy buenas
    para concentrarse.
  • 11:46 - 11:51
    Fácilmente pueden ver 30 palabras
    y encontrar la más común,
  • 11:51 - 11:53
    o 3 millones de palabras
  • 11:53 - 11:54
    y encontrar la más común,
  • 11:54 - 11:56
    sin nunca cometer un error.
  • 11:56 - 11:58
    Pero antes debemos darle
    un grupo de instrucciones.
  • 11:59 - 12:01
    Entonces, no quiero que
    aprendan esto ahora mismo.
  • 12:01 - 12:04
    Pero esto es un
    programa en Python.
  • 12:04 - 12:07
    Digamos que quiero que
    cuenten palabras en archivos.
  • 12:09 - 12:11
    Les digo: ¡Oye! Sé
    programar en Python.
  • 12:11 - 12:14
    Te enviaré un correo
    con un programa.
  • 12:14 - 12:15
    Sólo mételo en Python
  • 12:15 - 12:17
    y te contará las palabras.
  • 12:17 - 12:19
    Tienes un millón de palabras,
  • 12:19 - 12:20
    un millón de líneas
    en un archivo
  • 12:20 - 12:22
    y buscas la palabra más común.
  • 12:23 - 12:25
    Así que ahí va.
  • 12:25 - 12:27
    Te enviaré este archivo
    llamado «words.py»
  • 12:27 - 12:28
    que yo hice,
  • 12:28 - 12:30
    como regalo para ti.
  • 12:30 - 12:31
    Y esto es lo que escribí.
  • 12:31 - 12:34
    Les daré una especie de
    resumen de lo que hace:
  • 12:34 - 12:37
    Primero abrirá un
    archivo y lo leerá.
  • 12:37 - 12:41
    Luego dividirá las líneas
    y archivos en palabras
  • 12:41 - 12:43
    basándose en los espacios.
  • 12:43 - 12:47
    Luego acumulará cifras:
  • 12:47 - 12:49
    esta palabra es 1,
    esta palabra es 1,
  • 12:49 - 12:51
    Oh, está repetida,
    la cambiaré a 2.
  • 12:51 - 12:54
    Esto es un bucle que
    corre una y otra vez,
  • 12:54 - 12:55
    una para cada palabra.
  • 12:55 - 12:58
    Luego lo que haremos
    es escribir otro bucle
  • 12:58 - 13:01
    que va a descubrir cuál
    es la palabra más común,
  • 13:01 - 13:03
    viendo todos esos
    pequeños histogramas
  • 13:03 - 13:04
    que acabamos de construir
  • 13:04 - 13:07
    e imprimirá el
    resultado al final.
  • 13:08 - 13:11
    Y es lo que puede
    hacer python words.py
  • 13:11 - 13:13
    Leyó clown.txt
  • 13:13 - 13:16
    y dice que la palabra «the»
    ocurre siete veces.
  • 13:16 - 13:21
    Puede ir y descubrir que otro
    archivo tiene la palabra «dos»
  • 13:21 - 13:22
    y aparece 16 veces.
  • 13:22 - 13:23
    Y es así de rápido.
  • 13:23 - 13:26
    Y sí, tienen que
    aprender el lenguaje
  • 13:26 - 13:27
    y decirle qué hacer,
  • 13:27 - 13:29
    pero en cuanto se lo digan,
  • 13:29 - 13:31
    lo hará con un millón o
    un millardo de palabras,
  • 13:31 - 13:32
    sin esfuerzo.
  • 13:32 - 13:34
    Ustedes no tendrán que hacer...
  • 13:34 - 13:35
    trabajo menor.
  • 13:35 - 13:39
    Una vez que aprendan a decirle
    a la computadora cómo hacerlo.
  • 13:41 - 13:42
    Bien...
  • 13:43 - 13:46
    Siempre se empiezan las
    clases de programación con...
  • 13:46 - 13:47
    arquitectura de hardware.
  • 13:48 - 13:49
    No creo que sea esencial,
  • 13:49 - 13:51
    así que no se emocionen
    mucho con el tema.
  • 13:51 - 13:53
    Es bueno como terminología,
  • 13:53 - 13:55
    para conocer palabras,
  • 13:55 - 13:57
    y si alguien dice CPU
    no entren en pánico.
  • 13:57 - 13:59
    O memoria, o RAM o disco duro...
  • 13:59 - 14:00
    y no se asusten.
  • 14:00 - 14:02
    No quiero hacerlos
    expertos en hardware.
  • 14:02 - 14:04
    Sólo que aprendan
    unas cuantas palabras
  • 14:04 - 14:06
    para que puedan hablar
    de lo de dentro.
  • 14:06 - 14:09
    Porque, en cierto sentido
    vamos a escribir programas
  • 14:09 - 14:12
    para hacer cosas con
    datos, instrucciones, etc.
  • 14:13 - 14:14
    Entonces...
  • 14:15 - 14:19
    tengo aquí algo que
    compré hace unas semanas,
  • 14:19 - 14:21
    y me encanta: es la Raspberry Pi.
  • 14:21 - 14:24
    Es una computadora
    con una sola placa.
  • 14:24 - 14:28
    Tiene almacenamiento
    en una tarjeta SD.
  • 14:29 - 14:30
    Justo ahí.
  • 14:30 - 14:32
    Es el sistema operativo
    y los datos.
  • 14:32 - 14:37
    Y tiene tanto el microprocesador
    como la memoria aquí dentro también.
  • 14:37 - 14:40
    Y se conecta por USB
    y HDMI a varias cosas.
  • 14:40 - 14:43
    Y si quieren, en este curso
    quizá puedan hacer
  • 14:43 - 14:44
    toda la tarea...
  • 14:44 - 14:47
    en una Raspberry
    Pi, si lo desean.
  • 14:47 - 14:50
    Entonces así se ve el hardware.
  • 14:50 - 14:51
    Es el interior de algo.
  • 14:51 - 14:54
    Normalmente viene en una
    carcasa para que no se vea.
  • 14:54 - 14:57
    Y así se ve: con
    ese color verde,
  • 14:57 - 14:59
    plateado y dorado.
  • 14:59 - 15:01
    Creo que son hermosos.
  • 15:02 - 15:03
    Muy bonitos.
  • 15:04 - 15:06
    Es mucha ingeniería
    la que llevan estas cosas.
  • 15:08 - 15:11
    Entonces podemos hacer
    un diagrama negro
  • 15:11 - 15:12
    de lo que sucede aquí.
  • 15:13 - 15:15
    Y hay alguna terminología:
  • 15:15 - 15:18
    el cerebro de todo...
  • 15:18 - 15:22
    Bueno, dibujamos este
    diagrama en parte porque—
  • 15:22 - 15:25
    y esto es de...
    ¡Ah!, se desprendió una pieza.
  • 15:27 - 15:29
    Ya sé que fue.
  • 15:29 - 15:31
    Está bien, no sirve
    de todos modos.
  • 15:31 - 15:34
    Si tienen una computadora de
    escritorio, así se ve por dentro.
  • 15:34 - 15:36
    Esto es la tarjeta madre.
  • 15:36 - 15:40
    Y es lo que conecta
    todas las piezas.
  • 15:40 - 15:44
    Tiene muchos alambres.
    Cada pequeña línea es uno.
  • 15:44 - 15:46
    Está cubierta con cierta laca.
  • 15:46 - 15:50
    Y hay cosas que la penetran
    y conectan los diversos chips.
  • 15:51 - 15:54
    Y... todo esto está
    representado por esta imagen.
  • 15:54 - 15:57
    Pero en realidad conecta
    muchos componentes.
  • 15:58 - 16:01
    La unidad de procesamiento
    central, de la que hablé antes,
  • 16:02 - 16:04
    la puse abajo,
  • 16:04 - 16:07
    es lo más cercano que la
    computadora tiene a un cerebro,
  • 16:07 - 16:08
    muy limitado.
  • 16:08 - 16:11
    Es más bien una calculadora
    programable y súper rápida.
  • 16:11 - 16:15
    La hacemos flexible por nuestra
    creatividad al escribir programas.
  • 16:15 - 16:16
    La hacemos parecer inteligente.
  • 16:16 - 16:20
    La gente es quien aporta
    sus conocimientos
  • 16:20 - 16:21
    y los pone dentro.
  • 16:21 - 16:23
    Esto no tiene
    inteligencia propia.
  • 16:23 - 16:25
    No hay por qué temerle.
  • 16:25 - 16:26
    No es tan inteligente.
  • 16:27 - 16:29
    Entonces... esto es
    lo que se programa
  • 16:29 - 16:31
    para preguntar ¿qué sigue?
  • 16:31 - 16:34
    Y debemos tener un
    grupo de instrucciones
  • 16:34 - 16:36
    que la alimenten muy rápido,
  • 16:36 - 16:37
    un millardo de
    veces por segundo.
  • 16:37 - 16:40
    Y eso es esto: la memoria
    de acceso aleatorio.
  • 16:40 - 16:44
    Tiene chips de memoria
    que van todos conectados
  • 16:44 - 16:45
    a la tarjeta madre.
  • 16:45 - 16:47
    Entonces tenemos...
    la memoria principal
  • 16:47 - 16:50
    y la unidad de
    procesamiento central.
  • 16:50 - 16:54
    Y de aquí provienen nuestras
    instrucciones a alta velocidad,
  • 16:54 - 16:55
    aquí se almacenan
    los datos rápidos,
  • 16:55 - 16:57
    y esto es lo que
    pregunta: ¿qué sigue?
  • 16:57 - 17:00
    y lee las instrucciones de acá.
  • 17:00 - 17:04
    Ahora no están conectados,
    pero van conectados.
  • 17:04 - 17:07
    No se preocupen por este hardware;
    está viejo y descompuesto.
  • 17:07 - 17:08
    No le pasa nada.
  • 17:09 - 17:13
    Lo que sigue son los
    dispositivos de entrada/salida.
  • 17:13 - 17:15
    Así que regreso a
    mi Raspberry Pi.
  • 17:15 - 17:17
    La Raspberry Pi tiene USB
  • 17:17 - 17:18
    donde se puede conectar
  • 17:18 - 17:20
    un ratón o un teclado.
  • 17:20 - 17:24
    Tiene HDMI para conectar
    un monitor también.
  • 17:24 - 17:26
    Y un conector a ethernet.
  • 17:26 - 17:27
    Todos estos son ejemplos
  • 17:27 - 17:31
    de dispositivos de
    entrada/salida.
  • 17:32 - 17:35
    Y lo último en pantalla
  • 17:35 - 17:36
    es la memoria secundaria.
  • 17:37 - 17:42
    Entonces, en la Raspberry Pi la CPU,
    unidad de procesamiento central,
  • 17:42 - 17:44
    y la RAM están en
    este chip del centro.
  • 17:44 - 17:47
    Se llama SOC o
    «sistema en un chip»
  • 17:47 - 17:49
    donde hay más piezas aún.
  • 17:49 - 17:50
    Y en cierto sentido...
  • 17:51 - 17:52
    concentraron...
  • 17:54 - 17:55
    esto...
  • 17:55 - 17:56
    y esto...
  • 17:56 - 17:57
    y mucho de esto...
  • 17:57 - 18:00
    en la Raspberry Pi...
  • 18:01 - 18:02
    en un solo chip.
  • 18:02 - 18:06
    Pero la arquitectura
    sigue igual: una CPU...
  • 18:06 - 18:10
    memoria, tarjetas
    de gráficos, etcétera.
  • 18:10 - 18:11
    Entonces...
  • 18:11 - 18:15
    Esto tiene dispositivos de
    entrada/salida también,
  • 18:15 - 18:18
    como USB, teclado
    y monitor, etc.
  • 18:18 - 18:20
    Así que son muy similares,
    sólo que este es nuevo
  • 18:20 - 18:22
    y este es viejo.
  • 18:22 - 18:23
    Todo se va reduciendo...
  • 18:23 - 18:25
    entre más nuevo sea.
  • 18:25 - 18:26
    Muy bien...
  • 18:30 - 18:33
    Lo último que veremos...
    es la memoria secundaria.
  • 18:33 - 18:34
    ¡Oh!
  • 18:35 - 18:37
    Cuando se corta la corriente
  • 18:37 - 18:39
    esto se borra.
  • 18:39 - 18:40
    Los datos de esta RAM
  • 18:40 - 18:43
    desaparecen. Está diseñada
    para ser muy rápida,
  • 18:43 - 18:44
    pero no permanente.
  • 18:44 - 18:46
    Así que necesitamos
    un lugar permanente,
  • 18:46 - 18:48
    eso es la memoria secundaria.
  • 18:48 - 18:50
    Para eso es la
    memoria secundaria.
  • 18:50 - 18:52
    Es permanente.
  • 18:52 - 18:54
    Esta es rápida.
  • 18:56 - 18:58
    Zas, zas, zas, es muy rápida.
  • 18:58 - 19:01
    Pero esta es permanente, y más lenta.
  • 19:01 - 19:02
    ¿Sí?
  • 19:02 - 19:05
    Entonces hay dos tipos
    de memoria secundaria.
  • 19:05 - 19:08
    Oh, Dios, están en el suelo.
  • 19:08 - 19:09
    Dos tipos de memoria secundaria:
  • 19:10 - 19:11
    empezaré con la Raspberry Pi.
  • 19:11 - 19:14
    La memoria secundaria
    de la Raspberry Pi
  • 19:14 - 19:16
    es esta tarjeta SD.
  • 19:16 - 19:17
    Es como un disco duro.
  • 19:17 - 19:19
    Es permanente,
  • 19:19 - 19:22
    no necesita energía para
    conservar los datos.
  • 19:22 - 19:23
    Los datos son permanentes.
  • 19:23 - 19:25
    Así que en el futuro veremos...
  • 19:25 - 19:29
    más de estas memorias flash o SD.
  • 19:29 - 19:32
    Entonces la Raspberry
    Pi apunta al futuro.
  • 19:32 - 19:35
    Hay una unidad de disco
    aquí que no es un disco,
  • 19:35 - 19:36
    también es una memoria «flash».
  • 19:36 - 19:39
    Pero en los viejos tiempos...
  • 19:39 - 19:42
    en los buenos tiempos,
    cuando yo era niño,
  • 19:42 - 19:44
    nuestra memoria secundaria
  • 19:44 - 19:47
    era... una unidad de disco
  • 19:47 - 19:53
    que tenía placas, giraba y hacía
    un ruido muy «satisfactorio».
  • 19:53 - 19:55
    Esto entraba y salía
    para leer datos.
  • 19:55 - 19:57
    Les mostraré un video
    en unos minutos.
  • 19:57 - 19:59
    Así que esto
    registraba los datos
  • 19:59 - 20:00
    en una placa magnética
  • 20:00 - 20:03
    que al cortar la energía
    seguía magnetizada.
  • 20:03 - 20:05
    Esto se movía al lugar preciso,
  • 20:05 - 20:07
    girando, y leía los datos.
  • 20:07 - 20:11
    Y repito: este está
    totalmente arruinado.
  • 20:12 - 20:14
    Entonces, ahí está.
  • 20:14 - 20:16
    Unidad de Procesamiento Central,
  • 20:17 - 20:18
    el cerebro de la operación,
  • 20:19 - 20:22
    memoria principal, rápida,
    pero se borra al cortar la energía.
  • 20:23 - 20:25
    Dispositivos de entrada/salida:
    teclados, etc.
  • 20:25 - 20:27
    Y almacenamiento que mantiene
  • 20:27 - 20:30
    sus datos después
    de desconectar.
  • 20:31 - 20:34
    Bueno, ya dije todo esto...
  • 20:36 - 20:38
    Entonces la pregunta es...
  • 20:38 - 20:40
    ¿Cuál es el papel de ustedes?
  • 20:40 - 20:43
    ¿Dónde viven los programas?
    ¿Dónde los escribimos?
  • 20:43 - 20:47
    Y la respuesta es: viven,
    por decirlo así, en la memoria.
  • 20:47 - 20:49
    Lo que se hace es poner...
  • 20:49 - 20:51
    los programas en la memoria,
  • 20:51 - 20:55
    luego la CPU los
    saca de la memoria.
  • 20:55 - 20:57
    Entonces debemos
    escribir programas...
  • 20:57 - 20:59
    y ponerlos en la memoria.
  • 20:59 - 21:02
    Cuando los corremos estamos
    cargándolos en la memoria...
  • 21:02 - 21:04
    para que sean alimentados
    rápidamente a la CPU.
  • 21:05 - 21:07
    Y las computadoras en realidad
    no trabajan en Python,
  • 21:07 - 21:09
    como la instrucción if x<3:print,
  • 21:10 - 21:11
    como tendemos a escribir,
  • 21:11 - 21:14
    sino que trabajan con...
  • 21:14 - 21:15
    algo llamado
    «lenguaje de máquina»
  • 21:15 - 21:17
    que es una serie de ceros y unos
  • 21:17 - 21:20
    traducidos directamente
  • 21:20 - 21:21
    en lo que entra por estas patas:
  • 21:21 - 21:24
    voltajes que suben y bajan.
  • 21:24 - 21:26
    Ese es el lenguaje de máquina.
  • 21:26 - 21:28
    El código fuente,
    como el de Python,
  • 21:29 - 21:32
    se escribe en una forma
    más conveniente.
  • 21:32 - 21:33
    Por lo menos más conveniente.
  • 21:33 - 21:35
    El lenguaje de máquina
    es lo más conveniente...
  • 21:35 - 21:37
    para el hardware.
  • 21:37 - 21:40
    Así que tenemos que traducir código
    fuente a lenguaje de máquina.
  • 21:40 - 21:43
    Y eso es lo que Python
    hace por nosotros.
  • 21:43 - 21:44
    Escribimos en Python,
  • 21:44 - 21:47
    y Python traduce a
    lenguaje de máquina.
  • 21:47 - 21:50
    Entonces, tengo un par de
    videos que dan una idea...
  • 21:51 - 21:53
    de cómo funciona todo esto.
  • 21:53 - 21:55
    Empezaremos con el de la CPU,
  • 21:55 - 22:01
    que les mostrará la intensidad
    de tanta electricidad...
  • 22:01 - 22:03
    lo que se calienta dentro
    de sus computadoras
  • 22:03 - 22:05
    es este pequeñito.
  • 22:05 - 22:06
    Y en este video veremos
  • 22:06 - 22:08
    cuánto puede calentarse.
  • 22:08 - 22:11
    (CPU completamente caliente)
  • 22:15 - 22:17
    Bueno, bienvenidos de nuevo.
  • 22:17 - 22:19
    En el siguiente video...
  • 22:19 - 22:22
    Ya les mostré un disco
    duro inservible
  • 22:22 - 22:24
    y ahora les mostraré
    un video breve
  • 22:24 - 22:26
    sobre el funcionamiento
    los discos.
  • 22:26 - 22:29
    Alguien le quitó la tapa a uno
    y le aplicó energía.
  • 22:29 - 22:32
    No lo vayan a hacer,
    si tienen un disco duro.
  • 22:32 - 22:34
    He leído, y algunas
    personas dicen,
  • 22:34 - 22:39
    que se puede hacer por unos minutos
    luego la unidad se destruye
  • 22:39 - 22:42
    si la encienden sin
    la tapa puesta.
  • 22:42 - 22:43
    Veamos el video.
  • 22:43 - 22:46
    (Disco duro en acción)
  • 22:53 - 22:59
    Bueno, ahora hablemos un poco
    acerca de Python.
  • 23:00 - 23:03
    Python es un lenguaje
    de programación.
  • 23:03 - 23:06
    Python es una manera
    de comunicarnos.
  • 23:07 - 23:09
    Y Python no fue inventado
    por computadoras.
  • 23:09 - 23:14
    Los humanos inventamos Python
    como una forma de encapsular
  • 23:14 - 23:15
    nuestras instrucciones.
  • 23:15 - 23:17
    Hay muchos lenguajes diferentes:
  • 23:17 - 23:18
    Python, Java script,
  • 23:19 - 23:21
    C++, toneladas de ellos.
  • 23:21 - 23:24
    Python es sólo uno que
    yo enseño en esta clase.
  • 23:26 - 23:29
    Empezaré con una cita
    de Harry Potter:
  • 23:29 - 23:31
    Parsel es el lenguaje
    de las serpientes
  • 23:31 - 23:32
    y quienes conversan con ellas.
  • 23:34 - 23:37
    A quien puede hablar parsel
    se le conoce como parsel-hablante.
  • 23:37 - 23:40
    Es una habilidad muy rara,
    y puede ser hereditaria.
  • 23:40 - 23:44
    Casi todos los hablantes de parsel
    descienden de Salazar Slytherin.
  • 23:45 - 23:46
    Esa es la cita de Harry Potter.
  • 23:47 - 23:51
    Python es el lenguaje del
    intérprete de Python
  • 23:51 - 23:52
    y quienes pueden
    conversar con él.
  • 23:53 - 23:56
    Vamos a conversar con el interior
    de la computadora muy pronto.
  • 23:56 - 24:00
    A quien puede hablar Python
    se le conoce como pythonista.
  • 24:00 - 24:03
    Es una habilidad muy rara
    y puede ser hereditaria.
  • 24:03 - 24:05
    También puede no
    ser hereditaria.
  • 24:05 - 24:08
    Casi todos los pythonistas usan
    software diseñado originalmente
  • 24:08 - 24:10
    por Guido van Rossum.
  • 24:10 - 24:13
    Guido van Rossum,
    este amigo de aquí...
  • 24:13 - 24:15
    Hey, Guido, ¿qué hay?
  • 24:15 - 24:17
    Pongámosle un bigote.
  • 24:17 - 24:18
    Hey, Guido.
  • 24:18 - 24:20
    Lo siento. Debería
    ser amable con él.
  • 24:20 - 24:23
    Es el inventor de Python.
    Python tiene más de 20 años.
  • 24:23 - 24:27
    Él lo inventó como un
    lenguaje sencillo,
  • 24:27 - 24:29
    pero es igualmente poderoso.
  • 24:29 - 24:33
    Por eso es un gran lenguaje
    para iniciar su aprendizaje.
  • 24:33 - 24:36
    Es un lenguaje poderoso, pero
    diseñado para ser fácil de usar.
  • 24:37 - 24:43
    ¿Puede alguien adivinar...
    por qué se llama Python?
  • 24:54 - 24:55
    Bueno, veamos.
  • 24:57 - 24:59
    ♪(Música de circo)♪
  • 24:59 - 25:04
    Python tomó su nombre de un
    famoso programa de comedia inglés
  • 25:04 - 25:08
    de los sesenta o
    setenta, creo...
  • 25:08 - 25:09
    llamado Monty Python,
  • 25:09 - 25:11
    El circo volador
    de Monty Python.
  • 25:11 - 25:16
    Creo que trató de capturar
    el aspecto lúdico,
  • 25:16 - 25:20
    bobo y divertido de Python.
  • 25:20 - 25:21
    Y así es.
  • 25:22 - 25:23
    Basta de eso,
    ¿ya acabamos?
  • 25:23 - 25:26
    Sí, la música ya
    terminó, gracias a Dios.
  • 25:26 - 25:30
    Entonces, repito:
    este es un lenguaje
  • 25:30 - 25:32
    y este Guido lo inventó
    para nosotros.
  • 25:32 - 25:34
    Él tomó decisiones:
  • 25:34 - 25:36
    Pongamos un punto y coma aquí,
  • 25:36 - 25:38
    y aumentemos la sangría aquí.
  • 25:38 - 25:40
    Así que tomó decisiones.
  • 25:40 - 25:45
    Y a la gente le gustan más
    unos lenguajes que otros.
  • 25:45 - 25:46
    Es como elegir pinturas.
  • 25:47 - 25:50
    Y me gusta comparar esto con...
  • 25:50 - 25:52
    el aprendizaje de un
    idioma para hablar,
  • 25:52 - 25:54
    con gente, humano.
  • 25:55 - 25:58
    Cuando somos bebés
    no sabemos hablar
  • 25:58 - 26:00
    y empezamos con un balbuceo:
  • 26:00 - 26:01
    bla, bla, bla, bla...
  • 26:01 - 26:04
    Quizá lo primero que
    hacemos sea llorar.
  • 26:06 - 26:08
    Es como estar en un
    planeta extraño,
  • 26:08 - 26:09
    y tener que comunicarnos.
  • 26:10 - 26:13
    Debemos aprender su lenguaje,
    y no es de un día para otro.
  • 26:13 - 26:17
    No estudias toda la noche y ya.
    No se puede.
  • 26:18 - 26:20
    Aunque puede ser una buena
    manera de enseñar programación.
  • 26:20 - 26:23
    Quizá deba usar algunas
    de esas ideas.
  • 26:25 - 26:29
    Entonces... la diferencia
    entre un idioma humano
  • 26:29 - 26:31
    y un lenguaje de programación
  • 26:31 - 26:35
    es que... un idioma humano
    es para hablar con humanos
  • 26:35 - 26:37
    que nos pueden a corregir.
  • 26:37 - 26:41
    Así que...
    Si digo mal una palabra como...
  • 26:41 - 26:44
    mamajaggghhh...
  • 26:44 - 26:46
    Eso sonó muy tonto.
  • 26:46 - 26:48
    Alguien dirá:
    ¡Ah, ya sé qué dijo!
  • 26:49 - 26:51
    Pero Python y las
    computadoras...
  • 26:52 - 26:54
    en realidad no escuchan.
    Son un poco tontas.
  • 26:54 - 26:57
    No pueden corregir
    nuestros errores...
  • 26:57 - 27:01
    porque no nos entienden.
    Son realmente tontas.
  • 27:01 - 27:02
    Son muy literales.
  • 27:03 - 27:06
    Así que... es bastante común,
  • 27:06 - 27:09
    cuando uno empieza,
  • 27:10 - 27:11
    enojarse
  • 27:12 - 27:14
    porque decimos algo que
    nos parece simpático
  • 27:15 - 27:17
    y nos contesta:
    «Error de sintaxis».
  • 27:17 - 27:21
    Decimos: «Voy a intentar esto»,
    y contesta: «Error de sintaxis».
  • 27:21 - 27:25
    A mí me pasaba cuando
    empecé a programar,
  • 27:25 - 27:28
    Le decía: «Tengo este programa.
    ¿Te gusta?»
  • 27:28 - 27:29
    Y decía: Error de sintaxis.
  • 27:30 - 27:35
    Podrían cambiar los mensajes
    por otros más amables, quizá,
  • 27:36 - 27:39
    pero el error de sintaxis
    no quiere decir:
  • 27:39 - 27:40
    eres un fracaso.
  • 27:40 - 27:42
    En realidad significa:
  • 27:42 - 27:47
    No sé qué estás diciendo.
    Estoy confundido.
  • 27:47 - 27:48
    Sólo sé unas cuantas cosas...
  • 27:48 - 27:52
    y... lo que acabas de decir no
    es algo que pueda entender.
  • 27:52 - 27:57
    Así que en lugar de pensar
    que Python es algún tipo de
  • 27:57 - 27:59
    monstruo... malvado y demoníaco
  • 27:59 - 28:02
    que los odia y no deja de
    decir «Error de sintaxis»,
  • 28:03 - 28:05
    imagínenlo más como un...
  • 28:05 - 28:07
    perro... ¿sí?
  • 28:07 - 28:11
    A un perro no le pueden decir:
  • 28:11 - 28:13
    ¡Qué bonito atardecer!
  • 28:13 - 28:14
    ¿Verdad?
  • 28:14 - 28:16
    Porque los perros
    no entienden eso.
  • 28:16 - 28:19
    Los perros entienden
    algunas cosas
  • 28:19 - 28:22
    como comida, baño, paseo,
  • 28:22 - 28:25
    pero no entienden
    las obras de Shakespeare.
  • 28:26 - 28:27
    Así que al hablarle
    a un perro...
  • 28:27 - 28:28
    deben tener cuidado
  • 28:28 - 28:32
    de usar el vocabulario
    que el perro conoce.
  • 28:32 - 28:36
    Y esa es la clave... cuando
    empiecen a aprender.
  • 28:37 - 28:40
    Python sólo entiende
    cierto vocabulario.
  • 28:40 - 28:43
    Resulta que es más fácil
    enseñarles a ustedes Python,
  • 28:43 - 28:46
    que enseñar a Python a escuchar
    lo que ustedes le quieran decir.
  • 28:47 - 28:50
    Cosas como Google hacen
    que parezca inteligente.
  • 28:50 - 28:52
    Ni hay que escribir nada
    en Google, ¿verdad?
  • 28:53 - 28:56
    Sí... con muchos
    millardos de dólares,
  • 28:56 - 28:57
    al menos en cosas sencillas,
  • 28:57 - 29:00
    Google parece saber
    de qué le hablan.
  • 29:01 - 29:02
    En términos de programación,
  • 29:02 - 29:04
    es mucho más fácil que
    ustedes descifren
  • 29:04 - 29:06
    la mejor forma de decir algo,
  • 29:06 - 29:10
    que gastar millones
    para que Python
  • 29:10 - 29:13
    descifre lo qué ustedes quieren
    decir en sus programas.
  • 29:13 - 29:14
    Bueno...
  • 29:15 - 29:17
    Empecemos a hablarle a Python.
  • 29:18 - 29:19
    Le hablamos a Python.
  • 29:19 - 29:23
    Si instalaron bien Python,
  • 29:23 - 29:27
    ya sea en una Mac, una Windows
    o en una Raspberry Pi,
  • 29:27 - 29:30
    en algún punto se encontrarán
    en una terminal
  • 29:30 - 29:31
    y escribirán Python
  • 29:31 - 29:34
    para que Python corra
    en modo interactivo.
  • 29:34 - 29:38
    Quizá tengan que escribir
    «C:\algo\python» en Windows,
  • 29:38 - 29:41
    pero en algún punto estarán
    corriendo Python.
  • 29:41 - 29:43
    Python mismo es un programa,
  • 29:43 - 29:47
    un programa que les pide
    escribir en lenguaje Python.
  • 29:48 - 29:51
    Y lo interesante es que verán un
    indicador que parece de la Chevron
  • 29:51 - 29:56
    que... es como otra
    versión de ¿qué sigue?
  • 29:56 - 29:58
    Les dije que este
    hardware está diseñado
  • 29:58 - 30:01
    para esperar siempre
    la siguiente instrucción.
  • 30:01 - 30:04
    Bueno, al arrancar Python
  • 30:04 - 30:06
    éste no tiene idea de qué hacer.
  • 30:06 - 30:09
    Espera que ustedes
    le digan qué hacer.
  • 30:09 - 30:10
    Bien.
  • 30:10 - 30:13
    Déjenme ver si puedo
    poner algo aquí.
  • 30:13 - 30:16
    Bien... Ahí está.
  • 30:16 - 30:18
    Y ahora voy a escribir...
  • 30:19 - 30:20
    Lo voy a acercar.
  • 30:20 - 30:22
    Voy a iniciar Python.
  • 30:22 - 30:24
    El sistema operativo
    me pregunta ¿qué sigue?
  • 30:24 - 30:28
    Y le contesto: «Ah, ahora
    quiero correr Python».
  • 30:29 - 30:31
    Bien, aquí estamos,
  • 30:31 - 30:32
    ante el intérprete de Python.
  • 30:32 - 30:35
    Y nos pregunta: «¿Qué sigue?»
  • 30:36 - 30:43
    Bien... es como si yo acabara de
    aterrizar en... un planeta...
  • 30:43 - 30:49
    y dijera:
    «Llévame con tu líder».
  • 30:51 - 30:55
    «Llévame con tu líder». Es lo que
    se dice al llegar a otro planeta
  • 30:55 - 30:57
    y se encuentran con un robot.
  • 30:58 - 31:00
    Y les dice: «Error de sintaxis».
  • 31:01 - 31:04
    Recuerden que es un perro,
    y acaba de decir: «Arfff».
  • 31:04 - 31:06
    Podrían decirle:
    «Llévame con tu líder»
  • 31:06 - 31:08
    Guauu.
    ¿Sí?
  • 31:10 - 31:13
    «¿Eres amistoso?»
  • 31:17 - 31:19
    No sé si lo escribí bien.
  • 31:20 - 31:21
    «Error de sintaxis»
  • 31:25 - 31:28
    ¿Eres estúpido?
  • 31:30 - 31:31
    «Error de sintaxis»
  • 31:31 - 31:33
    Muy estúpido.
  • 31:34 - 31:36
    ¡Odio las computadoras!
  • 31:41 - 31:43
    «Error de sintaxis»
  • 31:43 - 31:45
    Parece no tener
    sentido del humor.
  • 31:45 - 31:47
    Intenten esto:
    Toc, toc.
  • 31:49 - 31:51
    Toc, toc.
  • 31:52 - 31:55
    No tiene sentido del humor.
  • 31:55 - 31:57
    Ese es el problema.
  • 31:57 - 32:01
    Sí nos quiere... No nos odia.
  • 32:02 - 32:05
    Sólo quiere saber qué
    queremos que haga.
  • 32:06 - 32:07
    Entonces...
  • 32:07 - 32:09
    necesitamos saber
    el lenguaje Python.
  • 32:09 - 32:11
    Por suerte sé un poquito.
  • 32:11 - 32:14
    Así que voy a decir:
    «Oye, Python».
  • 32:14 - 32:16
    «Escribiré algunos datos».
  • 32:16 - 32:19
    Quiero crear una
    variable llamada «X»,
  • 32:19 - 32:21
    un lugar en tu memoria,
    ve a buscarlo.
  • 32:21 - 32:24
    Busca un lugar vacío
    en tu memoria.
  • 32:24 - 32:28
    Y quiero que pongas un cien ahí.
  • 32:29 - 32:30
    ¡Hazlo!
  • 32:30 - 32:32
    Ahora... ¡está feliz!
  • 32:32 - 32:33
    Porque conozco el lenguaje.
  • 32:34 - 32:35
    ¡Bonjour!
  • 32:36 - 32:37
    Conocemos el lenguaje.
  • 32:38 - 32:40
    Pero me dice: «Y ahora, ¿qué?»
  • 32:40 - 32:41
    Debemos meter un programa.
  • 32:43 - 32:46
    Bien, veamos... voy a decir:
  • 32:46 - 32:47
    ¡Oye, Python!
  • 32:48 - 32:51
    Haré una variable llamada «Y»,
    otro espacio en tu memoria...
  • 32:51 - 32:56
    llamada «Y», y ¿recuerdas la «X»
    que te di antes? Ve por ella,
  • 32:56 - 32:59
    agrégale 50, y
    pon todo en «Y».
  • 32:59 - 33:02
    Y ahora tengo algo en
    «X», y algo en «Y».
  • 33:02 - 33:05
    Y... vamos a imprimir «Y».
  • 33:08 - 33:09
    ¿Qué hay en «Y»?
  • 33:09 - 33:12
    Ve lo que hay en «Y»...
    e imprímelo.
  • 33:13 - 33:14
    Ciento cincuenta.
  • 33:14 - 33:15
    Entonces...
  • 33:16 - 33:17
    Son cosas sencillas.
  • 33:17 - 33:20
    Y un programa es una
    serie de cosas sencillas
  • 33:20 - 33:23
    El número de enunciados
    diferentes que pueden hacer...
  • 33:23 - 33:25
    es relativamente pequeño.
  • 33:25 - 33:28
    Entonces, le estamos hablando...
    a Python.
  • 33:29 - 33:32
    Vamos a regresar las diapositivas.
    Ahí está.
  • 33:32 - 33:33
    Así que...
  • 33:35 - 33:39
    Le di una serie de órdenes,
    ustedes pueden hacer lo mismo,
  • 33:39 - 33:40
    y...
  • 33:40 - 33:43
    escriban «Exit» o
    «Quit», con paréntesis,
  • 33:43 - 33:44
    para salirse cuando acaben.
  • 33:44 - 33:46
    Eso finaliza la
    sesión interactiva.
  • 33:46 - 33:50
    Esto es Python interactivo, que nos
    pregunta orden por orden...
  • 33:50 - 33:53
    y luego interpreta cada orden
    al correr el programa...
  • 33:53 - 33:55
    al terminar. Bien...
  • 33:56 - 33:58
    Trabajarán en una ventana.
  • 33:58 - 34:00
    Es diferente en Windows.
  • 34:00 - 34:03
    Mis documentos de instalación en
    pythonlearn.com
  • 34:03 - 34:06
    les dice todo lo que
    tienen que hacer.
  • 34:06 - 34:08
    Así que estamos
    hablándole a Python.
  • 34:09 - 34:13
    Bien... Aún tengo que
    enseñarles este lenguaje.
  • 34:13 - 34:14
    ¿QUÉ DECIR?
  • 34:14 - 34:18
    Bien... ¿qué tipo de cosas
    se dicen al entrar a Python?
  • 34:18 - 34:19
    ELEMENTOS
  • 34:19 - 34:21
    Como en cualquier...
    lenguaje...
  • 34:21 - 34:22
    humano...
  • 34:22 - 34:25
    Existe un vocabulario,
    de palabras básicas.
  • 34:26 - 34:29
    Hay «variables» y «palabras
    reservadas» en Python.
  • 34:29 - 34:31
    Y las combinamos en líneas...
  • 34:31 - 34:35
    para formar oraciones, que por sí
    solas no cuentan una historia.
  • 34:35 - 34:38
    Luego formamos la historia
    con ellas, pero...
  • 34:38 - 34:41
    la historia está en lenguaje
    Python, no en inglés ni francés
  • 34:41 - 34:45
    ni otro idioma humano,
    pero sigue siendo como...
  • 34:45 - 34:46
    una secuencia de...
  • 34:46 - 34:49
    partes pequeñas que forman
    partes más grandes que luego...
  • 34:49 - 34:50
    forman todo un programa.
  • 34:50 - 34:54
    Así que... aquí está, otra
    vez, el mismo programa.
  • 34:54 - 34:59
    ¿Sí? El que cuenta la palabra
    más común de un archivo.
  • 34:59 - 35:03
    Les había mencionado que al
    empezar abre el archivo,
  • 35:03 - 35:05
    lee los datos del mismo,
  • 35:06 - 35:07
    lo divide en palabras,
  • 35:07 - 35:11
    las cuenta todas, encuentra
    la mayor, y luego la imprime.
  • 35:11 - 35:12
    Entonces...
  • 35:12 - 35:14
    «Name» es como una palabra,
  • 35:14 - 35:17
    «Igual que» es otra,
    «Raw» es otra,
  • 35:17 - 35:18
    Estas son palabras.
  • 35:18 - 35:21
    Cada una de estas es
    como una oración.
  • 35:22 - 35:25
    Hay bloques de cosas:
    son como párrafos.
  • 35:25 - 35:27
    Este es uno, este es otro.
  • 35:27 - 35:29
    Usaré un color diferente aquí.
  • 35:29 - 35:31
    Este es como un párrafo.
  • 35:31 - 35:33
    Y otro... y otro.
  • 35:33 - 35:36
    Y al fin de cuentas, una
    vez que lo entiendan...
  • 35:36 - 35:38
    Y lo harán antes
    de que esto termine,
  • 35:38 - 35:40
    esto es como una historia:
  • 35:41 - 35:44
    tiene coherencia, principio,
    parte media y final.
  • 35:45 - 35:45
    Repito:
  • 35:46 - 35:48
    Ignoren los detalles.
    Tenemos...
  • 35:48 - 35:49
    muchos capítulos para cubrirlos.
  • 35:49 - 35:51
    No se desanimen
    con este programa,
  • 35:51 - 35:54
    sólo quiero que sepan que...
    lo entenderán.
  • 35:54 - 35:56
    Iniciaremos por lo básico.
  • 35:56 - 36:00
    Entonces... lo primero
    que deben aprender...
  • 36:02 - 36:04
    en Python, es lo que
    no deben hacer.
  • 36:04 - 36:05
    porque...
  • 36:05 - 36:08
    estas palabras, significan
    algo muy especial en Python.
  • 36:09 - 36:11
    Es como decir....
  • 36:11 - 36:14
    «No te daré comida hoy»
    a un perro,
  • 36:14 - 36:16
    que oye la palabra
    «comida», y nada más.
  • 36:16 - 36:19
    Por lo que «comida» es palabra
    reservada para perros
  • 36:19 - 36:21
    «Paseo», «baño», son otras.
  • 36:22 - 36:26
    Entonces, no pueden usarlas, excepto
    para lo que significan en Python
  • 36:26 - 36:29
    «Print», le dice que imprima cosas...
  • 36:29 - 36:32
    «Return» se usa en funciones...
  • 36:32 - 36:35
    «Else», «If», estas son
    palabras que si...
  • 36:35 - 36:37
    Python ve la palabra «If»
  • 36:37 - 36:39
    dirá: «Esto significa algo».
  • 36:39 - 36:42
    No la usen con ningún otro propósito,
    excepto el específicado.
  • 36:42 - 36:43
    Ya veremos cuáles son.
  • 36:44 - 36:49
    Bien, si hablamos de oraciones,
    en Python son como líneas,
  • 36:49 - 36:51
    formadas por varias partes.
  • 36:51 - 36:54
    Estas son tres partes de código.
  • 36:54 - 36:56
    Una es «x = 2» que significa:
  • 36:56 - 36:58
    Encuéntrame un trozo
    de memoria...
  • 36:58 - 37:01
    en tu RAM, asignada,
  • 37:01 - 37:03
    llámala «X», y ponle un 2.
  • 37:03 - 37:06
    Es como decir: mueve un 2 a X.
  • 37:06 - 37:08
    Luego... esto dice:
  • 37:08 - 37:13
    Ve por «X», agrégale 2,
    y pon la suma en «X»
  • 37:13 - 37:16
    Pequeñas oraciones, como
    sujeto y predicado.
  • 37:16 - 37:18
    ¿Sí? Especialmente
    esta asignación.
  • 37:18 - 37:20
    Luego, «Print», que es
    una palabra reservada,
  • 37:21 - 37:23
    estaba en la lista de la
    diapositiva anterior,
  • 37:23 - 37:25
    Luego, lee esa variable.
    Entonces...
  • 37:25 - 37:28
    Estas son como tres oraciones.
  • 37:28 - 37:29
    En nuestro nuevo lenguaje.
  • 37:32 - 37:33
    PÁRRAFOS DE PROGRAMACIÓN
  • 37:33 - 37:36
    Bien, esas son oraciones.
    Ahora...
  • 37:36 - 37:39
    Párrafos...
    Hablemos de párrafos.
  • 37:39 - 37:41
    Los párrafos son la
    combinación de oraciones
  • 37:41 - 37:43
    para formar un pensamiento.
  • 37:43 - 37:45
    Varias oraciones.
    Varias líneas.
  • 37:46 - 37:50
    El Python interactivo que
    les acabo de mostrar...
  • 37:50 - 37:51
    está...
  • 37:51 - 37:55
    bien para correr una, dos,
    cinco o seis órdenes,
  • 37:55 - 37:59
    pero... con el tiempo
    escribiremos cosas más largas.
  • 38:00 - 38:02
    Así que escribimos lo
    que llamamos un script...
  • 38:02 - 38:04
    o un programa en Python. Y...
  • 38:04 - 38:06
    lo ponemos en un archivo.
  • 38:06 - 38:09
    y a manera de...
  • 38:09 - 38:10
    prerrequisito...
  • 38:10 - 38:13
    me han visto ponerlo en
    un editor de texto...
  • 38:13 - 38:17
    guardarlo en un archivo, y luego
    correrlo desde el archivo Python.
  • 38:17 - 38:18
    ¿Sí?
  • 38:18 - 38:22
    Así que al nombrar estos archivos
    les ponemos punto «py» al final.
  • 38:22 - 38:25
    Le estamos dando un script a
    Python para ejecutarlo.
  • 38:25 - 38:27
    UN PROGRAMA SENCILLO
  • 38:27 - 38:29
    Entonces, es interactivo
    porque escriben...
  • 38:29 - 38:32
    directamente en Python y
    ejecuta sobre la marcha.
  • 38:32 - 38:35
    Se sigue el orden,
    porque el orden importa...
  • 38:35 - 38:40
    Y un script es un archivo donde
    se escribe todo de una vez.
  • 38:41 - 38:44
    PASOS O FLUJO DEL PROGRAMA
  • 38:44 - 38:47
    Ahora... al escribir
    una de estas cosas...
  • 38:47 - 38:49
    hay patrones para combinarlas.
  • 38:50 - 38:54
    Hacemos cosas... a estas líneas
    para tratarlas diferente.
  • 38:55 - 38:56
    Es como una receta.
  • 38:56 - 38:58
    Un juego de instrucciones.
  • 38:58 - 39:00
    Empezamos... ch, ch, ch, ch.
  • 39:00 - 39:02
    Pero es algo más
    complicado que eso.
  • 39:02 - 39:04
    Algunos pasos son sucesivos.
  • 39:04 - 39:06
    Otros van por saltos.
  • 39:06 - 39:09
    Algunos pueden hacerse
    varias veces.
  • 39:09 - 39:13
    Y otras veces tenemos grupos de
    pasos que hacemos una y otra vez.
  • 39:14 - 39:15
    Aquí tengo algunas
    ilustraciones.
  • 39:16 - 39:16
    y...
  • 39:17 - 39:21
    aquí hay cuatro líneas de Python,
    un párrafo muy sencillo.
  • 39:21 - 39:24
    Y tiene una oración
    que dice «x=2»
  • 39:24 - 39:25
    «print x»
  • 39:26 - 39:29
    «x=x+2» que significa ve por
    el antiguo valor de «x»,
  • 39:29 - 39:31
    agrégale 2 y ponlo
    de nuevo en «x»
  • 39:31 - 39:32
    e imprime «x»
  • 39:32 - 39:35
    La salida de este
    programa es 2, luego 4.
  • 39:35 - 39:38
    Porque imprimimos
    «x» que era 2,
  • 39:38 - 39:40
    luego la imprimimos
    de nuevo, y era 4.
  • 39:40 - 39:44
    No los pondré a dibujar
    estos diagramas de flujo.
  • 39:44 - 39:48
    Sólo son para facilitar la
    comprensión de lo que sucede.
  • 39:49 - 39:51
    Entonces... «x=1»
  • 39:52 - 39:55
    es el primer paso de la secuencia,
    que sigue con la impresión.
  • 39:55 - 39:58
    «x=x+1», sigue con la impresión
  • 39:58 - 39:59
    Esto es muy obvio.
  • 39:59 - 40:02
    Tiene más sentido cuando
    vemos cosas más complicadas.
  • 40:02 - 40:07
    Este programa inicia de forma
    natural, desde el principio,
  • 40:07 - 40:09
    y avanza hacia abajo
    hasta el final.
  • 40:09 - 40:10
    Son pasos en secuencia.
  • 40:10 - 40:12
    Es el orden normal de trabajo.
  • 40:13 - 40:13
    Bien...
  • 40:14 - 40:18
    Un condicional... es un paso
    que puede o no ser ejecutado.
  • 40:18 - 40:21
    Si no fueran más que secuencias,
    los programas serían aburridos.
  • 40:21 - 40:24
    ¿Sí? Serían como: «bla,
    bla, bla, bla, alto».
  • 40:25 - 40:26
    Hay cosas como...
  • 40:26 - 40:30
    ¡Qué tal si hago esto o aquello!
    Así que usamos el «si»...
  • 40:30 - 40:34
    Si dedicas más de 14 hr te
    pagaré una tarifa diferente...
  • 40:34 - 40:36
    que si dedicas menos tiempo.
  • 40:36 - 40:38
    Esos son condicionales.
  • 40:38 - 40:39
    La palabra «If»
  • 40:40 - 40:43
    Así que en Python expresamos
    esto con la palabra clave «If»
  • 40:44 - 40:45
    Decimos: «x=5»
  • 40:45 - 40:48
    Luego decimos: Si «x»
    es menor que diez,
  • 40:48 - 40:51
    Aquí se está haciendo
    una pregunta:
  • 40:51 - 40:54
    ¿Es «x» menor que diez?
    ¿Sí o no?
  • 40:54 - 40:56
    Si lo es, ejecutamos
    la parte sangrada
  • 40:57 - 40:59
    Si no lo es, la ignoramos.
  • 41:00 - 41:02
    En este caso, como
    «x» es cinco...
  • 41:03 - 41:04
    la ejecutamos...
  • 41:05 - 41:06
    luego regresamos aquí...
  • 41:06 - 41:07
    y hacemos otro.
  • 41:07 - 41:09
    Si «x» es mayor que veinte...
  • 41:09 - 41:11
    resulta ser falso.
  • 41:13 - 41:14
    Así que lo ignoramos.
  • 41:15 - 41:16
    «Mayor» no se ejecuta.
  • 41:16 - 41:20
    Esa línea nunca se ejecuta, así
    que el resultado es «Menor»
  • 41:20 - 41:20
    Y fin.
  • 41:22 - 41:23
    Bien...
  • 41:23 - 41:26
    Aquí podemos verlo
    en el diagrama.
  • 41:26 - 41:27
    Corremos x=5
  • 41:28 - 41:29
    Hacemos una pregunta
  • 41:29 - 41:31
    —no afecta a «x» que
    hagamos la pregunta—
  • 41:31 - 41:33
    ¿Es «x» menor que 10?
  • 41:33 - 41:36
    La respuesta es «Sí», así
    que seguimos este sendero.
  • 41:36 - 41:39
    Imprimimos «Menor», luego
    regresamos a la carretera.
  • 41:40 - 41:41
    ¿Es «x» menor que veinte?
  • 41:41 - 41:45
    ¡No! Así que continuamos.
  • 41:45 - 41:47
    Así que este nunca se ejecuta.
  • 41:47 - 41:49
    Pueden verlo de cualquier forma:
  • 41:49 - 41:52
    pueden verlo al estilo
    Gestalt, y decir:
  • 41:53 - 41:55
    Si esto es cierto, haz
    lo que tiene sangría...
  • 41:55 - 41:58
    o pueden imaginar un carro
    avanzando por una carretera
  • 41:58 - 42:00
    eligiendo dónde dar vuelta.
  • 42:00 - 42:02
    Son equivalentes.
  • 42:02 - 42:03
    Con el tiempo...
  • 42:03 - 42:05
    probablemente
    empiecen a verlo así,
  • 42:05 - 42:06
    y empiecen a pensar así,
  • 42:06 - 42:09
    pero a veces ayuda
    verlo de esta forma,
  • 42:09 - 42:10
    por un tiempo.
  • 42:12 - 42:12
    Bien...
  • 42:13 - 42:16
    Lo que quiero mostrarles a
    continuación son los pasos repetidos
  • 42:16 - 42:19
    pasos que se ejecutan
    una y otra vez
  • 42:20 - 42:20
    ¿Sí?
  • 42:21 - 42:25
    Y cuando dije que las computadoras
    son buenas con millones de palabras,
  • 42:25 - 42:28
    eso implica que debe hacer
    un bucle o sección repetida,
  • 42:28 - 42:31
    uno para cada palabra.
  • 42:31 - 42:32
    Así que...
  • 42:34 - 42:37
    Entonces aquí vamos...
    y en Python...
  • 42:37 - 42:40
    Voy a poner otro color de texto.
  • 42:40 - 42:42
    Usaré el morado.
  • 42:42 - 42:44
    Aquí está el programa.
    Este es el principio.
  • 42:44 - 42:46
    Establece la variable
    «n» con un 5.
  • 42:46 - 42:49
    Luego una palabra clave, la
    palabra reservada «while».
  • 42:49 - 42:53
    «While» n sea mayor que cero
    —estamos haciendo una pregunta—
  • 42:53 - 42:56
    Es... una pregunta.
  • 42:56 - 42:58
    ¿Es n mayor que cero?,
    es una pregunta.
  • 42:58 - 43:01
    Si sí, haremos esto;
    si no, haremos eso.
  • 43:01 - 43:04
    Aquí, si es verdad, ejecutaremos
    lo que está con sangría.
  • 43:05 - 43:06
    Luego volveremos a
    hacerlo de nuevo.
  • 43:07 - 43:09
    Si es falso, saltaremos
    al siguiente paso.
  • 43:09 - 43:11
    Entonces es como un condicional,
  • 43:11 - 43:15
    excepto que lo hará una
    y otra, y otra, vez.
  • 43:15 - 43:16
    Entonces...
  • 43:16 - 43:20
    entra, pone un 5 en «n»,
    ¿es n mayor que cero? Sí, claro.
  • 43:20 - 43:23
    Así que imprime «n»,
    que resulta ser 5.
  • 43:23 - 43:27
    Luego dice: «n» igual a
    «n-1», así que «n» es 4.
  • 43:27 - 43:29
    Voy a cambiar de color.
  • 43:29 - 43:31
    Luego regresa arriba.
  • 43:32 - 43:33
    Regresa arriba.
  • 43:33 - 43:35
    Y vuelve a preguntar.
  • 43:35 - 43:37
    Y es cuatro.
  • 43:37 - 43:39
    Sigue siendo mayor que cero.
  • 43:39 - 43:40
    Así que sigue.
  • 43:40 - 43:41
    Imprime 4.
  • 43:41 - 43:43
    Resta 1.
  • 43:43 - 43:44
    Y ahora es 3.
  • 43:45 - 43:46
    Regresa arriba.
  • 43:47 - 43:49
    ¿Es «n» cero?
  • 43:49 - 43:51
    ¿Es «n» mayor que cero. Sí.
  • 43:51 - 43:52
    Imprime 3.
  • 43:52 - 43:54
    Resta 1, ahora es 2.
  • 43:55 - 43:57
    Así que cuento 3 y 2.
  • 43:58 - 44:00
    Y vuelve arriba.
  • 44:00 - 44:02
    ¿Aún mayor que cero?
    Sí, todavía.
  • 44:02 - 44:03
    Imprime 2.
  • 44:04 - 44:06
    Ah, no. Era 1.
  • 44:07 - 44:10
    Ahora al restar 1 resulta 0.
  • 44:11 - 44:14
    ¿Es mayor que cero? No.
    Por fin nos vamos.
  • 44:15 - 44:17
    Y por fin bajamos.
  • 44:17 - 44:20
    Y lo último que se
    imprime es «Vámonos».
  • 44:21 - 44:22
    Así que esto es un bucle.
  • 44:23 - 44:25
    Correremos esta pequeña
    sección de código...
  • 44:26 - 44:27
    cinco veces.
  • 44:27 - 44:29
    [Cof, cof]
    Perdón.
  • 44:33 - 44:35
    Correremos este pedazo
    de código cinco veces.
  • 44:36 - 44:40
    Y... los bucles tienen las
    llamadas variables de iteración,
  • 44:40 - 44:41
    como esta «n».
  • 44:41 - 44:46
    Es una variable que cambia
    cada vez que pasa el bucle.
  • 44:46 - 44:48
    Así podemos controlar
    más o menos el bucle:
  • 44:48 - 44:50
    Podemos decidir su inicio y fin.
  • 44:50 - 44:54
    Podemos decir si es el
    primero o el último.
  • 44:54 - 44:55
    Utilizaremos muchos bucles.
  • 44:55 - 44:58
    Esta es una variable de
    iteración, porque repetimos...
  • 44:58 - 45:00
    o iteramos varias
    veces el bucle.
  • 45:01 - 45:01
    ¿Sí?
  • 45:04 - 45:06
    ¿Alguna pregunta?
    Je, je....
  • 45:06 - 45:08
    Como si pudiera responder.
    Bueno...
  • 45:09 - 45:11
    Así que ahora...
  • 45:11 - 45:12
    si regresamos...
  • 45:12 - 45:13
    a la historia que yo—
  • 45:13 - 45:16
    Ya habrá oportunidad de entender.
    No se preocupen.
  • 45:16 - 45:18
    Tienen como hasta
    el capítulo nueve.
  • 45:18 - 45:20
    Así que no traten de
    entender todo ahora.
  • 45:20 - 45:22
    Solo quiero darles una muestra...
  • 45:22 - 45:25
    de lo que se van a encontrar.
    ¿Sí?
  • 45:25 - 45:26
    Entonces...
  • 45:27 - 45:27
    Entonces...
  • 45:27 - 45:29
    Esta es una secuencia
    de declaraciones,
  • 45:29 - 45:31
    porque no tienen sangría.
  • 45:31 - 45:34
    Esas cinco líneas están en secuencia.
  • 45:34 - 45:36
    Van una después de la otra.
  • 45:36 - 45:38
    Luego tenemos «o».
  • 45:38 - 45:39
    Y tiene sangría.
  • 45:40 - 45:43
    Este es un bucle.
    Correrá un montón de veces.
  • 45:43 - 45:46
    Luego de eso tenemos
    más cosas en secuencia.
  • 45:46 - 45:50
    Ahora tenemos un cuarto bucle,
    que correrá un montón de veces.
  • 45:50 - 45:54
    Luego tenemos un «If»,
    que puede o no correr.
  • 45:54 - 45:56
    Es este bloquecito de código.
  • 45:56 - 46:01
    Se ejecuta con una condición, y esta
    es la pregunta que estamos haciendo.
  • 46:02 - 46:03
    Esa es la pregunta.
  • 46:04 - 46:06
    Y al final ordenamos imprimir.
    Y repito...
  • 46:06 - 46:08
    No se esfuercen mucho con esto.
  • 46:08 - 46:10
    Solo quiero mostrarles...
  • 46:10 - 46:11
    Secuencia.
  • 46:11 - 46:13
    Repetición.
  • 46:13 - 46:14
    Repetición.
  • 46:14 - 46:15
    Condicional.
  • 46:16 - 46:17
    ¿Entienden?
  • 46:17 - 46:22
    Esos conceptos aparecen en
    casi cualquier programa.
  • 46:22 - 46:23
    Muy bien.
  • 46:24 - 46:25
    Bien.
  • 46:25 - 46:28
    Hagamos un par más de
    ejercicios que les muestren...
  • 46:28 - 46:31
    la mentalidad de
    los programadores,
  • 46:31 - 46:34
    y como tienen que pensar
    en los problemas...
  • 46:34 - 46:36
    de una manera diferente.
  • 46:36 - 46:37
    Pues, aquí vamos.
  • 46:37 - 46:41
    Esto es a lo que yo llamo
    una historia corta animada.
  • 46:41 - 46:43
    Y su trabajo...
  • 46:43 - 46:45
    Les daré varios
    grupos de números
  • 46:45 - 46:47
    y quiero...
  • 46:47 - 46:50
    que encuentren el número
    mayor de la lista.
  • 46:50 - 46:51
    Bien...
  • 46:52 - 46:55
    Saber cuál es el número mayor,
    no es tan importante...
  • 46:55 - 46:58
    como fijarse cómo su mente...
  • 46:58 - 47:00
    aborda el problema.
  • 47:00 - 47:01
    Qué hacen sus ojos.
  • 47:01 - 47:05
    Qué hace su mente. Cómo dividen un
    problema en partes más pequeñas.
  • 47:05 - 47:09
    Cómo un humano resuelve este
    problema. Y me concentraré en...
  • 47:09 - 47:12
    la forma en que una computadora
    vería el problema.
  • 47:12 - 47:15
    ¿Sí? Así que no solo
    obtengan la respuesta.
  • 47:15 - 47:16
    Eso no importa tanto.
  • 47:16 - 47:18
    Piensen cómo llegan
    a la respuesta.
  • 47:18 - 47:20
    Así que no lo
    busquen en YouTube
  • 47:20 - 47:22
    tramposamente para
    saber la respuesta.
  • 47:22 - 47:23
    Piensen en...
  • 47:23 - 47:26
    resolver el problema y aparte
    monitorear lo que su mente...
  • 47:26 - 47:28
    va pensando.
    Entonces...
  • 47:28 - 47:29
    Aquí vamos.
  • 47:29 - 47:31
    Entonces les doy una
    lista de números...
  • 47:31 - 47:33
    y deben decirme...
  • 47:33 - 47:35
    cuál es el número mayor.
  • 47:35 - 47:36
    ¿Listos?
  • 47:36 - 47:37
    Prepárense.
  • 47:37 - 47:38
    Ahora.
  • 47:49 - 47:51
    No la puse fácil.
  • 47:51 - 47:53
    Busquen el número mayor.
  • 48:05 - 48:06
    ¿Lo resolvieron?
  • 48:07 - 48:08
    ¿Lo tienen?
  • 48:08 - 48:10
    ¿Tuvieron que ver
    un par de veces?
  • 48:10 - 48:11
    En verdad no me
    importa la respuesta
  • 48:12 - 48:13
    La cuestión es...
  • 48:13 - 48:14
    ¿Qué hizo su mente...
  • 48:14 - 48:17
    para resolverlo.
    Pero querrán la respuesta.
  • 48:17 - 48:20
    El número mayor es 198
  • 48:20 - 48:23
    Por supuesto lo moví
    para dificultarlo.
  • 48:24 - 48:25
    Pero hay una cosa.
  • 48:26 - 48:28
    Los humanos ¿cómo...
  • 48:28 - 48:30
    vemos esto?
  • 48:30 - 48:34
    Miraron el 25, luego
    el 1 y después el 114?
  • 48:34 - 48:37
    ¿Vieron lentamente uno a la vez?
  • 48:37 - 48:38
    ¿Así?
  • 48:38 - 48:40
    ¿O no?
    Lo dudo.
  • 48:40 - 48:42
    O quizá sean una computadora.
  • 48:42 - 48:45
    ¡Quizá todos sean computadoras!
  • 48:45 - 48:47
    Yo no; quizá ustedes sí.
  • 48:47 - 48:49
    Muy bien.
    Basta de eso.
  • 48:49 - 48:51
    No. Probablemente no
    lo hayan hecho así.
  • 48:52 - 48:57
    Deben haber movido la vista alrededor
    de todo con mucha rapidez.
  • 48:57 - 49:00
    Y lo primero que deben haber
    notado, es que había...
  • 49:00 - 49:05
    bloques de un dígito, bloques
    medianos y grandes morados.
  • 49:06 - 49:08
    Y lo primero que notaron...
  • 49:08 - 49:11
    inmediatamente, fue
    que no tenía caso...
  • 49:11 - 49:12
    ver...
  • 49:12 - 49:14
    ninguno de los bloques pequeños.
  • 49:14 - 49:18
    Su cerebro eliminó los bloques
    pequeños con mucha rapidez.
  • 49:18 - 49:22
    Luego dicen: «Bien, dado que no hay
    números de 4 dígitos, sino de 3...
  • 49:22 - 49:25
    Luego quizá buscaron
    el primer dígito...
  • 49:25 - 49:29
    Dijeron: «Mira, hay unos.
    ¿Habrá algún dos?»
  • 49:29 - 49:32
    Rápidamente decidieron
    que no había ningún dos.
  • 49:32 - 49:34
    Así que supieron que debían
    buscar los bloques grandes
  • 49:34 - 49:37
    Y que el segundo dígito
    era lo que importaba.
  • 49:37 - 49:41
    Luego llegaron a los nueves.
    Dijeron: «Oh, hay algunos nueves»
  • 49:41 - 49:44
    Y eso significa que
    es uno, nueve, algo.
  • 49:44 - 49:48
    Luego quizá tuvieron que
    verificar y encontrar el...
  • 49:48 - 49:50
    Oh, ¿dónde quedó el
    ciento noventa...
  • 49:51 - 49:52
    ¡Ja!
  • 49:53 - 49:55
    ¡Oh! Ciento noventa y ocho.
    Justo ahí.
  • 49:56 - 49:58
    Aunque le cambié el
    color, no lo veía.
  • 49:58 - 49:59
    Muy bien.
  • 49:59 - 50:01
    Pero el caso es que...
  • 50:01 - 50:03
    los humanos somos muy buenos...
  • 50:03 - 50:06
    para eliminar las
    malas soluciones
  • 50:06 - 50:07
    con mucha rapidez.
  • 50:07 - 50:12
    Y probablemente viendo cuánto
    morado había en la pantalla,
  • 50:12 - 50:15
    eliminaron las áreas con menos
    morado porque sabían que—
  • 50:15 - 50:18
    su cerebro rápida e
    instintivamente notó...
  • 50:18 - 50:20
    que entre más morado...
  • 50:20 - 50:22
    mayor era el número.
  • 50:23 - 50:25
    Las computadoras no
    hacen nada de eso.
  • 50:25 - 50:27
    Nada de eso.
  • 50:27 - 50:28
    Entonces...
  • 50:29 - 50:32
    Para que se sientan más
    como una computadora...
  • 50:33 - 50:35
    tengo otra prueba.
  • 50:36 - 50:37
    Y repito...
  • 50:37 - 50:40
    La meta no es solo
    encontrar el número mayor,
  • 50:40 - 50:41
    sino...
  • 50:41 - 50:45
    monitorear sobre la marcha
    lo que están pensando...
  • 50:46 - 50:48
    mientras lo hacen.
    ¿Está bien?
  • 50:49 - 50:50
    ¿Entendido?
  • 50:50 - 50:53
    ¿Cómo abordan el problema?
  • 50:53 - 50:55
    ¿Qué sienten mientras
    abordan el problema?
  • 50:56 - 50:58
    ¿Son una computadora, o no?
  • 50:59 - 51:02
    Aquí vamos. Les
    daré unos segundos.
  • 51:21 - 51:22
    Entonces...
  • 51:24 - 51:25
    ¿Qué les salió?
  • 51:27 - 51:29
    Lo que pienso es...
  • 51:29 - 51:31
    que la mayoría de ustedes
    simplemente dijo...
  • 51:31 - 51:32
    «No me importa».
  • 51:33 - 51:35
    «Este problema es muy difícil
  • 51:36 - 51:39
    «Es estúpido» o «Trataré de
    voltear mi cabeza al revés».
  • 51:39 - 51:40
    O algo.
  • 51:40 - 51:41
    Es un problema difícil.
  • 51:41 - 51:43
    El otro fue bastante fácil.
  • 51:43 - 51:49
    Quizá no lo hayan resuelto, pero
    tienen el instinto para abordarlo.
  • 51:49 - 51:51
    Bien, les mostraré la
    respuesta correcta.
  • 51:51 - 51:53
    El resultado es...
  • 51:56 - 51:57
    Justo ese...
  • 51:57 - 51:59
    Es ciento...
  • 52:00 - 52:01
    noventa y siete.
  • 52:01 - 52:02
  • 52:03 - 52:06
    Bien. No pueden, aunque
    les diga que ahí está...
  • 52:06 - 52:09
    lo que es. ¿Qué es esto?
    ¿Quinientos? o...
  • 52:10 - 52:11
    Dos...
  • 52:11 - 52:11
    cero, cero.
  • 52:11 - 52:14
    ¿Cómo... ah, agg, ag?
  • 52:14 - 52:17
    En realidad solo podría
    lograrlo si lo volteo.
  • 52:17 - 52:19
    Los humanos no somos
    buenos para esto.
  • 52:20 - 52:24
    Esto es más parecido a cómo las
    computadoras ven el mundo, pero...
  • 52:24 - 52:28
    el que los datos estén al revés o
    al derecho no debería ser problema.
  • 52:28 - 52:29
    ¿Sí?
  • 52:29 - 52:30
    Las computadoras...
  • 52:30 - 52:32
    necesitan una estrategia.
  • 52:32 - 52:34
    Debemos darles una estrategia.
  • 52:35 - 52:35
    Bien.
  • 52:36 - 52:38
    Aquí vamos.
  • 52:40 - 52:41
    Un...
  • 52:41 - 52:42
    último...
  • 52:43 - 52:44
    experimento.
  • 52:45 - 52:46
    Ahora...
  • 52:47 - 52:50
    les mostraré números,
    uno a la vez.
  • 52:50 - 52:51
    Y al final...
  • 52:51 - 52:55
    quiero que me digan cuál
    fue el número mayor.
  • 52:55 - 52:55
    ¿Listos?
  • 52:56 - 52:56
    Aquí vamos.
  • 52:58 - 52:59
    Primer número.
  • 53:12 - 53:14
    ¿Cuál fue el número mayor?
  • 53:21 - 53:24
    En realidad, ¿cómo
    resolvieron el problema?
  • 53:25 - 53:27
    Lo resolvieron...
  • 53:27 - 53:28
    casi seguro...
  • 53:28 - 53:32
    porque no vieron todos los números
    a la vez, así que probablemente...
  • 53:32 - 53:36
    crearon... una variable en
    su mente, sin darse cuenta.
  • 53:36 - 53:39
    y pusieron en esa variable—
  • 53:39 - 53:40
    la llamaron...
  • 53:40 - 53:43
    el número mayor que
    he visto hasta ahora.
  • 53:44 - 53:45
    y...
  • 53:45 - 53:49
    si no han visto ninguno, digamos que
    el número mayor que han visto es -1
  • 53:49 - 53:51
    Luego, les muestro un tres.
  • 53:52 - 53:54
    Y ustedes piensan: Bueno...
  • 53:55 - 53:58
    Uno negativo no es el mayor
    número que he visto.
  • 53:58 - 53:59
    Así que guardaré ese.
  • 53:59 - 54:02
    Guardaré el tres. Es
    el mayor hasta ahora.
  • 54:02 - 54:04
    Luego veo el cuarenta y uno.
    ¡Ah!
  • 54:04 - 54:06
    Cuarenta y uno es
    mayor que tres,
  • 54:06 - 54:07
    así que lo guardaré.
  • 54:08 - 54:10
    Y ahora veo un doce.
  • 54:10 - 54:11
    El doce es basura...
  • 54:11 - 54:15
    porque ni se acerca a cuarenta y uno,
    así que conservaré el cuarenta y uno.
  • 54:15 - 54:16
    Y ahora...
  • 54:17 - 54:17
    Oh, nueve.
  • 54:18 - 54:21
    No se acerca al cuarenta y
    uno, así que lo desecharé.
  • 54:21 - 54:23
    ¿Setenta y cuatro?
  • 54:23 - 54:25
    Mejor... mejor... lo conservo.
    Me sirve.
  • 54:25 - 54:27
    Conservo el setenta y cuatro.
  • 54:27 - 54:29
    Y el último número es quince,
  • 54:29 - 54:31
    —No sabía que es el último—
  • 54:31 - 54:34
    pero no lo conservamos,
    así que ya terminamos.
  • 54:34 - 54:36
    Entonces sabemos que al final...
  • 54:36 - 54:40
    lo que durante el bucle fue el mayor
    hasta el momento...
  • 54:40 - 54:43
    es en realidad el mayor
    de todos los números.
  • 54:43 - 54:45
    Y no recordamos exactamente
    cuantos números...
  • 54:46 - 54:46
    había.
  • 54:47 - 54:51
    Y esto es pensar como un programa...
    como una ventana corrediza.
  • 54:51 - 54:54
    No importa si les hubiera dado un
    millón de números... o cinco.
  • 54:54 - 54:57
    Creo que eran cinco.
  • 54:57 - 55:00
    Esta idea del mayor hasta
    el momento es muy poderosa.
  • 55:00 - 55:01
    De hecho...
  • 55:01 - 55:04
    es el centro del programa
    que les he mostrado.
  • 55:05 - 55:08
    No traten de entender esto.
  • 55:08 - 55:10
    Pero, esta parte morada...
  • 55:12 - 55:13
    Esta parte morada...
  • 55:14 - 55:15
    en realidad dice:
  • 55:16 - 55:18
    Voy a correr en bucle para
    contar todas las palabras.
  • 55:18 - 55:22
    Si hay una palabra como...
    «The» está quince veces, y...
  • 55:22 - 55:24
    «Clown» está cuatro veces.
  • 55:24 - 55:28
    Y va a ver cada par de
    palabras y combinaciones.
  • 55:28 - 55:32
    Y dirá: Revisaré las
    cuentas que tengo...
  • 55:33 - 55:36
    y verificaré si la cuenta que
    estoy viendo es mayor...
  • 55:36 - 55:39
    que la cuenta mayor que
    he visto hasta ahora.
  • 55:39 - 55:41
    Y si lo es la recordaré.
  • 55:41 - 55:42
    Pero...
  • 55:42 - 55:46
    no se preocupen; no veremos esto
    hasta los capítulos 2, 3, 4, 5 y 6.
  • 55:47 - 55:49
    Pero esto es un algoritmo...
  • 55:49 - 55:51
    un párrafo...
  • 55:51 - 55:52
    un patrón...
  • 55:52 - 55:55
    que les permite encontrar
    el número mayor.
  • 55:55 - 55:59
    Volveremos a ver esto al detalle
    en capítulos siguientes.
  • 55:59 - 56:03
    Esto es, más o menos, la forma
    de pensar de una computadora:
  • 56:03 - 56:07
    tener una ventana corrediza a través
    de una larga lista de números...
  • 56:07 - 56:09
    y llegar a algo...
  • 56:09 - 56:12
    que sea la respuesta...
    que necesitamos.
  • 56:14 - 56:15
    Muy bien.
  • 56:15 - 56:17
    Este es el final
    de la conferencia.
  • 56:17 - 56:19
    Lean el capítulo 1.
  • 56:19 - 56:21
    Escriban su programa
    de «Hola mundo».
  • 56:21 - 56:23
    Si no lo han hecho asegúrense...
  • 56:23 - 56:24
    de instalar Python...
  • 56:24 - 56:26
    mientras leen este capítulo...
  • 56:26 - 56:28
    e incluso mientras
    instalan Python...
  • 56:28 - 56:31
    o mientras escriben
    su primer programa...
  • 56:31 - 56:34
    no se atoren en los detalles.
  • 56:34 - 56:37
    Yo estuve confundido
    como ocho semanas—-
  • 56:37 - 56:39
    seis semanas en mi primera
    clase de programación.
  • 56:40 - 56:41
    Les pasará a ustedes también.
  • 56:41 - 56:44
    Solo síganme. No deserten.
  • 56:45 - 56:49
    Comenzará a tener sentido en un
    punto que depende de ustedes.
  • 56:49 - 56:51
    Yo no puedo decirles
    cuándo lo entenderán.
  • 56:51 - 56:52
    Así que... no...
  • 56:52 - 56:56
    se queden viendo todo fijamente.
    Solo sigan escarbando...
  • 56:56 - 56:59
    sigan entendiendo,
    sigan jugando...
  • 56:59 - 57:02
    y tarde o temprano le
    hallarán mucho sentido.
  • 57:02 - 57:03
    Lo prometo.
  • 57:03 - 57:04
    Hasta la próxima.
Title:
Python para informática: Capítulo 1 - Introducción
Description:

Este es el primer capítulo de Python para informática, que cubre temas como hardware, software, programación y, en general, inicia todo. Sería mejor si los estudiantes instalaran Python siguiendo las instrucciones de http://www.pythonlearn.com/install.php antes de ver esta conferencia.

more » « less
Video Language:
English
Team:
Captions Requested
Duration:
57:08

Spanish subtitles

Revisions Compare revisions