miércoles, 20 de marzo de 2024

Saber Estudiar

Hace mucho tiempo, por el año 2000, estuve resumiendo mi recorrido por la universidad, y encontré varias formas de aprender a estudiar, cada cual según la capacidad de cada alumno.
La intención de estudiar cuando a uno se le pega la gana, no es nada efectivo porque desperdicias tu tiempo en tratar de recordar lo que dijo el profesor o leer los libros difíciles de entender.

Un método es atender bien las clases para aprenderlas de memoria y después repasarlas mentalmente, se pierde un poco menos de tiempo que es tan precioso.

Aquí empiezan los métodos con mejores perspectivas:

La idea es terminar el día aprendiendo todo lo dictado en clase, no procastinar (dejar para después).
Atender bien las clases, entenderlas, razonarlas, aprehenderlas, crear una situación mental donde intervenga lo dicatado en clase y tratar de resolverla mentalmente, en caso imaginario de que tenga solución (no resolverlo numéricamente) no necesitas más, ya está aprendido, en caso imaginario que no le encuentres solución, puedes plantearlo al profesor la situación mental y que el profesor les dé una solución adecuada (no necesariamente numérica).
En el caso de no poder crear situaciones con lo dictado en clase, lo más indicado es estudiar en la noche o en un momento libre lo dictado en clase para aprenderlo, lo que se gana con este repaso en el día es lograr un fin de semana libre de preocupaciones, con el deber cumplido de haber aprendido bien toda la semana.

Los métodos anteriores se basan en estudiar a posteriori.
¿Y se puede estudiar con anticipación?
Claro, si tienes el Syllabus, puedes consultar los libros y saber el tema que tocará al día siguiente y por lo menos leerlo y poder "conversar con el profesor" en clase, normalmente el profesor te puede dar una visión personal del tema.
Y si puedes aprenderlo el día anterior, vas a afianzar y confirmar el tema en clase.

Espero que empieces poco a poco hasta que le ganes al tiempo de clases.

domingo, 28 de enero de 2024

Índice de Rotación de Mercaderías

En los libros existe una fórmula simple para el cálculo de este Índice de Rotación (IR), que consiste básicamente en las unidades vendidas entre el saldo promedio en un plazo determinado según se desee, luego este IR se mejoró incluyendo el precio de costo del artículo y obtenemos la fórmula de los libros:
El 9 de enero conversé con la inteligencia artificial y le pedí la fórmula del índice de rotación de mercaderías, y me dió la fórmula (pobre) anterior de los libros. Luego de conversar sobre un denominador más exacto concluyó en saldos diarios, confirmando lo que yo tenía. Luego le pedí que en base a cálculos de índices de rotación mensuales compuesto por numerador y denominador,
¿Cuál sería la fórmula final?
Y me dió una fórmula similar a la suma de resistencias en paralelo, que estaba mal porque no se ajusta a la fórmula original básica del índice de rotación de mercaderías, se dió cuenta tarde, pero llegó a la que yo ya tengo.

Las unidades son homogéneas así que si las variables conservan sus unidades todo bien.
Esta nueva fórmula que propongo y con computadoras es más fácil lograrlo.
El Índice de Rotación (IR) de mercaderías, se basa en ventas sobre promedio. De las ventas (en el numerador) no varía, pero el denominador que se basa en el promedio del saldo, aquí metí mi ingenio (es mi costumbre 😊). Este promedio lo calculo de la siguiente manera: suma de saldos diarios, dividido entre la cantidad de días de la muestra que mantiene el espíritu original del denominador de la fórmula.
El saldo diario de stock puede ser calculado de varias maneras:

1-La básica que sería el saldo al inicio de cada día.
2-La ideal que sería el saldo al inicio del día más todas las compras de ese día.
3-El promedio que sería la semisuma del saldo al inicio y al final del día.
4-El "máximo" que sería el máximo saldo instantáneo del día.

Por supuesto, todavía no defino el rango de valores ideales para estos nuevos índices, pero su experiencia como administradores les irá diciendo el rango según el rubro dónde se muevan.
Ésta es mi fórmula y desearía que la usen.
Agradeceré que al divulgarla me hagan el honor de decir mi nombre.

