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

miércoles, 3 de junio de 2020

Listas en programación [2] | Pilas y colas

En la entrada pasada te mostré las maravillosas listas, sin embargo solo fue un concepto muy general y te mostré una manera en la que puedes manejarlas sencillamente. Pero hay listas con propósitos realmente marcados, como lo son las que te voy a mostrar a continuación.

¿Has pensado en alguna ocasión que en realidad los datos pueden ser objetos?, es decir, en la vida real una lista podría representarse como texto en papel, como tu lista de útiles escolares y/o la de la despensa, pero ¿qué tal si pudieran ser personas en su totalidad o animales u objetos tangibles en general?, bien, hay maneras de representar esas situaciones con programación, es necesario saber un poco más sobre programación orientada a objetos (POO), pero eso será para otras entradas más, aunque quizá te hable un poco sobre ella cuando veamos las listas simples, que de simple solo tienen el nombre.


Las mejores webs para crear listas y compartirlas con otros


Bien, las pilas y las colas son herramientas en programación que pueden ser utilizadas para representar acciones relacionadas con sus nombres, por definición tenemos que:

Pila: Lista cuyo valor insertado se agregará siempre al principio, y si se requiere remover un valor de ella se deberá eliminar primero el último que se agregó (First input, last output | El primero en entrar es el primero en salir). El ejemplo más común para esto es cuando apilas un montón de libros y luego debes quitar de uno por uno para acomodarlos.


Pila (informática) - Wikipedia, la enciclopedia libre


Cola: Lista cuyo valor insertado se agregará siempre al final, y si requiere remover un valor de ella se deberá eliminar primero el valor que se encuentra al inicio (First input, first output | El primero en entrar es el primero en salir). El ejemplo más común para esto es imaginar una fila en cualquier sitio, normalmente un banco, la primer persona que se forma es la primera que se va porque la atienden primero.

Cola (informática) - Wikipedia, la enciclopedia libre

En fin, estas listas son de mucha ayuda en varios ejercicios, sin embargo, solo ayudaré un poco a facilitarte código para que veas un súper ejemplo muy sencillo que puedes utilizar en donde tú quieras, recuerda que estos códigos son muy genéricos y aunque yo los haga en Javascript por comodidad, tú puedes pasarlos fácilmente a C#, C++, Python, Java, etc...


Mira este bonito ejemplo:


¡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:


lunes, 27 de abril de 2020

Calcular día del año dada una fecha | Programa en C y C++

Esto es ayuda a la comunidad, creí que sería sencillo de programar y así lo fue, sin embargo quería expresar una buena lógica a la hora de desarrollar este programita.

Es bien sabido que los días del año son 365 normalmente, pero existe un inconveniente llamado año bisiesto, seguramente has escuchado de él al menos una vez en tu vida, y quizá tengas amigos que apenas tienen como 3 o 4 años solamente por la sencilla razón de que su cumpleaños solo se puede festejar cada 4 años aproximadamente, y digo aproximada porque el año 200 aunque no lo crean no es año bisiesto, pero esa es otra historia.

Ok, me salí del tema un poco, el año tiene 365 días y 366 si es bisiesto. Y los programadores nos festejamos el día 256 del año, es decir el 13 de Septiembre (el 12 si el año es bisiesto), para que vayan pidiendo regalo para ese día. El motivo por el que el día 256 del año nos representa es porque ese día nacieron todas las flores... Mentira, es porque es la cantidad máxima que puede expresarse en 8 bits en el sistema binario 11111111 (255 y el 0 que se representa con 8 ceros).



Bien, ya tienes motivos para que este programa te interese.

Puntos a destacar para hacer el programa:

  1. Los meses tienen 30 y 31 días, a excepción de febrero que tiene 28 días naturalmente y 29 en año bisiesto.
  2. 365 o 366 días del año que deben obtenerse sumando todos los días de cada mes que conforman el año.
  3. No importa realmente el mes en curso para considerar el conteo de los días, es decir, si te dan una fecha de mayo (05 05 2000), debes sumar todos los días de los meses anteriores y luego sumar los 5 días de mayo, de la siguiente manera: enero + febrero + marzo + abril + [días de mayo].
  4. Considerar siempre sumarle un día a febrero en caso de que sea año bisiesto para no fallar.
  5. El año bisiesto se obtiene con la siguiente condición: (si año es divisible entre 4 y no divisible entre 100) O (si año es divisible entre 400)
    Que podemos representar así:

    if((año % 4 == 0 && año % 100 != 0) || (año % 400 == 0))El símbolo "%" representa el residuo de una división entera, es decir, lo que sobra al dividir un número entre otro, así que si el residuo es cero significa que el número es divisible entre el otro número, por ejemplo 4 es divisible entre 2.
Ya, suficiente teoría, esto fue sencillo, ¿no?, ahora sí lo que todo estaban esperando, EL CÓDIGO.

¡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 C o C++:

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.


lunes, 21 de octubre de 2019

Combinaciones de letras para formar una palabra en C#

