Te recomendamos consultar el texto interactivo de principio a fin por lo menos una vez, aunque puedes acceder a él las veces que lo desees.



Lógica de programación


1. La programación

1.1 Programación en la vida cotidiana y en la informática

2. Tipos de algoritmos

2.1. Algoritmo verbal escrito

2.2. Algoritmo verbal oral

2.3. Algoritmo gráfico (esquemas)

2.4 Pseudocódigo

3. Código del programa

3.1. Variables y tipos datos

3.2. Operadores y funciones

3.3. Estructuras de control: Casos

3.4. Estructuras de control: Ciclos

4. Funciones

4.1. Funciones en la vida cotidiana

4.2. Funciones en programación

5. Programación modular

Referencias

Créditos


1. La programación

La programación hace posible muchas actividades cotidianas, presenciales y digitales, tanto de trabajo como de diversión. Algunos ejemplos donde se aplica la programación son:



Boda de una pareja que se ama
Eventos sociales - boda (cc) iLou
Eventos sociales - boda

Programar la fecha, las pruebas de vestido o la degustación del menú para el banquete.

Conferencia de un tema súper interesante
Eventos académicos – conferencia (cc) iLou
Eventos académicos – conferencia

Programar todas las actividades, realizar las invitaciones y esperar confirmación de los ponentes, inscripción de asistentes, etc.

Concierto al que no fui
Eventos culturales – concierto (cc) iLou
Eventos culturales – concierto

Considerar todas las variables de la fecha, lugar, cantidad de personas, costo de boleto, fecha, patrocinadores, etc.



Esperando que ya hayn depositado
Transacciones bancarias (cc) iLou
Actividad cotidiana – transacciones bancarias

Decidir qué operación se va a realizar y cuándo, introducir el NIP para validación de usuario, realización de la operación deseada y actualización de saldo.

Espero que esta vez si salga
Cocinar (cc) iLou
Actividad cotidiana – cocinar

Decidir cuándo se va a hacer la preparación, revisar la receta que se desea preparar, conseguir los ingredientes para el número de comensales esperados, seguir el proceso de preparación y servir.




Las tareas/actividades o pasos de un proceso programado y recurrente suelen realizarse en el mismo orden (inician, se desarrollan y terminan).

Las actividades anteriores tienen aspectos en común: fecha, personas involucradas y lugar establecido, entre otros, pero ¿es posible realizarlas de forma programada? Para responder a esta pregunta es importante identificar si la tarea cuenta con elementos como fecha, lugar y requisitos o pasos de forma secuenciada y relacionados entre sí.

Para entrar al tema de la programación, iniciaremos con sus fundamentos básicos (en esta semana no se abordará la codificación/programación informática). Para una mejor comprensión, abordaremos ejemplos cotidianos y, después, ejemplos informáticos, a fin de identificar la relación que existe entre ambos tipos de programación.







1.1. Programación en la vida cotidiana y en la informática


Iniciemos con la definición de la programación desde lo cotidiano:


programación es "una secuencia de pasos ordenados a seguir para hacer cierta cosa."

Fuente: concepto.de



Programar se considera como un proceso estructurado que requiere pensamiento y creatividad, el cual involucra conocimientos de diversos campos como las matemáticas, la lógica e incluso la ciencia. El proceso de programación se divide en tres fases principales: planificación, construcción y prueba. Más adelante veremos estas fases en los ejemplos que hemos preparado.

La programación en la informática es el proceso de creación de aplicaciones, herramientas y/o programas. Su finalidad es traducir los deseos o necesidades de una persona u organización al lenguaje de la computadora.


Ceupe (s.f.) la define como “una explicación a la computadora de qué, en qué forma y cómo llegar al usuario.”




Las definiciones anteriores, cotidiana e informática, engloban acciones o tareas tan simples como los pasos para prepararte un sándwich por la mañana o tan complejas como la simulación de mundos en realidad virtual (videojuegos).

A continuación, se exponen los conceptos básicos necesarios para adentrarte en el funcionamiento de los programas informáticos. Para profundizar en el tema, te recomendamos el siguiente video:


Microaprendizaje: ¿Qué es la programación y cuáles son sus usos?





2. Tipos de algoritmos

