Está en la página 1de 2

Programa empleando el ciclo For.

Sub riel (int x, int y, int z); declaracin e inicio de subrutina


loop
if robotisfinished ()
break
end if
end loop
output_set(12,0) ;; se fija a estado "0" bit 12 (apaga el riel
output_set(11,x) ;; se fija el bit 11 segn el estado de la variable x
output_set(10,y) ;; se fija el bit 10 segn el estado de la variable y
output_set(9,z) ;; se fija el bit 9 segn el estado de la variable z
output_set(12,1) ;; se fija el estado "1" bit 12 ( se enciende riel)
delay (500) ;; se espera 500 mseg
loop ;;lazo de espera para llegar a posicin indicada
if input(8)==1 ;;verificacin de estado de la bandera de fin de posicin
break
end if ;; final del if
end loop ;; final de loop
output_set(12,0);; se fija el estado "0" bit 12 ( apagar riel)
end sub ;;final de subrutina

main
int i
teachable cloc [8] ciclo
for i=1 to 5
printf("Ejecucin nmero {} \n",i)
riel(0,0,0)
delay(3000)
riel(0,0,1)
grip_open()
move(_ciclo[0]);;Posicin de seguridad p/tomar pza
finish()
move(_ciclo[1]);;Primera Aprox
finish()
move(_ciclo[2]);;Segunda Aprox
finish()
move(_ciclo[3]);;Posicin de tomar pza
finish()
delay(2000)
grip_close()
move(_ciclo[2])
finish()
move(_ciclo[1])
finish()
move(_ciclo[0])
finish()
ready()
riel(0,1,0)
move(_ciclo[4]);;Posicin de seguridad p/dejar pza
finish()
move(_ciclo[5]);;Primera Aprox p/dejar
finish()
move(_ciclo[6]);;Segunda Aprox p/dejar
finish()
move(_ciclo[7]);;Posicin de dejar pza
finish()
delay(2000)
grip_open()
move(_ciclo[6])
finish()
move(_ciclo[5])
finish()
move(_ciclo[4])
finish()
ready()
end for
riel (0,0,0)
ready ()
end main

También podría gustarte