Vous êtes sur la page 1sur 47

INTRODUCCIN A LA PROGRAMACIN Comportamientos.

Un comportamiento es cualquier cosa que su robot hace: encendido de un motor nico es una conducta, movindose adelante es un comportamiento, el seguimiento de una lnea es un comportamiento, navegar por un laberinto es un comportamiento. Hay tres tipos principales de comportamientos que tienen que ver con: conductas bsicas, comportamientos simples, y comportamientos complejos. Comportamientos bsicos. Ejemplo: Activar el Motor puerto 3 a la potencia media. En el nivel ms bsico, todo en un programa debe ser dividido en pequeas conductas que el robot es capaz de entender y llevar a cabo directamente. En ROBOTC, estos son

comportamientos del tamao de declaraciones individuales, como

encender un solo motor, o restablecer un temporizador. Comportamientos simples. Ejemplo: Se desplaza hacia adelante por 2 segundos. Tareas importantes, como moverse hacia adelante por una cierta cantidad de tiempo. Estos son quizs los comportamientos ms tiles que pensar, ya que son lo suficientemente grandes que se pueden describir acciones tiles con ellos, pero

lo suficientemente pequeo que usted puede programar fcilmente desde bsicos RobotC comandos. Comportamientos complejos. Ejemplo: Seguir una ruta definida a travs de un laberinto entero. Estos son comportamientos a los ms altos niveles, tales como navegar en un laberinto entero. Aunque puede parecer complicado, una bonita propiedad de comportamientos complejos es que son siempre compuestos de pequeos comportamientos. Si usted observa un comportamiento complejo, siempre se puede romper en comportamientos cada vez ms pequeos hasta que, finalmente, llegar a reconocer algo.

Comportamiento bsico. Este cdigo convierte el motor izquierdo a media potencia Comportamiento simple. Este cdigo hace que el robot vaya hacia delante durante 2 segundos a potencia media. Comportamiento complejo. Este cdigo hace que el robot se mueva en una esquina.

Composicin y Anlisis. Quizs la idea ms importante en los comportamientos es que se puede construir o romper en otros comportamientos. Comportamientos complejos, como ir a travs de un laberinto, siempre puede estar roto en pequeos comportamientos, los comportamientos ms simples. Estos a su vez pueden dividirse ms y ms hasta llegar a comportamientos simples o bsicos que reconocen y se puede programar. Al mirar hacia atrs en el camino de las conductas que se rompi, tambin se puede ver cmo el ms pequeo comportamiento debe ser programado de manera que se combinan de nuevo juntos, y producir un mayor comportamiento. De esta manera, el anlisis de los mapas de un comportamiento complejo a cabo las piezas que deben a programar y le permite programarlos, y ponerlos juntos para construir el producto final. Paso a paso. 1. Comience con un comportamiento gran escala que resuelve el problema. 2. Dividirlo en partes ms pequeas. A continuacin, romper las piezas ms pequeas abajo tambin. 3. Repita hasta que haya conductas que son lo suficientemente pequeas que ROBOTC pueda entender. A veces puede ser difcil determinar si un comportamiento es "simple" o "complejo". Algunos programas son tan complejos que necesitan mltiples capas de comportamientos simples antes de que lleguen los bsicos. "Bsico", "Simple" y "Complejo" son categoras de conductas que tienen por objeto ayudarlo a pensar acerca de la estructura de los programas. Son puntos de referencia en el mundo de los comportamientos. Utilice estas distinciones para ayudarle, pero no se preocupe si su "complejo" comportamiento de repente se

convierte en un "simple" parte de su prximo programa... slo debes elegir el punto de referencia eso es ms til de lo que usted necesita. Comportamiento Programacin basada en el Lenguaje Natural ROBOTC

El Lenguaje Natural ROBOTC est diseado para bajar la barrera de entrada en la sintaxis basada en programacin mediante la combinacin de mltiples comportamientos bsicos en comandos individuales. En otras palabras, los programadores pueden escribir sus programas en el "comportamiento simple" nivel, sin tener que preocuparse acerca de cada comportamiento bsico. Los nombres de estos nuevos comandos tambin estn diseados para ser ms intuitiva y ms fcil de recordar. El cdigo del ejemplo siguiente hace que el robot para realizar el mismo complejo comportamiento exacto como antes (vuelta de la esquina), pero varias lneas ms cortas y se puede entender ms fcilmente Muchos comandos adicionales estn

disponibles en el lenguaje natural de lo que parece en este cdigo de ejemplo. Comportamientos comunes tales como el seguimiento de lnea, en movimiento recto, esperando a que los valores de sensor en particular, el control remoto y otros estn disponibles. Para obtener ms informacin, haga referencia al documento ROBOTC lenguaje natural o la Ayuda integrada ROBOTC.

En ROBOTC, el lenguaje natural se puede activar mediante la seleccin en Platform type.

Pseudocdigo y diagramas de flujo.

