Introducción a los algoritmos

1

¿Qué aprenderás sobre algoritmos y pensamiento lógico?

2

La importancia de entrenar tu pensamiento lógico

3

¿Qué entiende una computadora?

4

¿Qué es el sistema binario?

5

Metodología para construir un algoritmo: requerimientos y proceso mental

Tipos de datos y operadores lógicos

6

¿Qué son Bits y Bytes?

7

¿Qué son variables, constantes y tipos de datos?

8

Identifica las variables según los requerimientos de negocio

9

Strings (texto) y concatenación

10

Números y operaciones matemáticas básicas

11

Operaciones matemáticas compuestas: paréntesis y orden de evaluación

12

True y false: booleanos y tablas de la verdad

13

Arrays y funciones sobre arrays

14

¿Cómo diseñar algoritmos con diagramas de flujo?

15

Define el tipo de dato según los requerimientos de negocio

Estructuras de control

16

If y Else: condicionales y comparaciones para proteger tus algoritmos

17

Switch y Case: condicionales en forma de casos

18

Excepciones y errores: Throw y Try Catch

19

¿Qué es un ciclo? While, For y Do While

20

Diagrama de flujo con condicionales

21

Diagrama de flujo con ciclos

22

Tutorial de algoritmos de programación

23

Diseña algoritmos para resolver problemas de tu vida diaria

Encapsula tu código en funciones

24

¿Qué es una función?

25

¿Cómo desarrollar tu lógica de programación?

26

Modularización de código

27

Flujo de funciones para encapsular algoritmos

28

Nomenclaturas de programación: camelCase, PascalCase, snake_case

29

¿Qué es recursividad? Funciones que se llaman a sí mismas

30

Convierte algoritmos con ciclos a funciones recursivas

31

Resolviendo acertijos

Traduce tus algoritmos a lenguajes de programación

32

Diferencias entre lenguajes de programación

33

Cómo escribir código en cualquier lenguaje de programación

34

Cómo programar en JavaScript, Python y PHP

35

Introducción al ejercicio en JavaScript

36

Programando en JavaScript

37

Introducción al ejercicio en Python

38

Programando en Python

39

Introducción al ejercicio en PHP

40

Programando en PHP

41

Cómo programar en Java y Lenguaje C

42

Introducción al ejercicio en Java

43

Programando en Java

44

Introducción al ejercicio en C

45

Programando en Lenguaje C

46

Traduce diagramas de flujo a código en lenguajes de programación

Conclusiones

47

Próximos pasos para aprender programación profesionalmente

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

¿Cómo diseñar algoritmos con diagramas de flujo?

14/47
Recursos

Qué es un diagrama de flujo

Un diagrama de flujo es una representación gráfica de un proceso. Cada paso del proceso es representado por un símbolo diferente que contiene una breve descripción de la etapa de proceso. Los símbolos gráficos del flujo del proceso están unidos entre sí con flechas que indican la dirección de flujo del proceso.

Elementos principales de un diagrama de flujo:

Aportes 821

Preguntas 57

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Les recomiendo mucho que usen esta página para hacer sus diagramas de flujo:
.
https://www.diagrams.net/
.
Yo la he estado usando mucho últimamente y la verdad es que es muy buena y es gratuita, permite trabajar con muchos tipos de diagramas de una forma super cómoda!:
.

.
Adicionalmente me gustaría mencionar que existe un software llamado Raptor en donde podemos también crear diagramas de flujo, pero estos son interactivos porque además de crearlos podemos ejecutarlos, ¡sí!, permite ejecutar programas escritos en diagramas de flujo. Recomiendo echarle un vistazo, solo está disponible para Windows

Reto

FreeDFD es un programa que nos permite crear diagramas de flujo y realizar pruebas de escritorio. Recomendado para probar algoritmos expresados en diagramas de flujos.

Este es mi algoritmo para un día, ya que realmente este algoritmo se repetiría infinitamente y no cumpliría la regla de finitud.
Leo comentarios o sugerencias al respecto.

Aquí dejo mi aporte, no estuve seguro de como acomodar visualmente los casos de retorno pues están uno encima de otro. Si alguien sabe de un lugar para conocer buenas prácticas en diseño de diagramas de flujo se lo agradecería muchisimo!!

Lindo ejercicio y me hizo sacar lo mejor de mí en este trabajo:

