#define MOVE_TIME 100 #define TURN_TIME 85 task main() { repeat(4) { OnFwd(OUT_A+OUT_C); Wait(MOVE_TIME); OnRev(OUT_C); Wait(TURN_TIME); } Off(OUT_A+OUT_C);

Slides:



Advertisements
Presentaciones similares
Serie de Taylor y Maclaurin
Advertisements

equivalencia material; y b) equivalencia lógica
Integral Indefinida Integrales indefinidas
Física Básica.
Programación Básica con NQC Pedro F. Toledo Universidad Técnica Federico Santa María Departamento de Electrónica.
El presente material contiene
1) Abrir archivos: Si necesitamos abrir varios archivos, podemos usar las teclas “CTRL” + “A” (o “CTRL” + “F12”) para acceder directamente al cuadro de.
RUIDO RUIDO BLANCO.
Cantidad de líneas de campo que atraviesa la superficie ds.
Quinta Clase Patricio A. Navarrete Junio 3 de 2011.
SubRutinas Se pueden usar subrutinas cuando se necesita el mismo trozo de código en distintos lugares del programa. En esos casos se escribe una subrutina.
Cap. 24 – La Ley de Gauss Una misma ley física enunciada desde diferentes puntos de vista Coulomb  Gauss Son equivalentes Pero ambas tienen situaciones.
2.6. Momento de una fuerza El momento de una fuerza puede definirse como el efecto de giro que se produce sobre un cuerpo alrededor de un punto o eje,
El lenguaje de programación C - Funciones -
NQC Lazos, Enunciados Condicionales, Lógica Booleana.
Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I
ANOVA Modelo I: Comparación entre medias
Tema 3 Entrada y Salida.
MOVIMIENTO CIRCULAR En los movimientos que realizan los pilotos acróbatas cuando efectúan un movimiento circular en el aire, su trayectoria es una circunferencia,
Relaciones Proporcionales 8º año - NB6 Profesor: Rigoberto Garrido M Escuela Nº 1 “Sagrada Familia”
Sistemas de medida para ángulos
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 08/03/2007.
Constantes en PHP Programación en Internet II. Constantes en PHP Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa.
Estructura de un programa en C
Desarrollador Profesional de Juegos Programación III Unidad II Una clase thread para window.
Concatenación en PHP Programación en Internet II.
Velocidad Instantánea en un Movimiento Rectilíneo.
Seguridad y encriptación
Tareas NQC puede tener hasta 10 tareas, una de las cuales siempre será main. Las tareas se ejecutan usando el comando start. Las tareas corren simultaneamente.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
Programación Básica con “NQC” Pedro F. Toledo Universidad Técnica Federico Santa María Departamento de Electrónica.
El problema de las comillas en PHP Programación en Internet II.
OTRAS FUNCIONES DÍA 27 * 1º BAD CS
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 20/05/2006.
“EL BUEN USO DE LOS ESPEJOS”
Lección 2: Niveles de Potencia, Repeticiones, y Lazos While. Soluciones de Programación: De RoboLab a NQC.
Algorit moAlgorit mo An á lisisAn á lisis Argumen toArgumen to Asignación Asociación Cometar ioCometar io Compilación Constan teConstan te Definición.
Lenguajes de programación
UNIDADES DE MEDIDA EN INFORMÁTICA
UCLA – DAC M. Sc. Jorge E. Hernández H.
Es un programa sorprendente con un diseño mejor y más eficaz que el de las versiones anteriores. Pero quizás le resulte poco familiar. Por ese motivo.
Valor Absoluto.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/05/2007.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 15/08/2006.
Programación Básica con NQC Patricio A. Castillo 12/04/2008.
Recipientes funcionales
Lección 3: Sensores y Untils Soluciones de Programación RoboLab a NQC
Lección 6: Variables Soluciones de Programación RoboLab a NQC
FUNCIONES TROCEADAS DÍA 32 * 1º BAD CT
CINEMÁTICA EN UNA DIMENSIÓN
Introducción al lenguaje PROCESSING para ARDUINO
Sistema Binario
MAPA CONCEPTUAL ¿Qué es? ¿Para qué sirve? ¿Cómo se elabora?
Unidad de transferencia de memoria
. Introducción a Twitter  Twitter al igual que otras redes sociales te permiten estar en contacto en tiempo real, es como tener un blog donde los posts.
GET POST Isc. Abraham Fernández Espinosa Universidad ICEP.
La adaptación de exámenes, controles y pruebas escritas.
Programación en Visual Basic
Lenguaje ensamblador Resumen en diapositivas
El proceso ensamblador. José Luis Vergara Soberanis.
Las 5 Preguntas más Efectivas para Usar cuando se Cierra acuerdo con una nueva Consultora.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
ARCHIVO Es una colección de información o bien es una secuencia de bits, bytes, líneas o registros definida por su creador.
Testing en Python Por Cristian Suárez Sistemas Operativos 1 Año 2010.
Main Title. Title Text Title Text Title Text.
Main Title. Title Text Title Text Title Text.
Main Title. Title Text Title Text Title Text.
EL PODER DE LAS PALABRAS.
Example.
Esxcvzxcvzxvczxcvpacio para el texto.
Transcripción de la presentación:

#define MOVE_TIME 100 #define TURN_TIME 85 task main() { repeat(4) { OnFwd(OUT_A+OUT_C); Wait(MOVE_TIME); OnRev(OUT_C); Wait(TURN_TIME); } Off(OUT_A+OUT_C); } Las primeras dos líneas definen constantes que pueden usarse en el programa. Definir constantes es bueno por 2 razones: facilita la lectura del programa, y es más fácil cambiar los valores. Uso de Macros Las macros permiten definir constantes en el programa.

¿Cuáles son dos buenas razones para usar macros para definir constantes? 1. Facilitan la lectura del código. 2. Facilitan el cambio de valores.

More Examples ¿Qué representan las siguientes líneas de código? #define MOVE_TIME 100 #define TURN_TIME 85 #define ROT SENSOR_1 #define THRESHOLD 45 MOVE_TIME es igual a 100 pulsos o un segundo. TURN_TIME es igual a 85 pulsos o 0.85 segundo. ROT es igual a SENSOR_1 THRESHOLD es igual a 45. Cada vez que aparecen MOVE_TIME, TURN_TIME, ROT,o THRESHOLD el programa vé los valores 100, 85, SENSOR_1, y 45.

Definiendo “código” con macros #define turn_around OnRev(OUT_C);Wait(340);OnFwd(OUT_A+OUT_C); En el ejemplo anterior, hemos dado un nombre a un pequeño trozo de código. El código: OnRev(OUT_C); Wait(340); OnFwd(OUT_A+OUT_C); Ha recibido el nombre turn_around. Cada vez que necesitemos ese código, usaremos turn_around.

Acá hay un programa de ejemplo que usa una macro para girar: #define turn_around OnRev(OUT_C);Wait(340);OnFwd(OUT_A+OUT_C); task main() { OnFwd(OUT_A+OUT_C); Wait(100); turn_around; Wait(200); turn_around; Wait(100); turn_around; Off(OUT_A+OUT_C); } La palabra turn_around tras el enunciado #define, equivale al texto a continuación. En adelante escribir turn_around, reemplaza a ese texto.

Los enunciados define son muy poderosos. Pueden tener argumentos. Esto hace su código más compacto y legible. #define turn_right(s,t) SetPower(OUT_A+OUT_C,s);OnFwd(OUT_A);OnRev(OUT_C);Wait(t); #define turn_left(s,t) SetPower(OUT_A+OUT_C,s);OnRev(OUT_A);OnFwd(OUT_C);Wait(t); #define forwards(s,t) SetPower(OUT_A+OUT_C,s);OnFwd(OUT_A+OUT_C);Wait(t); #define backwards(s,t) SetPower(OUT_A+OUT_C,s);OnRev(OUT_A+OUT_C);Wait(t); task main() { forwards(3,200); turn_left(7,85); forwards(7,100); backwards(7,200); forwards(7,100); turn_right(7,85); forwards(3,200); Off(OUT_A+OUT_C); } Acá hay 4 macros; forwards, backwards, turn_left y turn_right. Todas tienen dos argumentos: La velocidad (s) y el tiempo (t).