47
INTRODUCCIÓN A LA PROGRAMACIÓN Comportamientos. Un comportamiento es cualquier cosa que su robot hace: encendido de un motor único es una conducta, moviéndose adelante es un comportamiento, el seguimiento de una línea es un comportamiento, navegar por un laberinto es un comportamiento. Hay tres tipos principales de comportamientos que tienen que ver con: conductas básicas, comportamientos simples, y comportamientos complejos. Comportamientos básicos. Ejemplo: Activar el Motor puerto 3 a la potencia media. En el nivel más básico, todo en un programa debe ser dividido en pequeñas conductas que el robot es capaz de entender y llevar a cabo directamente. En ROBOTC, estos son comportamientos del tamaño 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 quizás los comportamientos más útiles que pensar, ya que son lo suficientemente grandes que se pueden describir acciones útiles con ellos, pero

Introducción a la programación

  • Upload
    jox1106

  • View
    163

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Introducción a la programación

INTRODUCCIÓN A LA PROGRAMACIÓN

Comportamientos.

Un comportamiento es cualquier cosa que su robot hace: encendido de un motor

único es una conducta, moviéndose adelante es un comportamiento, el

seguimiento de una línea es un comportamiento, navegar por un laberinto es un

comportamiento.

Hay tres tipos principales de comportamientos que tienen que ver con: conductas

básicas, comportamientos simples, y comportamientos complejos.

Comportamientos básicos.

Ejemplo: Activar el Motor puerto 3 a

la potencia media. En el nivel más

básico, todo en un programa debe

ser dividido en pequeñas conductas

que el robot es capaz de entender y

llevar a cabo directamente.

En ROBOTC, estos son

comportamientos del tamaño 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 quizás los comportamientos más útiles que pensar, ya que son

lo suficientemente grandes que se pueden describir acciones útiles con ellos, pero

Page 2: Introducción a la programación

lo suficientemente pequeño que usted puede programar fácilmente desde básicos

RobotC comandos.

Comportamientos complejos.

Ejemplo: Seguir una ruta definida a través de un laberinto entero.

Estos son comportamientos a los más 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 pequeños

comportamientos. Si usted observa un comportamiento complejo, siempre se

puede romper en comportamientos cada vez más pequeños hasta que, finalmente,

llegar a reconocer algo.

Comportamiento básico.

Este código convierte el motor izquierdo a media potencia

Comportamiento simple.

Este código hace que el robot vaya hacia delante durante 2 segundos a potencia media.

Comportamiento complejo.

Este código hace que el robot se mueva en una esquina.

Page 3: Introducción a la programación

Composición y Análisis.

Quizás la idea más importante en los comportamientos es que se puede construir

o romper en otros comportamientos. Comportamientos complejos, como ir a través

de un laberinto, siempre puede estar roto en pequeños comportamientos, los

comportamientos más simples. Estos a su vez pueden dividirse más y más hasta

llegar a comportamientos simples o básicos que reconocen y se puede programar.

Al mirar hacia atrás en el camino de las conductas que se rompió, también se

puede ver cómo el más pequeño comportamiento debe ser programado de

manera que se combinan de nuevo juntos, y producir un mayor comportamiento.

De esta manera, el análisis 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 más pequeñas. A continuación, romper las piezas más

pequeñas abajo también.

3. Repita hasta que haya conductas que son lo suficientemente pequeñas que

ROBOTC pueda entender.

A veces puede ser difícil determinar si un comportamiento es "simple" o

"complejo". Algunos programas son tan complejos que necesitan múltiples capas

de comportamientos simples antes de que lleguen los básicos.

"Básico", "Simple" y "Complejo" son categorías 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

Page 4: Introducción a la programación

convierte en un "simple" parte de su próximo programa... sólo debes elegir el

punto de referencia eso es más útil de lo que usted necesita.

Comportamiento Programación basada en el Lenguaje Natural ROBOTC

El Lenguaje Natural ROBOTC está diseñado para bajar la barrera de entrada en la

