Manuel Vargas
Universidad de Costa Rica
Representación artística de una máquina de Turing. Fuente: Porao.
Seymour Papert
Matemático, pionero de la inteligencia artificial, co-creador del lenguaje de programación Logo.
Seymour Papert
Matemático, pionero de la inteligencia artificial, co-creador del lenguaje de programación Logo.
Jeannette Wing
Investigadora en ciencias de la computación, ex vicepresidente de Microsoft Research.
Se componen de múltiples rectángulos (teselas o tiles) de diferentes tamaños que se agregan y desagregan conforme se requiere en acercamientos, alejamientos y otras operaciones.
Se componen de múltiples rectángulos (teselas o tiles) de diferentes tamaños que se agregan y desagregan conforme se requiere en acercamientos, alejamientos y otras operaciones.
Son posibles soluciones para problemas de diseño arquitectónico. Christopher Alexander et al. recopilaron más de 200 en su libro A Pattern Language: Towns, Buildings, Construction (1977).
"Cada patrón describe un problema que ocurre infinidad de veces en nuestro entorno, así como la solución al mismo, de tal modo que podemos utilizar esta solución un millón de veces más adelante sin tener que volver a pensarla otra vez." (Christopher Alexander)
Son posibles soluciones para problemas de diseño arquitectónico. Christopher Alexander et al. recopilaron más de 200 en su libro A Pattern Language: Towns, Buildings, Construction (1977).
"Cada patrón describe un problema que ocurre infinidad de veces en nuestro entorno, así como la solución al mismo, de tal modo que podemos utilizar esta solución un millón de veces más adelante sin tener que volver a pensarla otra vez." (Christopher Alexander)
Inspirados en las ideas de Alexander, varios ingenieros de software desarrollaron patrones para resolver problemas comunes de desarrollo de software.
Los patrones de diseño de software alcanzaron gran popularidad con la publicación del libro Design Patterns: Elements of Reusable Object-Oriented Software (1994), escrito por Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides; y en el cual se documentan 23 patrones de diseño de software.
Inspirados en las ideas de Alexander, varios ingenieros de software desarrollaron patrones para resolver problemas comunes de desarrollo de software.
Los patrones de diseño de software alcanzaron gran popularidad con la publicación del libro Design Patterns: Elements of Reusable Object-Oriented Software (1994), escrito por Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides; y en el cual se documentan 23 patrones de diseño de software.
Las capas temáticas son una abstracción de un espacio geográfico
Las capas temáticas son una abstracción de un espacio geográfico
Solo es posible comparar dos elementos de la lista a la vez, para determinar si uno es mayor que otro.
Solo es posible comparar dos elementos de la lista a la vez, para determinar si uno es mayor que otro.
Solo es posible comparar dos elementos de la lista a la vez, para determinar si uno es mayor que otro.
Solo es posible comparar dos elementos de la lista a la vez, para determinar si uno es mayor que otro.
Solo es posible comparar dos elementos de la lista a la vez, para determinar si uno es mayor que otro.
Solo es posible comparar dos elementos de la lista a la vez, para determinar si uno es mayor que otro.
Solo es posible comparar dos elementos de la lista a la vez, para determinar si uno es mayor que otro.
Solo es posible comparar dos elementos de la lista a la vez, para determinar si uno es mayor que otro.
elemento en verde = máximo actual
elemento en rojo = elemento que está siendo comparado
elemento en verde = máximo actual
elemento en rojo = elemento que está siendo comparado
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
elemento en verde = máximo actual
elemento en rojo = elemento que está siendo comparado
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
elemento en verde = máximo actual
elemento en rojo = elemento que está siendo comparado
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
elemento en verde = máximo actual
elemento en rojo = elemento que está siendo comparado
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
elemento en verde = máximo actual
elemento en rojo = elemento que está siendo comparado
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
elemento en verde = máximo actual
elemento en rojo = elemento que está siendo comparado
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
elemento en verde = máximo actual
elemento en rojo = elemento que está siendo comparado
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
[29.6, -36.81, 31.85, 25.71, 90.2, 0.4]
LISTA <- Leer()si (Vacia(LISTA)) { Desplegar("Lista vacía")} si no { MAX <- LISTA[1] I <- 1 mientras (I <= Longitud(LISTA)) { ITEM <- LISTA[I] si (ITEM > MAX) { MAX <- ITEM } I <- I + 1 } Desplegar(MAX)}
# Obtener el valor máximo de una listalista <- c(29.6, -36.81, 31.85, 25.71, 90.2, 0.4)cat("Lista de entrada: ", lista, "\n")if (length(lista) == 0) { cat("La lista está vacía", "\n")} else { max <- lista[1] i <- 1 while (i <= length(lista)) { if (lista[i] > max) { max <- lista[i] } i <- i + 1 } cat("Valor máximo de la lista: ", max, "\n")}
Archivo con código fuente en R
# Obtener el valor máximo de una listalista = [29.6, -36.81, 31.85, 25.71, 90.2, 0.4]print("Lista de entrada: ", lista)if (len(lista) == 0): print("La lista está vacía")else: max = lista[0] i = 0 while (i < len(lista)): if (lista[i] > max): max = lista[i] i = i + 1 print("Valor máximo de la lista:", max)
Archivo con código fuente en Python
Este patrón describe el flujo de procesamiento básico de cualquier algoritmo o programa.
Scratch es un lenguaje de programación orientado a educación. Su nombre proviene de la palabra scratching.
Fue desarrollado en 2003 (una versión de escritorio) por el MIT Media Lab y es administrado por la Fundación Scratch, una organización sin fines de lucro que lo facilita de manera gratuita.
Scratch es software libre distribuido mediante licencia GPLv2.
Ingrese al sitio web de Scratch y estudie la intefaz del ambiente de desarrollo. Puede buscar información adicional en otros sitios (Google, YouTube, etc.). Revise ejemplos y proyectos de otras personas para saber qué puede hacer con Scratch.
Utilizando los cuatro principios fundamentales del pensamiento computacional, desarrolle un algoritmo para dibujar el paisaje de la diapositiva anterior. Considere las siguientes preguntas orientadoras:
Implemente en Scratch el algoritmo que desarrolló.
Subproblemas
Dibujar casa
Dibujar edificio
Patrones identificados
Atributos necesarios para dibujar las figuras
Nota: las posiciones (x, y) que se pasan como parámetros corresponden a la esquina inferior izquierda de las figuras.
dibujar_paisaje borrar_todo dibujar_casa (-160, 10, 50) dibujar_casa (-85, -140, 60) dibujar_casa (145, -60, 75) dibujar_edificio (10, -40, 75)
dibujar_casa (x, y, lado) dibujar_base (x, y, lado) dibujar_techo (x, y + lado, lado)dibujar_edificio (x, y, lado) dibujar_base (x, y, lado) dibujar_base (x, y + lado, lado) dibujar_techo (x, y + lado*2, lado)dibujar_base (x, y, lado) subir_lapiz ir_a (x, y) apuntar_en_direccion (90) bajar_lapiz repetir 4 veces esperar_segundos (0.5) mover (lado) girar_derecha (90)dibujar_techo (x, y, lado) subir_lapiz ir_a (x, y) bajar_lapiz apuntar_en_direccion (90) repetir 3 veces esperar_segundos (0.5) mover (lado) girar_izquierda (120)
Keyboard shortcuts
↑, ←, Pg Up, k | Go to previous slide |
↓, →, Pg Dn, Space, j | Go to next slide |
Home | Go to first slide |
End | Go to last slide |
Number + Return | Go to specific slide |
b / m / f | Toggle blackout / mirrored / fullscreen mode |
c | Clone slideshow |
p | Toggle presenter mode |
t | Restart the presentation timer |
?, h | Toggle this help |
Esc | Back to slideshow |