Mostrando las entradas con la etiqueta programming. Mostrar todas las entradas
Mostrando las entradas con la etiqueta programming. Mostrar todas las entradas

lunes, 6 de julio de 2020

Listas en programación [3] | Listas simples

En la entrada anterior mencioné las listas simples, y también que de simples solo tienen el nombre, y efectivamente tienen un nivel de complejidad un poco más elevado a lo que ya conoces, es decir, "los arreglos".
Es posible manejar las listas como un simple arreglo, le agregamos datos y le quitamos. Pero en esta ocasión utilizaremos espacios de memoria que se comuniquen entre sí utilizando algo que se llama puntero, en C es un poco más complejo hacer el manejo de estos, pero en los lenguajes orientados a objetos es sencillo llevar a cabo este proceso, ya que el manejo de clases y objetos es muy eficaz.

En realidad las listas simples están enlazadas para que cumplan con su función, este enlace apunta a una dirección de memoria, por ello es que si se asigna ese valor a cualquier otra variable, este afectará de forma global.

Podemos tenerlo en cuenta como los changuitos que aparecen en la película de Toy Story, que uno se unía a otro y así, cada chango representa un valor y sus brazos representan ese enlace apuntando a la dirección de memoria.

La siguiente imagen muestra la representación correcta de una lista simple enlazada, el enlace final determinará su límite al tener un valor nulo, es decir, que no hay otra dirección de memoria más, simplemente hasta ahí llega.

Estructuras de datos: listas enlazadas, pilas y colas.

Es posible realizar 3 operaciones básicas en este tipo de listas, bueno, en realidad en todas las listas, pero con pequeñas variaciones.

Agregar: Es posible agregar un dato "siguiente" a la lista, o crear un nuevo nodo que apunte al anterior, es decir, agregar un dato al final o al inicio.

Borrar: Es posible borrar un dato ya sea el primero, el último o buscándolo por su valor, pero siempre de uno en uno, si se llegaran a repetir valores, eliminará el primero que encuentre.

Buscar: Es necesario poder hacer consultas de datos, para verificar si existe el valor, ya sea solo para mostrarlo o también como apoyo para borrar.

En el siguiente código te muestro esas operaciones utilizando ECMA Script 6, es una variación de Javascript más bonita y orientada a objetos, para más información puedes consultar en algún sitio web las diferencias de cada variación.


Prueba la magia:


Y descarga el código si quieres ver cuál es la magia detrás de esto.

¡DESCARGA FAST!

Todo el código que quieras, ¡GRATIS!, programación totalmente gratuita.
Comenta, opina, exprésate y déjame saber si quieres algo específico, si algo está mal o si no te gusta algo, para hacer que te guste.

Clic a la imagen para descargar el código en Javascript:

sábado, 9 de mayo de 2020

Reloj analógico y digital con Javascript | Código genérico

Estuve paseándome por mis programas que solía desarrollar en proyectos de la escuela y me topé con que programé un reloj en C#, para ello utilicé GDI (librería Graphics), pues el reloj no solo mostraba la hora, sino que también ilustraba un reloj analógico.

Bueno, para ello debemos saber primero lo que es un reloj analógico, quizá para este tiempo tú seas alguien que creció viendo todo digital, y no conozcas los relojes de manecillas. Te explico, antes de que la era digital llegara todo era muy retro, había teléfonos muy grandes, las televisiones tenían una gran caja detrás que no era nada más y nada menos que el resto del televisor, exacto, ahora imagina un reloj antiguo ¿cómo podrías ver la hora sin números dinámicos en una pantalla?, la respuesta es con manecillas.
Reloj Analógico - Gráficos vectoriales gratis en Pixabay

Creo que estoy exagerando, tal vez no sea tan retro, mucha gente actualmente los usa y se ven cool, si lo haces no te sientas ofendido, yo también en algún momento de mi vida usé uno.
En fin, ahora ya sabemos qué es un reloj analógico, aunque creo que ya lo sabíamos desde siempre.

¿Qué se debe saber?
  1. Las manecillas giran formando una circunferencia.
  2. El giro de cada manecilla es hacia su izquierda, si vemos de frente un reloj es hacia nuestra derecha.
  3. Consta de 3 manecillas, horas, minutero y segundero (yo llegué a llamarle "horero" a la de las horas, no sé cómo se llame).
  4. Las horas son 12 puntos, los minutos y los segundos son 60, sin embargo cada que pasa un minuto el apuntador de horas avanza ligeramente, acercándose a la próxima hora, así que también son 60 disfrazados de 12.
  5. Debe reiniciar cada que llega a 360°, y debe actualizarse en cada momento para que se vea la hora en punto y sin interferencias o variaciones.
Creo que con todas estas especificaciones ya estamos listos para programar algo agradable.
La lógica viene impregnada en el código, tú solo debes verlo perfectamente y sacar tus conclusiones, espero que sea de tu agrado. El código está abajo como siempre.

Relojcito

Your browser does not support the HTML5 canvas tag.


¡DESCARGA FAST!

Todo el código que quieras, ¡GRATIS!, programación totalmente gratuita.
Comenta, opina, exprésate y déjame saber si quieres algo específico, si algo está mal o si no te gusta algo, para hacer que te guste.

Clic a la imagen para descargar el código en Javascript:


sábado, 4 de abril de 2020

Mayor de 3 números

El problema dice lo siguiente: "Realizar un programa en [CUALQUIER LENGUAJE] que determine cuál es el mayor de 3 números".

Realmente no es un problema difícil de resolver, sin embargo es buen ejercicio para quienes van comenzando en este mundo de la programación. Con fundamentos se deben conocer las estructuras comparativas. Si no las recuerdan, son las siguientes:

Operadores lógicos y funciones lógicas en Excel | Blog

En la mayoría de los lenguajes de programación son exactamente iguales que en la tabla anterior, pero recuerden que si vamos a comparar algo igual a algo, se deben colocar dos signos IGUAL (==), bueno, sabiendo esto ya podemos proceder a la parte de la programación.

Lógica (según): 
Ok, se tienen 3 números, los cuales debemos comparar para saber cuál de los 3 es mayor, y efectivamente, lo único que se debe hacer es compara si el primer número mayor que el segundo, y así mismo comparar el mayor de esos dos con el tercero.
  • número1 es mayor que número2
    • Sí: número1 es mayor que número3
      • Sí: número1 es el mayor.
      • No: número3 es el mayor.
    • No: número2 es mayor que número3
      • Sí: número2 es el mayor.
      • No: número3 es el mayor.
De esta manera queda expresada la lógica que se debe tomar en cuenta para realizar este programa o se puede hacer de la siguiente manera.

variable mayor = -99999999
  • número1 es mayor que mayor
    • Sí: mayor = número1
  • número2 es mayor que mayor
    • Sí: mayor = número2
  • número3 es mayor que mayor
    • Sí: mayor = número3

Ambas formas son correctas, pero la segunda te obliga a realizar 3 condiciones obligatorias, sin embargo es notablemente más reducida que la primera forma, cada quien tiene su lógica, quizá haya personas que puedan hacerlo de otra manera, pero lo dejo a tu criterio y manera de pensar.

¡DESCARGA FAST!

Todo el código que quieras, ¡GRATIS!, programación totalmente gratuita.
Comenta, opina, exprésate y déjame saber si quieres algo específico, si algo está mal o si no te gusta algo, para hacer que te guste.