-
Notifications
You must be signed in to change notification settings - Fork 0
/
Parcial5RES
121 lines (97 loc) · 2.49 KB
/
Parcial5RES
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
{Bienvenidos al entorno CMRE.
Lo siguiente es un código de ejemplo que implementa un
proceso que recibe un número de avenida como parámetro,
se posiciona en esa avenida y la recorre.}
programa ejemplo
procesos
proceso BuscarFlor(E numAv: numero ; E numCa: numero ; ES encontre: boolean)
comenzar
Pos(numAv, numCa)
si (HayFlorEnLaEsquina)
tomarFlor
encontre:=V
fin
areas
areaInicioR1: AreaP(1,1,1,1)
areaInicioR2: AreaP(2,2,2,2)
areaInicioR3: AreaP(3,3,3,3)
areaInicioRE: AreaP(4,4,4,4)
areaEscondite: AreaC (10,10,13,13)
robots
robot Escondedor
variables
id: numero
calle, avenida: numero
miAv, miCa: numero
ganador: numero
termino, encontre: boolean
comenzar
miAv:=PosAv
miCa:=PosCa
Random(avenida,10,13)
Random(calle,10,13)
Pos(avenida,calle)
depositarFlor
Pos(miAv,miCa)
EnviarMensaje(1, R1)
EnviarMensaje(2, R2)
EnviarMensaje(3, R3)
repetir 3
RecibirMensaje(id, *)
RecibirMensaje(encontre, *)
si (id = 1) & (encontre = V)
ganador:=id
sino
si (id = 2) & (encontre = V)
ganador:= id
sino
si (id = 3) & (encontre = V)
ganador := id
termino:=V
EnviarMensaje(termino, R1)
EnviarMensaje(termino, R2)
EnviarMensaje(termino, R3)
Informar(ganador)
fin
robot Buscador
variables
quienSoy: numero
calle, avenida: numero
encontre, terminar: boolean
miAv, miCa: numero
comenzar
encontre:= F
terminar:= F
miAv:=PosAv
miCa:=PosCa
RecibirMensaje(quienSoy, REscondedor)
mientras(encontre <> V) & (terminar = F)
Random(calle, 10, 13)
Random(avenida, 10,13)
BloquearEsquina(avenida,calle)
BuscarFlor(calle,avenida, encontre)
Pos(miAv,miCa)
LiberarEsquina(avenida,calle)
EnviarMensaje(quienSoy, REscondedor)
EnviarMensaje(encontre, REscondedor)
RecibirMensaje(terminar, REscondedor)
fin
variables
REscondedor: Escondedor
R1: Buscador
R2: Buscador
R3: Buscador
comenzar
AsignarArea(REscondedor, areaEscondite)
AsignarArea(R1, areaEscondite)
AsignarArea(R2, areaEscondite)
AsignarArea(R3, areaEscondite)
AsignarArea(REscondedor, areaInicioRE)
AsignarArea(R1, areaInicioR1)
AsignarArea(R2, areaInicioR2)
AsignarArea(R3, areaInicioR3)
Iniciar(R1, 1,1)
Iniciar(R2, 2,2)
Iniciar(R3, 3,3)
Iniciar(REscondedor, 4,4)
fin