Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - makarov

#1
Esta aplicacion simula un sistema para alquilar vehiculos, cada dia un cliente puede alquilar x cantidad de vehiculos (este valor esta dado por un #aleatoro)
SI un carro esta ocupado, no se puede alquilar hasta que se cumplan los dias del alquiler anterior, seguido de una variable diponibles que mira la cantidad de autos disponibles a alquilar (al haber mas autos solicitados que vehiculos disponibles, se cobra una multa). Si hay vehiculos disponibles corre otro #aleatorio para saber por cuantos dias los va a utilizar. Se calcula el precio del alquiler y se totaliza.

En el codigo se encuentra la clase Auto, aca se inicializa el auto y precio por renta mediante el constructor. seguido de tres metodos:
sumar_ganancia > se encartga de sumar la ganacia que obtuvo cada dia.
restar_dia_por_devolver > resta los dias que rento el auto hasta 0, para hacer el auto nuevamente disponible.
verificar_disponibilidad > verifica si hay un carro disponible para usar.
la salida de este programa es el siguiente.

DIA     #AUTOS  DISP    ALEAT   DIAS    COBRO
1       4       1       0.939   4       -
2       -       0       -       -       +$350   
3       -       0       -       -       +$350   
4       -       0       -       -       +$350   
5       -       0       -       -       +$350   
6       4       1       0.189   1       -
7       -       0       -       -       +$350   
8       1       1       0.360   3       -
9       -       0       -       -       +$350   
10      -       0       -       -       +$350   
11      -       0       -       -       +$350   
12      3       1       0.107   1       -
13      -       0       -       -       +$350   
14      0       1       0.748   4       -
15      -       0       -       -       +$350   

Se ganó $3500 en 15 dias simulados.
--------------------------Fin del programa---------------------------


El codigo es el siguiente

from random import random

class Auto:
    def __init__(self, nombre_auto, renta_por_dia):
        self.nombre_auto = nombre_auto
        self.renta_por_dia = renta_por_dia
        self.dias_por_devolucion = 0
        self.ganancia = 0

    def sumar_ganancia(self):
        self.ganancia += self.renta_por_dia

    def restar_dia_por_devolver(self):
        self.dias_por_devolucion -= 1

    def verificar_disponibilidad(self):
        disponibilidad = 0 if self.dias_por_devolucion > 0 else 1
        return disponibilidad

# ######## INICIO DE EJECUCION ################
vehiculos = {'autoB':350}
dias_de_simulacion = 15
multa=0
i = 1

   

objetos = []
for nombre_auto, precio_de_renta in vehiculos.items():
    # Convertir cada elemento en objeto
    objetos.append(Auto(nombre_auto, precio_de_renta))

print('DIA\t#AUTOS\tDISP\tALEAT\tDIAS\tCOBRO')
while i <= dias_de_simulacion:
    for autoObj in objetos:
        if autoObj.verificar_disponibilidad() > 0:
           
            aleatorio=random()
            if aleatorio > 0.61:
                nAutos = 4
                multa+=600
            elif aleatorio > 0.31:
                nAutos = 3
                multa+=400
            elif aleatorio > 0.21:
                nAutos = 2
                multa+=200
            elif aleatorio > 0.10:
                nAutos = 1
            else:
                nAutos = 0
                #continue

            # Si el vehiculo esta disponible se genera un numero al azar para ese objeto
            aleatorioD = random()
            if aleatorioD > 0.61:
                dias_de_renta = 4
            elif aleatorioD > 0.31:
                dias_de_renta = 3
            elif aleatorioD > 0.21:
                dias_de_renta = 2
            elif aleatorioD > 0.10:
                dias_de_renta = 1
            else:
                dias_de_renta = 0 # No se rento el auto

            autoObj.dias_por_devolucion = dias_de_renta
            print('{}\t{}\t1\t{}\t{}\t-'.format(i, nAutos, str(aleatorioD)[0:5], dias_de_renta))
        else:
            # Si el vehiculo no esta disponible, es porque esta siendo usado, por lo que se cobra el dia
            autoObj.sumar_ganancia()
            autoObj.restar_dia_por_devolver()
            print('{}\t-\t0\t-\t-\t+${}\t-{}'.format(i,  autoObj.renta_por_dia,multa))
    i += 1

# Total de ganancia
print()
for autoObj in objetos:
    print("El {} ganó ${} ".format(autoObj.nombre_auto, autoObj.ganancia))

print("--------------------------Fin del programa---------------------------")


EStoy intentandolo hacer con mas de un auto disponible, aun tengo problemas. ¿Alguien tiene alguna idea de como hacerlo?

si pueden darme la idea asi sea en c++, java, js o en pseucodigo, quedo agradecido con ustedes. GRACIAS
#2
Gracias por sus respuestas.
#3
Buen día a todos.

Adquiri un pc de escritorio una Asrock FM2A68M-DG3+;
AMD A10-7860k radeon R7, RAM de 8GB DDR3, quiero expandir la memoria ram a 16 y para ello consegui una memoria de 8GB DDR4 - 2133 UDIMM. mi pregunta es:
¿Es recomendable instalarla junto a la de DDR3 y tener 16 GB de RAM?.
Gracias de antemano.
#4
Windows / Bitlocker WIN10
27 Enero 2018, 19:34 PM
Buen día,

Configure el bitlocker con pin al iniciar el SO, guarde la recovery key en una USB. Al finalizar la configuración me pidió reiniciarlo. Aún no he reiniciado el equipo por miedo a que se bloquee, pues tanto el pin y la recovery key se me perdieron. Temo que se reinicie el pc por algún evento y no pueda acceder al equipo denuedo.

¿Alguien sabe que puedo hacer para quitar el BitLocker y que no llegue a cifrarse el disco?

Gracias.
#5
Buen dia a toda la comunidad,

¿Alguien conoce alguna Herramienta para Recuperar archivos (videos de gran tamaño)?

Borre unos videos con información sensible y necesito recuperarlos.

Gracias por la ayuda.
#6
Buen dia.
El programa que intento hacer es la lectura de un archivo txt. el programa le pregunta que sub palabra desa buscar dentro del archivo. busca las coincidencias y cambia la palabra o sub palabra buscada por mayuscula.
El programa lee el txt, encuentra las coincidencias pero al escribir el archivo para cambiar a mayuscula las coincidencias encontradas me sale error. Espero me ayuden. Dejo el codeigo para que miren.  Que otro codigo proponen?
GRACIAS

Código (java) [Seleccionar]
public class metodos extends main {
public static String patron="";
static Scanner leer = new Scanner(System.in);
public static void leerTxt() throws IOException {
BufferedReader bufferedReader = new BufferedReader(new FileReader("src\\cadena.txt"));            
       String texto = "";

System.out.println("¿ Que cadena desea buscar ?");
patron = leer.next();
try {
while(( texto=bufferedReader.readLine())!=null){
System.out.println(texto);
System.out.println("buscando....");
Pattern regex = Pattern.compile(patron);
Matcher match = regex.matcher(texto);
int count=0;        
while(match.find()){
count ++; //Recorremos el archivo linea a linea e imprimimos
System.out.println("Encontrado "+match.group() ); // las coincidencias.
}
System.out.println("se encontraron "+count+" coincidencias");
}
} catch (FileNotFoundException e) {e.printStackTrace();
}

File f =new File("src\\cadenadena.txt");
FileWriter fw=new FileWriter(f);
BufferedWriter bw=new BufferedWriter(fw);
bw.write(texto.replaceAll(patron, patron.toUpperCase()));
}
}

   texto : guarda las lineas del archivo y las imprime.
       patron : es la palabra o subpalabra que va a buscar.
La salida que arroja el programa es el siguiente:

Leyendo Texto...
¿ Que cadena desea buscar ?
i
..........Lectura del archivo.............
Encontrado i
Encontrado i
  .
  .
  .
se encontraron 28 coincidencias
Exception in thread "main" java.lang.NullPointerException
   at leertxt.metodos.leerTxt(metodos.java:36)
   at leertxt.main.main(main.java:10)
la linea 36 de esta clase es :
bw.write(texto.replaceAll(patron, patron.toUpperCase()));
la linea 10 del main.java es :
metodos.leerTxt();
#7
Cita de: El_Andaluz en 11 Noviembre 2016, 04:00 AM
Te refieres ha esto con lo del Reposacabezas.


Has lo que te ha dicho Drvy vaya post mas raro. :xD


Toma te dejo un vídeo hazlo así


Gracias Andaluz
#8
Cita de: El_Andaluz en 11 Noviembre 2016, 03:53 AM
Mi carro ?  :huh: En castellano sería igual a coche no ?  :xD

Si, es coreecto
#9
Buen dia

El boton del reposacabezas del asiento mi carro quedo presionado.
¿Alguna idea para desbloquearlo?

Es un renault sandero manual Basico
#10
Hacking / Wget
9 Octubre 2016, 15:14 PM
Buen Dia a todos!
Deseo descargar todo (imagenes-videos y presentaciones) del curso en el que estoy cursoando de conduccion. la plataforma eta hecha por un manejador de contenidos , es un moodle. Este sistema tiene login, por que recurri a una intruccion algo asi:
pasandole mis credenciales

wget –http-user=usser –http-password=passwd http://abc***.co/course/view.php?id=3

la ultima parte de la linea "view.php=?3" no la entiendo mucho, hace uso de un webservice. nose si va dentro de la instruccion de wget.

¿Como puedo descargar el contenido de dicho curso?

Gracias.