El pseudocdigo es una notacin abreviada para la programacin que utiliza una combinacin de estructuras de programacin informales y descripciones verbales de cdigo. Se pone nfasis en la expresin de la conducta o resultado de cada porcin de cdigo en lugar de la sintaxis estrictamente correcta (s todava tiene que ser razonable, sin embargo). En general, se usa pseudocdigo para delinear un programa antes de traducirlo a la sintaxis correcta. Esto ayuda en la planificacin inicial de un programa, mediante la creacin del marco lgico y la secuencia del cdigo. Un beneficio adicional es que debido a que pseudocdigo no tiene necesidad de utilizar una sintaxis especfica, que puede ser traducido en diferentes lenguajes de programacin y es por lo tanto algo universal. Se captura la lgica y el flujo de una solucin sin la mayor parte de las reglas de sintaxis estrictas.

A continuacin se muestra algunos pseudocdigo escrito para un programa que se mueve todo el tiempo que un sensor de contacto no es presionado, pero se detiene y gira a la derecha si su sonar detecta un objeto a menos de 20 pulgadas de distancia.

Algunas sintaxis intactas. El uso de un bucle while que en el pseudocdigo es apropiado porque las maneras de leer un bucle while es muy similar a la manera en que se utiliza en el programa. Descripciones. No hay rdenes motoras actuales en esta seccin del cdigo, pero el pseudocdigo sugiere que los comandos pertenecen y lo que necesitan para llevar a cabo.

Este ejemplo de pseudocdigo incluye elementos tanto de lenguaje de programacin y el lenguaje Ingls. Las llaves se usan como una ayuda visual para que las porciones de cdigo que necesitan ser colocadas cuando finalmente se escriban en la sintaxis completa y adecuada. Pseudocdigo y diagramas de flujo. Diagramas de flujo son una representacin visual del flujo del programa. Un diagrama de flujo que normalmente utiliza una combinacin de bloques y flechas

para representar acciones y la secuencia. Los bloques suelen representar acciones. El orden en que se producen las acciones se muestra con flechas que apuntan a la declaracin de estado de cuenta. A veces un bloque habr varias flechas que salen de l, lo que representa un paso en el que se debe una decisin tomada sobre qu camino seguir. Inicio y Fin. Los smbolos se representan como rectngulos redondeados, por lo general contiene la palabra "Start" o "Stop", pero puede ser ms especfico como "Robot Power Off" o "Stop All Motors". Las acciones se representan como rectngulos y actan como comandos bsicos. Ejemplos: "wait1Msec (1000)", "incremento LineCount por 1 ", o" motores a toda mquina". Bloques de decisin se representan como rombos. Estos suelen contener preguntas s / no. Los bloques de decisin tienen dos o ms flechas que salen de ellos, en representacin de los diferentes caminos que se pueden seguir, en funcin del resultado de la decisin. Las flechas siempre deben estar etiquetadas en consecuencia. A la derecha est el diagrama de flujo de un programa que le indica a un robot a correr hacia adelante, siempre y cuando su sensor de toque no est presionado. Cuando el sensor tctil se pulsa la parada de los motores y el programa finaliza.

Para leer el diagrama de flujo: Comience en la pantalla "Start" del bloque y siga la flecha hacia abajo a la "decisin" de bloque. El bloque de decisin comprueba el estado del sensor de toque contra dos resultados posibles: el sensor de contacto es presionado o no. Si el sensor de contacto no es presionado, el programa sigue el "No" de flecha para el bloque de accin de la derecha, que le dice a los motores a correr hacia adelante. La flecha que sale del bloque que apunta hacia arriba y alrededor, y termina de nuevo en el bloque de decisin. Esto forma un bucle El bucle puede terminar repetir muchas veces, siempre que el sensor tctil permanece sin prensar. Si el sensor de contacto es presionado, el programa sigue el "S" de flecha y detiene los motores, a continuacin, finaliza el programa.

Pensando en programar, Programador y Robot En esta leccin, usted aprender sobre las funciones del programador y el robot, y como los dos deben trabajar juntos con el fin de lograr sus objetivos. Los robots estn obligados a realizar tareas tiles. Cada uno est diseado para resolver un problema especfico, de una manera especfica. Robotic Tractor. Problema: seguridad a Maneje travs de con un

campo que puede contener obstculos. Solucin: destino, desvos Mover haciendo si se hacia el

pequeos detectan

cualquier obstculo.

Robot Laberinto Problema: laberinto. Solucin: Moverse a lo largo de una trayectoria predeterminada en segmentos cronometrados. Atraviesa el

Echemos un vistazo ms de cerca el robot Laberinto. Cmo encontrar su camino a travs del laberinto? Cmo sabe cmo hacerlo?

Problema---------------------???????-------------------Objetivo alcanzado

Creacin de un robot con xito hace falta un esfuerzo de equipo entre los humanos y las mquinas.

Papel del Robot El robot sigue las instrucciones que se dan, por lo tanto llevar a cabo el plan.

El papel del programador. El programador humano identifica la tarea y planea una solucin, entonces le explica al robot lo que tiene que hacer para alcanzar la meta.

El humano y el robot realizan las tareas juntos al dividir las responsabilidades. El programador humano debe llegar con el plan y la transmitir al robot. El robot debe seguir el plan.

Porque los seres humanos y los robots no suelen hablar el mismo idioma, un lenguaje especial debe ser utilizado para traducir las instrucciones necesarias de humano a robot. Estos lenguajes de humano a robot se llaman lenguajes de programacin. Instrucciones escritas en ellos se llaman programas. ROBOTC es slo uno de los muchos lenguajes de programacin tales que los seres humanos utilizamos para hablar con las mquinas.

