Professional Documents
Culture Documents
Primera Parte
Respuestas a las preguntas tericas.
a) Indique las partes que componen un robot.
Las tres partes fundamentales que componen un robot son: actuadores,
lgica de control (cerebro) y sensores.
b) Explique cmo se programa un robot.
Para programar un robot, primero se debe definir adecuadamente su
funcin, los objetivos que debe cumplir y sus limitaciones. Luego, se desarrolla el
algoritmo que permita al robot realizar sus tareas. A continuacin, se implementa
el algoritmo en el lenguaje de programacin y, finalmente, el programa se compila
y se carga en el robot. Posteriormente, se realizan los ajustes necesarios al
programa.
c) Explique para qu sirven los lenguajes de programacin.
Un lenguaje de programacin es un conjunto de normas que permiten
definir la correcta manera de escribir un algoritmo para que el robot lo pueda
interpretar como un conjunto de acciones y rutinas que le permitan completar su
funcin.
d) Qu es un entorno de programacin?
Un entorno de programacin es una aplicacin que facilita la escritura,
compilacin y depuracin de un programa en un lenguaje determinado.
e) Cmo se define una variable de usuario en NQC?
Se define mediante la siguiente estructura:
int variable;
Segunda Parte
Realice los ruteos de los siguientes programas.
a)
#define limite 25
#define mas i=i+10;
#define menos i=i-10;
int var1, var2, i;
task main(){
var1 = 10;
var2 = 20;
i = 0;
if(var1 < limite){
//condicin se cumple (10 < 25)
var1 = var1 + var2;
//var1 = 10 + 20 = 30
}
else{
//se realiz if -> no se realiza else
menos
}
if(var2 > limite){
//no se cumple (20 > 25) falso
var2 = var2 var1;
}
else{
//no se realiza if -> s se realiza else
if((var1 > limite) && (var1 > var2)){
//(30 > 25):s y (30 > 20):s
mas
//i = 0 + 10 = 10
}
}
}
var2
20
20
20
20
i
0
0
10
b)
#define random 6
task main(){
int aleatorio = random;
int par = 2 (random % 2);
if ((aleatorio / par) == 1){
//(6/2=3) == 1 : falso
aleatorio = 0;
}
//no se realiza if -> se realiza else
else{
par = par * 2;
//par = 2 * 2 = 4
}
if(aleatorio > 0){
//(6 > 0) : verdadero
if((aleatorio / par) == 1){
//(6/4=1)==1 : s
aleatorio = 1;
}
else{
//se realiza if, no se realiza else
par = par * 2;
}
}
}
par
2
4
4
c)
task main(){
int a = 97;
int m = 109;
int z = (m a) * 2 + a;
//z=(109-97=12)*2=24+97=121
z = z + 1;
//z = 121 + 1 = 122
if((a > 64) && (a < 123)){
//(97>64):s (97<123):s
if(a > 90){
//(97>90) : s
a = a 96;
//a = 97 96 = 1
m = m - 96;
//m = 109 96 = 13
z = z 96;
//z = 122 96 = 26
}
else{
//se realiz if, no se realiza else
a = a 64;
m = m 64;
z = z 64;
}
}
else
//se realiza if -> no se realiza else
a = 0;
}
Variables: a, m y z.
a
97
97
97
97
1
1
1
m
109
109
109
109
13
13
z
121
122
122
122
26
d)
#define n 2
int i, j, k;
task main(){
i = n * 3;
//i = 2 * 3 = 6
j = n * 5;
//j = 2 * 5 = 10
k = n * 7;
//k = 2 * 7 = 14
if((k % i) > n){
//(14 % 6) = 2 > 2 : falso
k = j i;
i = 0;
}
//no se realiza if, no hay else
if((i != 0) && ((k - j) > i)){//(6!=0):s (14-10)>6: no
k = i;
i = 0;
}
//no se realiza if -> se realiza else
else
j = k * n i * (n + 1) - 1;
//j=14*2-6*3-1=9
}
Variables: i, j y k.
i
6
6
6
6
j
10
10
9
k
14
14