No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Toma el Curso de Pensamiento Lógico: Lenguajes de Programación

17/17
Recursos

🎉¡Lo has logrado! 🙌

Completaste todas las clases del Curso de Pensamiento Lógico: Manejo de Datos, Estructuras y Funciones.

✅ Si aún no queda claro algún tema, revisa las clases o deja tus dudas en la sección de preguntas.

🧾 Realiza la prueba del curso para recibir tu certificado y no olvides dejar tus 🌟 y tu comentario.

Y, sobre todo, ¡nunca pares de aprender! 💚

Contribuciones del curso creadas por Andrés Guano (Platzi Contributor).

Aportes 74

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

ESTOY LISTA!! DIJO LA PROFE!!!

MI MOMENTO A LLEGADO!!!

TIEMBLA!!! MARK ZUCKARITAS!!!
xd
😗

Excelente curso para adquirir las bases de lógica de programación. Les comparto una presentación con los apuntes de las clases para estudiar antes del examen. Espero les sea de utilidad. https://drive.google.com/file/d/1QkHliOFNlAAPEY3IrGtwIL5X24cDK8l5/view?usp=sharing

Me encanta como Ana se refiere a todos los estudiantes con pronombres femeninos!! ❤️

Yo estoy listo, con O. Estar listo sería la forma correcta de expresarse ya que es plural.

Si sienten que todos estos conocimientos después se les van a olvidar y que no van a lograr su objetivo con la programación, significa que van bien porque el síndrome del impostor los esta atacando.

NO SE RINDAN USTEDES PUEDEN

Como me encanta que Platzi sea inclusivo, a veces me siento raro cuando dice espero que estes lista (ya que soy hombre) pero al mismo tiempo pienso. - Que bueno que tomen en cuenta a las mujeres

Estoy muy lista !!

Con los curso de platzi que tengo hasta ahora veo que platzi tiene un gran problema, el feedback al estudiante. Si aplicaran practicas como lo hace khan academy se pondría aprueba lo aprendido en lugar de solo los examenes que hacen ahora.

Excelente, es bueno volver a repasar y más con cursos renovados.

Yo queriendo empezar a programar:

Ya estoy lista para ser una buena programadora, como dice la Profesora…

Estoy listo.

No todos somos chicas, yo soy chico 😂😂😂

El curso muy básico pero necesario para lo que se viene, muy buena docente.

Como nota aparte, creo que la inclusión de un grupo no puede partir de la exclusión de otro, nada más.

Raro que se refiera a los estdiantes en femenino; debe haber sido diseñado para las mujeres originalmente…

Listas y LISTO…

¿¿¿¿O no sé si este curso está dirigido para mujeres???
¿¿¿¿estoy en el lgar equivocado???

Siempre hay satisfaccion en culminar con cada curso nuevo, bien sea a forma de repaso de fundamentos o bien sea expandiendo el conocimiento en nuevos temas. thanks a lot.

Buen curso

Estoy lista!, dijo la profe!! xD

Bastante completo el cursó muchas gracias. 💚

Lista, listo, liste xD

Estamos listas!!

En la escuela de programaciopn y desarrollo de software este curso y el que seria el siguiente Lenguajes de Programacion estan invertidos

Mis apuntes del curso

