Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa...

Post on 28-Jan-2016

218 views 0 download

Transcript of Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa...

Décimo Curso de

Programación Básica con NQC

“Tercera Clase”

www.cursolego.elo.utfsm.cl

Cristián A. Arenas Ulloa

Septiembre 5 de 2009

Resumen

• Variables de Salida : Actuadores

– OUT_A– OUT_B– OUT_C

• Se pueden sumar para ahorrar código: On(OUT_A+OUT_C);

• Instrucciones de Movimiento

– On(salida);

– Off(salida);

– Fwd(salida);

– Rev(salida);– Wait(tiempo); Centesimas de segundo

Resumen

• Variables de Usuario : Manejo de Datos

– Definir: int nombreVariable;– Asignar: myvar = 1;– Aritmética: Suma (+)

Diferencia (-)Producto (*)División (/) Módulo (%)

• Condicionalidad

– if( condición ){ acciones_sí;

} else {

acciones_no;}

Revisión (Ruteo)#define tg 120int i, j;int k = 12;task main(){

i = tg / k;j = tg % k;if(i < j){

k = i * j * k;}else{

k = k – i + j;}i = i * k – k;if(i && j){

if(i != k){i = k;

}}else{

if(k || j){j = i / k;

}}k = k + 1;

}

Var 1

Var 2

… Var n

t0

t1

t2

t3

tn

Variables de Entrada del RCX

• Los “Sensores” son recibidos a través de los 3 puertos de “Entrada” del RCX.

• Cada entrada está definida por un nombre de sistema:

– SENSOR_1– SENSOR_2– SENSOR_3

• De acuerdo al programa cargado en el RCX, se puede conocer el estado de los sensores a través del valor de sus variables asociadas y de ésta manera determinar las acciones a tomar a medida que transcurre el programa.

• El kit con el que se trabaja en las actividades prácticas cuenta con 2 sensores:

– Sensor de Luz (2)– Sensor de Tacto (2)

• Por ejemplo, si el sensor de tacto se encuentra conectado a la entrada SENSOR_1, el valor de ésta variable será “1” si el sensor está presionado o “0” si no lo está.

Configuración de Sensores

• En lenguaje NQC se encuentran implementadas funciones que permiten ajustar los parámetros de funcionamiento de los dispositivos de entrada para adecuarlos al tipo de sensor que se tenga conectado.

– SetSensor(SENSOR_X, SENSOR_XXX);» SENSOR_LIGHT Mode Percent» SENSOR_TOUCH Mode Bool

Ciclos de control Básicos

• Un ciclo de control, como lo indica su nombre, es una estructura que se repite condicionalmente.

• Se realiza mientras se cumple una condición:

– while( condición ){instrucciones;

}

• O se puede realizar una cantidad específica de veces:

– repeat( cantidad ){instrucciones;

}

Diagramas de Flujo

• De acuerdo a las nuevas estructuras de control, se establecen nuevas formas de diagramas de flujo, que enriquecen las alternativas de programas posibles.

• Estructuras de control vistas:

– if(){}else{}– repeat(){}– while(){}

if-else

• if( condición ){instrucciones si se cumple condición;

}else{

instrucciones si no se cumple condición;}

if

• if( condición ){instrucciones si se cumple condición;

}

• Caso particular de if-else

while

• while( condición ){instrucciones mientras se cumple la condición;

}

repeat

• repeat( cantidad ){instrucciones que se repiten cantidad de veces;

}

• Caso especial de while

Aplicación

• Recuerdo : Condicionalidad– if-else (ejemplo empleando aleatoriedad)

• Ciclos:– repeat (ejemplo determinístico)– while (ejemplo dependiente del medio)

• Formato:– Indentación (TAB)– Comentarios (// ó /**/)

Décimo Curso de

Programación Básica con NQC

“Tercera Clase”

Cristián A. Arenas Ulloa

Septiembre 5 de 2009

www.cursolego.elo.utfsm.cl