-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpractica3-4b
77 lines (76 loc) · 1.72 KB
/
practica3-4b
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
programa practica3Ejer4b
areas
areaFlores: AreaPC(10,10,10,10)
areaDeposito: AreaC(11,11,11,11)
areaFlorero1: AreaP(9,9,9,9)
areaFlorero2: AreaP(9,10,9,10)
areaFlorero3: AreaP(9,11,9,11)
areaFlorero4: AreaP(9,12,9,12)
areaCoordinador: AreaP(1,1,1,1)
robots
robot florero
variables
CaIni, AvIni, quienSoy: numero
hay: boolean
comenzar
RecibirMensaje(quienSoy,coor)
hay := V
AvIni := PosAv
CaIni := PosCa
mientras (hay)
BloquearEsquina(10,10)
Pos(10,10)
si HayFlorEnLaEsquina
tomarFlor
Pos(AvIni,CaIni)
LiberarEsquina(10,10)
BloquearEsquina(11,11)
Pos(11,11)
depositarFlor
Pos(AvIni,CaIni)
LiberarEsquina(11,11)
sino
hay := F
Pos(AvIni,CaIni)
LiberarEsquina(10,10)
EnviarMensaje(quienSoy,coor)
fin
robot coordinador
variables
robotID: numero
comenzar
EnviarMensaje(1,F1)
EnviarMensaje(2,F2)
EnviarMensaje(3,F3)
EnviarMensaje(4,F4)
repetir (4)
RecibirMensaje(robotID,*)
Informar('El_que_termino_ultimo_es_el_ROBOT_',robotID)
fin
variables
F1: florero
F2: florero
F3: florero
F4: florero
coor: coordinador
comenzar
AsignarArea(F1,areaFlorero1)
AsignarArea(F2,areaFlorero2)
AsignarArea(F3,areaFlorero3)
AsignarArea(F4,areaFlorero4)
AsignarArea(F1,areaFlores)
AsignarArea(F2,areaFlores)
AsignarArea(F3,areaFlores)
AsignarArea(F4,areaFlores)
AsignarArea(F1,areaDeposito)
AsignarArea(F2,areaDeposito)
AsignarArea(F3,areaDeposito)
AsignarArea(F4,areaDeposito)
AsignarArea(coor,areaDeposito)
AsignarArea(coor,areaCoordinador)
Iniciar(F1,9,9)
Iniciar(F2,9,10)
Iniciar(F3,9,11)
Iniciar(F4,9,12)
Iniciar(coor,1,1)
fin