sintaxis basada en programación mediante la combinación de múltiples

comportamientos básicos 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 básico. Los

nombres de estos nuevos comandos también están diseñados para ser más

intuitiva y más fácil de recordar.

El código del ejemplo siguiente hace que el robot para realizar el mismo complejo

comportamiento exacto como antes (vuelta de la esquina), pero varias líneas más

cortas y se puede entender más fácilmente

Muchos comandos adicionales están

disponibles en el lenguaje natural de lo

que parece en este código de ejemplo.

Comportamientos comunes tales como el

seguimiento de línea, en movimiento

recto, esperando a que los valores de

sensor en particular, el control remoto y

otros están disponibles. Para obtener

más información, haga referencia al

documento ROBOTC lenguaje natural o

la Ayuda integrada ROBOTC.

Page 5: Introducción a la programación

En ROBOTC, el lenguaje natural se puede activar mediante la selección en

Platform type.

Pseudocódigo y diagramas de flujo.

El pseudocódigo es una notación abreviada para la programación que utiliza una

combinación de estructuras de programación informales y descripciones verbales

de código. Se pone énfasis en la expresión de la conducta o resultado de cada

porción de código en lugar de la sintaxis estrictamente correcta (sí todavía tiene

que ser razonable, sin embargo).

En general, se usa pseudocódigo para delinear un programa antes de traducirlo a

la sintaxis correcta.

Esto ayuda en la planificación inicial de un programa, mediante la creación del

marco lógico y la secuencia del código. Un beneficio adicional es que debido a que

pseudocódigo no tiene necesidad de utilizar una sintaxis específica, que puede ser

traducido en diferentes lenguajes de programación y es por lo tanto algo universal.

Se captura la lógica y el flujo de una solución sin la mayor parte de las reglas de

sintaxis estrictas.

Page 6: Introducción a la programación

A continuación se muestra algunos pseudocódigo 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 pseudocódigo 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 sección del código, pero el pseudocódigo sugiere que los comandos pertenecen y lo que necesitan para llevar a cabo.

Este ejemplo de pseudocódigo incluye elementos tanto de lenguaje de

programación y el lenguaje Inglés. Las llaves se usan como una ayuda visual para

que las porciones de código que necesitan ser colocadas cuando finalmente se

escriban en la sintaxis completa y adecuada.

Pseudocódigo y diagramas de flujo.

Diagramas de flujo son una representación visual del flujo del programa. Un

diagrama de flujo que normalmente utiliza una combinación de bloques y flechas

Page 7: Introducción a la programación

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 declaración 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 decisión

tomada sobre qué camino seguir.

Inicio y Fin. Los símbolos se representan como

rectángulos redondeados, por lo general contiene la

palabra "Start" o "Stop", pero puede ser más específico

como "Robot Power Off" o "Stop All Motors".

Las acciones se representan como rectángulos y actúan

como comandos básicos. Ejemplos: "wait1Msec (1000)",

"incremento LineCount por 1 ", o" motores a toda

máquina".

Bloques de decisión se representan como rombos.

Estos suelen contener preguntas sí / no. Los bloques de

decisión tienen dos o más flechas que salen de ellos, en

representación de los diferentes caminos que se pueden

seguir, en función del resultado de la decisión.

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 táctil se

pulsa la parada de los motores y el programa

finaliza.

Page 8: Introducción a la programación

Para leer el diagrama de flujo:

• Comience en la pantalla "Start" del bloque y siga la flecha hacia abajo a la

"decisión" de bloque.

• El bloque de decisión 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 acción 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 decisión. Esto forma un bucle

• El bucle puede terminar repetir muchas veces, siempre que el sensor táctil

permanece sin prensar.

• Si el sensor de contacto es presionado, el programa sigue el "Sí" de flecha y

detiene los motores, a continuación, finaliza el programa.

Page 9: Introducción a la programación

Pensando en programar, Programador y Robot