¡Mi ciclo infinito de un reloj de 12 horas! ¿Qué les parece?
¿Puedo sumir que el reloj tendrá pilas por siempre? ¿Cómo lo terminarían ustedes?

Resumen de las últimas dos clases 😃

Les comparto mi propuesta del algoritmo del reloj 😃

Nota: Es fundamental siempre hacer una prueba de escritorio, y es necesario aprender a realizarlas correctamente muy importante en nuestro trabajo como programadores.

Para hacer diagramas de flujo, también podrían usar Raptor, es útil ya que puedes ejecutar los diagramas que realizaste.

Un diagrama de flujo es una representación gráfica de un proceso. Cada paso del proceso es representado por un símbolo diferente que contiene una breve descripción de la etapa de proceso. Los símbolos gráficos del flujo del proceso están unidos entre sí con flechas que indican la dirección de flujo del proceso.

Elementos principales de un diagrama de flujo:

Mi diagrama del Relojito :3

Estos diagramas de flujo nos enseñan como es que debemos vaciar la información en el código para darle las instrucciones a la máquina el como debe realizar la tarea paso a paso.

Es por eso de la importancia de aprender a hacer algoritmos y diagramas de flujo si queremos aprender a programar.

La clave es pensar que estamos haciendo una receta de cocina para alguien que no sabe cocinar (la importancia de ser lo más asertivos y específicos posibles).

He aquí mi intento de algoritmo. Traté de hacerlo con la mayor lógica posible según lo que pensé podria ser.
Humildemente recibo feedback si hay alguna incongruencia.


NOTA: Me guata muchísimo hacerlo de forma análoga. Siento que me ayuda a tener mejor lógica al respecto.