Fin de la seccin. Los humanos y los robots se comunican mediante el uso de lenguajes de programacin tales como ROBOTC. Un ser humano que escribe un programa que se llama programador. La tarea del programador es identificar el problema de que el robot debe resolver, crear un plan para resolverlo, y convertir ese plan en un programa que el robot pueda entender. El robot se ejecutar el programa y siga las instrucciones para realizar la tarea. Un robot slo puede seguir su programa. No puede pensar por s mismo! Del mismo modo que no puede ser ms fuerte de lo que se construye, el robot no puede ser ms inteligente que el programa que un programador humano dio. Usted, como programador, ser responsable de planificar y describir al robot exactamente lo que tiene que hacer para cumplir con su tarea. Pensando en la programacin (planificacin y comportamientos). En esta leccin, usted aprender cmo pensar en trminos de

"comportamientos" te puede ayudar a ver la lgica detrs de las acciones de su robot, y romper un gran plan en partes prcticas. Los comportamientos son una manera conveniente de hablar de lo que es un robot que hace y lo que debe hacer. Moverse, girar, buscando un obstculo... estos son todos los comportamientos.

a) a) Comportamiento complejo

b)

Algunos comportamientos son grandes, al igual que "resolver el laberinto."

b) Comportamiento bsico o simples. Algunos comportamientos son pequeos, como "ir hacia adelante durante 3 segundos." Comportamientos grandes son en realidad un conjunto de estos ms pequeos. Cuando se inicie la programacin, tambin debe empezar a pensar en las acciones del robot en trminos de comportamientos. Recordemos que como programador, sus principales responsabilidades son: En primer lugar, para llegar a un plan para el robot para llegar a la meta. En segundo lugar, traducir ese plan en un programa que el robot puede seguir. El plan ser simplemente la secuencia de comportamientos que el robot tiene que seguir. El programa sern aquellos comportamientos traducidos al lenguaje de programacin.

1. examine problema Para encontrar una solucin, comenzar por examinar el problema. Aqu, el problema es conseguir desde el punto de partida (1) para el objetivo (2).

2. solucin Tratar de ver lo que el robot tiene que hacer, en un nivel alto, para lograr el objetivo. Visto que el robot siga la ruta que se muestra en el lado izquierdo, por ejemplo, podra resolver el problema. Usted acaba de identificar el primer comportamiento que necesitas. Antelo. 3. Romper solucin en pequeas comportamientos Ahora, empezar a tratar de romper ese comportamiento en partes ms pequeas. Siguiendo este camino implica mover hacia adelante y luego girar, entonces moverse hacia adelante por una distancia diferente, a continuacin, girar la otra manera, y as sucesivamente. Cada una de estas acciones ms pequeas es tambin un

comportamiento. Escrbalas abajo tambin.

Asegrese de que usted los mantiene en la secuencia correcta.

4. Romper en pedazos an ms pequeos Si a continuacin se descomponen estos comportamientos en pedazos an ms pequeos, tendrs comportamientos

cada vez ms pequeos, con ms y ms detalle. Lleve un registro de ellos sobre la marcha. Finalmente, se llega a comandos que se pueden expresar directamente en el lenguaje de programacin. Por ejemplo, ROBOTC tiene un comando para encender un motor. Al llegar a una conducta que dice para encender un motor, puede dejar de romper hacia abajo porque es ms listo de traducir.

Paso a paso. 1. Comience con un comportamiento a gran escala que resuelve el problema. 2. Dividirlo en partes ms pequeas. A continuacin, romper las piezas ms pequeas abajo tambin. 3. Repita hasta que haya conductas que son lo suficientemente pequeos que ROBOTC pueda entender. Cuando todas las piezas han llegado a un nivel de detalle que se puede trabajar con ROBOTC - como las de los "ROBOTC comportamientos listos " lista de arriba - echar un vistazo a la lista que ha hecho. Estos comportamientos, en el orden y la forma que lo has especificado, son el plan de que el robot debe seguir para lograr el objetivo. Debido a que estos pasos se siguen escribiendo en Ingls, que debera ser relativamente fcil para el programador humano pueda entender. A medida que el programador se vuelve ms experimentado, la organizacin de los

comportamientos en Ingls comenzar a incluir tcnicas importantes del lenguaje de programacin en s, como if-else y loops. Este lenguaje hbrido, a medio camino entre el Ingls y el lenguaje de programacin, se llama pseudocdigo. Es una herramienta importante para ayudar a mantener los programas ms grandes

comprensibles.

Pseudocdigo simple. Su lista de comportamientos para llevar a cabo en un orden especfico son una forma sencilla de pseudocdigo.

Ms tarde pseudocdigo. A medida que sus habilidades de programacin crecer, su pseudocdigo incluir una lgica ms compleja. Pero todava tienen el mismo propsito: ayudar a encontrar y expresar los comportamientos del robot sencillo necesarios en Ingls.

Espacio en blanco Espacio en blanco es el uso de espacios, tabuladores y lneas en blanco para organizar visualmente el cdigo. Los programadores usan espacios en blanco, ya que puede agrupar cdigo en partes sensibles, legibles sin afectar a cmo el cdigo es ledo por una mquina. Por ejemplo, un programa que ejecute un robot hacia delante durante 2 segundos, y luego hacia atrs durante 4 segundos, se vera as cualquiera de los siguientes:

