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

Programando en Java

43/47
Recursos

Aportes 83

Preguntas 11

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Java es un lenguaje orientado a objetos, es por eso que hacemos uso de clases, sin embargo, este es un tema aparte, para aprender sobre Programaci贸n Orientada a Objetos tienes el Curso de Programaci贸n Orientada a Objetos: POO donde aprendes POO con 4 lenguajes (Java, PHP, JavaScript y Python), lo recomiendo mucho!
.
Es normal no entender esta clase si no sabes nada de POO, es todo un tema aparte, por eso les recomiendo ese curso (no sin antes adquirir bases s贸lidas de programaci贸n estructurada, lo que venimos haciendo en todo el curso 馃槃)

No entiendo la necesidad de poner ejemplos tan complicados para un principiante... en la universidad ve铆amos los arreglos hasta despu茅s varias clases Si quieres apasionar a los nuevos ponles cosas que entiendan

馃惐鈥嶐煉 Java el lenguaje de programaci贸n inicial de varios programadores y desarrolladores.

public class Main {
	public static void showSubString(String text, int start, int end){
    	System.out.println(text.substring(start, end));
    }

  public static void main(String[] args) {
    String text = "Lasfloresazules";
    showSubString(text, 3, 7);
  }
}

Funciones dentro de clases

En la jerga de la programaci贸n orientada a objetos, las funciones dentro de las clases se denominan funciones-miembro o m茅todos, y las variables dentro de clases, variables-miembro o propiedades. El sentido es el mismo que en la programaci贸n tradicional (la nomenclatura es m谩s una cuesti贸n de gustos), si bien referirnos a 鈥減ropiedades鈥 y 鈥渕茅todos鈥 supone estar utilizando la programaci贸n orientada a objetos y que nos referimos a miembros de una clase. En C++ esta aclaraci贸n puede ser importante, porque es un lenguaje que podr铆amos llamar 鈥渉铆brido鈥; en ciertas partes puede utilizarse con t茅cnicas de programaci贸n tradicional, y en otras con t茅cnicas de POO.

Todo iba muy bien hasta el video 33馃槬馃槬馃槬,
o soy el unico que esta perdido y le entiende muy poco.

En lo personal este curso Curso b谩sico de algoritmos y pensamiento l贸gico es sumamente aburrido las primeras 20 clases en donde s贸lo parece que leen diapositivas. Sugiero a帽adir ejercicios pr谩cticos y sencillos para mejorar el aprendizaje.

En cuanto a estos 煤ltimos cap铆tulos, se me hacen demasiado elevados, podr铆an buscar explicaciones con algo m谩s sencillo ya que se supone que estamos en un nivel b谩sico/principiante. Realmente siento que desperdici茅 el tiempo viendo estos videos porque no hubo un aprendizaje como tal, s贸lo fue medio entender la informaci贸n.

Pense que java era algo mas dif铆cil pero seg煤n la profesora explico se me hizo muy entendible.

No entiendo cu谩l es el objetivo de abordar una cantidad de sintaxis que uno no conoce pero que evidentemente parece ser relevante para entender los ejercicios en los lenguajes.

Se ve que Java es un lenguaje que si lo llegas a dominar desarrollas muy buenas bases de programaci贸n.
Es lo que me parece. 驴As铆 es?

El peque帽o programa que resulta lo encuentro de alguna manera el m谩s gratificante hasta el momento. Muy entretenido crearlo, y es bastante m谩s corto que el resto.

La verdad es que en mi ruta encontr茅 problemas en mi aprendizaje ya que el ver en uso los lenguajes cuando no he tenido experiencia en ello, se me ha dificultado. Lo mejor ser铆a tomar el curso de programaci贸n b谩sica o tal vez los cursos b谩sicos de alg煤n lenguaje de programaci贸n ya que te da una idea de todo lo que conlleva una l铆nea de c贸digo. Igualmente me pareci贸 muy interesante la importancia de la l贸gica para el desarrollo.

