-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproceso.py
85 lines (66 loc) · 2.7 KB
/
proceso.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
class Proceso:
def __init__(self, operador, operando_a, operando_b, tiempo, numero_proceso) -> None:
self.__operacion_realizar = operador
self.__operando_a = operando_a
self.__operando_b = operando_b
self.__tiempo_medio_estimado = int(tiempo)
self.__tiempo_transcurrido = 0
self.__tiempo_restante = int(tiempo)
self.__resultado = 0.0
self.__id = numero_proceso
self.__terminado = False
def set_operacion(self, operacion):
self.__operacion_realizar = operacion
def set_operando_a(self, operando_a):
self.__operando_a = operando_a
def set_operando_b(self, operando_b):
self.__operando_b = operando_b
def set_tiempo_max(self, tiempo):
self.__tiempo_medio_estimado = tiempo
def set_id(self, numero_proceso):
self.__id = numero_proceso
def terminado(self):
return self.__terminado
def set_terminado(self):
self.__terminado = True
def set_resultado(self, res):
self.__resultado = res
def set_tiempo_transcurrido(self, tiempo):
self.__tiempo_transcurrido = tiempo
def get_operacion(self) -> str:
return self.__operacion_realizar
def get_operando_a(self):
return self.__operando_a
def get_operando_b(self):
return self.__operando_b
def get_tiempo(self) -> int:
return int(self.__tiempo_medio_estimado)
def get_id(self) -> int:
return self.__id
def get_resultado(self):
return self.__resultado
def get_tiempo_transcurrido(self):
return self.__tiempo_transcurrido
def segundo_transcurrido(self):
self.__tiempo_transcurrido += 1
if self.__tiempo_restante > 0:
self.__tiempo_restante -= 1
def get_tiempo_restante(self) -> str:
return str(self.__tiempo_restante)
def ejecutar(self):
if self.__operacion_realizar == '+':
self.__resultado = self.__operando_a + self.__operando_b
elif self.__operacion_realizar == '-':
self.__resultado = self.__operando_a - self.__operando_b
elif self.__operacion_realizar == '*':
self.__resultado = self.__operando_a * self.__operando_b
elif self.__operacion_realizar == '/':
if self.__operando_b != 0:
self.__resultado = round(self.__operando_a / self.__operando_b)
else:
print("Error: DIV0")
self.__resultado = 0
elif self.__operacion_realizar == '%':
self.__resultado = round(((self.__operando_a / 100) * self.__operando_b), 2)
elif self.__operacion_realizar == '%%':
self.__resultado = self.__operando_a % self.__operando_b