Ambos programas realizan lo mismo, sin embargo, la segunda utiliza un espacio en blanco para organizar el cdigo para separar el programa dos comportamientos principales: avanza y se mueve en sentido inverso. En este caso, los saltos de lnea (retorno) se utiliza para segmentar las tareas verticalmente. Horizontales espacios en blanco y tabuladores como espacios tambin son importantes. A continuacin, el espacio en blanco se utiliza en forma de muescas para indicar que las lneas estn dentro de la cual las estructuras de control (task main, while loop, if-else).

Palabras reservadas. Motores. Control del motor y algunos comandos de ajuste. motor[output] = power; Esto convierte a la referencia de salida VEX motor encendido o apagado y al mismo tiempo establece su nivel de potencia. El VEX tiene 8 salidas de motor: port1, Port2... hasta port8. El VEX admite encendido a niveles de -127 (hacia atrs) a 127 (hacia delante). A nivel de potencia de 0 har que los motores se detengan.

bMotorReflected[output] = 1; (or 0;) Cuando se establece igual a uno, este cdigo se invierte la rotacin del motor se hace referencia. Una vez establecido, el motor de referencia se invertir para todo el programa (o hasta que bMotorReflected [ ] se fija igual a cero). Esto es til cuando se trabaja con motores que estn montados en direcciones opuestas, lo que permite al programador utilizar el mismo nivel de potencia para cada motor. Hay dos ajustes: 0 es normal, y 1 es inverso. Usted puede utilizar el "verdadero" para 1 y "falso" por 0.

Sincronizacin. El VEX permite el uso de comandos de espera para insertar retrasos en su programa. Tambin es compatible con los temporizadores, que funcionan como cronmetros, sino que cuentan el tiempo, y se puede restablecer cuando desee iniciar o reiniciar el tiempo de seguimiento transcurrido. wait1Msec(wait_time); Este cdigo har que el robot que espere un determinado nmero de milisegundos antes de ejecutar la siguiente instruccin en un programa. "wait_time" es un valor entero (donde 1 = 1/1.000 de un segundo). Mximo tiempo de espera es 32768, o 32,768 segundos.

wait10Msec(wait_time); Este cdigo har que el robot que espere un determinado nmero de centsimas de segundo antes de ejecutar la siguiente instruccin en un programa. "Wait_time" es un valor entero (donde 1 = 1/100th de un segundo). Mximo tiempo_espera es 32768, o 327,68 segundos.

time1[timer]; Este cdigo devuelve el valor actual del temporizador de referencia como un nmero entero. La resolucin de "tiempo1" es en milisegundos (1 = 1/1.000 de segundo). La cantidad mxima de tiempo que se puede hacer referencia es 32,768 segundos (~ 1/2 minuto). El VEX tiene 4 temporizadores internos: T1, T2, T3 y T4

time10[timer]; Este cdigo devuelve el valor actual del temporizador de referencia como un nmero entero. La resolucin de "tiempo10" est en centsimas de segundo (1 = 1/100th de un segundo). La cantidad mxima de tiempo que se puede hacer referencia es 327,68 segundos (~ 5,5 minutos). El VEX tiene 4 temporizadores internos: T1, T2, T3 y T4

time100[timer]; Este cdigo devuelve el valor actual del temporizador de referencia como un nmero entero. La resolucin de "time100" es en dcimas de segundo (1 = 1/100 de un segundo).

La cantidad mxima de tiempo que se puede hacer referencia es 3276,8 segundos (~ 54 minutos). El VEX tiene 4 temporizadores internos: T1, T2, T3 y T4.

ClearTimer(timer); Esto restablece el temporizador hace referencia de nuevo a cero segundos. El VEX tiene 4 temporizadores internos: T1, T2, T3 y T4.

SensorValue(sensor_input) SensorValue se utiliza para hacer referencia al valor entero del puerto sensor especificado. Los valores se corresponden con el tipo de sensor configurado para ese puerto. El VEX tiene 16 entradas analgicas / digitales: in1, in2... a in16.

Sonidos. El VEX puede reproducir sonidos y tonos utilizando un altavoz externo piezoelctrico conectado a un puerto del motor. PlayTone(frequency, duration); Esto reproduce un sonido a travs del altavoz interno VEX a una frecuencia especfica (1 = 1 hertz) durante un perodo especfico (1 = 1/100th de un segundo).

Radio Control. ROBOTC te permite controlar tu robot mediante la entrada del transmisor de radio control. bVexAutonomousMode Cambia el valor a 0 para activar el radio o 1 para la radio con discapacidad (autnomos modo). Tambin puede utilizar el "true" para 1 y "false" por 0.

vexRT[joystick_channel] Este comando recupera el valor del canal especificado que se transmite. Si el receptor de RF est conectado a Rx 1, aplican los siguientes valores:

Si el receptor de RF est conectado a Rx 2, los valores siguientes:

Miscelneo. Varios comandos tiles que no son parte de la lengua estndar C srand(seed);

Define el valor entero de la "seed" que se utiliza en el comando random() para generar un nmero aleatorio. Este comando es opcional cuando se usa el comando random(), y har que la misma secuencia de nmeros que se genera cada vez que se ejecuta el programa.

random(value); Genera un nmero aleatorio entre 0 y el nmero especificado en su parntesis.

