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

Cómo programar en JavaScript, Python y PHP

34/47

Lectura

Cómo programar en JavaScript, Python y PHP

Este grupo de lenguajes han mantenido su popularidad con el tiempo, algunos por el impacto que generan en los procesos de aprendizaje, otros porque han sido implementados por grandes exponentes de la industria de la tecnología.

En esta lectura aprenderás cómo implementar en cada uno de estos lenguajes los elementos básicos que utilizarás en tu día a día como desarrolladora de software.

Variables

En todos los lenguajes, las variables almacenan temporalmente un valor y pueden presentarse de diferentes tipos, sin embargo, su alcance y definición cambian entre un lenguaje y otro enfocándose en la necesidad de tu aplicación y la lógica que estés deseando implementar.

En JavaScript encontrarás que var, let y const serán la manera en la cual puedes definir variables y van a permitirte almacenar algo, pero su uso difiere y se verá extendido o limitado de acuerdo a la que uses, por ejemplo:

Si defines una variable usando “var” tendrás un alcance global, esto quiere decir que el valor de esa variable podrá ser accedido, alterado o bloqueado por procesos dentro del documento donde lo hayas definido.

let” tiene un alcance más corto y solo estará disponible dentro del bloque de código donde fue definido, de esta manera puedes tener otra variable fuera de ese alcance incluso con el mismo nombre y valor pero no se cruzarán ni generarán conflicto alguno.

Con el uso de “const” hay un punto interesante porque estamos haciendo referencia a un valor que será de sólo lectura, es decir, que esta variable no podrá ser reasignada. Por lo tanto, debemos hacer un uso adecuado correspondiente a su naturaleza.

Para el caso de PHP, se define una variable usando el signo $ seguido del nombre que le des. Además, no es obligatorio definir variables antes de inicializarlas para poder usarlas (aunque ésta sea una buena práctica), por ejemplo:

En lugar de escribir:


$saludo;

$saludo = “Hola, soy un saludo”;

Puedes escribir:


$saludo = “Hola, soy un saludo”;

$numero = 8;

$nombre = “Juanito”;

La definición de variables en Python es igualmente muy simple y útil pues no es requerido indicar el tipo de variable o algún símbolo antes de definirla, simplemente tienes que indicar el nombre y en seguida asignarle un valor si así lo deseas, por ejemplo:


saludo = “Hola, yo también soy un saludo en Python”

nombre = “Mi nombre es Juanito”

Funciones

Para definir funciones hay una similitud muy marcada entre JavaScript y PHP porque su estructura base es simplemente escribir la palabra reservada “function” seguido por el nombre de la función y paréntesis que bien pueden estar vacíos si no recibe ningún valor o incluir los parámetros separados por comas.

Sin embargo, en PHP puedes definir el alcance de la función; si será pública, privada o estática, pero si no se lo indicas explícitamente, de manera automática se creará pública.

Con Python esta definición es distinta, pues solo utiliza “def”, seguido por el nombre de la función y los parámetros que recibe, al igual que los lenguajes anteriormente mencionados. Adicionalmente, un bloque de código no empieza por las típicas llaves, sino por dos puntos ( : ) que indican que debajo empiezan sus instrucciones a ejecutar.

Estructuras de control

Cómo ya has visto, cada lenguaje tiene su propia forma de escribir las cosas. No obstante, las estructuras de control son un punto en común. A pesar de que las instrucciones empiecen con llaves, con dos puntos o que las líneas de código terminen en punto y coma o no, la forma del contenido en las estructuras de control no cambia su lógica, suceden de la misma forma y ofrecen el mismo servicio en los tres lenguajes.

El condicional “if” en todos los casos evalúa una condición basada en operadores lógicos de comparación. Los ciclos también siguen con este mismo patrón porque incluso su definición cumple con la misma estructura y respetan la forma en la cual funciona. Es esta la magia de saber programación primero que un lenguaje específico.

El proceso de debugging

El muy conocido debugging o depuración es una actividad que realizamos cuando estamos probando un código en un punto muy específico del cual necesitamos ver un resultado o una salida en consola para conocer específicamente qué puede estar pasando en un punto crítico de nuestra aplicación.

