Listado de Primitivas de MSWLogo

download Listado de Primitivas de MSWLogo

of 20

description

primitivas de programa logo

Transcript of Listado de Primitivas de MSWLogo

Listado de primitivas de MSWLogoEn este punto se van a comentar las primtivas ms utilizadas en el entorno de programacin de MSWLogo mediante una sencilla descripcin de las funciones que realiza y un pequeo ejemplo de programacin.Primitivas para dibujarPRIMITIVAMTODO ABREVIADODESCRIPCINEJEMPLO

AVANZAunidadesAV ...La tortuga avanza el nmero especificado de unidades.AVANZA100AV100

RETROCEDEunidadesRE ...La tortuga retrocede el nmero especificado de unidades.RETROCEDE100 RE100

GIRADERECHAnguloGD...VIRALa tortuga gira en el sentido de las agujas del reloj el nmero de grados especificado.GIRADERECHA90oGD90 VIRA90Gira la tortuga 90 hacia la derecha

GIRAIZQUIERDAnguloGI ...La tortuga gira en sentido contrario a las agujas del reloj el ngulo especificado.GIRAIZQUIERDA90 GI90Gira la tortuga 90 hacia la izquierda

PONLAPIZPLAPone el lpiz BAJADO y el modo PINTA (PINTA es el modo normal de la tortuga para dibujar).PONLAPIZ PLA

GOMAGOPone el lpiz BAJADO y el modo a BORRA (la tortuga va borrando por donde se mueve).GOMA GO

SUBELAPIZSLPone el lpiz LEVANTADO, sin cambiar su modo.SUBELAPIZ o SL

BAJALAPIZBLPone el lpiz BAJADO, sin cambiar su modo.BAJALAPIZ o BL

CENTRODevuelve a la tortuga al centro de la pantalla sin borrarla. Hay que utilizar la primitiva SUBELAPIZ para evitar que dibuje mientras va hacia el centro.CENTRO

PONCOLORLAPIZ[... ... ... ]PONCL[... ... ... ]Pone el lpiz del color determinado de acuerdo con:PONCOLORLAPIZ [255 000 000] es el RojoPONCOLORLAPIZ [000 255 000] es el VerdePONCOLORLAPIZ [000 000 255] es el AzulEl color amarillo es:PONCOLORLAPIZ [255 255 000] PNCL [255 255 000]

OCULTATORTUGAOTOculta la tortuga (el tringulo) en la pantalla.OT

MUESTRATORTUGAMTMuestra la tortuga (el tringulo) en la pantalla.MT

HAZTORTUGAtortuga[PosX PosY ngulo[instrucciones]]Coloca la tortuga en la posicin que le indicamos, indicndole la posicin y el ngulo de ubicacin, as como las instrucciones que va a realizarHAZTORTUGA0[0 100 45[av 100]]Este ejempo coloca la tortiga n 0 en la unidad 0 de eje "X" y 100 del eje "Y", despus la rota en un ngulo de 45, y por ltimo avanza sta 100 unidades en ese sentido

BORRAPANTALLABPBorra la pantalla y coloca a la tortuga en el centro.BORRAPANTALLA BP

LIMPIABorra la pantalla, pero mantiene a la tortuga en su posicin actual en la pantalla.LIMPIA

ROTULA [texto]RO[...]Escribe un texto en la direccin en que se encuentra la tortuga. Este texto se muestra en la pantalla de MSWLogo.ROTULA [Texto de ejemplo] RO [Texto de ejemplo]

PONGROSOR[ancho alto]PONG[.. ..]Coloca el ancho del trazado del lpiz y la altura especificados. MSWLogo utiliza solamente el valor de la anchura. Por defecto el valor de la anchura es 1.PONGROSOR [50 50] PONG [50 50]Aumenta el grosor del lpiz 50 veces en tamao

PONPOS [X Y]Coloca la tortuga en las coordenadas que se indican, siendo el primer nmero las "X" y el segundo nmero las "Y".PONPOS [100 100]Coloca la tortuga en la unidad 100 del eje "X" y en la unidad 100 del eje "Y"

PERSPECTIVASe aade a la tortuga una tercera dimensin (eje Z) para que sta se pueda mover por esta dimensin. Este comando precede a los comandos que vienen debajo de ste.PERSPECTIVA

PONBALANCEOgradosRota la tortuga a una nueva posicin absoluta segn los grados que se indican. sta rota sobre el eje "Y". Este comando solo funciona en modo perspectivaPONBALANCEO 90Rota la tortuga 90 respecto al eje "Y"