Estructuras de Control Las estructuras del programa de control en ROBOTC habilitar un programa para controlar su flujo fuera de la parte superior de la moda tpica de fondo. task main(){} Crea una tarea llamada "main" necesaria en cada programa. task main es responsable de la ejecucin del cdigo dentro de un programa. while(condition){} Se usa para repetir {una seccin de cdigo} mientras se mantiene en cierto (la condicin) true. Un bucle while infinito puede ser creado para asegurar que la condicin se cumple siempre, por ejemplo, "1 == 1" o "true".

if(condition){}/else{} Con este comando, el programa verificar la (condicin) dentro del parntesis de la declaracin if y luego ejecutara uno de los dos conjuntos del cdigo. Si la (condicin) es verdadera, el cdigo dentro de las llaves declaracin if ser ejecutado. Si la (condicin) es falsa, el cdigo dentro de las llaves de la declaracin else se llevar a cabo en su lugar. La condicin else no es necesaria para utilizar una sentencia if.

Tipos de datos. Los diferentes tipos de informacin requieren diferentes tipos de variables para retenerlos. int Este tipo de datos se utiliza para almacenar valores enteros que van -32768 a 32768

El cdigo anterior tambin se puede escribir:

bool Este tipo de datos se utiliza para almacenar valores booleanos de cualquiera 1 (cierto) o 0 (tambin falso)

char Este tipo de datos se utiliza para almacenar un solo carcter ASCII, especificado entre un conjunto de comillas simples.

Comentarios. Comentando un programa que consiste en utilizar un texto descriptivo para explicar porciones de cdigo. El compilador y el robot ignoran los comentarios cuando se ejecuta el programa, lo que permite al programador dejar notas importantes en formato no-code, justo al lado del cdigo del programa en s. Esto se considera un estilo de programacin muy buena, ya que reduce el potencial de confusin ms tarde cuando otra persona (o incluso usted) puede necesitar leer el cdigo. Hay dos formas de marcar una seccin de texto como comentario en lugar de cdigo normal:

A continuacin se muestra un ejemplo de un programa con comentarios de una o varias lneas. El texto como comentario se vuelve verde.

"Comentando" Cdigo Los comentarios tambin a veces se usa para temporalmente "desactivar" el cdigo de un programa sin eliminarlo. En el siguiente programa, el programador tiene cdigo se ejecute directamente y luego girar a la derecha. Sin embargo, con el fin de probar slo la primera parte del programa, el programador hace el segundo comportamiento en un comentario, de modo que el robot lo ignora. Cuando el programador se realiza probando el primer comportamiento, l / ella va a quitar las marcas de comentario / / para volver a habilitar el segundo comportamiento en el programa.

Mensajes de error en ROBOTC. ROBOTC tiene un compilador integrado que analiza sus programas para identificar los errores de sintaxis, errores de capitalizacin y ortografa, y la ineficiencia del cdigo (como las variables utilizadas). El compilador se ejecuta cada vez que se descarga el cdigo para el robot y cuando usted decide compilar el programa desde el men Robot en ROBOTC. Notificaciones relativas a los errores, advertencias e informacin importante sobre el compilador encuentra se muestran en la pantalla de visualizacin de errores de la interfaz ROBOTC.

Los errores muestran informes en pantalla el nmero de errores en el cdigo, as como sus tipos. Haciendo doble un mensaje del compilador en la pantalla de error resaltar la lnea correspondiente del cdigo del programa. Dependiendo del tipo de error, ROBOTC slo ser capaz de seleccionar la ubicacin aproximada. Por ejemplo, en el ejemplo anterior la falta punto y coma es en la lnea 7 pero ROBOTC destacar lnea 8.

ROBOTC genera tres tipos de mensajes del compilador: errores, advertencias e informacin: Errores: Ha habido un problema en el programa que le ha impedido compilar. Estos son por lo general las palabras mal escritas, punto y coma que faltan, y la sintaxis incorrecta. Los errores se indican con una X roja Advertencias: Haba un pequeo problema con el programa, pero el compilador fue capaz de solucionar o ignorarla. Estos suelen ser incorrectas capitalizaciones o bucles vacos infinitos. Las advertencias se indican con una X amarilla Informacin: ROBOTC generar mensajes de informacin cuando se piensa que han declarado funciones o variables que no se utilizan en el programa. Estos mensajes le informar acerca de la programacin ineficiente. Los mensajes de informacin se indican con una X blanca Mensajes de error comunes. Los mensajes de error para evitar que su programa se compile y cargue a su robot. Debe corregir cualquier y todos los mensajes de error en su programa antes de descargarlo en el robot. Adems, los mensajes de error pueden tener un efecto "onda", los errores en el inicio de su programa puede provocar errores posteriores en el cdigo. Debido a esto, se recomienda hacer una correccin de errores en el comienzo de su primer programa, volver a compilar el cdigo y corregir cualquier error.

La mayora de los mensajes de error se deben a errores ortogrficos y palabras reservadas sintaxis incorrecta. Muchos de estos errores se pueden evitar arrastrando los comandos de la biblioteca de funciones en sus programas RobotC. En el siguiente ejemplo, la T en la tarea principal se escribe con mayscula, causando mltiples errores posteriores y las advertencias que aparezcan en la pantalla de visualizacin de errores.