En esta lección, 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 están obligados a realizar tareas útiles. Cada uno está diseñado para

resolver un problema específico, de una manera específica.

Robotic Tractor.

Problema: Maneje con

seguridad a través de un

campo que puede contener

obstáculos.

Solución: Mover hacia el

destino, haciendo pequeños

desvíos si se detectan

cualquier obstáculo.

Robot Laberinto

Problema: Atraviesa el

laberinto.

Solución: Moverse a lo largo de

una trayectoria predeterminada

en segmentos cronometrados.

Page 10: Introducción a la programación

Echemos un vistazo más de cerca el robot Laberinto. ¿Cómo encontrar su camino

a través del laberinto?

¿Cómo sabe cómo hacerlo?

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

Creación de un robot con éxito hace falta un esfuerzo de equipo entre los

humanos y las máquinas.

Papel del Robot

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

Page 11: Introducción a la programación

El papel del programador.

El programador humano identifica la tarea y planea una solución, 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

programación. Instrucciones escritas en ellos se llaman programas. ROBOTC es

sólo uno de los muchos lenguajes de programación tales que los seres humanos

utilizamos para hablar con las máquinas.

Page 12: Introducción a la programación

Fin de la sección.

Los humanos y los robots se comunican mediante el uso de lenguajes de

programación 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 sólo puede seguir su programa. ¡No puede pensar por sí mismo! Del

mismo modo que no puede ser más fuerte de lo que se construye, el robot no

puede ser más 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 programación (planificación y comportamientos).

En esta lección, usted aprenderá cómo pensar en términos de

"comportamientos" te puede ayudar a ver la lógica detrás de las acciones de

su robot, y romper un gran plan en partes prácticas.

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 obstáculo...

estos son todos los comportamientos.

Page 13: Introducción a la programación

a) b)

a) Comportamiento complejo

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

b) Comportamiento básico o simples.

Algunos comportamientos son pequeños, como "ir hacia adelante durante 3

segundos." Comportamientos grandes son en realidad un conjunto de estos más

pequeños.

Cuando se inicie la programación, también debe empezar a pensar en las

acciones del robot en términos 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 serán aquellos comportamientos traducidos al lenguaje de

programación.

Page 14: Introducción a la programación

1. examine problema

Para encontrar una solución, comenzar por examinar

el problema. Aquí, el problema es conseguir desde el

punto de partida (1) para el objetivo (2).

2. solución

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,

podría resolver el problema.

Usted acaba de identificar el primer comportamiento que necesitas. Anótelo.

3. Romper solución en pequeñas comportamientos

Ahora, empezar a tratar de romper ese comportamiento en partes más pequeñas.

Siguiendo este camino implica mover hacia adelante y luego girar, entonces

moverse hacia adelante por una distancia diferente, a continuación, girar la otra

manera, y así sucesivamente.

Cada una de estas acciones más

pequeñas es también un

comportamiento.

Escríbalas abajo también.

Asegúrese de que usted los

mantiene en la secuencia correcta.

Page 15: Introducción a la programación

4. Romper en pedazos aún más pequeños

Si a continuación se descomponen estos

comportamientos en pedazos aún más

pequeños, tendrás comportamientos

cada vez más pequeños, con más y más

detalle. Lleve un registro de ellos sobre la

marcha.

Finalmente, se llega a comandos que se

pueden expresar directamente en el lenguaje de programación.

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 más listo de traducir.

Page 16: Introducción a la programación

Paso a paso.

1. Comience con un comportamiento a gran escala que resuelve el problema.

2. Dividirlo en partes más pequeñas. A continuación, romper las piezas más

pequeñas abajo también.

3. Repita hasta que haya conductas que son lo suficientemente pequeños 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 Inglés, que debería ser

relativamente fácil para el programador humano pueda entender.

A medida que el programador se vuelve más

experimentado, la organización de los

comportamientos en Inglés comenzará a

incluir técnicas importantes del lenguaje de

programación en sí, como if-else y loops.