PONCABECEOgradosRota la tortuga a una nueva posicin absoluta segn los grados que se indican sobre el eje "X". Este comando solo funciona en modo perspectiva.PONBCABECEO 90Rota la tortuga 90 respecto al eje "X"

BALANCEAgradosBAL ...Rota la tortuga hacia la derecha los grados que se indican. Este comando solo funciona en modo perspectiva.BALANCEA 90 BAL 90Rota la tortuga 90 hacia la derecha

BALANCEAIZQUIERDAgradosCAI ...Rota la tortuga hacia la izquierda los grados que se indican. Este comando solo funciona en modo perspectiva.BALANCEAIZQUERDA 90 CAI 90Rota la tortuga 90 hacia la izquierda

BAJANARIZgradosBAJAN ...Desciende la nariz de la tortuga los grados que le indiquen. Este comando slo funciona en modo perspectiva.BAJANARIZ 90 BAJAN 90Descienden 90 el sentido de la tortuga

Primitivas para escribir, editar y trabajar con ficherosPRIMITIVAMTODO ABREVIADODESCRIPCINEJEMPLO

MUESTRAtextoEscribe la entrada o entradas en la salida de escritura que actualmente est (inicialmente es el terminal). El texto, si es una sola palabra llevar comillas de apertura ", y si es una cadena de texto va entre corchetes [], mostrndose tambin los corchetes.MUESTRA"ejemploMUESTRA[Esto es un ejempo]

ESCRIBEtextoES ...Escribe la entrada o entradas en la salida de escritura que actualmente este (inicialmente es el terminal). Todas las entradas de texto se escriben en una sola lnea. Si el texto es una nica palabra llevar comillas de apertura ", y si es una cadena de texto va entre corchetes [], no mostrndose los corchetes.ESCRIBE"ejemploESCRIBE[Esto es un ejemplo]ES"ejemploES[Esto es un ejemplo]

MUESTRATtextoMuestra la entrada o entradas similar al comando escribe, excepto que no muestra el carcter de nueva lnea al final, y las entradas mltiples no son separadas por lneas.MUESTRAT"ejemploMUESTRAT[Esto es un ejemplo]

EDITA CONTENIDOEDITATODOComando que abre la ventana del editor y permite modifica las definiciones de los elementos (procedimientos, variables, etc.). Hace lo mismo que el botn Ed. Todo.

EDITA PROCEDIMIENTOSEDITAPROCEDIMIENTOSComando que abre la ventana del editor y permite modifica las definiciones de los procedimientos.

EDITAnombre_procED...Abre la ventana del editor con el nombre de procedimiento que se le haya dado

EDITAFICHEROnombre_fich llamadaAbre un editor estndar con el fichero que se haya indicado. En llamada se pone un conjunto de instrucciones a ejecutar cuando se sale del editor.EDITAFICHEROc:\\ejemplo.lgo rotula [Este el fichero a editar]Abre el fichero ejemplo.lgo que se encuentra en C, y una vez abierto muestra en la pantalla de MSWLogo el texto del comando rotula

LISTADevuelve una lista cuyos componentes son las entradas, que pueden ser palabras, listas o matrices.LISTA [a b c]Creauna listade 3 elementos. Al ver el contenido dela lista con el comando:MUESTRA LISTA[a b c]

LISTA?objetoDevuelve verdadero si el objeto de entrada es una lista, y devuelve falso si no lo es.Con respecto a la lista del ejemplo anterior utilizamos este comando mediante laayuda del comando muestra para poder ver el resultado en pantalla.MUESTRA LISTA? [a b c]Nos devuelve verdaderoMUESTRA LISTA? [a b]Nos devuelve falso

TAPAcontenidosTAPATODOOculta los procedimientos, variables, y lista de propiedades pasadas por la entrada. La lista de contenidos hade ir entre corchetes [ ].TAPA [[encender] [] []]Oculta para el MSWLogo el procedimiento encender

TAPADODevuelve una lista de contenidos con los elementos tapados del entorno de trabajo.Mediante la ayuda del comando muestra nos dice los procedimientos que se han ocultado a MSWLogo. Con respecto al ejemplo anterior:MUESTRA TAPADODevuelve encender

BORRAcontenidosBO...Borra del entorno de trabajo los procedimientos, variables y listas de propiedades que se han pasado en la entrada.BORRA [encender]Elimina el procedimiento encender de MSWLogo

BORRARPROCEDIMIENTOSBorra todos los procedimientos que hay en el entorno de trabajo sin taparBORRARPROCEDIMIENTOS

BORRATEXTOLimpia el texto que hay en el TerminalBORRARTEXTO

CARGAnombre_ficheroLee las instrucciones del fichero lgo para a continuacin realizarlas.CARGAC:\\ejemplo.lgoCarga el fichero ejemplo.lgo que se encuentra en C