class Main 
	{
		public static void showSubstring(String text, int start, int end)
		{
			system.out.println(text.substring(start,end);
		}
	
		public static void main(Substring[] args)
		{
			String text = "Lasfloresazules";
			showSubstring(text, 2, 9);
		}
	}```

Muy interesante y explicativo esta clase.
Excelente aporte.

Un excelente ejemplo 馃憦.
.
Adicionalmente, existen algunos t茅rminos que merecen la pena ser explicados:
馃憠 Static es empleado para que una clase no sea declarada expl铆citamente, es decir, no crear un objeto a partir de la clase.
馃憠 Void es empleado para funciones y m茅todos cuyo prop贸sito es realizar acciones e instrucciones, en donde no se devuelve un valor (return).
.
Probablemente haya confusi贸n con todos estos t茅rminos. Sin embargo, si profundizas en el lenguaje y comprendes la programaci贸n orientada a objetos (POO) permitir谩 comprender de mejor manera todo esto 馃榿.

Existe un excelente canal donde aprend铆 muchas cosas de Java, lastima que el creador ahora descansa en la nube, el software siempre se lleva a los mejores.
https://www.youtube.com/watch?v=2ZXiuh0rg3M&list=PLWtYZ2ejMVJkjOuTCzIk61j7XKfpIR74K

confieso que antes de los lenguajes solo anotaba y no ten铆a idea de como acomodar鈥 pero ahora que copiamos los ejercicios se recuerda cada concepto y de a poco entramos en materia n.n

public class Main {

	public static void showSubString(String text, int start, int end){
    	System.out.println(text.substring(start, end));
    }
  public static void main(String[] args) {
    String text = "LasFloresAzules";
    showSubString(text, 3, 13);
  }
}

Dejo mi codigo, hay que cuidar la sintaxis, por una 鈥渟鈥 me marcaba error el symbol

class Main { public static void showsSubString(String text, int start, int end){ System.out.println (text.substring(start, end)); } public static void main(String[] args) { String text = "Lasfloresazules"; showsSubString(text, 3, 7); } }

Animo! S茅 que a este punto quiz谩s te deba doler la cabeza, pero que eso no te frustre an铆mate a seguir en los otros cursos y ver谩s como todo se va a aclarar

void? static? de verdad la 煤nica que no entiende nada de nada soy yo? c贸mo me sirve esto para comprender los lenguajes de programaci贸n, qu茅 es el backend y el frontend, la verdad si no fuera porque quiero cambiar de laburo hubiera desistido hace rato. Un desastre.

He aprendido mucho buscando en internet de que habla la instructora. Hay muchos errores fon茅ticos, de tono, de continudad e incluso de pronunciaci贸n en este curso. Lo bueno es que al no entender mucho, me ha obligado a ver otras fuentes para intentar enteder. No ten铆a idea de que un array tambien es llamado vector. Pero este curso tiene un problema serio, la voz que se escucha. No niego que quien lo presenta sea una excelente persona, profesional, madre y que tenga sus conocimientos, pero no todos tienen la idea de ense帽ar y/o presentar (yo me incluyo en no saber como)鈥

que f谩cil aprender as铆

class Main {
  public static void showSubstring(String text, int start, int end) {
    System.out.println(text.substring(start,end));
  }

  public static void main(String[] args) {
    String text = "Lasfloresrojas";
    showSubstring(text, 9, 14);
  }
}```
class Main {
  public static void showSubString(String text, int start, int end){
    System.out.println(text.substring(start,end));
  }
  public static void main(String[] args)
  {
    String text = "LasFloresAzules";
    showSubString(text, 3, 7);
  }
}```
class Main {
  public static void showSubstring(String text, int start, int end) {
    System.out.println(text.substring(start,end));
  }

  public static void main(String[] args){
    String text = "Lasfloresazules";
    showSubstring(text, 2, 9);
  }
}
    

Esta clase si la entend铆 馃槃, muy bien :3

Aunque s铆 creo que probablemente explique en 6 minutos mejor el funcionamiento de los m茅todos en java que mi profesor de universidad en 4 clases de 2 horas, no se si es el contenido m谩s apropiado para un estudiante que venga de 0.
Si alguien estuviese empezando a aprender siguiendo el orden que le dicen las escuelas de desarrollo web, matem谩ticas o desarrollo de software y partiera de 0, esto ser铆a muy confuso para 茅l/ella.
Est谩 muy bien explicado, pero si ya tienes conocimientos previos.

No entiendo porque ense帽an diferentes leguaje de programaci贸n si esto trata de pensamiento l贸gico. JAJAAJAJA

Yo a duras penas voy iniciando con python. 馃槳

No entiendo el punto de pasearnos por los distintos lenguajes de programaci贸n.

javac -classpath .:/run_dir/junit-4.12.jar:target/dependency/* -d . Main.java
Main.java:7: error: cannot find symbol
public static void Main(string[] args) {
^
symbol: class string
location: class Main
Main.java:4: error: package system does not exist
system.out.println(text.substring(start,end));
^
Main.java:8: error: cannot find symbol
string text = 鈥渓asfloresazules鈥;
^
symbol: class string
location: class Main
3 errors
compiler exit status 1
詈 POR FAVOR QUE HAGO SI NO COMPILA Y ME APARECE ESTO

Ac谩 les dejo el c贸digo por si alguno quiere ahorrase el tiempo de digitar 馃槢

public class Main {
public static void showSubString(String text, int start, int end){
System.out.println(text.substring(start, end));
}

public static void main(String[] args) {
String text = 鈥淟asfloresazules鈥;
showSubString(text, 3, 7);
}
}

Definitivamente soy team Java, me gusta mucho este lenguaje mas que otros.

Yo en la prepa tuve malas experiencias con Java, pero en realidad no es tan dif铆cil

Vamos practicando y familiarizando con varios lenguajes鈥mportante!!!

Se implementa en Rust:

fn main() {
    let text = "Lasfloresazules".to_string() ;
    let start = 4 ;
    let end = 9 ;
    println!("show_substring({:?}, {}, {}) = {:?}", text, start, end, show_substring(&text, start, end)) ;
}

fn show_substring(text: &String, start: usize, end: usize) -> &str {
    return &text[start-1..end] ;
} 

RESULTADO:

show_substring("Lasfloresazules", 4, 9) = "flores"

Aqu铆 est谩 mi codigo.

class Main {
  public static void showSubstring(String text, int start, int end ) {
  System.out.println(text.substring(start,end));
  }

public static void main (String[] args) {
  String text ="Lasfloresazules";
  showSubstring(text, 3, 7);
} 
}
package platzi;

public class Main {
	public static void showSubString(String text, int start, int end) {
		System.out.println(text.substring(start, end));
	}
	
	public static void main(String[] args) {
		String text = "lasfloresazules";
		
		int start = 2;
		int end = 9;
		
		showSubString(text, start, end);
	}
}

Java me parece un buen lenguaje para aprender a programar, en este se detalla muy bien lo que estamos haciendo, decimos que tipo de dato estamos utilizando y determinamos el scope de nuestro c贸digo mientras que en otros lenguajes esto esta implicito.

Muy recomendable ver el curso de Introducci贸n a Java SE con la profesora Anah铆 Salgado

Nice!

<class Main {
  public static void showSubstring(String text, int start, int end) {
    System.out.println(text.substring(start, end));
  }

  public static void main(String[] args) {
    String text = "LasFloresAzules";
    showSubstring(text, 3, 7);
  }
}>

Gogogoo!! xD

Me copo eso de aprende Java.

la verdad me siento perdido, para un novato es en chino y se pierde el interes.

yo sigo inclin谩ndome m谩s por JavaScript

Conoce los principales beneficios de aprender Java
Es sencillo de aprender.
Es un lenguaje orientado a objetos.
Java es una gran API.
Posee herramientas poderosas.
Una gran colecci贸n de librer铆as de c贸digo abierto.
Posee una gran comunidad.
Java es gratuito.

驴Cu谩les son las desventajas de Java?
Resultado de imagen para ventajas y desventajas de java
Algunas de las desventajas de Java son:
Los. programas de rendimiento en Java tardan mucho m谩s en ejecutarse en comparaci贸n con C / C++ .
Memoria. 鈥
Costo. 鈥
Programaci贸n de bajo nivel. 鈥
Recolecci贸n de basura. 鈥
Sin tipos sin firmar A diferencia de C / C++, Java no admite unsigned int, unsigned char,鈥 etc.

Me causa ansiedad que diga corchetes cuando lo que pone son llaves {}

public class Main {
	public static void showSubString(String text, int start, int end){
    	System.out.println(text.substring(start, end));
    }

  public static void main(String[] args) {
    String text = "Lostigresamarillos";
    showSubString(text, 3,10);
  }
}

te amo java

Java es un lenguaje que se encuentra muy a menudo, sin embargo se vuelve un poco complejo para los que a煤n no sabemos mucho de esto, espero cuando aprenda los lenguajes que hemos visto ya pueda decir 鈥溍﹕os ejercicios estaban f谩ciles鈥 馃槂

class Main {
public static void showsubstring (String text, int start,int end){
System.out.println(text.substring(start, end));
}

public static void main (String[] args){
String text = 鈥渓asfloresazules鈥;
showsubstring(text, 0, 7);
}
}

Toda la vida consumiendo tecnologia y con tantos avances , la tendencia es a minimizar o pasar por alto el gran desarrollo que se necesita para soportar el estilo de vida de la mayoria de personas en el presente , no tengo idea de programar , para eso ingrese a platzi y de verdad , que con lo poco que entiendo me cautiva cada dia la idea de no solo consumir sino ser parte de la creacion de toda la tecnologia del desarrollo de software y todo lo que conlleva .

import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    String textoFinal = "";
    Scanner scan = new Scanner(System.in);
    System.out.println("Escriba el texto a separar: ");
    String texto = scan.nextLine();
    System.out.println("Escribe la posici贸n inicial de la palabra: ");
    int posicionInicialPalabra = scan.nextInt();
    System.out.println("Escribe la posici贸n final de la palabra: ");
    int posicionfinalPalabra = scan.nextInt();
    for (int i = posicionInicialPalabra; i <= posicionfinalPalabra; i++){
      textoFinal += texto.charAt(i);
    }
    System.out.println(textoFinal);
  }
}

class Main {
public static void showsubstring (String text, int start,int end){
System.out.println(text.substring(start, end));
}

public static void main (String[] args){
String text = 鈥渓asfloresazules鈥;
showsubstring(text, 0, 7);
}
}

No esta mal, pero si siento que le hace falta muuucho marco te贸rico, a todos los comandos o estructuras de su c贸digo; porque nomas me espanto de ver como avanza con tal rapidez.

Mi aporte

class Main {
  public static void main(String[] args) {

    claseTest objTest = new claseTest();

    System.out.println(objTest.retornarTexto("departamentos_amoblados",'a','b'));
    System.out.println("..................................");
    System.out.println(objTest.retornarTexto("lasfloresazules",'f','s'));

  }

}

class claseTest{

  public claseTest(){};

   public String retornarTexto(String palabra, char caracterIni, char caracterFin)
  {
    String texto = "";
    int positionIni = 0;
    int positionFin = 0;

    positionIni = palabra.indexOf(caracterIni);
    //Posici贸n encontrada del caracter "caracterFin" a partir de la posici贸n "positionIni"
    positionFin = palabra.indexOf(caracterFin,positionIni); 

    //Obtiene el bloque de texto que existe entre la posici贸n "positionIni" y una posici贸n antes a "positionFin". 
    texto = palabra.substring(positionIni,positionFin+1);
 
    System.out.println("Palabra ingresada: " + palabra);
    System.out.println("Caracter Inicial: " + caracterIni);
    System.out.println("Caracter Final: " + caracterFin);

    return "El texto encontrado es: " + texto;
  

El termino qu茅 m谩s me const贸 entender fue el 鈥渟tatic鈥, pero al final logr茅 comprenderlos todos.

Me trae muchos recuerdos esto, me acuerdo cuando aprend铆 java, mi primer lenguaje de programaci贸n.

隆隆隆Java Es Una Locuraaa!!!

Usando la funci贸n System.out.println()

definitivamente necesito m谩s conocimiento de java

No se rindan. pausen el video y analicen un poco la l贸gica, recuerden que estamos viendo muchos lenguajes y ejemplos de la vida real.
Para los que se quieren rendir, s茅 que las clases son dificiles pero no tienen que saber todo lo que esta diciendo la profesora, solo nos est谩 remojando para darnos una idea de como funciona.
Puedes tomar el curso b谩sico de cada lenguaje y luego volver aqu铆 y ver谩s la gran diferencia!

class Main {
  public static void showSubstring(String text, int start, int end){
    System.out.println(text.substring(start, end));
  }

  public static void main(String[] args){
    String text ="Lasfloresazules";
    showSubstring(text, 2, 9);

  }
}

Gracias!

class Main {
public static void showSubstring(String text, int start, int end) {
System.out.println(text.substring(start,end));
}

public static void main(String[] args) {
String text = 鈥淢inombreesEduardo鈥;
showSubstring(text, 0, 2);
showSubstring(text, 2, 8);
showSubstring(text, 8, 10);
showSubstring(text, 10, 17);
}
}

Este ejemplo si lo entend[i bien, XD

class Main {
public static void showSubstring(String text, int start, int end) {
System.out.println(text.substring(start,end));
}

public static void main(String[] args) {
String text = "Lasfloresazules";
showSubstring(text, 3, 7);
} 

}

Java

ava es un lenguaje orientado a objetos, es por eso que hacemos uso de clases.

馃馃馃

Funciones dentro de clases
En el argot de la programaci贸n orientada a objetos, las funciones dentro de las clases se denominan funciones-miembro o m茅todos, y las variables dentro de clases, variables-miembro o propiedades. El sentido es el mismo que en la programaci贸n tradicional.

luego de hacer el ejercicio tal cual propuesto por la profesora me puse en la tarea de intentar que funcionara pero con otro enfoque 馃槂

import javax.swing.JOptionPane;

class Main {
  public static void main(String[] args ) {
    String Text="";
    int start,end;
    Text=JOptionPane.showInputDialog("cual es la cadena de caracteres");
    start=Integer.parseInt(JOptionPane.showInputDialog("cual es el inicio del substring"));
    end=Integer.parseInt(JOptionPane.showInputDialog("cual es el final del substring"));

    JOptionPane.showMessageDialog(null,"este seria el substring: "+Text.substring(start,end));
  }
 
}

Me encant贸 la clase, estoy ansiosa por seguir aprendiendo m谩s. :3

estructura

Interesante Java y simplicidad

;33

Umh鈥 Java se ve relativamente facil de abordar, tiene parentesco con algun otro lenguaje que domine a lo mejor 馃槄

No me gusta Java 馃槙

ellos est谩n en otro mundo no entiendo como me sal铆a esto primero en la bendita ruta de aprendizaje.

JAVA sin Script

Aqu铆 s铆 que son obligatorios los 鈥;鈥 馃憖