Nota: la profe me dan ganas de darle un mordisquito en la boca…
Nota 1: tengo los mejores resúmenes de la clase, lo pude comprobar viendo los aportes de los demás, que por cierto, más de un aporte de mis compas me parecen algunos mediocres y otros groseros.
Nota 2: se ensucia el vidrio, se limpia el vidrio…
Nota 3: la profe es surda, graba con un móvil, frente a un espejo y usa algún software para eliminar el móvil de la vista… o ¿qué? Me encanta.
Nota 4: he visto programación un poco de años y por fin puedo comprender claramente las estructuras de control. Ana Belisa Martínez en my heart forever. Wow. Following her on Twitter now.
Nota 5: parece que me intrigan más las matemáticas que las computadoras… que pesar que sean algún tipo de enfermedad mental
Nota 6: tengo cita para manicure a las 2:00 p.m.
Nota 7: odio el verde pistacho
Nota 8: realizar un algoritmo para las condiciones del odio y del amor.
Nota 9: realizar un algoritmo para romper un ciclo de engaños y traiciones.
Nota 10: no se qué me esta pasando hoy pero ese asentó mexicano de la profe me dieron ganas de chuparle esa lengua
Nota 11: estoy fantaseando mucho a la profe…
**Nota 12: pura teoría.
**Nota 13: la validación debe ser descriptiva excepto si uso código ninja.
Nota 14: ese escote me hizo suspirar.
Nota 15: pensé que el scope solo aplicaba para las variables.
Nota 16: Si el cronometro llega a 60 entonces sumaria 61 porque siempre reinicia desde cero.
Nota 17: lo mejor de estas clases que da la profe es el modus operandi 😃 a través del vidrio. Me encanta.
Nota 18: “ya estoy lista” 😛

Glosario: iteración es acción y efecto de iterar que significa: repetir varias veces un proceso hasta lograr un objetivo o resultado y a cada repetición del proceso se le llama iteración.

Sinceramente le falto al curso para los que estamos iniciando. Especialmente en los ciclos y uso de funciones. Es muy maluco tener que gastar horas buscando otros medios porque los retos no van acordes a lo explicado.
¡De todas maneras, contento porque lo logré!
¡Bendiciones y éxitos a todos!

o listo, no?

Más que emocionada, y definitivamente estoy lista para continuar con el siguiente curso. A seguir!! 😃

Excelente curso, ahora si fuimonos a programar…

Gran curso, muchas gracias

excelente curso! Muchas gracias
veremos que sigue, por el momento he entendido lo que ha mostrado

😄

Éste realmente es un curso muy bueno para dar los primeros pasos en la lógica de programaciones.

Lo hiciste muy bien Ana Belisa Martínez

Es increible haber recordado como se hace estos tipos de curso. Aprendi mucho en como usar el flujo para el desarrollo del codigo y como quiero llegar a este. Jamas habia pensado que necesitaba el fliujo para llegar a este. Es interesante. Ahora a seguir el que sigue.

exxam resspuestas
Resumen
1.
¿En qué categorías se dividen las estructuras de control?

Condicionales y Ciclos
2.
“Martha está en el mar” es un dato de tipo:

Texto
3.
34139 es un tipo de dato
Numérico
4.
¿Los tipos de dato booleanos se representan con 1 y 2?
Falso
5.
¿Un array puede almacenar más de un tipo de dato?
Verdadero
6.
¿La instrucción if / else es un ciclo?
Falso
7.
¿La sentencia Switch se utiliza para realizar validaciones de diferentes casos?
Verdadero
8.
¿La sentencia Catch de un bloque Try / Catch nos permite encapsular la sección de nuestro algoritmo en caso de que un resultado haya sido verdadero o sin errores?
Falso
9.
¿Un ciclo for puede inicializarse en 1?
Verdadero
10.
¿Cuál es la diferencia entre el ciclo while y el ciclo do-while?
El orden en que se ejecuta la primera instrucción.
11.
¿Cuántas iteraciones debe tener un ciclo?
La cantidad de iteraciones las asignamos de acuerdo a la estructura que se va a iterar.
12.
Las funciones sirven para:
Dividir todas las sentencias o líneas de código que sean diferentes entre sí.
REPASAR CLASE
13.
¿Qué tipos de scope puede tener una función?

Público o privado

Here we go!!

Estoy listo, profeeee!!!

Gracias por la clase

Estoy lista profa! 💚

estoy lista