GUARDAnombre_ficheroGuarda en un fichero lgo las definiciones de todos los procedimientos,variables y listas de propiedades sin tapar.GUARDA C:\\ejemplo.lgoGuarda en el fichero ejemplo.lgo que se encuentra en C

BOARCHIVOnombre_archivoBA...Borrar el fichero que se indica, para que funcione el comando, el fichero ha de estar cerradoBOARCHIVO C:\\ejemplo.lgo BA C:\\ejemplo.lgoBorra el fichero ejemplo.lgo que se encuentra en C

Primitivas para trabajar con controladorasEstas primitivas sirven para trabajar con las controladoras ENCONOR y CNICE.Hay que tener en cuenta que estas controladoras no tienen el mismo nmero de entradas analgicas, por ello hay algunas primitivas que no se pueden utilizar. Adems la controladora CNICE no tiene salidas analgicas y por tanto las primitivas que para este tipo de salidas no se podrn usar con ella.PRIMITIVAS PARA TRABAJAR CON LAS SALIDAS DIGITALES

PRIMITIVADESCRIPCINEJEMPLO

M1 "DHace girar en un determinado sentido un motor conectado a dos de las salidas digitales (las salidas elegidas dependen del tipo de controladora). Si el actuador es una bombilla, rel o electroimn, simplemente lo activa.M1 "I

M1 "IHace girar en sentido contrario a la primitiva anterior un motor conectado a dos de las salidas digitales. No se diferencia de la primitiva anterior si estn conectados otros actuadotes (bombilla, rel, etc.)M1 "D

M1 "PDesactiva el actuador que est conectado a dos de las salidas digitales (para conseguirlo se desactivan ambas salidas).M1 "D

M2 "D, M2 "I, M2 "PM3 "D, M3 "I, M3 "PM4 "D, M4 "I, M4 "PLo mismo que las primitivas anteriores, aunque los actuadotes se conectan a los restantes pares de salidas digitales.M2 - Salida 2 y 3M3 - Salida 4 y 5M4 - Salida 6 y 7M2 I, M2 D, M2 P M3 I, M3 D, M3 P M4 I, M4 D, M4 P

M?Devuelve una lista con el estado de los 4 motores. Los estados son: I, D y P.Esta primitiva se utiliza junto con la primitiva muestra, para ver el resultado en pantalla.MUESTRA M?nos devuelve: M [I P D I]

M[lista_motores]Permite activar o desactivar los 4 motores de manera simultneamente. En la lista de motores se pone el estado que se quiera por cada motor, separados stos por un espacio. La lista ha de ir entre corchetesM [I D P P]Se pone entre corchetes el estado en que queremos que encuentren los 4 motores.

CONECTARActiva todas las salidas digitales de la controladora.CONECTAR

DESCONECTARDesactiva todas las salidas digitales de la controladora.DESCONECTAR

CONECTA :NUMActiva la salida digital indicada, siendo :NUM 1, 2, 3, 4, 5, 6, 7 u 8.CONECTA 1Activa la salida digital 0

DESCONECTA :NUMDesactiva la salida digital indicada, siendo :NUM 1, 2, 3, 4, 5, 6, 7 u 8.DESCONECTA 8Desactiva la salida digital 7

CONECTADO?Devuelve una lista de 4 elementos (uno por cada motor) cuyos valores son 0 1 segn estn activos o no.Esta primitiva se utiliza junto con la primitiva muestra, para ver el resultado en pantalla.MUESTRA CONECTADO?nos devuelve: M [1 0 1 1]

SALIDAdatoControla en conjunto las ocho salidas digitales. Enva a las salidas digitales el dato en binario equivalente al decimal que se ponga en dato.SALIDA 131Activa las salidas digitales0, 1 y 7 (1+2+128)

ENVIAOCTETOdatoProcedimiento para la compatibilidad con las primitivas ENCONOR (realiza la misma funcin que la primitiva SALIDA). Enva a las salidas el nmero decimal que seponga en dato.ENVIAOCTETO 193Activa las salidas digitales0, 6 y 7 (1+64+128)

APAGAnumero_salidaProcedimiento para la compatibilidad con las primitivas proporcionadas por ENCONOR.Desconecta la salida digital que se le indique en :n, dejando el resto de salidas digitales como estn.APAGA 4Desactiva la salida digital nmero 4

SALIDA?Devuelve una lista de ocho elementos con el estado de las ocho salidas digitales (1 si la salida est activada o 0 si est desactivada).Se utiliza junto con la primitiva muestra para mostrar el resultado en pantalla.MUESTRA SALIDA?nos devuelve:[1 0 0 0 0 0 1 1]

