Programación Básica con NQC Patricio A. Castillo 10/05/2008.
-
Upload
jose-carlos-segura-caballero -
Category
Documents
-
view
217 -
download
0
Transcript of Programación Básica con NQC Patricio A. Castillo 10/05/2008.
ProgramaciónBásica con NQC
Patricio A. Castillo10/05/2008
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);
Subrutinas
• Al elaborar distintos algoritmos, normalmente se repiten ciertas rutinas.
• Con las herramientas vistas hasta ahora, sólo se podría escribir el mismo bloque de código repetidamente, ocasionando 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.
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 inicial ; condición ; instrucción de ciclo ){
sentencias;}
• Realizar según el valor:– switch( variable ){
case valor a :sentencias si valor a;break;
case valor b:sentencias si valor b;break;
default :sentencias si ninguno de los valores anteriores;break;
}
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;}
if
• if( condición ){sentencias si se cumple condición;
}
if-else
• if( condición ){sentencias si se cumple condición;
}else{
sentencias si no se cumple condición;}
repeat
• repeat( cantidad ){sentencias que se repiten;
}
while
• while( condición ){sentencias que se realizan mientras se cumple la condición;
}
do-while
• do{sentencias que se repiten mientras se cumple la condición;
} while( condición )
for
• for( instrucción previa ; condición ; instrucción de fin de ciclo ){sentencias que se realizan mientras se cumple la condición;
}
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;break;
default :sentencias que se realizan si la variable toma otro valor;break;
}
Repaso
• La próxima clase se realizará la segunda evaluación.
• Practicar repaso de la materia vista hasta el momento.
• Para una mejor comprensión de las nuevas estructuras de control aprendidas, se efectúa el ruteo de ejemplos.
• Revisar material de cursos anteriores.
ProgramaciónBásica con NQC
Patricio A. Castillo10/05/2008