Aqui vamos, me ayude de GPT, ahi les comparto. Como variables S, M y M. Una función verificar_limite (¨Tipo¨ y el ¨Limite¨)

  1. Se definen las variables S, M y H, con valores iniciales.

  2. Se define una función llamada verificar_limite que toma como argumentos dos variables: valor y limite. La función compara el valor actual de la variable valor con su límite limite. Si el valor está dentro del límite, la función devuelve true. Si el valor supera el límite, la función devuelve false.

  3. Se utiliza la función verificar_limite para comparar cada una de las variables S, M y H con sus respectivos límites: 60 para S y M, y 24 para H. Si todas las variables están dentro de sus límites, el reloj funciona correctamente. Si alguna variable supera su límite, el reloj no funciona correctamente.

  4. Si el reloj funciona correctamente, se pueden realizar las siguientes operaciones:

    a. Incrementar la variable S en 1.

    b. Si S es igual a 60, se establece S en 0 y se incrementa M en 1.

    c. Si M es igual a 60, se establece M en 0 y se incrementa H en 1.

    d. Si H es igual a 24, se establece H en 0.

  5. Se repiten los pasos 3 y 4 de forma continua para que el reloj siga funcionando.

Estaba un poco fuera de cuerda con tanta información que consulte a GPT para aclaras la dudas.
😎👍

Hola, comparto mis apuntes hechos en OneNote:)
https://1drv.ms/o/s!Al1XlTUOpp2hlm7VQqbyib60SfiO?e=pTr15X

“Estás lista” dijo ella, como es que le permiten comportarse de esa manera, me da asco como persona esta profesora.

me encanto!!

Apuntes de clase

¿Qué es un dato?

En informática, un dato es cualquier información que puede ser almacenada y procesada por un programa de computadora. Los datos pueden tomar muchas formas diferentes, desde texto y números hasta imágenes y sonidos. En general, se considera que los datos son la materia prima con la que trabajan los programas de computadora.

Tipos de datos

Existen varios tipos de datos que se utilizan en programación, entre los que destacan:

  • Datos de texto: se refieren a cadenas de caracteres que representan palabras, frases, oraciones, etc. Los datos de texto se utilizan ampliamente en aplicaciones como procesadores de texto, correo electrónico y redes sociales.
  • Datos numéricos: se refieren a valores que representan números, ya sean enteros o decimales. Estos datos se utilizan en una amplia variedad de aplicaciones, desde cálculos matemáticos hasta simulaciones científicas y financieras.
  • Datos booleanos: se refieren a valores que pueden ser verdaderos o falsos. Estos datos se utilizan ampliamente en aplicaciones que requieren toma de decisiones, como la programación de juegos y sistemas de votación en línea.
  • Arrays: como se mencionó anteriormente, los arrays son estructuras de datos que permiten almacenar una colección de elementos del mismo tipo en una única variable. Los arrays son muy utilizados en programación para almacenar y manipular grandes cantidades de datos de manera eficiente.

Ejemplo de algoritmo de un reloj

A continuación, se presenta un ejemplo de un algoritmo para mostrar la hora actual en un reloj digital:

  1. Obtener la hora actual del sistema.
  2. Convertir la hora actual a un formato de 24 horas.
  3. Dividir la hora actual en horas, minutos y segundos.
  4. Mostrar las horas, minutos y segundos en un formato de reloj digital.
  5. Esperar un segundo.
  6. Repetir el paso 1.

Este algoritmo utiliza datos numéricos para representar las horas, minutos y segundos, así como datos de texto para representar el formato del reloj digital. Además, utiliza un bucle para repetir continuamente la obtención y muestra de la hora actual.

¿Qué son las estructuras de control?

Las estructuras de control son instrucciones o bloques de código que permiten modificar el flujo de ejecución de un programa de computadora. Es decir, son herramientas que permiten controlar el orden en que se ejecutan las instrucciones del programa, permitiendo tomar decisiones, realizar repeticiones y ejecutar acciones condicionales.

Las estructuras de control son fundamentales en la programación, ya que permiten escribir programas más complejos y sofisticados que pueden tomar decisiones y realizar acciones de manera autónoma. Además, el uso adecuado de las estructuras de control puede mejorar la eficiencia y eficacia del programa al reducir el número de instrucciones innecesarias y repetitivas.

Existen tres tipos principales de estructuras de control:

Estructuras condicionales