VS?Devuelve en un nmero decimalel valor en decimal delas salidas digitales que estn activadas.Se utiliza junto con la primitiva muestra para mostrar el resultado en pantalla.MUESTRA VS?nos devuelve:193

PRIMITIVAS PARA TRABAJAR CON LAS ENTRADAS DIGITALES

PRIMITIVADESCRIPCINEJEMPLO

ENTRADAnumero_entradaProcedimiento para la compatibilidad con las primitivas proporcionadas por ENCONOR. Devuelve VERDADERO si la entrada digital indicada en numero_entrada est conectada y devuelve FALSO si no est conectada.Se utiliza junto con la primitiva muestra para mostrar el resultado en pantalla.MUESTRA ENTRADA 1nos devuelve: FALSOEsto ocurrira si la entrada digital 1 no estuviera conectada

VE?Devuelve un nmero decimal que indica que entradas digitales estn activadas.Se utiliza junto con la primitiva muestra para mostrar el resultado en pantalla.MUESTRA VE?8Nos indica que est activada la entrada digital n 3

SDnumero_entradaDevuelve el valor del sensor digitalque se indica en numero_entrada, devuelve un 1 si la entrada est activa y 0 si la entrada no est activa.Se utiliza junto con la primitiva muestra para mostrar el resultado en pantalla.MUESTRA SD10Nos indica que la entrada digital 0 est desactivada

SD?Devuelve el estado de todas las entradas digitales en forma delista de 0s o 1s.Se utiliza junto con la primitiva muestra para mostrar el resultado en pantalla.MUESTRA SD?[1 0 0 0 0 0 1 1]Nos indica que estn activadas las entradas digitales 0, 6 y 7.

ESPERAONnumero_entradaDeja el programa parado ala espera de que se active la entrada digital indicada en numero_entrada.ESPERAON 1Deja el programa detenido hasta que se active la entrada digital 0

ESPERAOFFnumero_entradaDeja el programa parado ala espera de que se desactive la entrada digital indicada en numero_entrada.ESPERAOFF 1Deja el programa detenido hasta que se desactive la entrada digital 0

PRIMITIVAS PARA TRABAJAR CON LAS ENTRADAS ANALGICAS

PRIMITIVADESCRIPCINEJEMPLO