Para realizar esta inspección, utilizamos normalmente alguna instrucción que nos muestre algo que definamos y dependiendo del lenguaje que utilicemos contamos diferentes herramientas.

En JavaScript existe el muy popular console.log() que dentro de sus paréntesis recibe el valor que va a mostrar justo cuando la ejecución de la aplicación llegue a donde está ubicado y mostrará este valor en consola. Sin embargo, no es el único método pues también se puede utilizar debugger para detener la ejecución de la aplicación justo en el punto donde lo hayamos ubicado.


console.log(“Quiero ver esto en consola”)

Con PHP hay varias formas y la que utilices dependerá del contexto en el cual quieres ver este mensaje o valor de referencia para la depuración además del tipo de dato que devolverá.

Se puede hacer uso de “echo” que es la forma más clásica de mostrar cadenas de texto en PHP. Sin embargo, no será útil si deseas mostrar valores de tipo objeto o algo más complejo, en este caso puedes usar var_dump para conocer el tipo de dato que devuelves o print_r para imprimir lo que sea que traiga.


echo “Quiero ver esto cuando el código pase por aquí”;

var_dump($soyunavariable);

print_r([“Hola”]);

Python, por supuesto, también ofrece herramientas para hacer esta actividad de depuración, como es el uso de la librería pdb, con la cual se pueden crear breakpoints sobre los cuales hacer pausas en la ejecución y probar esas fracciones de manera fácil y controlada.

Puedes igualmente usar el clásico “retorno de mensajes”, pero también tienes una herramienta que lo puede hacer por ti.

Métodos de arrays

Con todo lo que has aprendido, ya puedes entender que la programación es la base y los lenguajes solo son caminos sintácticos que pueden ayudarte en ciertos proyectos o necesidades muy específicas.

Los arrays son secuencias de valores contenidas en un mismo espacio y además comparten su mismo tipo, pero, además de ello, pueden ordenarse, medirse, accederse y realizar muchas acciones más.

En todos los lenguajes lo puedes hacer pero variará la sintaxis que debas usar para lograrlo, algunos métodos de arrays que encontrarás:

  • Upper para pasar a mayúsculas uno o varios valores de un array.

  • Lower para pasar a minúsculas uno o varios valores de un array.

  • Sort para ordenar los valores.

  • Length para conocer la cantidad de posiciones del array.

Ejemplo de UpperCase en JavaScript para pasar a mayúsculas toda una oración:


const cadenaMinuscula = 'espero que tengas un gran dia';

cadenaMinuscula.toUpperCase() //ESPERO QUE TENGAS UN GRAN DIA

Ejemplo de tolower en C para pasar a minúsculas toda una palabra:


cadena = 'MARIA';

resultado = tolower(cadena); // maria

Ejemplo de sort en PHP:


$frutas = array("limón", "piña", "naranja", "fresa");

sort($frutas); // fresa, limón, naranja, piña

Ejemplo de length en Python:


frase = “Quiero saber cuántos caracteres tengo”

len(frase) //37

Además, podrás encontrar muchas más en la documentación oficial del lenguaje que uses además de su implementación y sintaxis adecuada.


¡Te espero en las siguientes clases para programar ejemplos un poco más complejos con estos lenguajes de programación!

Aportes 56

Preguntas 6

Ordenar por:

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

Ya les di un acercamiento en la clase pasada, pero para poner más datos acerca de estos lenguajes:
.
En JavaScript, aunque hacemos mucho énfasis en "usa con cuidado el const" la verdad es que no importa, en la mayoría del tiempo dentro de tu código de JavaScript vas a declarar tus variables como const y es porque realmente rara vez vas a crear una variable cuyo valor realmente vaya a cambiar. De hecho, mi mejor consejo es que siempre que puedas uses const, y si realmente necesitas que una variable cambie ahí si usa let, pero NUNCA usas var, escribí un tutorial enseñándote sobre esto:
.
¡Deja de usar var en JavaScript! ¿Por qué no es buena práctica usarlo?
.
Pasándonos al lado de PHP, cuando lleguen a usar una cosa maravillosa llamada “Laravel”, verán que existe una hermosa función llamada dd() que facilita inmensamente el debuging, es una función que te genera un elemento HTML interactivo para debuguear cualquier cosa que le pases, es simplemente hermoso 👀