Las estructuras condicionales permiten tomar decisiones en función del resultado de una o varias condiciones. La estructura condicional más común es el “if” o “si” en español, que ejecuta una instrucción o bloque de código solo si se cumple una condición. También existen otras estructuras condicionales como “else” o “sino” en español, que se ejecutan en caso contrario a la condición establecida en el “if”, y “else if” o “sino si” en español, que permiten establecer varias condiciones consecutivas para tomar decisiones más complejas.

Estructuras de repetición

Las estructuras de repetición permiten ejecutar una o varias instrucciones varias veces en función de una condición. Las estructuras de repetición más comunes son el “for” y el “while” en los que se establece una condición y se ejecutan las instrucciones dentro de un bloque de código hasta que se cumpla o se deje de cumplir dicha condición. Estas estructuras son especialmente útiles cuando se necesitan realizar operaciones repetitivas con datos.

Estructuras de control de excepciones

Las estructuras de control de excepciones permiten manejar errores o situaciones excepcionales en la ejecución del programa. Las estructuras de control de excepciones más comunes son el “try-catch” o “intenta-captura” en español, que intentan ejecutar una instrucción y, si se produce una excepción o error, se ejecuta un bloque de código para manejar la situación. Estas estructuras son muy útiles para evitar que los programas se detengan por completo debido a errores inesperados y para manejar errores de manera eficiente.

Estructuras condicionales

Las estructuras condicionales son aquellas que permiten tomar decisiones en función del resultado de una o varias condiciones. En la programación, la estructura condicional más común es el “if” o “si” en español, que ejecuta una instrucción o bloque de código solo si se cumple una condición.

La sintaxis básica de la estructura condicional “if” es la siguiente:


if condición:
    instrucción(es)

Donde “condición” es una expresión booleana que evalúa si se cumple o no una determinada condición, y “instrucción(es)” es una o varias instrucciones que se ejecutarán si se cumple la condición.

También existen otras estructuras condicionales, como el “else” o “sino” en español, que se ejecutan en caso contrario a la condición establecida en el “if”. La sintaxis básica de la estructura condicional “if-else” es la siguiente:


if condición:
    instrucción(es) si se cumple la condición
else:
    instrucción(es) si no se cumple la condición

Además, existe el “else if” o “sino si” en español, que permite establecer varias condiciones consecutivas para tomar decisiones más complejas. La sintaxis básica de la estructura condicional “if-else if-else” es la siguiente:


if condición1:
    instrucción(es) si se cumple la condición1
elif condición2:
    instrucción(es) si se cumple la condición2
else:
    instrucción(es) si no se cumple ninguna de las condiciones anteriores

Las estructuras condicionales son fundamentales en la programación, ya que permiten que los programas tomen decisiones de manera autónoma y ejecuten instrucciones específicas en función de las condiciones establecidas. En general, las estructuras condicionales se utilizan para hacer que el programa sea más inteligente y eficiente en la toma de decisiones, lo que a su vez mejora la experiencia del usuario final.

Algoritmos con variables y condicionales

Los algoritmos con variables y condicionales son aquellos que utilizan variables para almacenar valores y estructuras condicionales para tomar decisiones en función de esos valores. Estos algoritmos son muy útiles para resolver problemas complejos en la programación.

A continuación se presenta un ejemplo de algoritmo con variables y condicionales, que simula el funcionamiento de un semáforo:

markdownCopy code
1. Iniciar variable color en "verde"
2. Iniciar variable tiempo en 0
3. Mientras tiempo < 60:
4.     Si color es "verde":
5.         Imprimir "Semaforo en verde"
6.         Incrementar tiempo en 1
7.         Si tiempo >= 60:
8.             Terminar el algoritmo
9.         Si tiempo >= 30:
10.            Cambiar color a "amarillo"
11.    Si color es "amarillo":
12.        Imprimir "Semaforo en amarillo"
13.        Incrementar tiempo en 1
14.        Si tiempo >= 60:
15.            Terminar el algoritmo
16.        Si tiempo >= 45:
17.            Cambiar color a "rojo"
18.    Si color es "rojo":
19.        Imprimir "Semaforo en rojo"
20.        Incrementar tiempo en 1
21.        Si tiempo >= 60:
22.            Terminar el algoritmo
23.        Si tiempo >= 55:
24.            Cambiar color a "verde"

