Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa...
-
Upload
eufemia-polon -
Category
Documents
-
view
218 -
download
0
Transcript of Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa...
![Page 1: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/1.jpg)
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
![Page 2: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/2.jpg)
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
![Page 3: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/3.jpg)
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;}
![Page 4: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/4.jpg)
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
![Page 5: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/5.jpg)
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á.
![Page 6: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/6.jpg)
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
![Page 7: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/7.jpg)
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;
}
![Page 8: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/8.jpg)
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(){}
![Page 9: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/9.jpg)
if-else
• if( condición ){instrucciones si se cumple condición;
}else{
instrucciones si no se cumple condición;}
![Page 10: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/10.jpg)
if
• if( condición ){instrucciones si se cumple condición;
}
• Caso particular de if-else
![Page 11: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/11.jpg)
while
• while( condición ){instrucciones mientras se cumple la condición;
}
![Page 12: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/12.jpg)
repeat
• repeat( cantidad ){instrucciones que se repiten cantidad de veces;
}
• Caso especial de while
![Page 13: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/13.jpg)
Aplicación
• Recuerdo : Condicionalidad– if-else (ejemplo empleando aleatoriedad)
• Ciclos:– repeat (ejemplo determinístico)– while (ejemplo dependiente del medio)
• Formato:– Indentación (TAB)– Comentarios (// ó /**/)
![Page 14: Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.](https://reader035.fdocuments.es/reader035/viewer/2022062519/5665b4341a28abb57c8ff306/html5/thumbnails/14.jpg)
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