En programación informática, una lista de pasos relacionados entre sí para solucionar un problema recibe el nombre de algoritmo, es decir, es necesario describir la secuencia de pasos o acciones para resolver un problema o una tarea con el máximo detalle, considerando todas las posibles alternativas, repeticiones y errores, por ejemplo:



...
Algoritmo para sacar una bebida del refrigerador

  1. Abrir puerta de refrigerador
  2. Identificar bebida
  3. Sacar una bebida
  4. Cerrar puerta de refrigerador


Con sólo estos pasos podemos definir un algoritmo, aunque sea así de corto. Cualquier proceso se puede convertir en algoritmo mientras el número de datos sea finito y concluya en un resultado concreto.

Normalmente los algoritmos se construyen para que los ejecuten las computadoras, por lo cual es muy importante detallar todos los pasos. En el ejemplo anterior no se incluyó la instrucción "Cerrar la puerta del refrigerador", por lo que su ejecución provocaría que la puerta se quedara abierta, lo que a su vez causaría que el frío se escapara y se echaran a perder alimentos almacenados en él. Así, cuando se programa es conveniente pensar en la computadora como un ayudante extremadamente obediente pero que carece de sentido común e iniciativa.

Ahora bien, realizaremos un ajuste para que el algoritmo anterior permita sacar un refresco sin daños colaterales, quedando de la siguiente manera:

                 
           INICIO
            1. Abrir la puerta del refrigerador
            2. Identificar el refresco que queremos
            3. Sacar el refresco
            4. Cerrar la puerta del refrigerador
           FIN
                 
               

Lo mismo ocurre en el caso de una malteada

                 
           INICIO
            1. Abrir la puerta del refrigerador
            2. Identificar el refresco que queremos
            3. Sacar el malteada
            4. Cerrar la puerta del refrigerador
           FIN
                 
               


La desventaja que se observa en este ejemplo es que cada vez que se quiera una bebida distinta se tienen que modificar las instrucciones para indicar un tipo de bebida distinto.



En la vida cotidiana decimos, escribimos y realizamos algoritmos, recordemos que un algoritmo es una secuencia de pasos relacionados entre sí para resolver un problema o realizar una tarea, algunos ejemplos de algoritmos son:

  1. dar o recibir indicaciones para llegar a un lugar
  2. escribir una receta de cocina
  3. Seguir el trayecto para llegar a un lugar
  4. dar o recibir instrucciones para realizar una tarea

Las personas realizamos algoritmos de diferentes maneras, unas más especializadas que otras. Las formas verbales, orales o escritas, así como los esquemas, no requieren conocimiento informático. Sin embargo, un pseudocódigo o código de programa sí requiere conocimiento especializado. El contexto de uso y aplicación nos indica qué tipo de algoritmo necesitamos. A continuación te presentamos algunos ejemplos.







2.1. Algoritmo verbal escrito

Este tipo de algoritmo se usa cuando se requieren instrucciones con inicio y fin, a partir de una serie de pasos secuenciados y relacionados entre sí, para realizar una acción determinada. Un claro ejemplo son las recetas de cocina; en estas se mencionan todos los ingredientes a ocupar y en qué cantidades, así como los pasos que a seguir para obtener el platillo indicado. En este ejemplo se indican ingredientes, cantidades, proceso y tiempos. A menudo también se indica el número de porciones resultantes.


Cocinando ando (CC) iLove



Receta para hacer una gelatina de agua
Ingredientes y utensilios
  1. Un sobre de gelatina de agua de tu sabor favorito
  2. Olla
  3. Agua
  4. Cuchara
  5. Refractario o vasos
  6. Estufa con gas
  7. Refrigerador
Pasos para hacer la gelatina
  1. Pon a fuego una olla con un litro de agua y espera que hierva
  2. Agrega el contenido del sobre de gelatina y déjalo al fuego 5 minutos, sin dejar de revolver, hasta que se haya disuelto por completo
  3. Vacía la mezcla en un refractario o en vasos
  4. Deja reposar hasta que tome temperatura ambiente y refrigera hasta que cuaje (aproximadamente cuatro horas)
  5. Puedes servir esta rica gelatina de agua con un poco de leche condensada, frutas o nata
  6. Disfruta






2.2. Algoritmo verbal oral