En este algoritmo, se utilizan dos variables: “color”, que representa el color actual del semáforo, y “tiempo”, que representa el tiempo transcurrido desde que el semáforo se puso en verde. El algoritmo inicia con el semáforo en verde y el tiempo en 0, y se ejecuta en un ciclo mientras el tiempo sea menor a 60 segundos. En cada iteración del ciclo, se verifica el color actual del semáforo y se imprimen mensajes correspondientes en función de ese color. Además, se incrementa el tiempo en 1 segundo en cada iteración y se cambia el color del semáforo si se cumplen ciertas condiciones (por ejemplo, cambiar a amarillo después de 30 segundos en verde, y a rojo después de 45 segundos en amarillo). Finalmente, cuando el tiempo llega a 60 segundos, el algoritmo termina.

Este ejemplo muestra cómo se pueden utilizar variables y estructuras condicionales para simular un proceso complejo en un programa, lo que puede ser muy útil en situaciones reales.

Ciclos

Los ciclos son estructuras de control en programación que permiten ejecutar una serie de instrucciones repetidamente mientras se cumple una condición determinada. Los ciclos son útiles para procesar grandes cantidades de datos, realizar operaciones matemáticas complejas o simplemente para automatizar tareas repetitivas.

Existen dos tipos principales de ciclos en programación: el ciclo “while” y el ciclo “for”.

Ciclo while

El ciclo “while” ejecuta una serie de instrucciones repetidamente mientras se cumpla una condición determinada. La sintaxis básica de un ciclo while es la siguiente:


while condición:
    instrucciones

El ciclo while evalúa la condición al inicio de cada iteración. Si la condición se cumple, se ejecutan las instrucciones dentro del ciclo. Después de ejecutar las instrucciones, el ciclo vuelve a evaluar la condición y, si se cumple, se repite el proceso. El ciclo termina cuando la condición no se cumple más.

A continuación, se presenta un ejemplo de ciclo while que suma los primeros 10 números naturales:


suma = 0
i = 1

while i <= 10:
    suma += i
    i += 1

print("La suma de los primeros 10 números naturales es:", suma)

En este ejemplo, el ciclo while se repite mientras la variable “i” sea menor o igual a 10. En cada iteración, se suma el valor de “i” a la variable “suma”, y se incrementa el valor de “i” en 1. Después de que el ciclo termina, se imprime el valor final de la variable “suma”.

Ciclo for

El ciclo “for” es una estructura de control que permite iterar sobre una secuencia de elementos (como una lista o una cadena de caracteres) y ejecutar una serie de instrucciones para cada elemento de la secuencia. La sintaxis básica de un ciclo for es la siguiente:


for variable in secuencia:
    instrucciones

En cada iteración del ciclo for, la variable “variable” toma el valor de uno de los elementos de la secuencia y se ejecutan las instrucciones dentro del ciclo. Después de ejecutar las instrucciones, el ciclo avanza al siguiente elemento de la secuencia y repite el proceso hasta que se han procesado todos los elementos.

A continuación, se presenta un ejemplo de ciclo for que imprime los elementos de una lista de frutas:


frutas = ["manzana", "banana", "kiwi", "naranja"]

for fruta in frutas:
    print(fruta)

En este ejemplo, el ciclo for itera sobre la lista de frutas y en cada iteración, la variable “fruta” toma el valor de uno de los elementos de la lista y se imprime en la consola.

En resumen, los ciclos son estructuras de control en programación que permiten repetir una serie de instrucciones mientras se cumple una condición determinada. Los ciclos “while” y “for” son los tipos principales de ciclos en programación y son útiles para procesar grandes cantidades de datos y automatizar tareas repetitivas.

Algoritmos con ciclos

Aquí hay algunos ejemplos de algoritmos que utilizan ciclos:

  1. Suma de números: Este algoritmo pide al usuario un número n y calcula la suma de todos los números enteros desde 1 hasta n utilizando un ciclo for.

