Cómo crear un rol?

Cómo crear un rol?

Postby Armando » Sat Feb 11, 2023 1:33 am

Amigos, veamos si me explico bien:

Tengo un proyecto en ciernes para administrar autobuses con pasajeros, donde, desde mi punto de vista,
lo más conflictivo es crear un rol de salidas diarias, me explico:

Supongamos que tenemos 10 autobuses, numerados del 1 al 10, el primer día del mes, el autobús numero 1 es
el primero en salir a ruta, 10 minutos después sale el autobús número 2 y así sucesivamente.

EL día dos el autobús número 2 es el primero en salir a ruta, después el número 3 y así sucesivamente,
el autobús número1 será el último en salir.
El tercer día el autobús número 3 es el primero en salir y así sucesivamente.

Los número de autobús han coincidido con los números del día del mes pero no siempre será así porque
si el autobús número 9 es el que sale primero el último día del mes, el autobús número 10 será el que
salga primero el día 1 del mes.

Esto es a lo que llamo un rol, espero haberme explicado

Alguien que haya hecho algo igual o tenga sugerencia de por donde tirar?

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3242
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cómo crear un rol?

Postby Antonio Linares » Sat Feb 11, 2023 8:10 am

Estimado Armando,

Le he proporcionado tu pregunta a chatGPT (https://chat.openai.com/chat) y aqui tienes su respuesta:
Puedes implementar un algoritmo que tome en cuenta los días del mes y los números de autobús para determinar cuál es el siguiente autobús en salir a ruta en cada día. Aquí hay una posible implementación en pseudocódigo:

Code: Select all  Expand view  RUN
function determinar_siguiente_autobus(dia_del_mes, num_autobuses):
    siguiente_autobus = (dia_del_mes % num_autobuses) + 1
    return siguiente_autobus
 

Este algoritmo toma en cuenta el día del mes y el número total de autobuses y devuelve el número del siguiente autobús en salir a ruta. Por ejemplo, si el día del mes es 1 y hay 10 autobuses, entonces el siguiente autobús en salir será el 1. Si el día del mes es 2, entonces el siguiente autobús será el 2, y así sucesivamente.

Luego, puedes crear una función para generar un rol de salidas diarias que utilice esta función. Aquí hay una posible implementación en pseudocódigo:

Code: Select all  Expand view  RUN
function generar_rol_salidas(num_autobuses, dias_del_mes):
    rol_salidas = []
    for dia in dias_del_mes:
        siguiente_autobus = determinar_siguiente_autobus(dia, num_autobuses)
        rol_salidas.append(siguiente_autobus)
    return rol_salidas
 

Esta función toma en cuenta el número de autobuses y los días del mes, y devuelve una lista de los números de autobús que salen a ruta cada día.

Espero que esta implementación te ayude a comenzar con tu proyecto. ¡Buena suerte!
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Cómo crear un rol?

Postby VictorCasajuana » Sat Feb 11, 2023 8:39 am

Como base de concepto, puedes utilizar un array desplazando los ítems
https://es.wikipedia.org/wiki/First_in,_first_out

Enviado desde mi motorola edge 20 mediante Tapatalk
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 268
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: Cómo crear un rol?

Postby Armando » Sat Feb 11, 2023 5:05 pm

Antonio y Víctor:

Muchas por los consejos, voy a intentar.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3242
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cómo crear un rol?

Postby JoseAlvarez » Mon Feb 13, 2023 12:09 pm

Estimado armando.
La opcion de victor de usar un array en muy acorde.
Pero debes tener en cuenta que si por alguna razon el bus no. 9 no puede salir el dia asignado de primero, me imagino que le tocará al dia siguiente y todos deben correrse un dia, rompiendo el orden inicial de todos los vehiculos. Debera existir un algoritmo que solucione esto

Saludos.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 805
Joined: Sun Nov 09, 2014 5:01 pm

Re: Cómo crear un rol?

Postby Armando » Tue Feb 14, 2023 4:31 am

José:

Tienes toda la razón, y no solo eso, habrá que saber cuando estará disponible el bus 9 para incluirlo en el rol.
posiblemente se incluirá al final de la fila, todo eso irá en función a la política de la empresa, en eso estoy trabajando,
cuando tenga la solución la publicaré.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3242
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cómo crear un rol?

Postby joseluisysturiz » Tue Feb 14, 2023 2:38 pm

JoseAlvarez wrote:Estimado armando.
La opcion de victor de usar un array en muy acorde.
Pero debes tener en cuenta que si por alguna razon el bus no. 9 no puede salir el dia asignado de primero, me imagino que le tocará al dia siguiente y todos deben correrse un dia, rompiendo el orden inicial de todos los vehiculos. Debera existir un algoritmo que solucione esto

Saludos.


Saludos, simplemente creale a cada bus un STATUS, y asi dependiendo de... le asignas su posicion, digo, no se, es lo que se me ocurre por los momentos, gracias... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Cómo crear un rol?

Postby Armando » Wed Feb 15, 2023 6:43 pm

José Luis

Muchas gracias, veré tu consejo.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3242
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 96 guests