Este tipo de algoritmo se expresa de manera oral en la vida cotidiana. Un ejemplo es cuando brindas indicaciones a otra persona para llegar a un lugar: alguien se acerca a ti y te pregunta cómo llegar a una dirección que está cerca; el inicio del algoritmo es el punto de partida y termina en el lugar de destino deseado, el cuerpo del algoritmo son lo pasos que tendrá que seguir la persona (calles, cuadras, vueltas, etc.) para llegar a la dirección.


Pidiendo ayuda (cc) imagen diseñada por iLou



Escucha el siguiente ejemplo de un algoritmo verbal oral








2.3. Algoritmo gráfico (esquemas)

En ocasiones se dificulta explicar o dar instrucciones sólo de manera verbal, escrita u oral, por lo que nos auxiliamos de dibujos o esquemas que constituyen algoritmos gráficos. Este algoritmo es especialmente útil cuando necesitas planificar, documentar, estudiar, mejorar o comunicar procesos que son complejos porque cuentan con muchos pasos y/o rutas alternativas.


Diagrama de Flujo para resolver problemas (c) A quien corresponda






2.4. Pseudocódigo

El pseudocódigo es un tipo de algoritmo que representa los primeros pasos para iniciar la programación informática.

Se emplea cuando necesitas expresar los pasos que va a realizar un programa de la forma más parecida a un lenguaje de programación, aunque sin usar propiamente uno. Su principal función es representar paso a paso la solución a un problema, de la forma más detallada posible, utilizando un lenguaje cercano al de programación.



        		
      INICIO
          Edad: Entero
          ESCRIBA "¿Cuál es tu edad?"
          LEA Edad
          SI Edad >= 18 ENTONCES
            MUESTRA "Eres mayor de edad"
          FIN - SI
          ESCRIBA "Fin de algoritmo"
      FIN
          	
          








3. Código del programa

Es el conjunto de instrucciones que un desarrollador o desarrolladora ordena ejecutar a una computadora. Dicho código está estructurado o escrito según las reglas correspondientes a un lenguaje de programación específico como el lenguaje C++, PHP, HTML, Python, por mencionar algunos. (PIPELAB, s.f.)


Código del programa (cc) imagen diseñada por iLou








3.1. Variables y tipos de datos

Las variables se pueden imaginar como cajas vacías donde se puede almacenar un valor temporal, estas cajas deben llevar un nombre e indicar qué tipo de dato contienen.


Variables (cc) elaborada por Gustavo, M.

Siguiendo la metáfora de la caja, cuando se define, es decir cuando se le pone un nombre y tipo de dato, es como si se le rotulara con un marcador indeleble: ya no se puede modificar. Si a una caja la etiquetamos como contenedora de libros, podríamos sacar los libros y reemplazarlos con otros, pero sólo podríamos guardar libros; no podríamos guardar hojas, ni cuadernos, ni carpetas, ni revistas… sólo libros, según está escrito en el rótulo de la caja; eso pasa con las variables en programación.

Los tipos de datos que pueden almacenar las variables son principalmente:

Enteros

Definición Números enteros (1, 2, 3, etc.).

Ejemplo 23, 55, 60, 1992, etc.

Caso de usoLa calificación de una asignatura o la edad de una persona.

Reales

Definición Números flotantes(con decimales) y signo.

Ejemplo 1.5, 5.2, -8.3, -2, etc.

Caso de uso La cantidad a favor o a pagar en una declaración de impuestos.

Carácter

DefiniciónUna sola letra.

Ejemplo M, F, N, E, etc.

Caso de uso Respuesta a una pregunta de una encuesta como género masculino (M) o femenino (F), nacional (N) o extranjero (E).

Cadenas de caracteres