Inicio
  Leer n
  suma = 0
  Para i desde 1 hasta n hacer
    suma = suma + i
  FinPara
  Mostrar suma
Fin

  1. Factorial de un número: Este algoritmo pide al usuario un número n y calcula su factorial utilizando un ciclo while.

Inicio
  Leer n
  factorial = 1
  i = 1
  Mientras i <= n hacer
    factorial = factorial * i
    i = i + 1
  FinMientras
  Mostrar factorial
Fin

  1. Tabla de multiplicar: Este algoritmo pide al usuario un número n y muestra su tabla de multiplicar del 1 al 10 utilizando un ciclo for anidado.

Inicio
  Leer n
  Para i desde 1 hasta 10 hacer
    producto = n * i
    Mostrar n, " x ", i, " = ", producto
  FinPara
Fin

  1. Búsqueda en una lista: Este algoritmo busca un elemento específico en una lista y devuelve su índice utilizando un ciclo for.

Inicio
  lista = [2, 4, 6, 8, 10]
  elemento = 8
  indice = -1
  Para i desde 0 hasta longitud(lista)-1 hacer
    Si lista[i] == elemento entonces
      indice = i
      SalirPara
    FinSi
  FinPara
  Mostrar indice
Fin

Estos son solo algunos ejemplos de algoritmos que utilizan ciclos. Los ciclos son una herramienta poderosa en la programación que nos permiten automatizar tareas repetitivas y procesar grandes cantidades de datos de manera eficiente.

Try Catch

Try-Catch es una estructura de control utilizada en programación para manejar excepciones o errores que puedan ocurrir durante la ejecución de un programa.

La estructura Try-Catch consta de dos bloques principales: el bloque Try y el bloque Catch.

  • El bloque Try es donde se coloca el código que se espera que se ejecute sin errores. Si se produce algún error en este bloque, se genera una excepción y el control del programa pasa al bloque Catch.
  • El bloque Catch es donde se coloca el código que se ejecutará en caso de que se produzca una excepción. Este bloque recibe como parámetro la excepción generada por el bloque Try, lo que permite al programador analizar y solucionar el problema.

Aquí hay un ejemplo sencillo de cómo se utiliza la estructura Try-Catch en Java:

csharpCopy code
try {
   // Código que se espera que se ejecute sin errores
   int a = 10 / 0; // Genera una excepción de división entre cero
} catch (ArithmeticException e) {
   // Código que se ejecutará en caso de que se produzca una excepción
   System.out.println("Ha ocurrido un error: " + e.getMessage());
}

En este ejemplo, el bloque Try contiene una operación de división entre cero, lo que generará una excepción de tipo ArithmeticException. El bloque Catch recibe esta excepción y muestra un mensaje de error en la consola.

El uso de Try-Catch es fundamental en la programación moderna, ya que permite manejar errores de manera controlada y predecible. Con esta estructura de control, podemos garantizar que nuestro programa no se detendrá abruptamente en caso de errores inesperados, sino que manejará los errores de manera apropiada para seguir funcionando correctamente.

Algoritmos con manejo de errores

El manejo de errores en los algoritmos es una parte importante de la programación, ya que permite detectar y corregir errores que puedan ocurrir durante la ejecución del programa. Aquí hay un ejemplo sencillo de cómo se puede implementar el manejo de errores en un algoritmo:


int dividir(int a, int b) {
   if (b == 0) {
      throw new ArithmeticException("Error: división entre cero");
   } else {
      return a / b;
   }
}

try {
   int resultado = dividir(10, 0);
} catch (ArithmeticException e) {
   System.out.println("Ha ocurrido un error: " + e.getMessage());
}

En este ejemplo, se define una función dividir que toma dos números enteros como entrada y devuelve el resultado de la división entre ellos. Si el segundo número es cero, se genera una excepción de tipo ArithmeticException.