Este lenguaje híbrido, a medio camino entre

el Inglés y el lenguaje de programación, se

llama pseudocódigo.

Es una herramienta importante para ayudar a

mantener los programas más grandes

comprensibles.

Page 17: Introducción a la programación

Pseudocódigo simple.

Su lista de comportamientos para llevar a cabo en un orden específico son una forma

sencilla de pseudocódigo.

Más tarde pseudocódigo.

A medida que sus habilidades de programación crecer, su pseudocódigo incluirá una

lógica más compleja.

Pero todavía tienen el mismo propósito: ayudar a encontrar y expresar los

comportamientos del robot sencillo necesarios en Inglés.

Page 18: Introducción a la programación

Espacio en blanco

Espacio en blanco es el uso de espacios, tabuladores y líneas en blanco para

organizar visualmente el código. Los programadores usan espacios en blanco, ya

que puede agrupar código en partes sensibles, legibles sin afectar a cómo el

código es leído por una máquina. Por ejemplo, un programa que ejecute un robot

hacia delante durante 2 segundos, y luego hacia atrás durante 4 segundos, se

vería así cualquiera de los siguientes:

Ambos programas realizan lo mismo, sin embargo, la segunda utiliza un espacio

en blanco para organizar el código para separar el programa dos comportamientos

principales: avanza y se mueve en sentido inverso. En este caso, los saltos de

línea (retorno) se utiliza para segmentar las tareas verticalmente. Horizontales

espacios en blanco y tabuladores como espacios también son importantes. A

continuación, el espacio en blanco se utiliza en forma de muescas para indicar que

las líneas están dentro de la cual las estructuras de control (task main, while loop,

if-else).

Page 19: Introducción a la programación
Page 20: Introducción a la programación

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 atrás) 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 código se invierte la rotación 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 están 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.

Page 21: Introducción a la programación

Sincronización.

El VEX permite el uso de comandos de espera para insertar retrasos en su

programa. También es compatible con los temporizadores, que funcionan como

cronómetros, sino que cuentan el tiempo, y se puede restablecer cuando desee

iniciar o reiniciar el tiempo de seguimiento transcurrido.

wait1Msec(wait_time);

Este código hará que el robot que espere un determinado número de milisegundos

antes de ejecutar la siguiente instrucción en un programa. "wait_time" es un valor

entero (donde 1 = 1/1.000 de un segundo). Máximo tiempo de espera es 32768, o

32,768 segundos.

wait10Msec(wait_time);

Este código hará que el robot que espere un determinado número de centésimas

de segundo antes de ejecutar la siguiente instrucción en un programa. "Wait_time"

es un valor entero (donde 1 = 1/100th de un segundo). Máximo tiempo_espera es

32768, o 327,68 segundos.

Page 22: Introducción a la programación

time1[timer];

Este código devuelve el valor actual del temporizador de referencia como un

número entero. La resolución de "tiempo1" es en milisegundos (1 = 1/1.000 de

segundo).

La cantidad máxima 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 código devuelve el valor actual del temporizador de referencia como un

número entero. La resolución de "tiempo10" está en centésimas de segundo (1 =

1/100th de un segundo).

La cantidad máxima 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 código devuelve el valor actual del temporizador de referencia como un

número entero. La resolución de "time100" es en décimas de segundo (1 = 1/100

de un segundo).

Page 23: Introducción a la programación

La cantidad máxima 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 analógicas / digitales: in1, in2... a in16.

Page 24: Introducción a la programación

Sonidos.

El VEX puede reproducir sonidos y tonos utilizando un altavoz externo

piezoeléctrico conectado a un puerto del motor.

PlayTone(frequency, duration);

Esto reproduce un sonido a través del altavoz interno VEX a una frecuencia