Definición Frase corta o palabras, siempre se ponen entre comillas (").

Ejemplo ACA, MEX, GDL, MTY, OAX

Caso de uso Los códigos de los aeropuertos, nombres de personas, calles, etc.

Booleano

Definición Es un tipo de dato lógico, sólo es Verdadero o Falso.

Ejemplo V o F, 0 o 1, sí o no.

Caso de uso Responder una pregunta como: ¿Eres donante de órganos? Sí o no

Retomando el ejemplo del algoritmo para sacar una bebida del refrigerador, a fin de evitar tener que repetir una versión modificada cada vez que se quisiera obtener una bebida distinta, la solución más eficaz sería utilizar variables en el algoritmo. Al utilizar las variables podemos reutilizar algoritmos para ampliar las aplicaciones de uso. Un ejemplo muy común son las variables que almacenan los datos de inicio en un formulario, estas comúnmente se denominan user (usuario) y password (contraseña).

Iniciando sesión (cc) iLou.






3.2. Operadores y funciones1

En la vida cotidiana ocupamos diferentes herramientas para solucionar problemas, situaciones o contextos. Tan natural es usarlas que no siempre las identificamos ni estamos conscientes de ellas; un ejemplo de lo anterior es cuando calculamos el tiempo y dinero que requerimos para trasladarnos de un lugar a otro; cuando comparamos diferentes modelos de celular; cuando solicitamos permiso al jefe y nos lo otorga siempre y cuando cumplamos con dos o más condiciones. A continuación abordaremos estos temas desde lo cotidiano y cómo puede ello integrarse en una lógica de programación.


Algunas características de un celular (cc) iLou.


Operadores

Los operadores son signos o símbolos que especifican en una expresión qué tipo de acción se debe realizar.

Existen diferentes tipos de operadores; a continuación, mencionamos y ejemplificamos algunos:


Operador Definición Ejemplo
Aritmético Permite realizar operaciones matemáticas

4 * 5

135 / 35

10 - 8

Comparación Compara valores y realizar acciones con base en el resultado

Valor1 < Valor2

promedio > puntos

contraseña = psswd

Lógicos Son utilizados para combinar comparaciones devolviendo un valor de verdadero si se cumple, falso si no o nulo si se encuentra algún error en dicha comparación. Los operadores booleanos son lógicos: "AND" devuelve "True" si ambos elementos son "True", es decir, si en un motor de búsqueda ingreso "competencia AND blanda", devuelve resultados donde se encuentren ambos términos, es decir, donde ambos términos den un valor verdadero.
Condicionales Establecen si se realizará una acción si se cumple o no una regla.

Vas al cine si arreglas tu cuarto.

No vas si repruebas la materia.

Tabla adaptada de: Tabla de operadores, Access para Microsoft 365.



A partir de aquí analizaremos algunos ejemplos de programación, y para ello es necesario que conozcas una herramienta que te facilitará la visualización y la ejercitación del código, esta herramienta es Scratch (https://scratch.mit.edu), este es un programa gratuito diseñado para usuarios principiantes que quieran aprender a programar utilizando una interfaz amigable, intuitiva, y fácil de entender para personas de cualquier edad que estén dando sus primeros pasos en la programación. Además, propicia la creatividad, el aprendizaje autónomo y colaborativo. Para más información, consulta el siguiente video:


El mundo de la programación de Scratch para niños




Primer ejemplo: Identificar si un nombre tiene la vocal 'a' en alguna de las letras que lo componen

Para resolver el ejemplo, realizaremos los siguientes pasos:


Paso 1. Planteamiento del problema o ejercicio

En este paso se identifica el problema o ejercicio a solucionar y, si consideramos necesario, podemos replantear para saber qué y cuántas acciones debemos realizar. Quedando un algoritmo escrito de la siguiente manera:

               
                 INICIO
                  1. Se pregunta el nombre
                  2. Cada letra del nombre se compara con la vocal ‘a’
                  3. Si el nombre cuenta con una vocal ‘a’ se indicará
                  4. Si el nombre no cuenta con una vocal ‘a’ se indicará
                FIN
               
            

Las acciones anteriores son las mínimas necesarias para solucionarlo, pero recordemos que podremos agregar más si así lo requerimos.


Paso 2. Desarrollar el diagrama de flujo

El siguiente paso representaremos las acciones a través de un diagrama de flujo, quedando de la siguiente manera:

Comparando nombre (cc) EntrenadorAzul y ILou


Paso 3. Codificando en Scratch

El diagrama de flujo realizado permite tener claro los módulo a utilizar en Scratch, para ver cómo se resolvió interactúa con el siguiente programa:

Comparando nombre (cc) EntrenadorAzul


Es momento de practicar con el ejercicio pasado, identifica que cambios te gustaría hacer y realizalos en el editor de Scratch a través del siguiente botón:

Ir al editor del programa: Comparando


Identifica cada elemento del programa en Scratch a través del siguiente interactivo:






1Esta sección se desarrolló con base en información del sitio de Microsoft Learn, https://learn.microsoft.com/es-es/cpp/cpp/functions-cpp?view=msvc-170





3.3. Estructuras de control: Casos

Las estructuras de control son aquellos operadores que llevan a cabo una acción a partir de una condición que funge como una solicitud o un permiso.

Los permisos son formas de controlar actividades, y lo podemos notar en la vida cotidiana a través de expresiones de condición o de control, por ejemplo:


“...Si lavas los trastes, puedes ir…”

“...Puedes faltar a la clase, si entregas las actividades como el resto de tus compañeros…”

Tienes permiso el martes, si repones el día la próxima semana…”



Al revisar los ejemplos anteriores, identificamos que el si es el término que antecede a la condición para poder realizar las actividades (lavar, entregar, reponer), por lo que siempre que se cumpla la condición se realiza la actividad.

Otros ejemplos que se pueden considerar como estructuras de control, pero más cercanos a una programación, son los cuestionarios de opción múltiple; por ejemplo:


Pregunta 1. (2 puntos)

El pokémon número 25 de la pokédex nacional es:
  1. Pikachu
  2. Meowth
  3. Pichu
  4. Ninguno


La respuesta correcta a esta pregunta es Pikachu por lo que, si la seleccionamos, obtendremos 2 puntos.

En este caso la estructura lógica quedaría de la siguiente manera:

Si respuesta = pikachu entonces puntaje = 2

Este es un ejemplo de condicional, donde “si” la respuesta es una, “entonces” la consecuencia es el puntaje, que puede ser 2 (cuando es correcta) o 0 (si es incorrecta).



Estructura para casos en programación

La estructura de control de casos permite evaluar una variable y realizar acciones dependiendo de su valor, por ejemplo:


...
¿Qué hamburguesa quieres comer?

OPCIONES (respuesta)

CASO (hamburguesa estándar):

Despachar directo del burger display a precio regular

CASO (hamburguesa sin cebolla):

Solicitar a línea de producción sin cargo extra

CASO (hamburguesa doble queso):

Solicitar a línea de producción con cargo extra

CASO otra opción no prevista:

No es posible atender solicitudes especiales

FIN DE LAS OPCIONES


En este ejemplo a diferencia del operador condicional, cada opción deriva en una acción específica, o sea que tenemos diferentes condicionales como si fuera una sucesión de “si”, pero agrupadas en una sola estructura de control. En el ejemplo, hay tres tipos de hamburguesa que se pueden elegir (estándar, sin cebolla y con doble queso) y en cada caso la acción varía, habiendo una cuarta opción que es cualquier otra solicitud diferente a las tres opciones contempladas, elección que deriva en su propia acción.



Segundo ejemplo: ¿qué hamburguesa quieres comer?

Para resolver este ejemplo, se generar un algoritmo para, después, realizar un diagrama de flujo y terminar con un programa en Scratch. La propuesta del algoritmo quedaría de la siguiente manera:


Paso 1. Planteamiento del problema o ejercicio

En este paso se identifica el problema o ejercicio a solucionar y, si consideramos necesario, podemos replantear para saber qué y cuántas acciones debemos realizar. Quedando un algoritmo escrito de la siguiente manera:

             
            INICIO
               1. Mostrar menú:
                   A. Hamburguesa estándar
                   B. Hamburguesa con tocino
                   C. Hamburguesa doble queso
               2. ¿Qué opción eliges?, guardar respuesta en variable respuesta
               3. Si respuesta = A
                  3.1 Pagar 50 pesos y recoger en el mostrador
               4. Si respuesta = B
                  4.1 Pagar 60 pesos y esperar en mostrador
               5. Si respuesta = C
                  5.1 Pagar 75 pesos y recoger en mostrador
               6. Si respuesta diferente A, B y C
                  6.1 Opción no válida
          FIN
             
          

Las acciones anteriores son las mínimas necesarias para solucionarlo, pero recordemos que podremos agregar más si así lo requerimos.


Paso 2. Desarrollar el diagrama de flujo

El siguiente paso representaremos las acciones a través de un diagrama de flujo, quedando de la siguiente manera:

Seleccionando una hamburguesa (cc) EntrenadorAzul y ILou


Paso 3. Codificando en Scratch

El diagrama de flujo realizado permite tener claro los módulo a utilizar en Scratch, para ver cómo se resolvió interactúa con el siguiente programa:



Es momento de practicar con el ejercicio pasado, identifica que cambios te gustaría hacer y realizalos en el editor de Scratch a través del siguiente botón:

Ir al editor del programa: Hamburguesas


Identifica cada elemento del programa en Scratch a través del siguiente interactivo:







3.4. Estructuras de control: Ciclos

Las estructuras de repetición, también conocidas como ciclos, bucles o loops en inglés, permiten realizar una acción o una secuencia de pasos si se cumple una condición, es decir, esta estructura se apoya en los operadores lógicos y/o relacionales.

Hay escenarios donde repetimos las mismas acciones o actividades siempre y cuando se cumpla la condición, por ejemplo:


...
Ejemplo de una estructura de repetición

  1. Conoces a una persona
  2. Sales con esa persona
  3. Se enamoran
  4. Se pelean y rompen la relación
  5. Se dan tiempo y distancia
  6. Sales con la misma persona
  7. Se vuelven a enamorar
  8. Se vuelven a pelear y rompen otra vez
  9. Se dan tiempo y distancia
  10. etc...

En el ejemplo anterior, se identifica que la condicional para repetir las acciones (condición de parada) es pelear y romper, eso detona un nuevo bucle que repite las acciones hasta que se da, nuevamente, la condición de parada, cuando pelean y rompen nuevamente, lo que inicia un nuevo ciclo.


...
Estructura de repetición finita o Ciclo finito

Los ciclos finitos son aquellos que inician y terminan cuando se cumple una condición; una implementación fácil de identificar es el ciclo de lavado, el cual se puede resumir de la siguiente manera:

  1. inicia el ciclo con llenado de agua y jabón
  2. Lava
  3. Expulsa el agua
  4. Centrifuga (exprime)
  5. Llena de agua
  6. Enjuaga
  7. Expulsa el agua
  8. Centrifuga (exprime)
  9. Termina el ciclo


...
Estructura de repetición infinita o Ciclo infinito

Los ciclos infinitos inician la acción o acciones y nunca dejan de repetirlas ya que su condición para finalizar jamás se cumple, un ejemplo es el ciclo del agua cuyas fases se repiten una y otra vez sin terminar jamás:

  1. Evaporación: El agua líquida en ríos, lagos, lagunas, mares y océanos se evapora por calentamiento.
  2. Condensación: El vapor de agua se condensa en nubes
  3. Precipitación: El agua condensada desciende en forma de lluvia.
  4. Infiltración: El agua que ha caído penetra el suelo
  5. Escorrentía: El agua que queda en la superficie se desplaza por declives para regresar a ríos, lagos, lagunas, mares y océanos
  6. Vuelve a iniciar el ciclo

En este ejemplo, el ciclo es infinito porque nunca se da su condición de término, que sería la desaparición del agua de la faz del planeta… esperamos que ello nunca suceda.



Último ejemplo: Sábado de lavar ropa

En este último ejemplo, iniciaremos con un algoritmo para, después, realizar un diagrama de flujo y terminar con un programa en Scratch. La propuesta del algoritmo quedaría de la siguiente manera:


Paso 1. Planteamiento del problema o ejercicio

En este paso se identifica el problema o ejercicio a solucionar y, si consideramos necesario, podemos replantear para saber qué y cuántas acciones debemos realizar. Quedando un algoritmo escrito de la siguiente manera:

                     
                    INICIO
                      1. Iniciar el ciclo de lavado
                      2. Elegir el número de lavado y lenguaje a realizar.
                      3. Guardar decisión en variable respuesta
                      4. Repetir si vuelta < respuesta
                            4.1 Lavadora llena agua
                            4.2 Lavadora talla
                            4.3 Lavadora exprime
                            4.4 ciclo = ciclo + 1
                      5. Lavadora emite sonido que ha terminado
                      6. Sacar ropa y tender
                  FIN
                     
                  

Las acciones anteriores son las mínimas necesarias para solucionarlo, pero recordemos que podremos agregar más si así lo requerimos.


Paso 2. Desarrollar el diagrama de flujo

El siguiente paso representaremos las acciones a través de un diagrama de flujo, quedando de la siguiente manera:

Día de lavado (cc) EntrenadorAzul y ILou


Paso 3. Codificando en Scratch

El diagrama de flujo realizado permite tener claro los módulo a utilizar en Scratch, para ver cómo se resolvió interactúa con el siguiente programa:

Día de lavado (cc) EntrenadorAzul


Es momento de practicar con el ejercicio pasado, identifica que cambios te gustaría hacer y realizalos en el editor de Scratch a través del siguiente botón:

Ir al editor del programa: Día de lavado


Identifica cada elemento del programa en Scratch a través del siguiente interactivo:











4. Funciones

Una función es un propósito o tarea particular que se le atribuye a una cosa o a un ser vivo. Las funciones se materializan a través de tareas o acciones. Por ejemplo, en un esquema simple y sólo para efectos de ilustrar el punto, podemos decir que la función de una mascota es dar compañía grata a su amo o ama. Esa compañía se materializa en acciones como salir de paseo, recibir un baño (para que no huela mal o tenga pulgas), cuidar la casa ante posibles extraños que puedan dañar a su amo/ama y/o su patrimonio, etc.


Perrito adorable (cc) elaborada por iLou.






4.1. Funciones en la vida cotidiana

Limpiar tu recámara es una actividad que realizas de manera frecuente. Para cumplir el propósito de dejar limpio el espacio es necesario realizar varias actividades, tales como barrer, tender la cama, ordenar tu escritorio, poner la ropa sucia en el cesto, sacudir el librero, por mencionar algunas. En este ejemplo podemos anteponer la palabra ‘función’ a cada actividad, quedando de la siguiente manera:

  1. Función barrer.
  2. Función tender la cama.
  3. Función ordenar escritorio.
  4. Función poner ropa sucia en el cesto.
  5. Función sacudir librero.

Arregrlando mi recámara (cc) elaborada por iLou.

Todas estas actividades/funciones en conjunto permiten cumplir el objetivo, que es dejar la recámara limpia y ordenada. En programación es importante identificar las actividades/funciones implicadas en la solución o atención de una problemática y ordenarlas de forma lógica.







4.2. Funciones en programación

Una función en programación es un bloque de código que realiza alguna operación o acción en particular y que se usará dentro de un programa.

Las funciones son útiles para aislar las operaciones o acciones comunes en un sólo bloque reutilizable, idealmente con un nombre que describa claramente lo que hace la función.

Estos bloques de código incluyen operadores, variables, estructuras de control y/o repetición y sirven para realizar una acción en particular. Las funciones son útiles porque separan las operaciones y/o acciones comunes en bloques reutilizables, lo que también se conoce como programación modular. Las funciones se deben etiquetar idealmente con un nombre que describa claramente lo que realizan; por ejemplo una función que realiza la operación de repetir diez veces una acción, podría ser nombrada como clonar10.

No existe un límite para el número de operaciones que puede integrar una función, aunque se recomienda que las funciones realicen actividades simples o solamente una actividad, con la finalidad de que sean fáciles de codificar, entender, corregir e implementar en un programa.

Por lo regular los algoritmos complejos deben dividirse en funciones más sencillas y fáciles de comprender siempre que sea posible.


Funciones (cc) elaborada por iLou.






5. Programación modular

La complejidad de las actividades que realizamos cotidianamente varía. Por lo general, para organizarlas, optamos por dividirlas y atenderlas una a una, conforme a diferentes criterios, como pueden ser: grado de importancia /urgencia, nivel de complejidad, gusto, etc.

Procuramos separar o segmentar las actividades, que es lo mismo que hace la programación modular: dividir una gran actividad en actividades pequeñas, permitiendo realizarla de manera más sencilla y organizada.

Actividades cotidianas (cc) elaborada por iLou.

La programación modular en informática se usa en los casos en que la cantidad de instrucciones en un algoritmo (problema o situación) se incrementa, dificultando corregir, modificar, optimizar o eliminar instrucciones. Así, un problema complejo se divide en varios subproblemas más pequeños.

Módulos (cc) elaborada por iLou.


Para profundizar en la lógica de programación es necesario que consultes y ejercites alguno de los siguientes tutoriales:


Ir a tutoriales


No importa si realizas uno, dos o más tutoriales, lo importante es que te familiarices con la manera en que Scratch funciona ya que esta experiencia será necesaria para realizar cualquier actividad donde se requiera identificar módulos, funciones y variables.








Referencias de contenido

AltumX Academy. (11 de enero de 2021). El mundo de la programación de Scratch para niños. [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=PI10Evpfp8Q

Ceupe. (s.f.). ¿Qué es la programación? Recuperado de https://www.ceupe.com/blog/que-es-la-programacion.html

Codenoch. (2018). ¿Qué son los condicionales y ciclos en la programación? Recuperado de https://codenotch.com/blog/condicionales-y-ciclos/

Crash Course. (10 de mayo de 2017). The First Programming Languages: Crash Course Computer Science #11. [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=RU1u-js7db8

Crash Course. (17 de mayo de 2017). Programación básica: Enunciados y funciones: Crash Course Ciencias de la Computación #12. [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=l26oaHV7D40

Crash Course. (24 de mayo de 2017). Intro to Algorithms: Computer science #13. [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=rL8X2mlNHPM

DesarrolloWeb. (2001). Estructura CASE. Recuperado de https://desarrolloweb.com/articulos/estructura-case-vbscript.html

EDteam. (26 de marzo de 2020). ¿Cuáles son las áreas de la programación? [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=QTDPOxnfRaI

Educa Portal. (11 de julio de 2019). Microaprendizaje: ¿Qué es la programación y cuáles son sus usos? [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=EHiiNhLRIGc

Enciclopedia Concepto. (2013-2021). Programación. Concepto. Recuperado de https://concepto.de/programacion/

FreeCodeCamp.org. (21 de abril de 2020). Introducción a la programación y la informática - Curso completo. [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=zOjov-2OZ0E

García E. & Solano J. (2016). Guía práctica de estudio 04: Pseudocódigo. Manuscrito no Publicado. UNAM. Departamento de Computación. DIE. Facultad de Ingeniería. Recuperado de http://odin.fi-b.unam.mx/salac/practicasFP/fp_p4.pdf

Microsoft. (s.f.). Funciones (C++). Recuperado de https://learn.microsoft.com/es-es/cpp/cpp/functions-cpp?view=msvc-170

Microsoft. (s.f.). Tabla de operadores. Soporte Office. Recuperado de https://support.microsoft.com/es-es/office/tabla-de-operadores-e1bc04d5-8b76-429f-a252-e9223117d6bd

PIPERLAB. (s.f.). Código. Recuperado de https://piperlab.es/glosario-de-big-data/codigo/

Robledano, A. (2019). Qué es pseudocódigo. Recuperado de https://openwebinars.net/blog/que-es-pseudocodigo/

UNAM-CERT. (2021). Algoritmo. Glosario. Recuperado de https://www.cert.unam.mx/glosario/algoritmo



¡Muy bien! Has terminado la revisión del texto interactivo

Te invitamos a continuar con la revisión de las otras piezas de contenido y las actividades de la semana.




Créditos de autoría

Generación y validación de contenidos disciplinares

Saúl Gandhi Ramírez Díaz

Luis Gustavo Medina Figueroa

María Luisa Zorrilla Abascal


Diseño formacional

Uriel Lira Román

María Luisa Zorrilla Abascal

Saúl Gandhi Ramírez Díaz


Corrección de estilo

María Luisa Zorrilla Abascal


Producción del recurso

Saúl Gandhi Ramírez Díaz


Apoyo en producción

Juan Pedro Navarra Guerrero


Diseño gráfico

Itza Lourdes Pacheco Flores

Saúl Gandhi Ramírez Díaz


Información del recurso

Producido en mayo de 2022

Última actualización [Versión 02], septiembre de 2023


Todo el contenido de este recurso fue generado por la UAEM, a menos que se indique expresamente lo contrario, está licenciado bajo Creative Commons:

Atribución-No Comercial-Licenciamiento Recíproco.



Licencia de uso

2023