Luego, en el bloque Try, se llama a la función dividir con los parámetros 10 y 0, lo que generará la excepción de división entre cero. El bloque Catch recibe esta excepción y muestra un mensaje de error en la consola.

El manejo de errores también puede ser utilizado en ciclos y condicionales. Por ejemplo, si estamos leyendo datos de un archivo o de un usuario, podemos usar el manejo de errores para garantizar que los datos sean válidos antes de continuar con la ejecución del programa. Aquí hay un ejemplo de cómo se puede utilizar el manejo de errores en un ciclo:


Scanner input = new Scanner(System.in);
int num = -1;

while (num < 0 || num > 100) {
   try {
      System.out.println("Ingrese un número entre 0 y 100: ");
      num = Integer.parseInt(input.nextLine());
      if (num < 0 || num > 100) {
         throw new Exception("El número debe estar entre 0 y 100");
      }
   } catch (Exception e) {
      System.out.println("Ha ocurrido un error: " + e.getMessage());
   }
}

System.out.println("El número ingresado es: " + num);

En este ejemplo, se pide al usuario que ingrese un número entre 0 y 100. Si el número ingresado no cumple con este rango, se genera una excepción de tipo Exception. El ciclo se repite hasta que el usuario ingresa un número válido.

En resumen, el manejo de errores es esencial en la programación para detectar y corregir errores durante la ejecución del programa. Esto garantiza que nuestro programa pueda manejar situaciones inesperadas de manera controlada y predecible.

¿Qué es una función en programación?

En programación, una función es un conjunto de instrucciones que realizan una tarea específica y que pueden ser invocadas o llamadas desde otras partes del programa.

Las funciones en programación son una forma de modularizar y estructurar el código, ya que permiten separar el código en tareas más pequeñas y específicas, y reutilizar esas tareas en diferentes partes del programa. Además, las funciones pueden aceptar uno o varios parámetros de entrada y pueden devolver un valor como resultado de su ejecución.

Las funciones se definen en el código mediante una sintaxis específica en el lenguaje de programación utilizado. Una vez definida, una función puede ser llamada o invocada desde otras partes del programa utilizando su nombre y, en algunos casos, los valores de entrada correspondientes.

En resumen, las funciones son una parte fundamental de la programación estructurada y modular, ya que permiten escribir código más legible, escalable y fácil de mantener.

Scope o alcance en funciones

El scope o alcance en programación se refiere a la visibilidad y accesibilidad de una variable en diferentes partes del programa. En el caso de las funciones, el scope determina qué variables y valores son accesibles desde dentro de la función.

En general, las variables definidas dentro de una función tienen un alcance local, lo que significa que solo son accesibles dentro de la función en la que fueron definidas. Por lo tanto, no se pueden utilizar fuera de la función.

Por otro lado, las variables definidas fuera de una función, en el ámbito global, tienen un alcance global y se pueden acceder desde cualquier parte del programa, incluyendo dentro de las funciones.

Es importante tener en cuenta que, si una variable tiene el mismo nombre tanto dentro como fuera de una función, la variable dentro de la función prevalecerá sobre la variable global mientras se esté ejecutando la función.

En algunos lenguajes de programación, como JavaScript, también existe el concepto de “closure”, que permite a las funciones acceder a variables que no están en su alcance local pero que están en un alcance superior, como las variables definidas en una función externa.

Es fundamental comprender el alcance de las variables al definir y utilizar funciones, para evitar errores y comportamientos inesperados en el programa.

Funciones públicas y privadas en programación

En programación, las funciones se pueden clasificar en públicas y privadas según su alcance o scope.

Funciones públicas

Las funciones públicas son aquellas que pueden ser accedidas desde cualquier parte del programa, incluso desde fuera del archivo donde fueron definidas. Es decir, su alcance es global. Para definir una función pública se utiliza la palabra reservada public.

Por ejemplo:

pythonCopy code
public def sumar(a, b):
    resultado = a + b
    return resultado

En este caso, la función sumar() puede ser utilizada desde cualquier parte del programa, incluso desde otro archivo.

Funciones privadas

