Beruflich Dokumente
Kultur Dokumente
familiarizarteconlasreglasbsicasdelascienciasdelacomputacinmientrasque
programastupropiorobot.Ademsdeintroducirteaconocidastcnicasdeprogramacin,
tambinteacercaalasreasdelarobticaylainteligenciaartificial.
ROBOestadiseadodetalmaneraquepuedescomenzara
exploraryprogramarrpidamente.Paraellosehacreadoun
lenguajedeprogramacinespecialqueconsisteenunaseriede
reglasquetienencomofinlaprogramacindeunrobot.Como
resultadoseofrecemuchsimasoportunidadesparacreartus
propiosprogramasyexperimentarconlosprincipiosquerigena
loslenguajesdeprogramacionesmascomunes.
suinterfazvisualesmuysimilaraunaqueyaconocemosbastante
ResumimosaqulasmejorescaractersticasdeROBO:
Comienzasdesdeya:ellenguajedeprogramacinyplataformasonfcilesde
comprenderysepuedenusarrpidamente.
Sindependenciasexternas,comoentornosdedesarrolloycompiladoresque
compliquenlascosas.
Seguro:elprogramaquesehaganopuededaardeningunaformatuordenador.
Aptoparaproyectos:ROBOeslaherramientaidealparaproyectosinterdisciplinarios
oparacursostcnicosodecienciasdelacomputacin.
Esteesunejemplodelaprogramacinqueingresamosenelsoftware,esmuysimple,sus
instruccionesbsicasson:
Adelante(yelnmerodepasos)
Atrs(yelnmerodepasos)
Izquierda(esteespaciodebequedarvaco)
Derecha(esteespaciodebequedarvaco)
Contamostambinconuncontrolremotoquenospermitemanipularanuestrorobot
manualmenteyvercomosevaescribiendoelcdigoqueestamosrealizandoentiemporeal
EsoestodoahoraATRABAJAR!
Ejercicio1
Hazunprogramaquepintedecolornegroelbordelosdoscuadroscondospiscinasque
estnenfrentedelrobotalinicioyquealacabardepintarelbordevuelvaalaposicininicial,
perosinpintar.
Ejercicio2
Abrirelmapadefault.mapyhazqueelrobotsemuevahastalabalizayaldetectarlaconla
condicionalsilarecoja.Despustienequellevarydejarlabalizaenelpuntodeinicio.
Aquitieneslasinstruccionesnecesarias:
derecha()
adelante(3)
derecha()
adelante(1)
si(frenteEsBaliza()){
tomar()
}
derecha()
adelante(3)
derecha()
poner()
fin
Observaqueponemosfincuandoqueremosqueseparayfinalizaelprograma.
AHORASINAYUDA!
Ejercicio3(1punto)
Creaunprogramaquerecojalabalizamslejanadelrobotyladejalladodelaotrabaliza.
Ejercicio4(1punto)
AbreelmapafindSpot1.map.Programaparaqueelrobotaparqueenelcrculoblanco.Tiene
quedetectarelpuntoblancoelsensordemiraralaizquierda.
OtrafuncinmuytilenRobomindesladerepetir.Podemosdecirlequerepitaalgoun
nmerodevecesdeterminadooquelorepitasiempre.
repetir(3){Repite3vecesloquehayaqu}
repetir(){Repitedeformaindefinidaloquehayaqu}
Fijateenesteejemplovamoshacerquepinteuncuadradodeformamuysencillaycon
pocasinstrucciones:
Ejercicio5(1punto)
AbreelmapaOpenArea.mapycreaunprogramaquehagauncuadrodelado4repitiendo3
instrucciones:
repetir(4){
pintarBlanco()
adelante(3)
derecha()
}
Ejercicio6(1punto)
Abreunmapacualquierayqueelcochesemuevasinpararporelmapadeformaque
cuandoseencuentreunobstculogirealaderechaparapoderavanzar:
repetir(){
adelante(1)
si(frenteEsObstaculo()){
derecha()
}
}
Ahoravamoshacerqueelrobotseacapazdeseguirunalineablancapintadaenun
escenario:
Ejercicio7(1punto)
Abreelmapadefault.mapyqueelcochelleguealalneablancaylasiga
derecha()
adelante(8)
repetir(){
si(frenteEsBlanco()){
adelante(1)
}
si(izquierdaEsBlanco()){
izquierda()
adelante(1)
}
si(derechaEsBlanco()){
derecha()
adelante(1)
}
si(frenteEsObstaculo()){
fin
}
}
Ejercicio8(1punto)
Sabrashacerelmismoprogramaperoquepinteencimadelalneablancaunanegra?
Ejercicio9(1punto)
AbreelmapaMapaGoRightAtWhite1.mapaEscribeunprogramaparaqueelrobotvayadel
primerpuntoblancoalsegundoydespusvayaarecogerlabaliza.1punto
Ejercicio10Vamoshacerqueelrobothagacosasindependientemente.(2puntos)
AbreelmapapassBeacons1.mapycreaunprogramaparaqueelrobotseacapazdellegar
alpuntoblancoypararseencimadel
derecha()
repetir(){
adelante(1)
si(frenteEsBaliza()){
tomar()
derecha()derecha()
adelante(3)
poner()
derecha()derecha()
}
si(frenteEsBlanco()){
adelante(1)
fin
}
}
Ejercicio11(1punto)
AbreelmapapassBeacons.mapyhazunprogramaparaqueelrobotlleguehastaelpunto
blanco.2puntos
AhoravamosaverotrainstruccinquevaleparaqueRobomindtomedecisionesaleatorias.
Nosotrosnosabemosladecisinnquevaatomar,poresoesaleatoria,estainstruccines
lanzarmoneda.Escomosilanzaseunamonedayunasvecessaldrcaraocruz,parael
programaserverdaderoofalso.Parahacerestolasentenciaeslasiguiente:
si(lanzarMoneda()){
haceesto
}otro{
Haceestootro
}
Harloprimerosiesverdadero(monedacara)yharlosegundosisalecruzofalsoparael
programa.
Veamosunejemplo:
Creaunprogramaparaqueelrobotavanceporelmapaindependientementedeformaque
cuandoseencuentreunobstculovayaaladerechaoalaizquierda(aleatoriamente).
repetir(){
si(frenteEsObstaculo()){
si(lanzarMoneda()){
derecha()
}otro{
izquierda()
}
}otro{
adelante(1)
}
}
JulianSpeciale
juliansp@live.com.ar