¿Alguna vez has escuchado sobre la genética?, es absurdo hasta cierto punto escucharlo por aquí, ¿no?, pero no es tan descabellado, pues la genética también está basada en algoritmos muy complejos, realmente complejos.

Imagina esto, tu abuelo y tu abuela, obviamente de familias distintas tuvieron a tu padre, y tu padre con tu madre te tuvieron a ti, es también obvio que tu madre tiene sus propios padres; y quizá ella heredó algo de sus padres, pero tu padre no, hasta que naciste tú. "Abueleaste", dirían en mi humilde pueblo, es decir, tuviste una característica genética que le llevó a familia algunas generaciones "fallidas", es decir, ni tus tíos, ni tu padre, ni tus hermanos obtuvieron esa característica extra que tú tienes. Puede ser desde una marca de nacimiento, hasta color de ojos, cabello, y sin fin de tonterías que las mamás encuentran para justificar por qué su hijo tiene características que "su padre" no (eso sonó a que eres hijo del lechero).

Resultado de imagen para algoritmo genetico

En fin, eso es un algoritmo genético, y en esta ocasión traigo un programa bastante relacionado con el tema, sin embargo es más básico que las morras que dicen "¡WEEEEEEY, NOOOOO!".

Incluye una población, que en este caso sería nuestra frase, nuestra selección sería toda la población, pues queremos cambiar de posición cada una de las letras, pero como no todas cambian siempre, diremos que nuestra selección es variable desde 0 hasta la longitud de nuestra frase. También tenemos un cruce implícito, pues si bien no tenemos una selección fija, tampoco tenemos un cruce distinguible, POR ESO DECIMOS QUE ES PARECIDO AL ALGORITMO GENÉRICO mas no representa la genética en su esplendor.
Y nuestra mutación sería el producto de lo que ocurrió en el cruce, normalmente la mutación es la probabilidad de que ocurra un cambio, pero como nuestra probabilidad está ligada únicamente a la generación de una número aleatorio no tenemos definido un % de mutación, solo tenemos nuestro producto final que obtendrá la palabra idéntica una vez generadas frases al azar con todos los caracteres que la conforman, toma en cuenta que entre más larga sea la palabra, más larga será la espera para que encuentre una resolución.

También podemos decir el el algoritmo genético se relaciona aún más si colocamos un contador de generaciones para saber en cuál fue donde se obtuvo el resultado esperado.



¡DESCARGA FAST!

Todo el código que quieras, ¡GRATIS!, programación totalmente gratuita.
Dale clic en el logo del lenguaje de programación que sea de tu gusto y descarga el código.

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.

domingo, 20 de octubre de 2019

Fracciones a decimales y decimales a fracciones en C#



Hacía mucho que no redactaba una entrada para el blog, recientemente acabo de subir una nueva, pero este día también es necesario subir otra nueva.

AHORA SÍ...

Todos hemos tenidos problemas con las fracciones, esos numeritos que tienen abajo otros números, tuvimos conflictos con los numeradores, denominadores, cocientes, divisor, dividendo, y todos esos términos que a final de cuenta tenían significados similares pero cada maestros nos confundía utilizando todas esas distintas formas de llamarle, si de por sí ya era difícil entender, ahora con tanto sinónimo pfff... 

AHORA SÍ YA VA EN SERIO...

Bien, las fracciones o quebrados, como mucha gente latino las conoce son números que representan una porción de algún entero, su nombre viene del latín (la verdad no tengo idea de dónde venga). Siempre en la primaria se nos explica con pasteles o con cosas que se puedan dividir, como una pizza o una galleta, así como en la figura de abajo.

Imagen relacionada

No es tan sencillo como que siempre sea la mitad, también pueden ser octavos, novenos, y tanta cantidad se te ocurra, pero nada puede ser dividido entre cero, y si no me crees pregúntaselo a SIRI.
Cada fracción tiene dos partes, su numerador (la parte de arriba) y el denominador (lo de abajo), que si analizamos bien, las fracciones son simplemente divisiones para "repartir" enteros.

Bueno, en fin, mucha teoría, USTEDES SOLO VIENEN POR EL MALDITO CÓDIGO...



¡DESCARGA FAST!

Todo el código que quieras, ¡GRATIS!, programación totalmente gratuita.
Dale clic en el logo del lenguaje de programación que sea de tu gusto y descarga el código.

NOTA:

El programa solo calcula la fracción definitiva, es decir, si tú ingresas 1.5 el programa te regresará 1 + 5/10, en lugar de decir 1 + 1/2, que al final es lo mismo, pero si buscas simplificar la fracción hasta ese punto dale clic AQUÍ.

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.

sábado, 19 de octubre de 2019

Programa de Código ASCII en C#


Durante el proceso de introducción al mundo de la "computación" te vas a dar cuenta de que en ocasiones dependes del código ascii, si eres de la vieja escuela es muy probable que utilizaras Alt + 64 para escribir el @ cuando escribías tu correo en MSN, pero bueno, no regresaremos a eso porque no estamos aquí para nostalgias, estás aquí para obtener código perrón en varios lenguajes y que hagan exactamente lo mismo.

