Programación Básica con NQC Patricio A. Castillo 10/05/2008.

14
Programación Básica con NQC Patricio A. Castillo 10/05/2008

Transcript of Programación Básica con NQC Patricio A. Castillo 10/05/2008.

Page 1: Programación Básica con NQC Patricio A. Castillo 10/05/2008.

ProgramaciónBásica con NQC

Patricio A. Castillo10/05/2008

Page 2: Programación Básica con NQC Patricio A. Castillo 10/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);

Page 3: Programación Básica con NQC Patricio A. Castillo 10/05/2008.

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.

Page 4: Programación Básica con NQC Patricio A. Castillo 10/05/2008.

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;

}

Page 5: Programación Básica con NQC Patricio A. Castillo 10/05/2008.

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;}

Page 6: Programación Básica con NQC Patricio A. Castillo 10/05/2008.

if

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

}

Page 7: Programación Básica con NQC Patricio A. Castillo 10/05/2008.

if-else

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

}else{

sentencias si no se cumple condición;}

Page 8: Programación Básica con NQC Patricio A. Castillo 10/05/2008.

repeat

• repeat( cantidad ){sentencias que se repiten;

}

Page 9: Programación Básica con NQC Patricio A. Castillo 10/05/2008.

while

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

}

Page 10: Programación Básica con NQC Patricio A. Castillo 10/05/2008.

do-while

• do{sentencias que se repiten mientras se cumple la condición;

} while( condición )

Page 11: Programación Básica con NQC Patricio A. Castillo 10/05/2008.

for

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

}

Page 12: Programación Básica con NQC Patricio A. Castillo 10/05/2008.

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;

}

Page 13: Programación Básica con NQC Patricio A. Castillo 10/05/2008.

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.

Page 14: Programación Básica con NQC Patricio A. Castillo 10/05/2008.

ProgramaciónBásica con NQC

Patricio A. Castillo10/05/2008