Gerardo Javier Dillon Long
Ingeniero Industrial

domingo, 16 de noviembre de 2014

Las viguetas y armellas

Se me ocurrió hace unos meses una idea que podría usarse en la construcción de los techos aligerados. En una construcción actual la tendencia para cubrir el cielo raso es usar baldosas rectangulares o las cuadradas de aproximadamente 60 cm. de lado, sea cual fuere el caso es que si no lo tienes previsto, es un problema poder adosar o anclar los tirantes para poder sujetar las varillas principales para el armado del techo de baldosas. Algunos usan ladrillos de techo que sobrecarga el peso del techo-piso, últimamente se está usando bloques de tecnoport que reducen unas diez veces el peso. Otro de los aditamentos que usan es poner unos excesos de alambre para poder hacer instalaciones, pero no soportan el peso que podría haber. Entonces se me ocurrió usar armellas, sí esas piezas olvidadas como círculos con un extremo con rosca de tornillo o de perno, antes de hacer el vaciado de techo colocarlas amarradas o soldadas a los fierros (horizontales) de las viguetas, pero el círculo de la armella cubierta de papel (que se retiraría cuando seque el vaciado) para dejarle un espacio para manipular lo que se desee colgar, en mi opinión es una solución barata, efectiva y suficientemente sencilla para ser verdad. Conversé con un arquitecto joven de unos 25 años y me dijo que ya se colocan en algunas casas pero en forma incipiente. Lo que debería ser un estándar para aligerar el peso de las construcciones y mejora en presentación de su propia casa.

Repartiendo el cumpleaños

Hola todos, esta vez me encuentro con una idea que me ronda desde hace varios meses, ¿cómo dividir la cuenta entre los asistentes para agasajar a los cumplimentados?, tomando en cuenta que el cumplimentado no paga por su cumpleaños pero debe pagar por el cumpleaños del resto, es ligeramente sencillo. Veamos: Tenemos T = Total a pagar Asistentes (Cumplimentados + Los que pagan + los gorriones) = A Cumplimentados = C La fórmula que se me ocurrió es que los que pagan y los gorriones (que deberían pagar pero son conchudos) pagan un poco más que los cumplimentados. Los que pagan y son no cumplimentados deben pagar T/(A-1). Los cumplimentados deben pagar T/(A-1) * (C-1)/C La demostración es simple: Si la cuenta es T y hay C cumplimentados, es como si pagaramos C subcuentas es decir reducimos el total de la cuenta a S = T/C como si fuera un cumpleaños, por lo tanto todos menos un cumplimentado pagan ese subtotal por lo tanto cada uno debe pagar S/(A-1), es decir T/(A-1) * (1/C), el cumplimentado al final debe pagar (C-1) veces, porque una vez dejó de pagar entonces el cumplimentado debe pagar en total T/(A-1) * (1/C) * (C-1), simplificando T/(A-1) * (C-1)/C, y los asistentes que no cumplen años deben pagar C veces S/(A-1), reemplazando deben pagar T/(A-1). Cumplimentado = T/(A-1) * (C-1)/C No cumplimentado = T/(A-1). Un abrazo amigos y aprovechen en invitar a los cumplimentados mensual y quedan bien comidos y bebidos, varios mejor y la cuenta es muy equitativa.

viernes, 22 de febrero de 2013

Acelerando cualquier sort