Por otro lado, las funciones privadas son aquellas que solo pueden ser accedidas desde dentro del archivo donde fueron definidas. Es decir, su alcance es local. Para definir una función privada se utiliza la palabra reservada private.

Por ejemplo:

pythonCopy code
private def calcular_descuento(precio, porcentaje):
    descuento = precio * porcentaje / 100
    return descuento

En este caso, la función calcular_descuento() solo puede ser utilizada dentro del archivo donde fue definida.

Las funciones públicas y privadas son útiles para mantener el código organizado y modular, ya que permiten separar la funcionalidad en bloques independientes y reutilizables.

Algoritmos con funciones

Aquí te presento un ejemplo de algoritmo que involucra el uso de funciones:


// Función para sumar dos números enteros
function sumar(a, b) {
  return a + b;
}

// Función para calcular el promedio de un array de números
function calcularPromedio(array) {
  let suma = 0;
  for (let i = 0; i < array.length; i++) {
    suma += array[i];
  }
  return suma / array.length;
}

// Programa principal
let numeros = [5, 10, 15, 20];
let resultadoSuma = sumar(numeros[0], numeros[3]);
let resultadoPromedio = calcularPromedio(numeros);

console.log(`La suma de ${numeros[0]} y ${numeros[3]} es ${resultadoSuma}`);
console.log(`El promedio de ${numeros} es ${resultadoPromedio}`);

En este algoritmo, se definen dos funciones: sumar y calcularPromedio. La primera función toma dos números enteros como parámetros y devuelve la suma de ellos. La segunda función toma un array de números como parámetro, calcula la suma de todos los números y devuelve el promedio.

Luego, en el programa principal, se define un array de números y se llama a las funciones sumar y calcularPromedio para obtener la suma de los números en las posiciones 0 y 3 del array y el promedio de todos los números del array, respectivamente. Finalmente, se muestra el resultado por consola utilizando la función console.log().

Hola amigos, me resulta inusual que en el examen final hay una pregunta que dice: ¿un array puede contener diferentes tipos de datos? a lo que respondí falso puesto que un array puede contener un mismo dato; es decir, números con números, textos con textos. La respuesta me salió errónea, estaría agradecido con que algún moderador me saque de duda. En general el curso fue excelente, tiene contenido relevante y muy específico para comenzar a programar.

listo*

Buen curso básico.

Todas listas?

Feliz de que su lenguaje sea femenino ❤️

Muy buen curso! A practicar 😃

Un excelente curso , de la mano de una increíble profesora , si te interesa aprender a programar desde cero o sientes alguna curiosidad por esta disciplina , !Este curso deberás tomar!

Gracias Profe Ana! no solo aprendi con tu clase si no que lo disfrute y fue muy claro todo.

Muy buen curso; nunca paramos de aprender ❤️

Muchas gracias Ana…

Excelente curso muchas gracias Ana

Estoy lista (inclusivamente)

Estoy lista, siiiiii 💁‍♀️🎉

A seguir aprendiendo!

Vamooooos!!

Ya estoy lista jajaja

Estoy lista gracias profe.🤣

Vuamos Guerreros¡

Que buena profesora! muchas gracias!!

Muchas gracias a la prfe por estos increibles cursos.
Me tomo 4 días tomar este y el anterior curso, y ahora veo como mi pensamiento lógico se ha vuelto mucho más ágil.

¡Muchas gracias a la profe Ana y todo el grupo encargado es esta trilogía de cursos!

Ahora voy por el tercer y último curso de pensamiento lógico. 🚀

Excelente curso, sin duda tiene un grado de complejidad pero todos los días se aprende algo nuevo.
¡Estoy listo para pasar ese examen!
Gracias por compartir el conocimiento con todos nosotros.

:3

Muy bueno este curso 😃

Excelente curso tanto para los iniciantes como no ya que siempre es bueno repasar las bases de lógica de programación y las estructuras de datos.

No cabe duda que, estos cursos son primordiales. Gracias profesora Ana Belisa.
Gracias, Team Platzi.

GRACIAS!

Muy buen cruso profe !

Let’s gooo!!