LEEANALOGICAdatoProcedimiento para la compatibilidad con las primitivas proporcionadas por ENCONOR.Lee y escribe en el puerto los datos necesarios para obtener el valor decimal (valor entre 0 y 255) que proporciona la entrada analgica indicada en :dato (que puede ser 1, 2, 3 4. Si consigue leerlas, devuelve su valor. Para obtener el valor en voltios correspondiente al valor decimal devuelto por la primitiva se debe aplicar la siguiente frmula:Voltaje Entrada (V)= (N decimal * 5) / 256Se utiliza junto conla primitiva muestra para mostrar el resultado en pantalla.MUESTRA LEEANALOGICA 1240Devuelve el valor en tensin en la entrada analgica 1. Para obtener el valor en voltios de esta entrada se aplica la formula anteriormente descrita.El valor es: 468 Voltios

SAVPrimitiva valida para la controladora ENCONOR. Devuelve el valor en voltios del sensor analgico conectado a la entrada analgica 1.Se utiliza junto conla primitiva muestra para mostrar el resultado en pantalla.MUESTRA SAV0Nos indica que la entrada analgica 1 de Enconor est desactivada

SAWPrimitiva valida tanto para la controladora CNICE como la ENCONOR.Devuelve el valor en voltios de la entrada, estaentrada depende de la controladora que se este utilizando. Ser:-CNICE: entrada analgica 1-ENCONOR: entrada analgica 2Se utiliza junto conla primitiva muestra para mostrar el resultado en pantalla.MUESTRA SAW0Nos indica que la entrada analgica 2 de la controladora Enconor o la entrada 1 de la controladora CNICE est desactivada

SAXPrimitiva valida tanto para la controladora CNICE como la ENCONOR.Devuelve el valor en voltios de la entrada, estaentrada depende de la controladora que se este utilizando. Ser:-CNICE: entrada analgica 2-ENCONOR: entrada analgica 3Se utiliza junto conla primitiva muestra para mostrar el resultado en pantalla.MUESTRA SAX0Nos indica que la entrada analgica 3 de la controladora Enconor o la entrada 2 de la controladora CNICE est desactivada

SAYPrimitiva valida tanto para la controladora CNICE como la ENCONOR.Devuelve el valor en voltios de la entrada, estaentrada depende de la controladora que se este utilizando. Ser:-CNICE: entrada analgica 3-ENCONOR: entrada analgica 4Se utiliza junto conla primitiva muestra para mostrar el resultado en pantalla.MUESTRA SAY0Nos indica que la entrada analgica 4 de la controladora Enconor o la entrada 3 de la controladora CNICE est desactivada

SAZPrimitiva valida tanto para la controladora CNICE como la ENCONOR.Devuelve el valor en voltios de la entrada, estaentrada depende de la controladora que se este utilizando. Ser:-CNICE: entrada analgica 4-ENCONOR: entrada analgica 5Se utiliza junto conla primitiva muestra para mostrar el resultado en pantalla.MUESTRA SAZ0Nos indica que la entrada analgica 5 de la controladora Enconor o la entrada 4 de la controladora CNICE est desactivada

SA?Devuelve una lista con el valor en voltios de los todos sensores analgicos.Se utiliza junto conla primitiva muestra para mostrar el resultado en pantalla.MUESTRA SA?[0 4.6875 0.234375 0]Nos muestra el valor en Voltios de las 4 entradasanalgicas

PRIMITIVAS PARA TRABAJAR CON LAS SALIDAS ANALGICAS

PRIMITIVADESCRIPCINEJEMPLO

SALIDAANALOGICAnumero_salida valor_salidaEscribe los datos necesarios para poner en la salida analgica que se le indica en numero_salida el valor extensin indicado en valor_salida (vara entre 0 y255). Para conocer el valor en tensin en la salida analgica se utiliza la siguiente frmula:Voltaje Salida (Voltios) = :VALOR / 23.8SALIDAANALOGICA 1 100A la salida analgica 1 se le asigna el valor de salida 100. ste valor corresponde a un nivel de tensin que se calcula con la frmula anteriormente descrita.El valor es: 420 Voltios

VOLTAJEnumero_salida valor_salidaFija en la salida analgica indicada en numero_salida el valor en tensin especificado en valor_salida (vara entre 0 10,5).VOLTAJE 2 2,5A la salida analgica 2 se le asigna un valor de tensin de 25 voltios

VOLTAJE?Devuelve una lista con el valor en voltios de todas las salidas analgicas.Se utiliza junto conla primitiva muestra para mostrar el resultado en pantalla.MUESTRA VOLTAJE?[0 4.5 0 0]Nos muestra que la salida analgica 2 tiene un valor de 4,5 voltios

PRIMITIVAS PARA TRABAJAR EN EL ENTORNO GRFICO

PRIMITIVADESCRIPCIN

graficosCrea las ventanas necesarias para manejar las entradas y salidas analgicas (primitiva graficosan) y digitales y la ventana para informar del estado de la comunicacin entre el ordenador y la controladora (primitiva informa).

graficosanCrea una ventana para controlar las entradas y salidas analgicas.

informaCrea una ventana que informa de datos referentes a la comunicacin con el puerto.

Primitivas de sonidoPRIMITIVADESCRIPCINEJEMPLO

TONOflujosonidoEmite un tono de sonido. La expresin flujosonido es una lista de pares compuesta por: [frecuencia duracion]Frecuencia - HertziosDuracin - Milsimas de segundoEl sonido solo se emite por el altavoz del PCTONO [700 5000]Emite un tono de sonido agudo durante un perodo de tiempo de 5 segundos.

SUENATONOfrecuencia duracionFuncin similar a la anterior, que se mantiene de versiones anteriores de MSWLogo.SUENATONO [1000 5000]Emite un tono de sonido ms agudo que con el comando anterior durante un perodo de tiempo de 5 segundos.

ENCIENDESONIDOfrecuenciaEmite un sonido cuya frecuencia coincide con el parmetro que se le pasa. Elsonido continuar hasta que sedetenga el comando APAGASONIDO.Esta primitiva no funcionar en Sistemas Operativos con ncleos NT, ya que utiliza laprimitiva escribepuerto.ENCIENDESONIDO 1000Emite un tono agudo de manera continua. Este comando no funciona en sistemas operativos Windows 2000 y Windows XP.

APAGASONIDOQuitar un sonido que se haya puesto con la primitiva ENCIENDESONIDO frecuencia.Esta primitiva no funcionar en Sistemas Operativos con ncleos NT, ya que utiliza laprimitiva escribepuerto.APAGASONIDOEste comando no funciona en sistemas operativos Windows 2000 y Windows XP.

SUENAWAVEficherowave opcionesReproduce un fichero de tipo .wav segn las opciones que se indiquen. Las opciones seindican con un nmero entero.0-> Sincrono que no devuelve el control hasta que se haya terminado1-> Asncrono que devuelve el control inmediatamente mientras el sonido sigue sonando2 -> No utiliza el sonidopor defecto si el indicado no puede orse8 -> Reproduce el sonido de manera continua hasta que se ejecuta otra primitiva de sonido16 -> No para un sonido que ya estaba sonandoLas opciones anteriores se pueden combinar.SUENAWAVE C:\\ejemplo.wav1+8Reproduce el fichero ejemplo.wav que se encuentra ubicado en C, y lo reproduce de manera continuada dejando el control a MSWLogo

Primitivas para crear condicionales y buclesPRIMITIVADESCRIPCINEJEMPLO

SIcondicion [instrucciones]Realiza una instruccin o un conjunto de instrucciones si se cumple la condicin expresada.La variable entradas se ha creado para guardar el valorde las entradas digitales.SI (:entradas_digitales=1) [M1"P]Se expresa que si la entrada digital 0 est activada, se desactivan las salidas digitales 0 y 1. Si no se cumple la condicin, no se ejecuta nada.

SISINOcondicion [instrucciones1] [instrucciones2]Realiza las primeras instrucciones si la condicin expresada se cumple, y realiza el otro grupo de instrucciones sino se cumple la condicin.La variable entradas se ha creado para guardar el valorde las entradas digitales.SISINO (:entradas_digitales=1) [M1 "P] [salida 255]Se expresa que si la entrada digital 0 est activada, se desactivan las salidas digitales 0 y 1, pero si no est activada, se encienden todas las salidas digitales.

HAZ.HASTA[instrucciones] [condicion]Repite la lista de instrucciones tantas veces hasta que se cumpla la condicion. Primero lee el conjunto de instrucciones, de esta forma se asegura que las instrucciones se ejecutan al menos una vez antes de comprobar la condicin.La variable entradas se ha creado para guardar el valorde las entradas digitales.HAZ.HASTA [SI [:entradas_digitales=3] [salida 1]SI [:entradas_digitales=5] [salida 0]][:bucle=1]Lo primero que hace es chequear las instrucciones, que son 2 condiciones de los SI, y despus comprueba si se cumple la condicin del HAZ.HASTA, si sta se cumple no realiza ms veces las instrucciones del HAZ.HASTA.

HASTA[condicion] [instrucciones]Repite la lista de instrucciones tanta veces hasta que se cumpla la condicin. Si la condicin expresada se cumple no se ejecutan las instrucciones ni una sola vez.La variable entradas se ha creado para guardar el valorde las entradas digitales.HASTA [:bucle=1][SI [:entradas_digitales=3] [salida 1]SI [:entradas_digitales=5] [salida 0]]Primero comprueba si se cumple la condicin, si sta no se cumple evala las instrucciones del HASTA.

HAZ.MIENTRAS[instrucciones] [condicion]Repite la lista de instrucciones tantas veces como se de la condicin expresada. Primero lee el conjunto de instrucciones, de esta forma se asegura que las instrucciones se ejecutan al menos una vez antes de comprobar la condicin.La variable entradas se ha creado para guardar el valorde las entradas digitales.HAZ.MIENTRAS [SI [:entradas_digitales=3] [salida 1]SI [:entradas_digitales=5] [salida 0]][:bucle=1]Lo primero que hace es chequear las instrucciones, que son 2 condiciones de los SI, y despus comprueba si se cumple la condicin del HAZ.MIENTRAS, si sta no se cumple no realiza ms veces las instrucciones del "HAZ.MIENTRAS"

MIENTRAS[condicion] [instrucciones]Repite la lista de instrucciones tantas veces como se de la condicin. Si la condicin expresada no se cumple no se ejecutan las instrucciones ni una sola vez.La variable entradas se ha creado para guardar el valor de las entradas digitales.MIENTRAS [:bucle=1] [SI [:entradas_digitales=3] [salida 1]SI [:entradas_digitales=5] [salida 0]]Primero comprueba si se cumple la condicin, si sta se cumple evala las instrucciones del MIENTRAS.

SIEMPRE[instrucciones]Repite la lista de instrucciones de forma repetida.SIEMPRE[ escribe [Esto es un ejemplo]]Esto es un ejemploEsto es un ejemploEsto es un ejemploEsto es un ejemplo...Escribir de manera continua estas frases, hasta que sedetenga el proceso mediante la ayuda del botn ALTO.

REPITEnumero [instrucciones]Repite la lista de instrucciones tantas veces como se indica en el nmero.REPITE 3 [escribe [Esto es un ejemplo]]Esto es un ejemploEsto es un ejemploEsto es un ejemploNos muestra el texto 3 veces, que es el nmero de repeticiones que hemos indicado.

Primitivas para dibujar ventanasPRIMITIVADESCRIPCINEJEMPLO

CREAVENTANApadre nombre [titulo] pox poxy ancho alto [configuracin]Crea una ventana en la pantalla de MSWLogo.-padre es el nombre principal de la ventana.-nombre se utiliza para identificar la ventana, y este nombre ha de ser nico, ya que quizs sea padre de otra ventana.-pox poxy son las posiciones de las X y las Y respectivamente de la esquina superior izquierda de la nueva ventana.-ancho alto de la nueva ventana.-configuracin es una lista de instrucciones, esta lista puede estar vaca y aadir los controles ms tarde.CREAVENTANA principal ej[Ejemplo de ventana] 120150 287 100 []Esto crear una ventana con el nombre de ej en la cual se muestra la etiqueta de Ejemplo de ventana.El nombre del proceso padre de esta ventanase llama principal, si esta ventana se pusiera dentro de otra ventana se pondra en nombre del padre de la ventana de la cuelga.

BORRAVENTANA nombreBorra la ventana que se indica ennombre.BORRAVENTANA principalBorra la ventana padre de todas las ventanas, borrara tambin las ventanas que colgarn de esta ventana padre.BORRAVENTANA ejBorra solamente la ventana etiquetada con el nombre ej.

CREAGROUPBOX padre nombre posx posy ancho altoCrea unacaja dentro de una ventana en la que se pueden agrupar botones, botones de radio, botones de seleccin.-padre es el nombre de la ventana en la que crea el groupbox.-nombre se utiliza para identificar el groupbox y ha de ser nico.-pox posy son las posiciones de las X y las Y respectivamente de la esquina superior izquierda de izquierda del nuevo groupbox.-ancho alto del nuevoCREAGROUPBOX ejej_groupbox 5 0 274 85Crea una caja dentro de la ventana con la etiqueta ej a la cual se llama ej_groupbox.

BORRAGROUPBOX nombreBorra el groupbox que se indica en nombre.BORRAGROUPBOX ej_groupboxBorra la caja etiquetada como ej_groupbox.

CREABOTON padre nombre posx posy ancho alto [llamada]Crea un botn dentro de una ventana.-padrees el nombre de la ventana en la que crea el botn.-nombre se utiliza para identificar el botn y ha de ser nico.-pox posy son las posiciones de las X y las Y respectivamente de la esquina superior izquierda del nuevo botn.-ancho altodel nuevo botn creado.- llamada es una pequea lista de instrucciones o un nombre de un procedimiento a llamar cuandose pulsa el botn.CREABOTON ej ej_boton[Botn] 25 10 110 35 []Se crea un botn dentro de la ventana etiquetada con ej alcual se etiqueta con el nombre de ej_boton, y muestra el texto de Botn.

ACTUALIZABOTON nombre [texto]Sustituye el texto que aparece dentro del botn.-nombre se utiliza para saber que ventana cuelga.ACTUALIZABOTON ej_boton[Botn actualizado]Cambia el texto del botn etiquetado con ej_boton por la palabra Escribe en vez de por la palabra Botn actualizado.

BORRABOTON nombreBorra el botn que se indica ennombre.BORRABOTON ej_botonBorra el botn etiquetado como ej_boton.

CREABOTONRADIOpadre grupo nombre [etiqueta] posx posy ancho altoCrea un botn que da al usuario la posibilidad de seleccin de un elemento de 2 estados (verdadero o falso). Este tipo de botn tiene que estar asociado con un groupbox.-padrees el nombre de la ventana en la que creaeste botn.-grupo es el nombre del groupbox al que est asociado.-nombre se utiliza para identificar el botn y ha de ser nico.-etiqueta se utiliza como etiqueta que aparece en el nuevo botn.-pox posy son las posiciones de las X y las Y respectivamente de la esquina superior izquierda del nuevo botn.-ancho alto del nuevoCREABOTONRADIO ej ej_groupbox ej_botonradio [Esto es otro ejemplo] 25 50 120 30Crea un botn de seleccin dentro del groupbox al que se etiqueta con ej_botonradio, el cual tendr el texto Esto es un ejemplo.

BORRABOTONRADIO nombreBorra el botn que se indica ennombre.BORRABOTONRADIO ej_botonradioBorra el botn etiquetado como ej_botonradio.

CREACHECKBOX padre grupo nombre [etiqueta] posx posy ancho altoCrea un botn que da al usuario la posibilidad de seleccin de un elemento. Este tipo de botn tiene que estar asociado con un groupbox.-padre es el nombre de la ventana en la que creaeste botn.-grupo es el nombre del groupbox al que est asociado.-nombre se utiliza para identificar el botn y ha de ser nico.-etiqueta se utiliza como etiqueta que aparece en el nuevo botn.-pox posy son las posiciones de las X y respectivamente de la esquina superior izquierda del nuevo botn.-ancho alto del nuevo botn creado.CREACHECKBOX ej ej_groupbox ej_checkbox [Texto de ejemplo] 155 10110 35Crea el botn checkbox dentro del groupbox con nombre de ej_checkbox en el cual se muestra Texto de ejemplo.

BORRACHECKBOX nombreBorra el botn que se ennombre.BORREACHECKBOX ej_checkboxBorra el botn etiquetado como ej_checkbox.

CREALISTBOX padre nombre posx posy ancho altoCrea una lista de seleccin de diferentes elementos.-padre es el nombre de la ventana en la que creaeste botn.-nombrese utiliza para identificar la lista y ha de ser nico.-pox posy son las posiciones de las X y las Y respectivamente de la esquina superior izquierda de la lista.CREALISTBOX ej ej_listbox155 45 90 20Crea una lista de seleccin dentro de la ventana etiquetada como ej, a esta lista se la etiqueta como ej_listbox.

BORRALISTBOX nombreBorra la lista de seleccin que se indica ennombre.BORRALISTBOX ej_listboxBorra la lista de seleccin etiquetada como ej_listbox.

CREACOMBOBOX padre nombre posx posy ancho altoCrea una caja que se utiliza para dar al usuario una seleccin de mltiples elementos.-padre es el nombre de la ventana en la que se crea.-nombre se utiliza para identificar el botn y ha de ser nico.-pox posy son las posiciones de las X y las Y respectivamente de la esquina superior izquierda del nuevo botn.-ancho alto del nuevoCREACOMBOBOX ejej_combobox 155 55 90 20Crea una caja de mltiples elementos dentro de la ventana ej, a la cual se llamar ejcombobox.

BORRACOMBOBOX nombreBorra la caja de seleccin de mltiples elementos que se indica en nombre.BORRACOMBOBOX ejcomboboxBorra la caja de seleccin etiquetada como ej_combobox.

CREAESTATICO padre nombre [texto] posx posy ancho altoPermite mostrar dentro de una ventana un texto. Este texto se puede actualizar con la primitiva actualizaestatico.-padrees el nombre de la ventana en la que se crea.-nombrese utiliza para identificar el texto que se va a introducir en la ventana y ha de ser nico.-pox posy son las posiciones de las X y las Y respectivamente de la esquina superior izquierda de donde se va a ubicar el texto.-ancho alto del textoCREAESTATICO "ej"ej_estatico [ESTATICO] 3570 50 10Crea una ventana de texto dentro de la ventana ej a la cual se llama ej_estatico. Esta ventana contiene el texto ESTATICO.

ACTUALIZAESTATICOnombre [texto]Sustituye el texto que se crea con creaestatico.-nombre se utiliza para saber de que creaestatico cuelga.ACTUALIZAESTATICO ej_estatico [ACTUALIZADO]Actualiza eltexto dela ventana detexto esttica de ESTATICO a ACTUALIZADO.

BORRAESTATICO nombreBorra el botn esttico que se indica en nombre.BORRAESTATICO ej_estaticoBorra la ventana de texto etiquetada como ej_estatico.

Primitivas para trabajar con imgenesPRIMITIVADESCRIPCINEJEMPLO

CARGADIBruta_imagen.bmpCarga una imagen .bmp que se encuentra donde indica ruta_imagen.bmp.CARGADIB C:\\ejemplo.bmp

CARGADIBTAMAOruta_imagen.bmpDevuelve el tamao de la imagen quese indica en ruta_imagen.bmp. El tamao lo devuelve en una lista de 2 nmeros enteros [Ancho Alto].Se utiliza junto conla primitiva muestra para mostrar el resultado en pantalla.MUESTRA CARGADIBTAMAOC:\\ejemplo.bmpNos devuelve: [256 256]

GUARDADIB ruta\nombre_bitmapGuarda una imagen en formato .bmp en la ubicacin del ordenador que se especifique.GUARDADIB C:\\ejemplo.bmp

CARGAGIF ruta_imagen.gifCarga una imagen .gif que se encuentra donde indica ruta_imagen.gif.CARGAGIF C:\\ejemplo.gif

GUARDAGIF ruta\nombre_gifGuarda una imagen en formato .gif en la ubicacin del ordenador que se especifique.GUARDAGIF C:\\ejemplo.gif

Primitiva para salir de MSWLogoPRIMITIVADESCRIPCINEJEMPLO

ADIOSComando que sale de Logo, devolviendo el control al sistema operativo.ADIOS