Cuando un conjunto de elementos se desea ordenarlos, nada mejor que un "sort" o algoritmo de ordenamiento, pero cuando se desee ordenar por más de un campo o llave, el algoritmo se complica porque habría que crear un algoritmo adicional para cada llave subsiguiente cuando la comparación del campo anterior es una igualdad. Es decir habría que modificar el algoritmo principal para darle cabida a cada llave siguiente y eso complica la vida. Cuando tuve la oportunidad de dictar clases de Programación Básica apliqué una idea que la tenía desde hace 30 años. Esta idea consiste en que la ordenación de un campo en forma ascendente es la ordenación del complemento del campo en forma descendente. Parece un juego de palabras, pero veámoslo con un ejemplo: supongamos que tenemos ordenado un grupo de números del 1 al 9 (ascendente) y digamos que el complemento (arbitrariamente elegido sea) 10 menos el número, es decir los nuevos números son 10-1 -> 9, luego 10-2 -> 8, y así sucesivamente lo que estaríamos con los siguientes números 9 al 1, y son justo en orden descendente. Normalmente una ordenación de registros se compone por crear un nuevo registro en memoria compuesto por los datos del registro colocados al inicio y luego el registro completo, de manera que cuando se tenga ordenado todo, se cortan las llaves y se toma el resto del registro que en conjunto ya está en el orden deseado. Por lo tanto si se desea ordenar un grupo de registros por distintos campos y en diverso orden (mezcla de ascendente/descendente), lo más fácil es crear el campo de comparación con el conjunto de campos con los complementos de las llaves deseadas (todo lo que sea descendente). Lo que lograríamos aquí es que nuestro algoritmo de ordenamiento sea siempre en un sentido (ascendente) y si por ejemplo lo que deseamos es descendente, pues le aplicamos el complemento a la llave a ordenar de cada uno de los registros (que se antepondrían a todo el registro, una manera figurada de decirlo*) y al final tendríamos los registros ordenados en forma descendente. Normalmente lo que se ordena es por caracteres, por lo tanto el complemento binario que se debería usar es el binario de 255 para cada byte de la llave a ordenar en forma descendente, y para los de forma ascendente se les deja tal cual vienen del registro. *Para formar el registro de datos a ordenar, se debería formar con las llaves de los campos que se deseea ordenar según la prioridad requerida y luego, el número de registro de los datos originales o bien todo el registro original. Para terminar el sort, se toma la parte del número de registro original o la parte del registro original y se van grabando en una nueva tabla física los registros ordenados.

jueves, 29 de noviembre de 2012

Capicuas y primos, capicuas y cuadrados

Pues ahora trabajando con Excel que me da 14 cifras significativas, aunque con el formato "Decimal" me puede dar 28 cifras enteras, el programa no es tan rápido como uno quisiera porque interpreta cada instrucción, y tiene que buscar capicúas de cada número, lo que debo hacer es probar sólo los capicúas autogenerados para que vaya más rápido.

Estudio de Impacto Vial

Uno nunca puede decir ya terminé un programa, siempre encuentras que puedes mejorarlo, pero por lo menos puedes decir ya cumplí (con lo que pide el cliente), con esto puedo decir que he terminado un programa de ingreso de datos (manual) que es, perdón, era un dolor de cabeza para los ingenieros, se trata de un Estudio de Impacto Vial el cual necesita la estadística de todos los distintos vehículos que pasan en diferentes sentidos, esta tanda de datos se encontraba organizada en 192 hojas que contenían la información de hasta 22 tipos de vehículos (en la primera columna) y hasta cuatro sentidos de movimiento (en la primera fila), lo cual terminó en 5976 registros individuales netos que podían ser digitados por varias personas a la vez, cuya velocidad de digitación media podía estimarse hasta en unos 2 segundos por registro considerando revisión y correción, luego un programa adicional para trasladar la información a un cuadro que no demoraba más de 5 minutos. Anteriormente llevaba más de 15 segundos por registro digitarlo en el mismo cuadro final con posibilidades de error, y sólo podía ser digitado por una persona. Pues el meollo del asunto es que el programa trabaja sólo digitando la cantidad de vehículos por tipo y por sentido de movimiento, y el programa al recibir la cantidad lo graba y cambia automáticamente al siguiente sentido posible, luego cuando termina los sentidos pasa automáticamente al siguiente vehículo, luego cuando terminan los vehículos pasa automáticamente al siguiente horario disponible y cuando terminan pasa al siguiente acceso (otro dato de la estadística), y por último pasa a la siguiente intersección de estudio, todo trabajando como ruedas de un contador que cuando llega al límite se incrementa en una unidad el nivel siguiente.