Lección 6: Variables Soluciones de Programación RoboLab a NQC

Slides:



Advertisements
Presentaciones similares
Inecuaciones Lineales en una Variable
Advertisements

Lección 4: Soluciones de Programación con Enunciados Condicionales
Programación Básica con NQC Pedro F. Toledo – Patricio Castillo 18/08/2006.
Repaso para la construcción del intérprete 2012
Fundamentos de la Programación Estructurada
Estructuras de Control
Bucle for.
EJERCICIOS DE PROGRAMACION
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Curso de Programación I Parte III
Estructuras de control
Quinta Clase Patricio A. Navarrete Junio 3 de 2011.
Una breve introducción
Estructuras de Repetición
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
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.
NQC Lazos, Enunciados Condicionales, Lógica Booleana.
Programación Básica con NQC Patricio A. Castillo 03/05/2008.
APLICACIONES DE PILAS Estructuras de Datos.
Patricio A. Navarrete Junio 17 de 2011
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 08/03/2007.
Clase Teórica No. 4 Programación IV
Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.
Pamela González Patricio Navarrete Septiembre 11 de 2010 Tercera Clase.
Capítulo 2 – Estructuras de Control
Programación Básica con NQC Patricio A. Castillo Pizarro 25/08/2007.
COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
Teoría – Alejandro Gonzalez
Lección 5: Tareas Múltiples & Relojes Soluciones de Programación RoboLab a NQC.
Lección 1: Motores y Sonido Soluciones de Programación.
Décimo Curso de Programación Básica con NQC “Quinta Clase” Cristián A. Arenas Ulloa Septiembre 26 de 2009.
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 18/08/2006.
Noveno Curso de Programación Básica con NQC “Tercera Clase” José M. Galarce H. Abril 18 de 2009.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 15/04/2007.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
Estructuras de repetición
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 20/05/2006.
Estructuras de control Resolución de problemas y algoritmos.
Lección 2: Modificadores, Lazos y Saltos. Soluciones de Programaación.
Lección 2: Niveles de Potencia, Repeticiones, y Lazos While. Soluciones de Programación: De RoboLab a NQC.
Lección 3: Estados de Espera “Espere Por” Basados en Sensores Soluciones de Programación.
Programación Básica con NQC Patricio A. Castillo 10/05/2008.
COMPUTO III Ing. Jimmy Ojeda Arnica.
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.
Patricio A. Castillo José M. Galarce Agosto 23 de 2008 Segunda Clase.
Programación Básica con NQC Patricio A. Castillo 12/04/2008.
Lección 3: Sensores y Untils Soluciones de Programación RoboLab a NQC
Séptima Clase Patricio A. Navarrete Junio 24 de 2011.

Programación Básica con “NQC” Pedro F. Toledo Universidad Técnica Federico Santa María Departamento de Electrónica.
Se pueden incluir comentarios en cualquier parte de un programa pero deben delimitarse con llaves o con paréntesis y asterisco:
“variables , sentencia if y bucles”
ESTRUCTURAS REPETITIVAS
Lección 6: Soluciones de Programaación con Contenedores.
Ejemplo 3.3 El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel. Al finalizar el recorrido se debe informar la cantidad de.
Noveno Curso de Programación Básica con NQC “Quinta Clase” José M. Galarce H. Mayo 15 de 2009.
Estructuras de Decisión
Lección 5: Soluciones de Programación conTareas Múltiples y Relojes.
Se lee “tres elevado a cuatro es ochenta y uno”
Décimo Curso de Programación Básica con NQC “Segunda Clase” Cristián Arenas Ulloa Agosto 29 de 2009.
1 Clase 6: control (1ª parte) iic1102 – introducción a la programación.
Entrada y Salida en C++, Estructuras de Control Prof. Manuel B. Sánchez.
Ciclos de Repeticion Yoel Gutierrez Unidad 6. Contenido DefinicionExplicacionEjemplosReferencias.
DO - WHILE Trejo Mendoza Armando Isacc Díaz Jiménez Christian Alexis César Cerón Cortez Juárez reyes Jason Elihu Hernández Mera Rubén Hernández López José.
Ciclos condicionales y exactos Estructura de control de ciclos
Lección 1: Soluciones de Programación con Enunciados Condicionales.
Transcripción de la presentación:

