Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Programación Básica con NQC
Patricio A. Castillo Pizarro 15/09/2007
2
Subrutinas Para poder elaborar distintos algoritmos, es común que los programas repitan ciertas rutinas en distintos momentos de ejecución. Con las herramientas vistas hasta ahora, lo normal sería escribir el mismo bloque de código en repetidas ocasiones. Esto generaría un uso innecesario de memoria. Para optimizar la programación en estas situaciones, se cuenta con la posibilidad de emplear ‘subrutinas’ en el programa NQC. La forma de definir este tipo de estructura es la siguiente: sub nombre(){ instrucciones; } Las subrutinas se escriben fuera de la tarea ‘main’. La forma de “invocar” a una subrutina desde ‘main’ es la siguiente: nombre(); En éste punto, se ejecutan las instrucciones de la subrutina y no se continúa la ejecución de las instrucciones de la tarea principal hasta que éstas se completan.
3
Sonidos Una manera sencilla de establecer cierta comunicación con el RCX mientras éste ejecuta algún programa es mediante sonidos. Con esta función se puede conocer qué segmento del programa se está ejecutando si se le añade un sonido característico. De esta manera, es posible depurar programas o simplemente hacer del RCX un aparato más ruidoso. Existen dos formas de emitir sonidos con NQC: PlayTone(frecuencia, tiempo); Tono Puro a la frecuencia indicada durante el tiempo indicado. PlaySound(sonido); Sonidos Predeterminados: SOUND_CLICK SOUND_DOUBLE_BEEP SOUND_DOWN SOUND_UP SOUND_LOW_BEEP SOUND_FAST_UP
4
Mensajes Es posible enviar y recibir mensajes a través del puerto infrarrojo del RCX. Estos mensajes pueden ser entre la torre USB y el RCX, como ocurre cuando se cargan los programas o entre distintos RCX. Los mensajes sólo pueden ser valores de 8 bits, es decir, números entre 0 y 255. Sólo el último mensaje recibido es almacenado en una variable de sistema y se puede acceder a su valor a través de la instrucción: Message(); Si no se ha recibido ningún mensaje, el valor será 0. Para borrar el buffer de mensajes se emplea la función: ClearMessage(); La forma de enviar un mensaje es la siguiente: SendMessage(mensaje);
5
Ciclos de Control Avanzados
Realizar mientras se cumple una condición, al menos una vez: do{ sentencias; }while( condición ) Realizar mientras se cumple una condición, compuesto: for( instrucción anterior ; condición ; instrucción posterior ){ sentencias; } Realizar según el valor: switch( variable ){ case valor a : sentencias si primer valor; break; case valor b: sentencias si segundo valor; default : sentencias si ninguno de los valores anteriores; }
6
Diagramas de Bloques De acuerdo a las nuevas estructuras de control, se establecen nuevas formas de diagramas de bloque, que enriquecen el universo de formas de programas. Estructuras de control vistas: if(){}else{} repeat(){} while(){} do{}while() for(;;){} switch(){case:;break;}
7
If if( condición ){ sentencias si se cumple condición; }
8
If-Else if( condición ){ sentencias si se cumple condición; } else{
sentencias si no se cumple condición;
9
Repeat repeat( cantidad ){ sentencias que se repiten; }
10
While while( condición ){
sentencias que se realizan mientras se cumple la condición; }
11
Do-While do{ sentencias que se repiten mientras se cumple la condición; } while( condición )
12
For for( instrucción previa ; condición ; instrucción de fin de ciclo ){ sentencias que se realizan mientras se cumple la condición; }
13
Switch switch( variable ){ case primer valor :
sentencias que se realizan si la variable toma el primer valor; break; case segundo valor : sentencias que se realizan si la variable toma el segundo valor; default : sentencias que se realizan si la variable toma otro valor; }
14
Ruteos Para una mejor comprensión de las nuevas estructuras de control aprendidas, se efectúa el ruteo de ejemplos de éstas.
15
Programación Básica con NQC
Patricio A. Castillo Pizarro 15/09/2007
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.