Utilicé Lucidchart y se me hizo muy amigable. (:
https://lucid.app/

La ecuación utilizada para representar el teorema de pitágoras en el video es incorrecta.

h^2=a^2+b^2

En el vídeo aparece h^2=sqrt(a^2+b^2).

Use un programa que se llama PSeInt que esta disponible para Windows y MacOS con el cual hice un peuscodigo para el algoritmo y genera el diagrama flujo, es muy util para maquetar programas o pedazos de codigo especifico

Ademas te permite correr el proceso

Solución al reto hecha en https://www.diagrams.net/

def run():

    hora = 0
    minuto = 0
    segundo = 0
    while True:
        segundo = segundo + 1
        if segundo == 60:
            minuto = minuto + 1
            segundo = 0
            if minuto == 60:
                hora = hora + 1
                minuto = 0
        if hora == 24:
            break
        print(f"{hora}:{minuto}:{segundo}")
                    
if __name__ == "__main__":
    run()


<code> 

Así se ve el diagrama en Python. Esto lo aprendí en Platzi. Es genial como empiezas a conectar cada cosa que aprendes.

![](

No muestra nada en pantalla, pero es la idea esencial del reloj, porfa corríganme.

Como es un reloj este estaría en un bucle infinito (suponiendo que el reloj siempre funcionará)

En esta app pueden diseñar sus diagramas de forma gratuita 😄
https://app.creately.com/diagram/KdJJSQTzgN4/edit

Con esto podríamos mantener el reloj funcionando, tomando en cuenta que el comienzo del día significa ponerle una batería cargada al reloj, se encendería de manera automática, y es ahí donde comienza inicio.

La pregunta con un dígito más es decir 60, 60 y 24, es debido a que ese valor no lo voy a mostrar, sino que va a ser mi condicional para volver a cero, ya que mi usuario necesita ver la hora y si no muestro 59, 59 y 23 la persona pensará que el día tiene 22 horas, pues el ultimo numero que se mostraría antes de reiniciar sería 22 en vez de 23.
Saludos!

No tengo idea si está bien

![Funcionamiento del reloj](

Mi relog lo hice con el programa raptor


Este es el diagrama de flujo que hice para guiarme en el reto que yo mismo me propuse de hacer un reloj con JS (sé que es mejor y mil veces más rápido hacerlo con librerías pero quise hacerlo en nativo porque aún soy un novato xd).
Este es el reloj

¡Hola compañeros!

Este es mi diagrama de flujo para dar solución al reto planteado, cabe resaltar que el reto no especifica si este es por un solo día entonces desarrolle el algoritmo que cumple el funcionamiento del reloj en toda su vida útil, es decir, hasta que este no funcione mas o en su defecto se dañe.

  • Estoy atento a cualquier realimentación que me brinden , pues no estoy del todo seguro que este bien.

Pues así lo hice yo 😄

RETO : .

Reto 😄

Agradecería su feedback, no sé si lo hice bien 😄


Este es mi diagrama, si falta algo favor de indicarmelo

He hecho mi diagrama de flujo y tambien en codigo JavaScript:
Puede que me falte estructurar mejor, pero es de los primeros que hago, espero sea de utilidad y se pueda entender.

let segundos = 0;
let minutos = 0;
let horas = 0;
let dia = 0;

if (segundos < 60) {
    segundos++;
} else if (segundos >= 60) {
    segundos = 0;
    minutos++;
} else if (minutos >= 60) {
    minutos = 0;
    horas++;
} else if (horas >= 24) {
    horas = 0;
    dia++;
}

les recomiendo la aplicacion Pseint para comprender mejor los diagramas de flujo en los algoritmos

Aun no me queda claro como hacer el algoritmo 😦

Hola,
este es el diagrama que planteo, la verdad me puso a pensar mucho pero finalmente creo haberlo resuelto, después de mucho intentar y ver mas información, evidencie que el reloj simplemente no funcionaria si no existía una asignación que regresara los segundos, los minutos y las horas a cero cada vez que estos cumplieran con la condición solicitada. Espero haberme hecho entender.

algoritmo funcionamiento del reloj

Les dejo mis apuntes por aca, espero les sirva 😃

El flujo que realice para el funcionamiento de un reloj.

Reto

Uffff 😼 este es mi intento de algoritmo, la practica hace al maestro 🤓

👍 Muy bien… espero

Reto: Representa el funcionamiento de un reloj

Hice dos diagramas, uno siguiendo un método más “lógico”, donde se puede hacer una prueba de escritorio de manera directa y otro mostrando la manera en cómo funciona un reloj manual, como esos a los que le tienes que dar cuerda para que funcionen.
.

No sé si soy el unico pero creo que at the very beginning ese algoritmo está muy dificil jajaj por lo menos para los que no sabemos muchas matematicas.

https://www.youtube.com/watch?v=2R8OMXr8Kvg
observen este video. me gusto mucho como explica el diagrama de flujo del reloj.

<<iframe width="1536" height="864" src="https://www.youtube.com/embed/2R8OMXr8Kvg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
> 

Aquí esta mi diagrama del algoritmo para un reloj

Hola, a continuación comparto la realización del reto, no me va muy bien con la lógica y me costó mucho realizarlo, tuve que ver muchas referencias, muchos videos y ejemplos para guiarme y tener una idea de cómo hacer el diagrama que representa el funcionamiento de un reloj. Aunque pasa correctamente de las 23:59:59 a las 0:0:0 horas, no logré hacer que el diagramara llevara por si solo las horas. El ejercicio lo realicé en DFD, agradezco que me den un apreciación o me digan las fallas que presenta el diagrama.


Reto cumplido, fue un poco complicado al principio pero gracias a esta bella comunidad y sus aportes, pude realizar esta actividad con éxito.
Pd: si está malo, hay un error o tienen una corrección que hacer ¡bienvenida sea!

An h1 header

Paragraphs are separated by a blank line.

2nd paragraph. Italic, bold, and monospace. Itemized lists
look like:

  • this one
  • that one
  • the other one

Note that — not considering the asterisk — the actual text
content starts at 4-columns in.

Block quotes are
written like so.

They can span multiple paragraphs,
if you like.

Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., “it’s all
in chapters 12–14”). Three dots … will be converted to an ellipsis.
Unicode is supported. ☺

An h2 header

Here’s a numbered list:

  1. first item
  2. second item
  3. third item

Note again how the actual text starts at 4 columns in (4 characters
from the left side). Here’s a code sample:

# Let me re-iterate ...
for i in 1 .. 10 { do-something(i) }

As you probably guessed, indented 4 spaces. By the way, instead of
indenting the block, you can use delimited blocks, if you like:

define foobar() {
    print "Welcome to flavor country!";
}

(which makes copying & pasting easier). You can optionally mark the
delimited block for Pandoc to syntax highlight it:

import time
# Quick, count to ten!
for i in range(10):
    # (but not *too* quick)
    time.sleep(0.5)
    print(i)

An h3 header

Now a nested list:

  1. First, get these ingredients:

    • carrots
    • celery
    • lentils
  2. Boil some water.

  3. Dump everything in the pot and follow
    this algorithm:

    find wooden spoon
    uncover pot
    stir
    cover pot
    balance wooden spoon precariously on pot handle
    wait 10 minutes
    goto first step (or shut off burner when done)

Mi aporte, siéntanse libre de hacerles pruebas de escritorio.

Reto - Funcionamiento de un Reloj
Veo que muchos ejemplos comienzan con los segundos, intente retarme en hacerlo diferente. Ansioso por su retroalimentación amigos. Saludos.

Hice este algoritmo del funcionamiento de un reloj con la opcion de seleccionar el formato de hora ya sea de 24 o 12, ademas de indicar su reinicio de ocurrir algun error en el procedimiento, tampoco posee “fin” para que siempre se repita el flujo. Agradezco sus comentarios.

Les comparto mi reto, cualquier feedback que tenga seria de mucha ayuda compan~eros 😃.

Reto:

Lo hice en Raptor y funcionando al 100

Les dejo el mío, gracias a sus aportes pude guiarme en como hacerlo.
Me dicen que tal porque igual me siento medio perdido jaja 😅

En este hipotético reloj, tiene un botón de encendido y un botón de ajuste de hora. El reloj funciona hasta que el botón de encendido cambie su estado a falso. Cuando el botón de ajuste de hora está en el estado true, se puede ingresar la hora y después se visualiza.

Reto: Funcionamiento del reloj, el periodo que usé fue una jornada laboral, si tienes correcciones por favor escribe un comentario 😃

Este es mi algoritmo del funcionamiento basico de un reloj con unas breves explicaciones sobre algunos de sus pasos que podrian ser de utilidad:

  • Si el reloj se queda sin energia, por logica vuelve a comenzar desde el principio del algoritmo en “INICIO”.

  • Si el reloj a sido alimentado con energia previamente ( en otras palabras, tiene uso) llevara la cuenta del tiempo hasta quedarse sin energia. En ese caso, al darle energia nuevamente (tomando en cuenta que tiene uso) llevara la cuenta del tiempo desde donde quedaron los valores de las variables por ultima vez.

PD: Este algoritmo no tiene la funcionalidad para que el usuario establezca el valor de las variables (la hora)

Hola!!! Incluyo mi diagrama de flujo…

¿Qué opinan?

Les dejo el mio se aceptan criticas… estoy para aprender ❤️

¿Cómo Funcionan los Diagramas de Flujo?

¿Por qué usar diagramas de flujo?

¿Qué símbolos se usan en los diagramas de flujo?

Me gustaría compartir esta lectura bastante completa que responde muy bien las tres preguntas anteriores.
Los Diagramas de flujo se usan en diferentes industrias, y son útiles para cualquier proyecto.

Mi algoritmo

Estas es mi solución al reto.

Lucidchart, también es otra herramienta para realizar diagramas de Flujo.

esto lo vi hace tres años en la universidad pero es genial volver a recordar algo que ya lo había olvidado 😉😉

Aquí el reto
.

Excelente

Yo utilizo PseInt para los diagramas y pseudocodigos. ¿creen que hay alguna mejor que PseInt?

Mi diagrama de flujo es el siguiente:

Lo intenté hacer por mi cuenta, pero me termino mareando en qué tanto detalles hay que colocar. Terminé buscando ayuda online y viendo ejemplos hasta que armé algo a mi medida.

Me gustaría que alguien con más conocimiento me pueda verificar el resultado.

Mi gran duda es si luego de cada “s/m/h = 60/24” está bien resetear la variable a 0 sin nuevamente asignarle el proceso de “s/m/h + 1”.

como funciona un reloj

Reto:

Aquí mi aporte del reto Reloj.

Este es mi diagrama, es el primer diagrama que hago, por favor si hay algo que corregir me lo hacen saber. de antemano gracias.

Ta bien?

Ejercicio del funcionamiento de un reloj

Mi aporte, 2 cosas que vi que la mayoria no hacia, resetear a 0 los segundos cuando llega al minuto, y volver a iniciar el ciclo cuando el dia termina, ya que un reloj no deberia parar a las 00hs.