Lección 6: Variables Soluciones de Programación RoboLab a NQC

Ejercicio 1 Este programa requiere dos sensores de contacto. El programa “recuerda” cuantas veces ha sido presionado el primer contacto. Al presionar el segundo contacto, el RCX emite sonidos el doble del número de veces que el primer sensor ha sido presionado.

Ejercicio 1: Solución Robolab task monitorFirstTouch() { int numberOfTouches = 0; numberOfTouches++; until (SENSOR_1 == 0); while (true) { start monitorFirstTouch; task main() { } } until (SENSOR_1 == 1); } PlaySound(SOUND_FAST_UP); } until (SENSOR_3 == 1); repeat (numberOfTouches) { SetSensor(SENSOR_1, SENSOR_TOUCH); SetSensor(SENSOR_3, SENSOR_TOUCH); numberOfTouches *= 2;

Ejercicio 1 Esta es una variable global que almacena el número de contactos int numberOfTouches; task monitorFirstTouch() { while (true) until (SENSOR_1 == 1); numberOfTouches++; until (SENSOR_1 == 0); } “global” significa que puede ser compartida entre distintas tareas Esta tarea monitorea el número de veces que el sensor 1 es accionado. Esto agrega 1 al número de contactos Esta línea asegura que sólo contamos los verdaderos contactos

Ejercicio 1: Solución NQC task main() { SetSensor(SENSOR_1, SENSOR_TOUCH); SetSensor(SENSOR_3, SENSOR_TOUCH); start monitorFirstTouch; until (SENSOR_3 == 1); numberOfTouches *= 2; repeat (numberOfTouches) PlaySound(SOUND_FAST_UP); } stop monitorFirstTouch; Hace partir la tarea de monitoreo Multiplica por 2 el número de contactos Esto detiene la otra tarea antes de salir del programa.

Ejercicio 2 Enciende el motor A para que avance a nivel de potencia 1 por un segundo, después a nivel 2 por un segundo, etc. Sigue ese patron hasta llegar a nivel 5; entonces, detiene el motor. Use una variable para almacenar el nivel de potencia.

Ejercicio 2: Solución NQC task main() { int powerLevel = 0; Fwd(OUT_A); repeat (5) SetPower(OUT_A, powerLevel); OnFor(OUT_A, 100); powerLevel++; } Esta variable almacena el nivel de potencia; se inicializa en 0. Esto ajusta el nivel de potencia del motor Incrementa en 1 el nivel de potencia cada vez que se ejecuta el lazo.

Ejercicio 3 Al partir el programa se almacena el valor de luz. Luego, tras un retardo de 8 segundos, si el sensor de luz lee un valor mayor que el almacenado, se ejecuta un sonido creciente. Si el valor que se lee es menor o igual al almacenado, se ejecuta un sonido descendente.

Ejercicio 3: Solución RoboLab SetSensor(LIGHT, SENSOR_LIGHT); if (LIGHT > lightLevel) { PlaySound(SOUND_UP); } Wait(800); task main() { } else { PlaySound(SOUND_DOWN); } int lightLevel; lightLevel = LIGHT;

Ejercicio 3: Solución NQC #define LIGHT SENSOR_1 task main() { int lightLevel; SetSensor(LIGHT, SENSOR_LIGHT); lightLevel = LIGHT; Wait(800); if (LIGHT > lightLevel) { PlaySound(SOUND_UP); } else { PlaySound(SOUND_DOWN); } Almacena la lectura del sensor en la variable lightLevel Note el signo igual único!