📌 Cuando aprendas un lenguaje de programación conscientemente, te dará habilidades para aprender otro de forma más sencilla. Los lenguajes de programación por lo general tendrán estructuras similares en algún punto.

Pienso que esta introducción hubiera sido mucho mejor explicada en un video… Saludos

Bueno la verdad si me hubiera gustado un videito que explicara más.

Resumen de la clase 32 y 34 😃

Les recomiendo a las personas que no han tenido un acercamiento grande en estos conceptos que puedan empezar con lenguajes como C o C++ ¿Por que? Esto es fundamental para entender todos los lenguajes, lenguajes como python son muy fáciles de utilizar pero hay varias cosas que no sabrás por que pasan a menos de que antes hayas pasado por un lenguaje de nivel intermedio como lo puede ser c.

Me quedo con la frase: “Programación es la base y los lenguajes son los caminos”. 😄

Valoro cada uno de los comentarios de la comunidad, ya que algunos tienen más experiencia que otros y siempre aportan algo que es muy complementario con la clase actual, de verdad muchas gracias!

buena explicación, sin embargo, también se debe ser consiente de que existen lenguajes de programación de distintas generaciones, y así como hay algunos muy intuitivos hay otros que requieren un cierto conocimiento técnico a la hora de su implementación, un ejemplo es Fortran.

Empecé con JavaScript y me ha parecido interesante, se que Python se ve un poco más sencillo, luego seguiré con el cuando domine bien JS.

Si no fuera por los aportes estaría el doble de perdida de lo que estoy ahora. Creo que esta forma de presentar la información no ayuda mucho a los que somos principiantes.

en serio, lo hacen de lo mas complicado… que les cuesta poner el mismo ejemplo, en distitnos lenguajes, para que podamos ver las diferencias? y qué tal llevar el orden? usen la lógica!

no me gusto que en la parte de métodos de arrays de repente salieran con un ejemplo de lenguaje C, cuando sólo estábamos viendo Javascript, Python y PHP

llevo un par de semanas estudiando y aun no comprendia bien la diferencia entre var, let, const y gracias a platzi se me aclaran estos conceptos!

var:alcanze global se puede llamar desde todo el codigo.
let: alcanze para el mismo bloque,objeto y/o funcion que se ejecutara en el momento.
const: es un tipo de variable que no cambiara en el transcurso del codigo,se podra usar para funciones y operaciones pero su nombre no se podra cambiar

Sugiero cambiar esta parte a un video de introducción y luego poner como extra también el texto.

Muy buen post!. Platzi debería crear algo así donde los profesores y estudiantes mas dedicados puedan crear contenido educativo con el fin de ayudar a toda la comunidad, mientras mas enseñas mas aprendes!

PHP es un lenguaje de programación de uso general que se adapta especialmente al desarrollo web.​ Fue creado inicialmente por el programador danés-canadiense Rasmus Lerdorf en 1994.​ En la actualidad, la implementación de referencia de PHP es producida por The PHP Group

Creo que sería mucho más fácil entender las diferencias entre los distintos lenguajes de programación, si nos pusieran a pasar el mismo ejercicio varias veces, pero cada vez con un lenguaje de programación diferente.
.
Por ejemplo, que nos dieran la instrucción “Declara una variable que contenga el valor 123” y que tuvieramos que hacer lo mismo pero cada vez con un lenguaje distinto.
.
Entender estos conceptos con pura teoría no es suficiente. Deberían poner ejercicios prácticos que ayuden a comprender los conceptos.

me imagino que cada lenguaje tendrá sus fortalezas, espero mas adelante poder usarlos de manera adecuada dependiendo del programa que vaya a desarrollar.

Con esta lectura se puede entender que por lo menos en lo fundamental, los leguajes de programación no son muy distantes el uno del otro, sin embargo me deja la duda sobre que tan parecidos son cuando se abordan conceptos mas profundos.

Esta excelente la introducción para empaparse un poco antes de entrar de lleno esa parte del curso