En situaciones como stas, se recomienda que intente corregir el primer error en el programa antes de continuar. El primer mensaje de error dice "** Error **: Undefined variable 'Task'. "short" assumed. Cuando las palabras "Underfined variable "aparecen en pantalla los errores en la pantalla, indica que ROBOTC no reconoce la palabra especificada, y el hecho de que la tarea es de color negro en lugar de azul al igual que otras palabras reservadas RobotC tambin indica que ROBOTC no lo reconoce. Para corregir este error, deber cambiar la mayscula T con t minscula en la tarea, y volver a compilar el cdigo. El compilador reevaluar su cdigo y generar un nuevo conjunto de notificaciones.

Mensajes de error comunes. El siguiente ejemplo contiene dos errores de sintaxis: missing curly braced { en la lnea 2 y un semicolon que falta en la lnea 6. Una vez ms, usted debe tratar de corregir el primer error en el programa antes de continuar.

El primer mensaje de error aparece en la lnea 4, que dice "** Error **: Se espera-> '{'. Encontrado 'int' ". Cuando la palabra "Expected->" aparece en la pantalla de visualizacin de errores, por lo general indica que una parte de la sintaxis no se encuentra. En este caso, se espera que encontrar la llave que falta inmediatamente despus de la tarea main (), pero no encontr la palabra reservada int en lugar. Para corregir este error, se debe aadir la llave de apertura en la lnea 2 y luego volver a compilar el cdigo. Despus de volver a compilar el cdigo, cualquier error en la pantalla. Puntos y comas que faltan tambin mostrar un "Expected->" mensaje de error de estilo, pero observe que el error de la falta punto y coma en la lnea 6 aparece en la lnea 7. Esto se debe a que el compilador ignora los espacios en blanco (lneas en blanco, espacios y tabuladores), pero se espera un punto y coma antes de que se

encontr con el comando wait. Para corregir este error, se debe aadir un punto y coma despus de la orden forward.

En el ejemplo de abajo, el compilador ROBOTC no reconoce los comandos forward, wait o stop. Los mensajes de error que comienzan con "** Error **: Undefined procedure" indican que ROBOTC no reconoce el comando.

Hay dos causas principales de este error: 1. El comando est mal escrito. 2. La plataforma correcta Tipo ROBOTC no est seleccionada.

Para corregir este error: 1. Compruebe que la ortografa y uso de maysculas es correcta. 2. Compruebe que tiene el adecuado tipo de plataforma seleccionada. Si est utilizando comandos de lenguaje natural, debe tener el tipo de lenguaje Plataforma Natural seleccionado.

Los mensajes de advertencia comunes. Los mensajes de advertencia se utilizan para que le notifique acerca de la programacin posible y errores lgicos en el programa. Con los mensajes de advertencia, el compilador es capaz de solucionar los problemas o ignorar lo que no impedir que su programa de compilar o descargar a tu robot. Una ocurrencia comn de mensajes de advertencia son bucles infinitos vacos en el cdigo. En el siguiente ejemplo, el bucle infinito se crea, sin cdigo incrustado dentro del bucle para que deje de repetir siempre. Esto se considera una advertencia, en lugar de un error, debido a que es un cdigo vlido y puede utilizar de manera intencionada por un programador.

El mensaje de advertencia le informar de que hubo un error de programacin causado por un bucle infinito: "* Warning *: Posible error de programacin. Bucle infinito (salto incondicional a s mismo) detectado".

Si se crea un bucle infinito era su intencin, no es necesario para corregir este mensaje. Si no fuera intencional, puede: 1. Incluya el cdigo dentro de las llaves del bucle while, para que se repita. 2. Cambiar la condicin del bucle, mientras que, de modo que no se repite siempre. En el siguiente ejemplo, los comandos forward y stop estn mal capitalizados. El compilador ROBOTC es capaz de sustituir en las formas correctas de los comandos, sino que utiliza los mensajes de advertencia para notificarle de la sustitucin. Tenga en cuenta que no corrige la capitalizacin en el cdigo, slo lo enva al robot. Una vez ms, el mensaje de advertencia real que informar acerca de la sustitucin: "*Warning *: Sustituyendo variable similar 'forward' para 'Forward'. Revisar la ortografa y maysculas. "

Los mensajes de informacin comunes. Los mensajes de informacin no impedir que su programa se compile o descargue a tu robot. Slo se le notificar en cuanto a posibles ineficiencias en el cdigo. El caso ms comn de mensajes de informacin son las variables utilizadas en el cdigo. En el siguiente ejemplo, la variable entera speed se crea y se inicializa, pero nunca realmente es utilizada en el programa. Esto se indica en la pantalla con errores en la pantalla el mensaje: "" speed "est escrito pero no tiene referencias de lectura".

No es necesario corregir este mensaje, pero se puede de dos formas: 1. Elimine el cdigo en la lnea nmero 4, borrando la variable. 2. Llamar a speed variable en el comando forward en la lnea 6, en lugar del nmero entero 63. Manejo de otros mensajes de error. Aprender a programar robots no es fcil, no es diferente que el aprendizaje de una lengua extranjera. En este documento se explica cmo manejar algunos de los errores ms comunes y los mensajes de error que puede encontrar, pero es posible que encuentre otros. Dicho esto, he aqu algunas reglas generales para hacer frente a todos los mensajes de error. Determinar si el mensaje es un error, una advertencia, o simplemente informacin. El mensaje no puede incluso requerir un trabajo adicional. Lea el mensaje de error en busca de pistas. Los mensajes de error no son siempre lo ms intuitivo, pero siempre contienen alguna informacin sobre lo que el compilador encuentra. Cuando el programa contiene mltiples errores, corregirlos uno a la vez, volver a compilar el cdigo despus de cada revisin. El efecto onda puede hacer que parezca que hay errores, incluso si el resto de su programa es perfecto. Pseudocdigo, Asegrese de tener un plan en su lugar antes de intentar escribir un programa complejo. De esa manera usted puede resolver la lgica en primer lugar, sin tener que preocuparse por ello y la sintaxis, la ortografa y las maysculas al mismo tiempo.

Programacin en ROBOTC. Reglas ROBOTC En esta leccin, usted aprender las reglas bsicas para escribir programas RobotC. ROBOTC es un lenguaje de programacin basado en texto. Comandos al robot se escriben primero en forma de texto en la pantalla. Entonces se procesan por el compilador ROBOTC en un archivo de lenguaje de mquina que el robot pueda entender. Finalmente, se cargan en el robot, en donde se puede ejecutar.

Programa

Cdigo:

Comandos

al

robot escrito como el texto.

Texto escrito como parte de un programa que se llama cdigo. Al escribir cdigo como se escribe texto normal. Tenga en cuenta que la capitalizacin es importante para el equipo. Sustitucin de una letra minscula con una letra mayscula (o una letra mayscula con una letra minscula) har que el robot se confunda.
Capitalizacin: Capitalizacin (prestando atencin a MAYSCULAS vs minsculas) es importante en ROBOTC. Si capitalizar la "T" en la tarea, ROBOTC ya no reconoce este comando.

A medida que escribe, ROBOTC a tratar de ayudar al colorear las palabras que reconoce. Si una palabra aparece en un color diferente, significa ROBOTC lo reconoce como una palabra importante en el lenguaje de programacin.

Cdigo colorea

de

colores:

RobotC las

automticamente

palabras clave que reconoce. Compare esto correctamente

capitalizado "task" de comandos con la versin incorrecta capitalizado en el ejemplo anterior. El correcto se reconoce como un comando y se vuelve azul. Ahora, vamos a ver algunas de las partes importantes del cdigo del programa en s. Las declaraciones son las instrucciones para el robot. El tipo ms bsico de la declaracin en ROBOTC simplemente le da una orden al robot. El motor [port3] = 127; declaracin en el programa de ejemplo que ha descargado es una declaracin simple que da una orden. Se instruye al motor conectado al puerto 3 del motor para encender a plena potencia.
Mencin simple: Un comando sencillo para el robot. Esta instruccin indica el robot para encender el motor conectado al puerto 3 del motor a plena potencia. Mencin simple (2): Esto tambin es una declaracin simple. Le dice al robot que espere 3000 milisegundos (3 segundos).

Las instrucciones se ejecutan en orden lo ms rpidamente que el robot es capaz de llegar a ellos. La ejecucin de este programa en el robot enciende el motor, entonces espera a 3000 milisegundos (3 segundos) con el motor an en marcha, y luego termina.

Secuencia: Las declaraciones se ejecutan en el orden de lectura (de izquierda a derecha y de arriba a abajo). Tan pronto como un comando est completo, el siguiente se ejecute. Estas dos

declaraciones que el motor se encienda (primer comando). El robot comienza inmediatamente una espera de tres

segundos (segunda orden), mientras que los motores permanecen encendidos. End: Cuando se ejecuta el programa de declaraciones y alcanza el smbolo } en la tarea principal, paran los motores y los fines del programa.