Resultado de imagen para codigo ascii

De igual manera como cuando hacías tu combinación de teclas para obtener el caracter especial también en programación debes hacerlo, pero simplemente convirtiendo a tipo CHAR cualquier número, siempre y cuando el lenguaje soporte el símbolo resultante, pues no sé a qué se deba que algunos lenguajes impriman símbolos extraños en lugar de imprimir el que debe ser.

La verdad la historia y las explicaciones no son lo mío, por eso aquí les dejo el código para que lo analicen y lo vean y lo amen... Todo lo que ustedes deseen.

¡DESCARGA FAST!

Todo el código que quieras, ¡GRATIS!, programación totalmente gratuita.
Dale clic en el logo del lenguaje de programación que sea de tu gusto y descarga el código.

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.


miércoles, 6 de febrero de 2019

Operaciones básicas

Hoy te voy a presentar las operaciones más básicas que las morritas a las que les gusta Harley Queen. Casi todos los lenguajes de programación usan estas operaciones universalmente, ya lo sabes, suma, resta, multiplicación, división y módulo.
Resultado de imagen para suma resta multiplicacion y division png

Pero, no sé qué es una operación...

No te preocupes, aquí te la voy a definir: Una operación es un proceso en donde se incrementa o se reduce un número. Bien, ahora que ya lo sabes, vamos a ponerlo en práctica, ¿qué debemos hacer para sumar, restar, multiplicar o dividir?
¡MUY SENCILLO!
En programación para realizar estas operaciones ¡NO TIENES QUE HACER NADA!, porque la computadora hace todo por ti, únicamente utilizando los símbolos correspondientes a cada operación:

Imagen relacionada

NOTA: El módulo es el RESIDUO de una división entera. Imagina que tienes que dividir 14 ÷ 5, el resultado de esta operación sería 2.8, PERO, en realidad las partes enteras solo son 2, 5 + 5 = 10, 14 - 10 = 4, teniendo como resultado del MÓDULO un 4, 14 % 5 = 4.


Todo el código que quieras, ¡GRATIS!, programación totalmente gratuita.
Dale clic en el logo del lenguaje de programación que sea de tu gusto y descarga el código.

DESCARGA:
https://drive.google.com/drive/folders/11c0k3eLMYTJTU_YJGgw1RMX_ZKDshz-H

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.



viernes, 1 de febrero de 2019

¿Hola mundo?

Esta es la primera entrada del blog, y por supuesto como pseudo-maestro de programación de todos los lectores, aquí te dejo una pequeña introducción de lo que es la programación.

Programación: Herramienta utilizada para decirle a la computadora qué hacer y cómo hacerlo.

Eso es lo que deben saber acerca de la programación, ¿quieres una definición más técnica?, no la necesitas, de lo contrario no estarías leyendo esto. Bueno, lo que sí necesitas para comenzar a escribir código fuente es lo siguiente:

Hello World text
  1. Conocimientos básicos de lógica. La lógica es fundamental pero muy probablemente todos desertarán a media carrera porque no se les da, sin embargo, al inicio un pizca es suficiente y si solo necesitas programar un poco para pasar una materia no tienes de qué preocuparte.
  2. Paciencia. Es tu mejor amiga durante el proceso de programar, porque encontrarás errores, muchos errores que te harán perder la cabeza, y si no lo resuelves en el momento tendrás muchas dudas existenciales acerca de si elegiste bien seguir estudiando o trabajar en la línea de producción de una empresa. No te preocupes de tener errores, hasta la imagen que aparece aquí tiene el error más cliché de los programadores, le falta el punto y coma (;).
  3. Nociones de programación. Tienes que tener al menos entendido qué es la programación y cómo llevarla a cabo.

Qué es la programación y cómo llevarla a cabo en un solo post:

Ya hemos definido programación allá arriba, pero ¿cómo la puedo hacer?, muy sencillo, solo necesitas un entorno de desarrollo (IDE), el cual puedes elegir dependiendo el lenguaje de programación que quieras utilizar. Podemos usar Borland C++, Dev-C++, Visual Studio, Xamarin Studio, Eclipse, Android Studio, etcétera, etcétera, pero si te sientes como todo un macho alfa puedes utilizar únicamente un editor de texto y guardar los archivos en sus respetivas extensiones (.cs, .cpp, .java, .php, .js, .pl); puedes utilizar Atom, Sublime Text, Notepad++, Visual Studio Code, hasta el mismísimo Bloc de Notas.

Bien, ya eres todo un experto leyendo cosas que quizá no te interesan, aquí viene lo bueno.

Todo el código que quieras, ¡GRATIS!, programación totalmente gratuita.
Dale clic en el logo del lenguaje de programación que sea de tu gusto y descarga el código.

DESCARGA:
https://drive.google.com/drive/folders/1N68_vqBjNuK5Ae-Pj4z8I-wLrm9QwTVJ

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.