programación básica con nqc patricio a. castillo 10/05/2008
TRANSCRIPT
![Page 1: Programación Básica con NQC Patricio A. Castillo 10/05/2008](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/1.jpg)
ProgramaciónBásica con NQC
Patricio A. Castillo10/05/2008
![Page 2: Programación Básica con NQC Patricio A. Castillo 10/05/2008](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/6.jpg)
if
• if( condición ){sentencias si se cumple condición;
}
![Page 7: Programación Básica con NQC Patricio A. Castillo 10/05/2008](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/8.jpg)
repeat
• repeat( cantidad ){sentencias que se repiten;
}
![Page 9: Programación Básica con NQC Patricio A. Castillo 10/05/2008](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081323/5665b4a91a28abb57c92fc59/html5/thumbnails/14.jpg)
ProgramaciónBásica con NQC
Patricio A. Castillo10/05/2008