La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Patricio A. Navarrete Junio 17 de 2011

Presentaciones similares


Presentación del tema: "Patricio A. Navarrete Junio 17 de 2011"— Transcripción de la presentación:

1 Patricio A. Navarrete Junio 17 de 2011
Sexta Clase Patricio A. Navarrete Junio 17 de 2011

2 Resumen Variables de Salida Instrucciones de Movimiento
Variables de Usuario Condicionalidad Variables de Entrada IN_X  SENSOR_X Configuración de Sensores SetSensorTouch(IN_X); SetSensorLight(IN_X); SetSensorSound(IN_X); SetSensorLowspeed(IN_X);  SensorUS(IN_X); Ciclos while(condición){ while(1){} , acciones; } repeat(cantidad){

3 Resumen estructuras de control

4 if if( condición ){ sentencias si se cumple condición; }

5 if-else if( condición ){ sentencias si se cumple condición; } else{
sentencias si no se cumple condición;

6 repeat repeat( cantidad ){ sentencias que se repiten; }

7 while while( condición ){
sentencias que se realizan mientras se cumple la condición; }

8 do-while do{ sentencias que se repiten mientras se cumple la condición; } while( condición );

9 for for( instrucción previa ; condición ; instrucción de fin de ciclo ){ sentencias que se realizan mientras se cumple la condición; }

10 Condicionalidad múltiple
Ya se ha visto la condicionalidad básica en dos direcciones que se consigue con la instrucción if – else. Se le dice en dos direcciones porque con esa estructura sólo se pueden realizar dos tipos de acciones (verdadero/falso). En ocasiones también es necesario tomar decisiones de acuerdo a múltiples valores. En estos casos se pueden usar muchos if, if – else anidados, o una nueva estructura: switch(valor){ case valor_a : acciones; break; case valor_b : case valor_c : default : }

11 Condicionalidad múltiple
La estructura switch – case tiene la limitación de que no puede analizar rangos de valores o condiciones lógicas como la estructura if – else, si no sólo valores discretos. Una forma sencilla de discretizar una variable es dividirla. Por ejemplo: distance = SensorUS(IN_3)/64; switch(distance){ case 1 : acciones; // break; case 2 : acciones; // case 3 : acciones; // default : acciones; // 0 – 63, etc. }

12 Diagrama de Flujo La estructura switch – case se representa con el siguiente diagrama de flujo:

13 “until”-esperar hasta…
until(“condición a esperar”); Ejemplo: “Avanzar hasta chocar con pared” task main(){ SetSensorTouch(IN_1); OnFwd(OUT_BC,50); until(SENSOR_1==1); Off(OUT_BC); }

14 Combinación de sensores
A veces es necesario utilizar más de un sensor, ya que el entorno nos proporciona distintas excitaciones, donde esta información es imprescindible si es que queremos optimizar la labor del Robot. Por lo cual , es necesario conocer el uso de cada sensor ,considerando funciones además de cómo declararlo al momento de programar.

15 LCD El robot cuenta con una pantalla LCD (iquid crystal display) integrada que es muy útil para poder visualizar los datos que el robot está procesando, indicar las acciones que realiza y depurar los programas. Para usar el LCD se cuenta con tres funciones básicas: Escribir texto TextOut(primer_pixel, LCD_LINEX, “Texto"); Escribir valores NumOut(primer_pixel, LCD_LINEX, variable); Limpiar la pantalla ClearScreen(); Se recomienda realizar una pausa (por ejemplo Wait(500);) entre cada refresco de pantalla para que los caracteres puedan ser leídos.

16 Patricio A. Navarrete Junio 17 de 2011
Sexta Clase Patricio A. Navarrete Junio 17 de 2011


Descargar ppt "Patricio A. Navarrete Junio 17 de 2011"

Presentaciones similares


Anuncios Google