Cmo sabemos que ROBOTC motor [port3] = 127 y wait1msec [3000] fueron dos comandos separados. Fue porque apareci en dos lneas diferentes? No. Los espacios y saltos de lnea de ROBOTC slo se utilizan para separar las palabras entre s en varios comandos. Los espacios, tabuladores y lneas no afectan a la forma en que se interpreta un programa por la mquina. Los espacios en blanco: Los espacios, tabuladores y saltos de lnea son por lo general poco importante para ROBOTC y el robot. A veces se necesita para separar las palabras de varios comandos. As que por qu estn en lneas separadas? Para el programador. Los lenguajes de programacin estn diseados para los seres humanos y las mquinas para comunicarse. Con espacios, tabuladores y lneas ayuda a los programadores

humanos leer el cdigo con ms facilidad. Hacer buen uso de espacio en su programa es un hbito muy bueno para su propio bien.
Sin espacios en blanco: Para

ROBOTC, este programa es el mismo que el ltimo. Para el programador humano, sin embargo, esto es cerca de galimatas. El espacio en blanco se utiliza para hacer que los programas legibles para los humanos.

Pero qu pasa con ROBOTC? Cmo lo saba cuando una declaracin termin y comenz el otro? Saba por punto y coma (;) al final de cada lnea. Cada sentencia termina con un punto y coma. Es como el punto al final de una oracin.

Punto y coma: Al igual que en perodos de una frase Ingls, punto y coma marca el final de cada declaracin ROBOTC.

