├── .github └── workflows │ └── codeql-analysis.yml ├── .gitignore ├── Notas ├── 01_IntroduccionAlgoritmos │ ├── 01_Importancia_pensamiento_logico.md │ ├── 02_que_entiende_una_computadora.md │ ├── 03_sistema_binario.md │ └── 04_requerimientos_procesos_mentales.md ├── 02_tipos_De_datos_operadores_logicos │ ├── 05_variables_constantes_tipos_datos.md │ ├── 06_identificar_variables_requerimientos_de_negocio.md │ ├── 07_strings.md │ ├── 08_bits_y_bytes.md │ ├── 09_numeros_operaciones_matematicas_basicas.md │ ├── 10_parenteisis-orden_evaluacion.md │ ├── 11_true_and_false.md │ ├── 12_arrays_funciones_Sobre_Arrays.md │ ├── 13_diagramas_De_Flujo.md │ └── 14_requerimientos_de_negocios.md ├── 03_estructuras_de_control │ ├── 15_if_And_Else.md │ ├── 16_switch_and_case.md │ ├── 17_exepciones.md │ ├── 18_ciclos.md │ ├── 19_diagramas_de_flujo_condicionales.md │ ├── 20_algoritmos_de_progrmacion.md │ └── 21_algoritmos_para_la_vida.md ├── 04_encapsular_codigo │ ├── 22_funciones.md │ ├── 23_modularizar.md │ ├── 24_encapsular_algoritmos.md │ ├── 25_nomenclaturas.md │ ├── 26_recursividad.md │ ├── 27_ciclos_to_recursividad.md │ ├── 28_logica.md │ └── 29_acertijos.md ├── 05_algoritmos_en_codigo │ ├── 30_diferencias_entre_lenguajes.md │ ├── 31_escribir_en_cualquier_lenguaje.md │ ├── 32_js_py_php.md │ ├── 33_js.md │ ├── 34_python.md │ ├── 35_php.md │ ├── 36_java_y_c.md │ ├── 37_java.md │ ├── 38_c.md │ └── 39_Diagramas_to_code.md ├── 06_conclusiones │ └── 40_Proximos_pasos.md └── src │ ├── 01.webp │ ├── 02.webp │ ├── 03.webp │ ├── 04.webp │ ├── 05.webp │ ├── 06.webp │ ├── 07.webp │ └── 08.webp ├── license ├── readme.md ├── readme_esp.md └── src ├── index.js └── main.c /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | # 7 | # ******** NOTE ******** 8 | # We have attempted to detect the languages in your repository. Please check 9 | # the `language` matrix defined below to confirm you have the correct set of 10 | # supported CodeQL languages. 11 | # 12 | name: "CodeQL" 13 | 14 | on: 15 | push: 16 | branches: [ main ] 17 | pull_request: 18 | # The branches below must be a subset of the branches above 19 | branches: [ main ] 20 | schedule: 21 | - cron: '38 15 * * 1' 22 | 23 | jobs: 24 | analyze: 25 | name: Analyze 26 | runs-on: ubuntu-latest 27 | permissions: 28 | actions: read 29 | contents: read 30 | security-events: write 31 | 32 | strategy: 33 | fail-fast: false 34 | matrix: 35 | language: [ 'javascript' ] 36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] 37 | # Learn more: 38 | # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed 39 | 40 | steps: 41 | - name: Checkout repository 42 | uses: actions/checkout@v2 43 | 44 | # Initializes the CodeQL tools for scanning. 45 | - name: Initialize CodeQL 46 | uses: github/codeql-action/init@v1 47 | with: 48 | languages: ${{ matrix.language }} 49 | # If you wish to specify custom queries, you can do so here or in a config file. 50 | # By default, queries listed here will override any specified in a config file. 51 | # Prefix the list here with "+" to use these queries and those in the config file. 52 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 53 | 54 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 55 | # If this step fails, then you should remove it and run the build manually (see below) 56 | - name: Autobuild 57 | uses: github/codeql-action/autobuild@v1 58 | 59 | # ℹ️ Command-line programs to run using the OS shell. 60 | # 📚 https://git.io/JvXDl 61 | 62 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 63 | # and modify them (or add more) to build your code if your project 64 | # uses a compiled language 65 | 66 | #- run: | 67 | # make bootstrap 68 | # make release 69 | 70 | - name: Perform CodeQL Analysis 71 | uses: github/codeql-action/analyze@v1 72 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | a.out 2 | -------------------------------------------------------------------------------- /Notas/01_IntroduccionAlgoritmos/01_Importancia_pensamiento_logico.md: -------------------------------------------------------------------------------- 1 | # La Importancia de entrenar tu pensamiento Lógico 2 | 3 | Es importante entrenar nuestro pensamiento lógico, ya que nos permite crear 4 | soluciones optimas ya sea para grandes o pqueños problemas. 5 | 6 | El Pensamiento Lógico es fundamental a la hora de programar, nos permite 7 | **reconocer** el problema que vamos a solucionar, **buscar una solución** que 8 | podamos programar y **analizar** las salidas que tenemos para llegar a 9 | conclusiones y soluciones. 10 | 11 | ![Imagen De Persona Pensando](./../src/01.webp) 12 | 13 | **Continuar Leyendo:** 14 | 15 | - [Volver Al Indice](./../../README.md) 16 | - [Siguiente Capitúlo: ¿Qué entiende una computadora?](./02_que_entiende_una_computadora.md) 17 | -------------------------------------------------------------------------------- /Notas/01_IntroduccionAlgoritmos/02_que_entiende_una_computadora.md: -------------------------------------------------------------------------------- 1 | # ¿Qué entiende una computadora? 2 | 3 | Las computadoras trabajan con información 4 | ([bytes](https://es.wikipedia.org/wiki/Byte)) y esta es representada con el 5 | [sistema binario](https://es.wikipedia.org/wiki/Sistema_binario).EL sistema 6 | binario es un sistem para contar que solo usa los **1** y **0**. 7 | 8 | ## ¿Como nacio la Computadora? 9 | 10 | La computadora nace de la necesidad humana de hacer las tareas diaras de forma 11 | mas rapida y eficiente. 12 | 13 | #### Materiales Complementarios: 14 | 15 | - [Video de Nate Gentile](https://youtu.be/RVGIXfC4Xeg) 16 | - [Traductor Binario](https://www.traductorbinario.com) 17 | - [Como Funcionan los Binarios](https://unicrom.com/sistema-de-numeracion-binario) 18 | 19 | #### Continuar Leyendo: 20 | 21 | - [Capitulo Anterior: La importancia de entrenar tu pensamiento lógico](./01_Importancia_pensamiento_logico.md) 22 | - [Siguiente Capitúlo: ¿Qué es el sistema binario?](./03_sistema_binario.md) 23 | -------------------------------------------------------------------------------- /Notas/01_IntroduccionAlgoritmos/03_sistema_binario.md: -------------------------------------------------------------------------------- 1 | # ¿Qué es el sistema binario? 2 | 3 | Es un sistema de numeración que está representado por uno (1) y cero (0) 4 | 5 | El 1 y 0 representan diferentes valores: 6 | 7 | - Hay corriente = 1 8 | - No hay corriente = 0 9 | - Positivo (+) = 1 10 | - Negativo (-) = 0 11 | - True = 1 12 | - False = 0 13 | 14 | ![Bits y Bytes](./../src/02.webp) 15 | 16 | ### Reto: 17 | 18 | Encuentra el año de tu nacimiento en el **sistema binario**. 19 | 20 | ### Platzi Materiales Relacionados a esta clase: 21 | 22 | - [Fundamentos de Ingeniería de Software](https://platzi.com/clases/ingenieria) 23 | - [Video: Qué son Bits y Bytes](https://platzi.com/clases/1098-ingenieria/6549-que-son-bits-y-bytes) 24 | - [Blog: Qué son Bits y Bytes](https://platzi.com/clases/2218-pensamiento-logico/35632-que-son-bits-y-bytes) 25 | 26 | ### Continuar Leyendo: 27 | 28 | - [Capitulo Anterior: ¿Qué es el sistema binario?](./02_que_entiende_una_computadora.md) 29 | - [Siguiente Capitúlo: Metodología para construir un algoritmo: requerimientos y proceso mental](04_requerimientos_procesos_mentales.md) 30 | -------------------------------------------------------------------------------- /Notas/01_IntroduccionAlgoritmos/04_requerimientos_procesos_mentales.md: -------------------------------------------------------------------------------- 1 | # Metodología para construir un algoritmo: requerimientos y proceso mental 2 | 3 | Un algoritmo son pasos para encontrar una solución a problemas simples o 4 | complejos. 5 | 6 | ### Características de un algoritmo: 7 | 8 | - Preciso: Paso a paso en un orden lógico 9 | - Definido: Todas la veces que pasemos por el da el mismo resultado 10 | - Finito: Tenemos un proceso de inicio y de cierre 11 | 12 | ### Los algoritmos los podemos representar de manera: 13 | 14 | - Gráfica: A través de diagramas de flujo. 15 | - No gráfica: Se usa un lenguaje de programación, o de manera textual. 16 | 17 | ### Pasos para hacer un Algoritmo: 18 | 19 | - 1.Define un problema 20 | - 2.Analiza el problema 21 | - 3.Diseña el algoritmo 22 | - 4.Prueba de escritorio 23 | 24 | ### Algortimo de las Quesadillas: 25 | 26 | - 1.Poner la tortilla en un plato 27 | - 2.Poner el jamón sobre la tortilla 28 | - 3.Poner los acompañantes del jamon 29 | - 4.Doblar a la mitad la tortilla 30 | - 5.Calentar la tortilla 31 | - 6.Comer 32 | 33 | ![src](./../src/04.webp) 34 | 35 | ### Continuar Leyendo: 36 | 37 | - [Capitulo Anterior: ¿Qué es el sistema binario?](./03_sistema_binario.md) 38 | - [Siguiente Capitúlo: Qué son variables, constantes y tipos de datos?](./../02_tipos_De_datos_operadores_logicos/05_variables_constantes_tipos_datos.md) 39 | -------------------------------------------------------------------------------- /Notas/02_tipos_De_datos_operadores_logicos/05_variables_constantes_tipos_datos.md: -------------------------------------------------------------------------------- 1 | ## Variables y Constantes 2 | 3 | Una variable es aquella que **puede cambiar su valor**, en cambio una constante 4 | es donde **persiste el valor**. 5 | 6 | Una analogía muy usada para describir a las variables es una Caja: 7 | 8 | Una caja puede **guardar cualquier cosa dentro**, puedes **meter y sacar 9 | cosas**, etc. 10 | 11 | ## Tipos de Datos 12 | 13 | ![Imagen](./../src/03.webp) 14 | 15 | Ejemplos: 16 | 17 | - Entero: 5, 2, 4, 3 ,1. 18 | - Decimales: 3.2 , 6,5 19 | - Cadenas: “Hola”, “hey”, “si” 20 | - Lógica: “True” , “False” 21 | 22 | ### Continuar Leyendo: 23 | 24 | - [Capitulo Anterior: Requerimientos y Proceso Mental](./../01_IntroduccionAlgoritmos/04_requerimientos_procesos_mentales.md) 25 | - [Siguiente Capitúlo: Qué son variables, constantes y tipos de datos?](./../02_tipos_De_datos_operadores_logicos/05_variables_constantes_tipos_datos.md) 26 | -------------------------------------------------------------------------------- /Notas/02_tipos_De_datos_operadores_logicos/06_identificar_variables_requerimientos_de_negocio.md: -------------------------------------------------------------------------------- 1 | # Identifica las variables según los requerimientos de negocio: 2 | 3 | **Reto:** Identifica que variables se necesitan para resolver los siguientes 4 | problemas.([Problemas Aqui](https://platzi.com/clases/2218-pensamiento-logico/35165-identifica-las-variables-segun-los-requerimientos-/)) 5 | 6 | ### Soluciones 7 | 8 | **Cajero electrónico:** 9 | 10 | - Número de tarjeta (int) 11 | - Saldo de la cuenta (float) 12 | - Monto de retiro (float) 13 | 14 | **Hablar con un amigo por Chat:** 15 | 16 | - Nombre de usuario (string) 17 | - ID de Usuario (int) 18 | - Fecha y hora (string) 19 | - Mensaje (string) 20 | 21 | **Pagar con tarjeta de crédito:** 22 | 23 | - Nombre de usuario (string) 24 | - Número de tarjeta (int) 25 | - Saldo disponible (float) 26 | 27 | **Lavar la ropa:** 28 | 29 | - Forma de lavado (True or False) 30 | - Tiempo (float) 31 | - Detergente (float) 32 | - Cloro (float) 33 | - Agua (float) 34 | 35 | **Hablar por teléfono:** 36 | 37 | - Número de teléfono (int) 38 | - Cobertura 39 | - Crédito (float) 40 | -------------------------------------------------------------------------------- /Notas/02_tipos_De_datos_operadores_logicos/07_strings.md: -------------------------------------------------------------------------------- 1 | # Strings (texto) y concatenación 2 | 3 | Quiero explicarles por qué se les suele conocer como strings: 4 | 5 | Bien, si lo traducimos a español sería algo como “cadena”, sin embargo, su 6 | verdadero nombre o traducción es “cadena de caracteres”. Si le damos un poco de 7 | interpretación a esta traducción podemos deducir que se trata de un carácter 8 | ligado a otro y así de forma consecutiva, ¡Sí!, son caracteres singulares que 9 | están pegados los unos a los otros y en conjunto forman una cadena, de ahí su 10 | nombre string. 11 | 12 | Para entenderlo mejor, un caracter no es más que un simple símbolo o una simple 13 | letra, es decir, la letra “b” sería un carácter. 14 | 15 | En algunos lenguajes como C++ no existe como tal un tipo de dato String, ahí lo 16 | más que existe son caracteres, es decir, en C solo puedes guardar un caracter. 17 | 18 | Esto lleva a que en C, por ejemplo, usemos trucos como declarar un arreglo (es 19 | una especie de variable que puede guardar muchos valores dentro) de caracteres 20 | para formar un string, que repito, es básicamente una cadena de caracteres. 21 | 22 | Es por eso que se les suele llamar strings en el ámbito de programación en 23 | general 😄 24 | 25 | **Char:** Refiriéndose a cualquier carácter que este entre comillas. 26 | 27 | **String:** Es una cadena de varios caracteres. 28 | 29 | **Concatenación:** Es la union de varias cadenas. 30 | 31 | **Ejemplos:** 32 | 33 | - ‘A’ = Caracter 34 | - "Antonio" = Cadena de texto 35 | -------------------------------------------------------------------------------- /Notas/02_tipos_De_datos_operadores_logicos/08_bits_y_bytes.md: -------------------------------------------------------------------------------- 1 | # ¿Qué son Bits y Bytes? 2 | 3 | El término **“bit”** es el acrónimo de “binary digit”, que hace referencia a los 4 | dígitos binarios que le indican a nuestro ordenador que hay o no carga de 5 | corriente. 6 | 7 | La definición de **bytes** concluye que un byte son el conjunto de 8 bits y que 8 | a su vez representan el valor de una letra. Sin embargo su valor y significado 9 | va más allá de eso, porque de estos 8 bits, 7 son de información y uno adicional 10 | es de control. 11 | 12 | ![Imagen](./../src/05.webp) 13 | -------------------------------------------------------------------------------- /Notas/02_tipos_De_datos_operadores_logicos/09_numeros_operaciones_matematicas_basicas.md: -------------------------------------------------------------------------------- 1 | # Números y operaciones matemáticas básicas 2 | 3 | Existen varios tipos de datos numéricos. ⠀⠀⠀⠀⠀⠀⠀⠀ 4 | 5 | - **int:** Son los números enteros, aquellos que no tienen decimal (1, 4, 10) 6 | 7 | - **float:** Son aquellos que tienen decimales de su lado derecho (3.1416) 8 | 9 | - **short:** Estos son de acuerdo a su tamaño en bytes (2 bytes) 10 | 11 | - **long:** Estos son de acuerdo a su tamaño en bytes (8 bytes) 12 | 13 | Operadores para operaciones **matemáticas**: 14 | 15 | - (+) Para realizar sumas 16 | - (-) Para realizar restas 17 | - (\*) Para realizar multiplicaciones 18 | - (/) Para realizar divisiones 19 | -------------------------------------------------------------------------------- /Notas/02_tipos_De_datos_operadores_logicos/10_parenteisis-orden_evaluacion.md: -------------------------------------------------------------------------------- 1 | # Operaciones matemáticas compuestas: paréntesis y orden de evaluación 2 | 3 | La inmensa mayoría de lenguajes de programación obedecen la jerarquía de 4 | opearicones matemáticas, también se les llama orden de precedencia, les dejo 5 | esta imagen donde se explica cuál es la precedencia más importante que se suele 6 | resolver primero 😄 Recordemos que todo lo que está entre paréntesis será lo que 7 | se resuelva primero. 8 | 9 | ![Grafico](./../src/06.webp) 10 | 11 | En otras palabras, en cualquier problema de matemáticas debes empezar 12 | resolviendo primero los paréntesis, luego los exponentes, luego las 13 | multiplicaciones y divisiones y luego las sumas y restas. Cuando las operaciones 14 | son del mismo nivel, se resuelven de izquierda a derecha. Por ejemplo, si el 15 | cálculo contiene más de un exponente, debes resolver primero el que esté más a 16 | la izquierda y continuar hacia la derecha. 17 | 18 | ![Otro Grafico](./../src/07.webp) 19 | 20 | 📌 Los paréntesis nos permiten agrupar expresiones, alterar la precedencia normal 21 | de los operadores y su asociatividad. 22 | 23 | ``` 24 | //Procedencia normal 25 | resultado = 5 - (3 * 2) + 4 - (4 / 2); 26 | //Procedencia alterada 27 | resultado = (5 - 3) * 2 + (4 - 4) / 2; 28 | ``` 29 | -------------------------------------------------------------------------------- /Notas/02_tipos_De_datos_operadores_logicos/11_true_and_false.md: -------------------------------------------------------------------------------- 1 | # True y false: booleanos y tablas de la verdad 2 | 3 | 💡 Las tablas de verdad nos permiten analizar expresiones matemáticas y 4 | determinar su valor de verdad, es decir si nuestro razonamiento es válido o no. 5 | 6 | ![](./../src/08.webp) 7 | 8 | ### Materiales Complementarios: 9 | 10 | - [Video de Freddy](https://www.youtube.com/watch?v=Pfyuv5ZnNNw) 11 | - [Video de Twitter](https://twitter.com/page_eco/status/1188749430020698112) 12 | -------------------------------------------------------------------------------- /Notas/02_tipos_De_datos_operadores_logicos/12_arrays_funciones_Sobre_Arrays.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/02_tipos_De_datos_operadores_logicos/12_arrays_funciones_Sobre_Arrays.md -------------------------------------------------------------------------------- /Notas/02_tipos_De_datos_operadores_logicos/13_diagramas_De_Flujo.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/02_tipos_De_datos_operadores_logicos/13_diagramas_De_Flujo.md -------------------------------------------------------------------------------- /Notas/02_tipos_De_datos_operadores_logicos/14_requerimientos_de_negocios.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/02_tipos_De_datos_operadores_logicos/14_requerimientos_de_negocios.md -------------------------------------------------------------------------------- /Notas/03_estructuras_de_control/15_if_And_Else.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/03_estructuras_de_control/15_if_And_Else.md -------------------------------------------------------------------------------- /Notas/03_estructuras_de_control/16_switch_and_case.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/03_estructuras_de_control/16_switch_and_case.md -------------------------------------------------------------------------------- /Notas/03_estructuras_de_control/17_exepciones.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/03_estructuras_de_control/17_exepciones.md -------------------------------------------------------------------------------- /Notas/03_estructuras_de_control/18_ciclos.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/03_estructuras_de_control/18_ciclos.md -------------------------------------------------------------------------------- /Notas/03_estructuras_de_control/19_diagramas_de_flujo_condicionales.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/03_estructuras_de_control/19_diagramas_de_flujo_condicionales.md -------------------------------------------------------------------------------- /Notas/03_estructuras_de_control/20_algoritmos_de_progrmacion.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/03_estructuras_de_control/20_algoritmos_de_progrmacion.md -------------------------------------------------------------------------------- /Notas/03_estructuras_de_control/21_algoritmos_para_la_vida.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/03_estructuras_de_control/21_algoritmos_para_la_vida.md -------------------------------------------------------------------------------- /Notas/04_encapsular_codigo/22_funciones.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/04_encapsular_codigo/22_funciones.md -------------------------------------------------------------------------------- /Notas/04_encapsular_codigo/23_modularizar.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/04_encapsular_codigo/23_modularizar.md -------------------------------------------------------------------------------- /Notas/04_encapsular_codigo/24_encapsular_algoritmos.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/04_encapsular_codigo/24_encapsular_algoritmos.md -------------------------------------------------------------------------------- /Notas/04_encapsular_codigo/25_nomenclaturas.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/04_encapsular_codigo/25_nomenclaturas.md -------------------------------------------------------------------------------- /Notas/04_encapsular_codigo/26_recursividad.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/04_encapsular_codigo/26_recursividad.md -------------------------------------------------------------------------------- /Notas/04_encapsular_codigo/27_ciclos_to_recursividad.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/04_encapsular_codigo/27_ciclos_to_recursividad.md -------------------------------------------------------------------------------- /Notas/04_encapsular_codigo/28_logica.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/04_encapsular_codigo/28_logica.md -------------------------------------------------------------------------------- /Notas/04_encapsular_codigo/29_acertijos.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/04_encapsular_codigo/29_acertijos.md -------------------------------------------------------------------------------- /Notas/05_algoritmos_en_codigo/30_diferencias_entre_lenguajes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/05_algoritmos_en_codigo/30_diferencias_entre_lenguajes.md -------------------------------------------------------------------------------- /Notas/05_algoritmos_en_codigo/31_escribir_en_cualquier_lenguaje.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/05_algoritmos_en_codigo/31_escribir_en_cualquier_lenguaje.md -------------------------------------------------------------------------------- /Notas/05_algoritmos_en_codigo/32_js_py_php.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/05_algoritmos_en_codigo/32_js_py_php.md -------------------------------------------------------------------------------- /Notas/05_algoritmos_en_codigo/33_js.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/05_algoritmos_en_codigo/33_js.md -------------------------------------------------------------------------------- /Notas/05_algoritmos_en_codigo/34_python.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/05_algoritmos_en_codigo/34_python.md -------------------------------------------------------------------------------- /Notas/05_algoritmos_en_codigo/35_php.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/05_algoritmos_en_codigo/35_php.md -------------------------------------------------------------------------------- /Notas/05_algoritmos_en_codigo/36_java_y_c.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/05_algoritmos_en_codigo/36_java_y_c.md -------------------------------------------------------------------------------- /Notas/05_algoritmos_en_codigo/37_java.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/05_algoritmos_en_codigo/37_java.md -------------------------------------------------------------------------------- /Notas/05_algoritmos_en_codigo/38_c.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/05_algoritmos_en_codigo/38_c.md -------------------------------------------------------------------------------- /Notas/05_algoritmos_en_codigo/39_Diagramas_to_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/05_algoritmos_en_codigo/39_Diagramas_to_code.md -------------------------------------------------------------------------------- /Notas/06_conclusiones/40_Proximos_pasos.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/06_conclusiones/40_Proximos_pasos.md -------------------------------------------------------------------------------- /Notas/src/01.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/src/01.webp -------------------------------------------------------------------------------- /Notas/src/02.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/src/02.webp -------------------------------------------------------------------------------- /Notas/src/03.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/src/03.webp -------------------------------------------------------------------------------- /Notas/src/04.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/src/04.webp -------------------------------------------------------------------------------- /Notas/src/05.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/src/05.webp -------------------------------------------------------------------------------- /Notas/src/06.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/src/06.webp -------------------------------------------------------------------------------- /Notas/src/07.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/src/07.webp -------------------------------------------------------------------------------- /Notas/src/08.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltiRequiem/basic-algorithms-logical-thinking-platzi/9192bd6c3e7fbf80e52a3a1ec51ab6c4f08bc5af/Notas/src/08.webp -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Eliaz Bobadilla 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Logical Thinking 2 | 3 | [Take the course!](https://platzi.com/cursos/pensamiento-logico) 4 | 5 | > It's on Spanish! 6 | 7 | [Mira la version en Español](./readme_esp.md) 8 | 9 | > See the Spanish version 10 | 11 | ## Support 12 | 13 | Open an Issue, I will check it a soon as possible 👀 14 | 15 | If you want to hurry me up a bit 16 | [send me a tweet](https://twitter.com/UltiRequiem) 😆 17 | 18 | Consider [supporting me on Patreon](https://patreon.com/UltiRequiem) if you like 19 | my work 🙏 20 | 21 | Don't forget to start the repo ⭐ 22 | 23 | ## Licence 24 | 25 | Licensed under the MIT License 📄 26 | -------------------------------------------------------------------------------- /readme_esp.md: -------------------------------------------------------------------------------- 1 | # Curso Basico de Algoritmos y Pensamiento Logico 2 | 3 | En este repositorio encontraras mis [notas](./Notas) y desarrollos de ejercicios 4 | del 5 | [Curso Basico de Algoritmos y Pensamiento Logico](https://platzi.com/clases/pensamiento-logico) 6 | de [Platzi](https://platzi.com/r/EliazBobadilla). 7 | 8 | El Proyecto de este curso es escribir un 9 | [**¡Hola, Mundo!**](https://github.com/EliazBobadilla/Hola-Mundo) en 5 lenguajes 10 | diferentes. (JavaScript, 11 | [Python](https://github.com/EliazBobadilla/Curso-Basico-de-Python), Java, PHP y 12 | C) 13 | 14 | ## Indice de las Notas 15 | 16 | - Introduccion a los Algoritmos: 17 | - [La Importancia de entrenar tu pensamiento Lógico](./Notas/01_IntroduccionAlgoritmos/01_Importancia_pensamiento_logico.md) 18 | - [¿Qué entiende una computadora?](./Notas/01_IntroduccionAlgoritmos/02_que_entiende_una_computadora.md) 19 | - [¿Qué es el sistema binario?](./Notas/01_IntroduccionAlgoritmos/03_sistema_binario.md) 20 | - [Procesos Mentales](04_requerimientos_procesos_mentales.md) 21 | - Tipos de datos y operadores lógicos: 22 | - [¿Qué son variables, constantes y tipos de datos?](./Notas/02_tipos_De_datos_operadores_logicos/05_variables_constantes_tipos_datos.md) 23 | - Estructuras de control: 24 | - Encapsula tu código en funciones: 25 | - Traduce tus algoritmos a lenguajes de programación: 26 | - Conclusiones 27 | 28 | ## Datos de La Profesora 29 | 30 | [Ana Belisa Martínes](https://anabelisa.co/about/) es Backend Developer, Proyect 31 | Mananger y Master Coach en Platzi Master. 32 | 33 | Algunas de sus Redes Sociales 34 | 35 | - [Pagina Personal](https://anabelisa.co) 36 | - [GitHub](https://github.com/anabelisam) 37 | - [Platzi](https://platzi.com/p/anabelisam) 38 | - [Twitter](https://twitter.com/anabelisam_) 39 | - [Linkedin](https://www.linkedin.com/in/anabelisam/) 40 | - [Youtube](https://www.youtube.com/channel/UCqiIcOoc3Gg0sHaw8Ncgqkw/videos) 41 | - [Instagram](https://www.instagram.com/anabelisam/?hl=es-la) 42 | - [Twitch](https://www.twitch.tv/anabelisam) 43 | 44 | **Si es que este repositorio te ayudo, o simplemente te gusto, considera darle 45 | una estrella.** 46 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | function secondLargesNumber(numbers) { 2 | let first = numbers[0]; 3 | let second = 0; 4 | for (let i = 0; i < unmbers.length; i++) { 5 | if (numbers[i] > first) { 6 | second = first; 7 | first = numers[i]; 8 | } 9 | if (numbers[i] > second && numbers[i] < first) { 10 | second = numbers[i]; 11 | } 12 | } 13 | return second; 14 | } 15 | 16 | let nums = [8, 4, 6, 10, 9, 11, 20]; 17 | console.log(secondLargestNumber(nums)); 18 | -------------------------------------------------------------------------------- /src/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int max_of_four(int num1, int num2, int num3, int num4) { 4 | int array[4] = { 5 | num1, 6 | num2, 7 | num3, 8 | num4 9 | }; 10 | int max = array[0]; 11 | for (int i = 0; i < 4; i++) { 12 | if (max < array[i]) { 13 | max = array[i]; 14 | } 15 | } 16 | return max; 17 | } 18 | 19 | int main() { 20 | int num1, num2, num3, num4; 21 | int res = max_of_four(10, 14, 25, 98); 22 | printf("%d", res); 23 | 24 | return 0; 25 | } 26 | --------------------------------------------------------------------------------