específica (1 = 1 hertz) durante un período específico (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

(autónomos modo). También puede utilizar el "true" para 1 y "false" por 0.

Page 25: Introducción a la programación

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:

Page 26: Introducción a la programación

Misceláneo.

Varios comandos útiles que no son parte de la lengua estándar C srand(seed);

Define el valor entero de la "seed" que se utiliza en el comando random() para

generar un número aleatorio. Este comando es opcional cuando se usa el

comando random(), y hará que la misma secuencia de números que se genera

cada vez que se ejecuta el programa.

random(value);

Genera un número aleatorio entre 0 y el número especificado en su paréntesis.

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 típica de fondo.

task main(){}

Crea una tarea llamada "main" necesaria en cada programa. task main es

responsable de la ejecución del código dentro de un programa.

while(condition){}

Se usa para repetir {una sección de código} mientras se mantiene en cierto (la

condición) true. Un bucle while infinito puede ser creado para asegurar que la

condición se cumple siempre, por ejemplo, "1 == 1" o "true".

Page 27: Introducción a la programación

if(condition){}/else{}

Con este comando, el programa verificará la (condición) dentro del paréntesis de

la declaración if y luego ejecutara uno de los dos conjuntos del código. Si la

(condición) es verdadera, el código dentro de las llaves declaración if será

ejecutado. Si la (condición) es falsa, el código dentro de las llaves de la

declaración else se llevará a cabo en su lugar. La condición else no es necesaria

para utilizar una sentencia if.

Tipos de datos.

Los diferentes tipos de información requieren diferentes tipos de variables para

retenerlos.

int

Este tipo de datos se utiliza para almacenar valores enteros que van -32768 a

32768

Page 28: Introducción a la programación

El código anterior también se puede escribir:

bool

Este tipo de datos se utiliza para almacenar valores booleanos de cualquiera 1

(cierto) o 0 (también falso)

char

Este tipo de datos se utiliza para almacenar un solo carácter ASCII, especificado

entre un conjunto de comillas simples.

Page 29: Introducción a la programación

Comentarios.

Comentando un programa que consiste en utilizar un texto descriptivo para

explicar porciones de código. 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 código del programa en sí. Esto

se considera un estilo de programación muy buena, ya que reduce el potencial de

confusión más tarde cuando otra persona (o incluso usted) puede necesitar leer el

código.

Hay dos formas de marcar una sección de texto como comentario en lugar de

código normal:

A continuación se muestra un ejemplo de un programa con comentarios de una o

varias líneas. El texto como comentario se vuelve verde.

Page 30: Introducción a la programación

"Comentando" Código

Los comentarios también a veces se usa para temporalmente "desactivar" el

código de un programa sin eliminarlo. En el siguiente programa, el programador

tiene código se ejecute directamente y luego girar a la derecha. Sin embargo, con

el fin de probar sólo 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.

Page 31: Introducción a la programación

Mensajes de error en ROBOTC.

ROBOTC tiene un compilador integrado que analiza sus programas para

identificar los errores de sintaxis, errores de capitalización y ortografía, y la

ineficiencia del código (como las variables utilizadas). El compilador se ejecuta

cada vez que se descarga el código para el robot y cuando usted decide compilar

el programa desde el menú Robot en ROBOTC.

Notificaciones relativas a los errores, advertencias e información importante sobre

el compilador encuentra se muestran en la pantalla de visualización de errores de

la interfaz ROBOTC.

Los errores muestran informes en pantalla el número de errores en el código, así

como sus tipos. Haciendo doble un mensaje del compilador en la pantalla de error

resaltará la línea correspondiente del código del programa. Dependiendo del tipo

de error, ROBOTC sólo será capaz de seleccionar la ubicación aproximada. Por

ejemplo, en el ejemplo anterior la falta punto y coma es en la línea 7 pero

ROBOTC destacará línea 8.

Page 32: Introducción a la programación

ROBOTC genera tres tipos de mensajes del compilador: errores, advertencias e

información:

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:

Había un pequeño problema con el programa, pero el compilador fue capaz de

solucionar o ignorarla. Estos suelen ser incorrectas capitalizaciones o bucles

vacíos infinitos. Las advertencias se indican con una X amarilla

Información:

ROBOTC generará mensajes de información cuando se piensa que han declarado

funciones o variables que no se utilizan en el programa. Estos mensajes le

informará acerca de la programación ineficiente. Los mensajes de información 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. Además, los mensajes de error pueden tener un efecto

"onda", los errores en el inicio de su programa puede provocar errores posteriores

en el código. Debido a esto, se recomienda hacer una corrección de errores en el

comienzo de su primer programa, volver a compilar el código y corregir cualquier

error.

Page 33: Introducción a la programación

La mayoría de los mensajes de error se deben a errores ortográficos 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 mayúscula,

causando múltiples errores posteriores y las advertencias que aparezcan en la

pantalla de visualización 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 también indica que

ROBOTC no lo reconoce.

Para corregir este error, deberá cambiar la mayúscula T con t minúscula en la

tarea, y volver a compilar el código. El compilador reevaluar su código y generar

un nuevo conjunto de notificaciones.

Page 34: Introducción a la programación

Mensajes de error comunes.

El siguiente ejemplo contiene dos errores de sintaxis: missing curly braced { en la

línea 2 y un semicolon que falta en la línea 6. Una vez más, usted debe tratar de

corregir el primer error en el programa antes de continuar.

El primer mensaje de error aparece en la línea 4, que dice "** Error **: Se espera->

'{'. Encontrado 'int' ". Cuando la palabra "Expected->" aparece en la pantalla de

visualización 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 después de la tarea main (), pero no encontró la palabra

reservada int en lugar. Para corregir este error, se debe añadir la llave de apertura

en la línea 2 y luego volver a compilar el código.

Después de volver a compilar el código, cualquier error en la pantalla. Puntos y

comas que faltan también mostrará un "Expected->" mensaje de error de estilo,

pero observe que el error de la falta punto y coma en la línea 6 aparece en la línea

7. Esto se debe a que el compilador ignora los espacios en blanco (líneas en

blanco, espacios y tabuladores), pero se espera un punto y coma antes de que se

Page 35: Introducción a la programación

encontró con el comando wait. Para corregir este error, se debe añadir un punto y

coma después 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.

Page 36: Introducción a la programación

Para corregir este error:

1. Compruebe que la ortografía y uso de mayúsculas 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

programación posible y errores lógicos 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 común de mensajes de advertencia son bucles infinitos vacíos en

el código. En el siguiente ejemplo, el bucle infinito se crea, sin código 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 código válido y puede utilizar

de manera intencionada por un programador.

Page 37: Introducción a la programación

El mensaje de advertencia le informará de que hubo un error de programación

causado por un bucle infinito: "* Warning *: Posible error de programación. Bucle

infinito (salto incondicional a sí mismo) detectado".

Si se crea un bucle infinito era su intención, no es necesario para corregir este

mensaje. Si no fuera intencional, puede:

1. Incluya el código dentro de las llaves del bucle while, para que se repita.

2. Cambiar la condición del bucle, mientras que, de modo que no se repite

siempre.

En el siguiente ejemplo, los comandos forward y stop están 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

sustitución. Tenga en cuenta que no corrige la capitalización en el código, sólo lo

envía al robot. Una vez más, el mensaje de advertencia real que informar acerca

de la sustitución:

"*Warning *: Sustituyendo variable similar 'forward' para 'Forward'. Revisar la

ortografía y mayúsculas. "

Page 38: Introducción a la programación

Los mensajes de información comunes.

Los mensajes de información no impedirá que su programa se compile o

descargue a tu robot.

Sólo se le notificará en cuanto a posibles ineficiencias en el código.

El caso más común de mensajes de información son las variables utilizadas en el

código. 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".

Page 39: Introducción a la programación

No es necesario corregir este mensaje, pero se puede de dos formas:

1. Elimine el código en la línea número 4, borrando la variable.

2. Llamar a speed variable en el comando forward en la línea 6, en lugar del

número entero 63.

Manejo de otros mensajes de error.

Aprender a programar robots no es fácil, no es diferente que el aprendizaje de una

lengua extranjera. En este documento se explica cómo manejar algunos de los

errores más 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

información. 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 más intuitivo, pero siempre contienen alguna información sobre lo que

el compilador encuentra.

• Cuando el programa contiene múltiples errores, corregirlos uno a la vez, volver a

compilar el código después de cada revisión. El efecto onda puede hacer que

parezca que hay errores, incluso si el resto de su programa es perfecto.

• Pseudocódigo, Asegúrese de tener un plan en su lugar antes de intentar escribir

un programa complejo. De esa manera usted puede resolver la lógica en primer

lugar, sin tener que preocuparse por ello y la sintaxis, la ortografía y las

mayúsculas al mismo tiempo.

Page 40: Introducción a la programación

Programación en ROBOTC. Reglas ROBOTC

En esta lección, usted aprenderá las reglas básicas para escribir programas

RobotC.

ROBOTC es un lenguaje de programación 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 máquina

que el robot pueda entender. Finalmente, se cargan en el robot, en donde se

puede ejecutar.

Programa Código: Comandos al

robot escrito como el texto.

Texto escrito como parte de un programa que se llama código. Al escribir código

como se escribe texto normal. Tenga en cuenta que la capitalización es importante

para el equipo. Sustitución de una letra minúscula con una letra mayúscula (o una

letra mayúscula con una letra minúscula) hará que el robot se confunda.

Capitalización: Capitalización (prestando

atención a MAYÚSCULAS vs minúsculas)

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 programación.

Page 41: Introducción a la programación

Código de colores: RobotC

colorea automáticamente las

palabras clave que reconoce.

Compare esto correctamente

capitalizado "task" de comandos

con la versión 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 código del programa en

sí.

Las declaraciones son las instrucciones para el robot. El tipo más básico de la

declaración en ROBOTC simplemente le da una orden al robot. El motor [port3] =

127; declaración en el programa de ejemplo que ha descargado es una

declaración simple que da una orden. Se instruye al motor conectado al puerto 3

del motor para encender a plena potencia.

Mención simple: Un comando sencillo para

el robot. Esta instrucción indica el robot para

encender el motor conectado al puerto 3 del

motor a plena potencia.

Mención simple (2): Esto también es una

declaración simple. Le dice al robot que

espere 3000 milisegundos (3 segundos).

Las instrucciones se ejecutan en orden lo más rápidamente que el robot es capaz

de llegar a ellos. La ejecución de este programa en el robot enciende el motor,

entonces espera a 3000 milisegundos (3 segundos) con el motor aún en marcha, y

luego termina.

Page 42: Introducción a la programación

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 símbolo } en la

tarea principal, paran los motores y los

fines del programa.

¿Cómo sabemos que ROBOTC motor [port3] = 127 y wait1msec [3000] fueron dos

comandos separados. ¿Fue porque apareció en dos líneas diferentes? No. Los

espacios y saltos de línea de ROBOTC sólo se utilizan para separar las palabras

entre sí en varios comandos. Los espacios, tabuladores y líneas no afectan a la

forma en que se interpreta un programa por la máquina.

Los espacios en blanco: Los

espacios, tabuladores y saltos

de línea 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é están en líneas separadas? Para el programador. Los lenguajes

de programación están diseñados para los seres humanos y las máquinas para

comunicarse. Con espacios, tabuladores y líneas ayuda a los programadores

Page 43: Introducción a la programación

humanos leer el código con más facilidad. Hacer buen uso de espacio en su

programa es un hábito 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

galimatías. El espacio en blanco se

utiliza para hacer que los programas legibles para los humanos.

Pero ¿qué pasa con ROBOTC? ¿Cómo lo sabía cuando una declaración terminó y

comenzó el otro? Sabía por punto y coma (;) al final de cada línea. Cada sentencia

termina con un punto y coma. Es como el punto al final de una oración.

Punto y coma: Al igual que en

períodos de una frase Inglés, punto

y coma marca el final de cada

declaración ROBOTC.

Control.

Las declaraciones son órdenes para el robot. Cada sentencia termina con un

punto y coma para que ROBOTC pueda identificar. Cada instrucción se escribe

normalmente en su propia línea para hacer más fácil para los seres humanos a

leer.

Instrucciones se ejecutan en el orden de lectura, de izquierda a derecha y de

arriba a abajo. Cada instrucción se ejecuta tan pronto como el anterior es

completada. Cuando no hay declaraciones más, el programa termina.

Page 44: Introducción a la programación

ROBOTC utiliza puntuación mucho más que Inglés. La puntuación en lenguajes de

programación se utiliza generalmente para separar áreas importantes de código

de la otra. La mayoría de puntuación ROBOTC viene en pares.

Pares de puntuación, como los paréntesis y corchetes en estos dos estados, se

usan para delimitar las zonas especiales de código. 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 Puntuación: Los corchetes []

El código 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 Puntuación: Los paréntesis ()

El código escrito entre los paréntesis de la

orden wait1Msec decirle cuántos

milisegundos debe esperar antes de

comenzar un nuevo comando. En este

caso, se espera 3000 milisegundos, o tres

segundos.

Vinculados signos de puntuación (como corchetes y paréntesis) se utilizan

siempre juntos. Rodean específicas partes importantes de una declaración para

diferenciarse.

Comandos diferentes hacen uso de diferentes tipos de puntuacion emparejado. El

comando motor utiliza corchetes y el comando wait1Msec usa paréntesis. Esto es

sólo la forma en que los comandos se establezcan. Usted tendrá que acordarse de

usar la puntuación correcta con los comandos de la derecha o del plan.

Page 45: Introducción a la programación

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 código que

controlan el flujo de órdenes del programa, en lugar de dar órdenes directas al

robot.

Declaraciones simples sólo 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 sólo

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 sección especial llamada task main. Esta estructura de control

determina que el código 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

código. Al hacer clic en el botón Inicio

en ROBOTC o encender el robot, el

programa pasa inmediatamente a la

tarea principal y se ejecuta el código 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.

Page 46: Introducción a la programación

Estructura de control: bucle

while. El bucle while repite el

código entre las llaves {},

siempre y cuando se cumplan

ciertas condiciones.

Normalmente, los estados se

ejecuten sólo 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é líneas de código se ejecute y

especificar cuándo 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 programación están destinados a ser leídos por los seres

humanos y las máquinas. A veces, un programador necesita escribir una nota para

otros lectores humanos para ayudarles a entender lo que hace el código.

ROBOTC permite observaciones que se hicieron para este propósito.

Los comentarios son texto que el programa ignora. Un comentario puede contener

notas, mensajes y símbolos que pueden ayudar a un ser humano, pero no tendría

sentido para el robot. ROBOTC simplemente salta sobre ellos.

Page 47: Introducción a la programación

Los comentarios aparecen en verde en ROBOTC.

Comentarios: línea / / Single Cualquier

sección de texto que sigue a una / / (dos

caracteres de barra hacia adelante) en una

línea se considera como un comentario.

Cualquier texto a la izquierda de la / / se trata

como código 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

líneas, así que asegúrese de incluir tanto la

apertura y cierre de las marcas

Fin de la sección.

Lo que acabamos de ver son algunas de las características principales del

lenguaje ROBOTC. El código 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 ejecutarán en qué momento. Puntuación,

tanto individual como puntos y comas y vinculado como paréntesis, se utiliza para

apartar una parte importante de los comandos.

Una serie de características en el código ROBOTC están diseñados para ayudar a

los humanos, más que el robot.

Comentarios permiten a los programadores dejar notas para sí mismos y los

demás. Los espacios en blanco como tabulaciones y espacios ayuda a mantener

tu código organizado y legible.