Mirá que le pongo garra eh… pero no entiendo… no sé que es JavaScript… y ya me dicen lo que encontraré ahí… qué me perdí? vengo del curso de computación básica. No entiendo. Pensé que por fin iba a explicar qué es un lenguaje de programación y sigue agregándome data sin contexto. Es como que te pida que me enseñes a construir y te limites a tirarme el cemento por la cabeza, y de poquitos, de a piedritas, me tires el martillo, el casco, pero nunca me expliques nada.

Me ha encantado este articulo, siempre me gusto esta idea de ver las similitudes entre lenguajes, es mucho mas facil y rapido aprender varios a la vez, y no aprenderlos invidualmente donde se repiten muchos terminos de programacion que ya conocemos.

Por lo que veo Python es uno de esos lenguajes que simplifica mucho el hecho de no declarar el tipo de dato de una variable suena bien pero a larga te olvidas que tipo de dato pusiste.
PHP me encanta, el simple hecho de que sus variables empiecen con el signo del dólar($) le da cierta exclusividad.

Muy buena informacion con relacion a cada lenguaje.

Esta muy buena la informacion,pero de todas formas me hace falta verla en la práctica, se aprende mejor al visualizar y practicar. Espero ver esto en práctica en otra clase.

Me di cuenta de que en Python se usa la función len() para saber el número de elementos de un array, pero en JavaScript para saber lo mismo, se consulta el atributo o propiedad .length porque en JavaScript creo que todo es un objeto.

Interesante estos lenguajes de tipado dinámico, ya aquí me doy cuenta de que es verdad lo que dicen sobre el hecho de que cuando se domina un lenguaje ya los demás son más fáciles.

Como recomendación personal les aconsejo aprender primero un lenguaje de alto nivel, como JavaSscript, Python, PHP, Go, etc. Luego se busquen algo más complejo como C o C#, ya que se les hará más fácil entender qué es lo que está pasando. Los lenguajes de nivel medio y nivel bajo son muy complejos a veces para alguien que recién empieza a aprender.

Por ahora me llama mucho JS y Python
🟡JS: por que es muy clasico
🔵Python: he escuchado que es muy facil de aprender y puedes hacer muchas cosas más que, solamente hacer web, apps, tipo Data Science, etc.

En mis primeros intentos de programar quise empezar con Python, y nunca tuve la exposición necesaria para notar las similitudes o lo que comparten estos tres lenguajes

No existen los operadores lógicos de comparación; existen los operadores lógicos, los operadores de comparación y los operadores aritméticos. ¡Saludos y gracias por el curso!

bastante extenso e informativo

Excelente ya quiero empezar a programar!!

Super este post!, me gustó mucho ver diferentes lenguajes para darse una idea de lo que viene.

La verdad no seguiré este curso de algoritmos, fue bastante frustrante la manera en que se llevó la progresión del tema, decepcionante como se llevó el tema de algoritmos y abrumante el cambio a javascribt, la idea de empezar desde un curso básico es ir paso a paso de manera progresiva, espero se mejore sustancialmente.

Me hubiera gustado que estos módulos fueran explicados en vídeo ya que a mi parecer es mejor ver al profesor en acción, de esa manera vemos los conceptos de los que se hablan.

a mi me gustan las lecturas, de hecho a veces entiendo mas leyendo. me gusta mucho js creo q mi siguiente puede ser C

en php tengo un conocimiento pero me gustaria aprenderlo a dominar

Recomendable.

¡Deja de usar var en JavaScript! ¿Por qué no es buena práctica usarlo?

🤖Cuando aprendas un lenguaje de programación conscientemente, te dará habilidades para aprender otro de forma más sencilla.

🤖Los lenguajes de programación por lo general tendrán estructuras similares en algún punto.

Tuve que leerlo 2 veces para entender. hubiese sido bueno que lo explique en video.

Esta informacion esta super, pero no lo niego, fuera estado mas chimba en un video xd

gran panorama

Interensante lección

No sé si a los demas les paso, pero estaria bueno que el texto se pueda expandir para verlo de una forma más completa.

un vídeo hubiese quedado mejor

Muy buena lectura!

Buen artículo. 👍🏻

Me agrada Python

excelente post informativo

Buena explicación.

excelente intro!

Que buena información

muy buena explicación