Control. Las declaraciones son rdenes para el robot. Cada sentencia termina con un punto y coma para que ROBOTC pueda identificar. Cada instruccin se escribe normalmente en su propia lnea para hacer ms fcil para los seres humanos a leer. Instrucciones se ejecutan en el orden de lectura, de izquierda a derecha y de arriba a abajo. Cada instruccin se ejecuta tan pronto como el anterior es completada. Cuando no hay declaraciones ms, el programa termina.

ROBOTC utiliza puntuacin mucho ms que Ingls. La puntuacin en lenguajes de programacin se utiliza generalmente para separar reas importantes de cdigo de la otra. La mayora de puntuacin ROBOTC viene en pares. Pares de puntuacin, como los parntesis y corchetes en estos dos estados, se usan para delimitar las zonas especiales de cdigo. Cada par puntuacion consiste en un signo de puntuacion de apertura y cierre de una marca de puntuacion. La pareja puntuacion designa la zona comprendida entre los que tienen un significado especial para el comando que forman parte.
Par Puntuacin: Los corchetes [] El cdigo escrito entre los corchetes del comando del motor indica que el motor del comando debe utilizar. En este caso, es el motor en el puerto 3. Par Puntuacin: Los parntesis () El cdigo escrito entre los parntesis de la orden wait1Msec debe decirle esperar cuntos antes de

milisegundos

comenzar un nuevo comando. En este caso, se espera 3000 milisegundos, o tres segundos.

Vinculados signos de puntuacin (como corchetes y parntesis) se utilizan siempre juntos. Rodean especficas partes importantes de una declaracin para diferenciarse. Comandos diferentes hacen uso de diferentes tipos de puntuacion emparejado. El comando motor utiliza corchetes y el comando wait1Msec usa parntesis. Esto es slo la forma en que los comandos se establezcan. Usted tendr que acordarse de usar la puntuacin correcta con los comandos de la derecha o del plan.

Declaraciones simples hacen el trabajo en ROBOTC, pero las estructuras de control de hacen el pensamiento. Control structures (o sentencias de control) son fragmentos de cdigo que controlan el flujo de rdenes del programa, en lugar de dar rdenes directas al robot. Declaraciones simples slo se puede ejecutar una tras otra en orden. Sin embargo, las estructuras de control permiten que el programa para elegir el orden en que las sentencias se ejecutan. Por ejemplo, una estructura de control puede indicar al programa que elegir entre dos grupos diferentes de declaraciones y slo se ejecuta uno de ellos. A veces, las estructuras de control repite un grupo de instrucciones una y otra vez. Una estructura de control importante es task main. Cada programa ROBOTC incluye una seccin especial llamada task main. Esta estructura de control determina que el cdigo del robot se ejecuta como parte del programa principal.
Estructura de control: task main. La estructura de control task main dirige el programa con el cuerpo principal del cdigo. Al hacer clic en el botn Inicio en ROBOTC o encender el robot, el programa pasa inmediatamente a la tarea principal y se ejecuta el cdigo que encuentra all. Las llaves izquierda y derecha {} pertenecen a la estructura de la tarea principal. Rodean los comandos que se ejecutan en el programa.

Estructura de control: bucle while. El bucle while repite el cdigo entre las llaves {},

siempre y cuando se cumplan ciertas condiciones. Normalmente, los estados se ejecuten slo una vez. Pero con un bucle while, se les puede decir a repetir una y otra vez durante todo el tiempo que quieras

Control structures, como task main determinan qu lneas de cdigo se ejecute y especificar cundo se ejecutan. Ellos controlan el orden en que se ejecutan los comandos en su programa. Las estructuras de control permiten al robot tomar decisiones y responder inteligentemente a su entorno. Los lenguajes de programacin estn destinados a ser ledos por los seres humanos y las mquinas. A veces, un programador necesita escribir una nota para otros lectores humanos para ayudarles a entender lo que hace el cdigo. ROBOTC permite observaciones que se hicieron para este propsito. Los comentarios son texto que el programa ignora. Un comentario puede contener notas, mensajes y smbolos que pueden ayudar a un ser humano, pero no tendra sentido para el robot. ROBOTC simplemente salta sobre ellos.

Los comentarios aparecen en verde en ROBOTC.


Comentarios: lnea / / Single Cualquier seccin de texto que sigue a una / / (dos caracteres de barra hacia adelante) en una lnea se considera como un comentario. Cualquier texto a la izquierda de la / / se trata como cdigo normal. Comentarios: / * Cualquier longitud * / Un comentario puede ser creado en ROBOTC utilizando otro tipo de puntuacion vinculado, que comienza con / * y termina con * / Este tipo de comentario puede abarcar varias lneas, as que asegrese de incluir tanto la apertura y cierre de las marcas

Fin de la seccin. Lo que acabamos de ver son algunas de las caractersticas principales del lenguaje ROBOTC. El cdigo se introduce como texto, que se basa declaraciones. Las declaraciones se utilizan para emitir rdenes a los robots. Las estructuras de control que decidir sentencias que se ejecutarn en qu momento. Puntuacin, tanto individual como puntos y comas y vinculado como parntesis, se utiliza para apartar una parte importante de los comandos. Una serie de caractersticas en el cdigo ROBOTC estn diseados para ayudar a los humanos, ms que el robot. Comentarios permiten a los programadores dejar notas para s mismos y los dems. Los espacios en blanco como tabulaciones y espacios ayuda a mantener tu cdigo organizado y legible.

Vous aimerez peut-être aussi