Cafecito
Imagen de portada
Imagen de perfil

Programación Desde Cero

Educación
0Seguidos
2Seguidores
Ayudame con un café

Desafío Python número 8 (solución)

Desafío Python número 8 (solución)
Una posible solución al desafío: las dos últimas invocaciones retornaban un resultado incorrecto con la versión errónea del algoritmo. En la versión corregida dada en la solución, las cuatro invocaciones retornan lo esperado.

💻 Código ejecutable: https://jdoodle.com/a/3q8F

Desafío Python número 8

Desafío Python número 8
Desafío Python número 8.

En este caso, debemos generar casos de prueba para un algoritmo y corregirlo.

No debemos confiarnos si un algoritmo funciona como esperamos en los casos más “obvios”: es necesario hacer varias pruebas para mejorarlo todo lo posible.

▶️ Cómo probar una función en Python: https://www.youtube.com/watch?v=ZJP0Z5-sbeY

Desafío Java número 1 (solución)

Desafío Java número 1 (solución)
La respuesta correcta es la c.
✏️ Explicación: Los arreglos en Java son alocados dinámicamente (son objetos). Por ende, cuando asignamos un arreglo a otro no se está realizando una copia sino que ambas variables referencian al mismo objeto. Al modificar un elemento de la variable m1, se altera la única instancia del arreglo que existe, la cual puede referenciarse como m1 o m2 indistintamente.

📗 Documentación oficial: https://docs.oracle.com/javase/specs/jls/se13/html/jls-10.html
Ver más

Desafío Java número 1

Desafío Java número 1
Para resolverlo, es necesario tener presente cómo trabajan los arreglos en Java y el concepto de referencia. 😀

Optimizaciones de código por un compilador

Optimizaciones de código por un compilador
Entre las muchas y muy complejas tareas de un compilador está la de optimizar código para lograr mayor eficiencia consumiendo menos recursos. Acá, algunos resumidos ejemplos.

Algoritmos de búsqueda

Algoritmos de búsqueda
Cuando comenzamos a programar, normalmente usamos siempre la búsqueda secuencial. Pero existen otros algoritmos. Uno de los más conocidos es la búsqueda binaria.

👉 Ejemplo: en un arreglo de 8 elementos, el caso promedio de búsqueda secuencial realiza 4 comparaciones, al igual que el peor caso de búsqueda binaria. Pero si el arreglo tiene 100000 elementos, el caso promedio de búsqueda secuencial hace 50000 comparaciones mientras que el peor caso de la búsqueda binaria hace 18 😮

Fuente: “Algorithms in C” (Sedgewick): https://books.google.com/books/about/Algorithms_in_C.html?id=Bf7XAAAAMAAJ
Ver más

Ejercicio C++ resuelto - mapas

Ejercicio C++ resuelto - mapas
Conversión de números romanos, en C++.

✏️ Para probar el código: https://jdoodle.com/a/3pLH

🤓 ¿Sabías que los romanos no siempre usaron las mismas reglas para escribir sus números y que éstas varían según la época? De acuerdo a las reglas modernas, esta expresión regular comprueba la validez de un número romano:

(^(?=[MDCLXVI])M*(C[MD]|D?C{0,3})(X[CL]|L?X{0,3})(I[XV]|V?I{0,3})$)

▶️ Videos de C++: https://www.youtube.com/playlist?list=PLb_E6BNMg5j65aaxqcuz93MnGA06BYrhr
Ver más