Vous êtes sur la page 1sur 20

Unidad 1

Pregunta 1
Las etapas del ciclo de vida de software son: I. Codificacin; II. Pruebas y validacin; III.
Anlisis del problema; IV. Diseo de la solucin; V. Mantenimiento. El orden en que se
realizan es:
Seleccione una:
a. III, I, IV, II, V
b. III, V, II, I, IV
c. III, IV, I, II, V
d. III, II, I, IV, V

Retroalimentacin
A partir del planteamiento del problema, se debe analizar que se requiere (datos de entrada)
y que s espera (salida). Despus se disea una solucin (algoritmo), el cual se debe
codificar en un lenguaje de programacin. Despus se debe verificar que funcione.
Posteriormente, si requiere una modificacin para correccin o extensin se realizar el
mantenimiento.
La respuesta correcta es: III, IV, I, II, V

Pregunta 2
Son ejemplos de dispositivos de salida
Seleccione una:
a. Bocinas e impresora
b. Impresora y memoria fash (tambin llamada usb)
c. Escaner y Bocinas
d. Monitor y teclado

Retroalimentacin
Las bocinas e impresora son ejemplos de dispositivos de salida.
La respuesta correcta es: Bocinas e impresora

Pregunta 3
Es un ejemplo de una instruccin en lenguaje ensamblador.
Seleccione una:
a. printf("hola mundo");
b. 0010 0000 1000 0100
c. Leer x
d. MOV R2, R7

Retroalimentacin

MOV R2, R7 es un ejemplo de una instruccin en lenguaje ensamblador.


La respuesta correcta es: MOV R2, R7

Pregunta 4
Texto de la pregunta
De acuerdo con el modelo de Von Neumann, los datos de un programa se almacenan en:
Seleccione una:
a. La memoria ROM
b. En el disco duro
c. En la memoria RAM
d. En la memoria secundaria

Retroalimentacin
Para que los datos sean procesados deben estar en la memoria principal, especficamente en
la memoria RAM.
La respuesta correcta es: En la memoria RAM

Pregunta 5
Texto de la pregunta
La diferencia entre un intrprete y un compilador es:
Seleccione una:
a. El intrprete traduce una a una cada instruccin mientras las va ejecutando. En
cambio, el compilador traduce todo el programa, generando un programa objeto que
despus se convierte en un programa ejecutable.
b. El compilador traduce una a una cada instruccin mientras las va ejecutando. En
cambio, el intrprete traduce todo el programa, generando un programa objeto que despus
se convierte en un programa ejecutable.
c. El compilador traduce todo el programa y luego lo ejecuta. En cambio, el intrprete
traduce todo el programa y despus lo ejecuta. En ambos casos siempre que se quiere
ejecutar el programa se tiene que volver a traducir (compilar o interpretar).
d. El intrprete traduce todo el programa y luego lo ejecuta. En cambio, el compilador
traduce la parte seleccionada del programa y despus lo ejecuta. En ambos casos siempre
que se quiere ejecutar el programa se tiene que volver a traducir (compilar o interpretar).

Retroalimentacin
La diferencia entre un intrprete y un compilador es que el intrprete traduce una a una
cada instruccin mientras las va ejecutando. En cambio, el compilador traduce todo el
programa, generando un programa objeto que despus se convierte en un programa
ejecutable.
La respuesta correcta es: El intrprete traduce una a una cada instruccin mientras las va
ejecutando. En cambio, el compilador traduce todo el programa, generando un programa
objeto que despus se convierte en un programa ejecutable.

UNIDAD2
Cul es el menor nmero de condicionales que se necesitan para que la ardilla encuentre las
tres bellotas
que se encuentran en el tablero de la siguiente figura en alguna de las casillas marcadas con
un crculo?
Considera que en cada casilla slo puede haber una bellota.

Seleccione una:
Tres
Cuatro
Dos
Cero

Retroalimentacin
Considerando que hay tres bellotas y hay tres lugares marcados, no se requiere ninguna
estructura condicional para verificar que haya una bellota.
La respuesta correcta es: Cero

Pregunta 2
Cul de los siguientes algoritmos permite que la ardilla, que se encuentra en la primera
posicin volteando hacia arriba (ver figura a) logre llegar a la ltima posicin junto con la
bellota y quede volteando hacia arriba (ver figura b)?

Seleccione una:
giraDerecha()
avanza()
avanza()
recogeBellota()
avanza()
avanza()
avanza()
avanza()
recogeBellota()
avanza()
avanza()
giraIzquierda()
giraDerecha()
avanza()
avanza()
recogeBellota()
avanza()
avanza()
giraIzquierda()
giraIzquierda()
avanza()
avanza()
recogeBellota()
avanza()
avanza()
giraDerecha()

Pregunta 3

A qu pareja de mundo inicial y final corresponde el siguiente algoritmo?


avanza()
avanza()
Si hayBellota() entonces
recogeBellota()
Fin Si
avaza()
giraDerecha()
giraDerecha()
avanza()
avanza()
Seleccione una:

Unidad3
Declaracin de una variable que almacene el radio de un crculo:
float 8_radio;
Elija una;
Verdadero
Falso

Retroalimentacin
Correcta, el identificador no puede empezar con un dgito.
La respuesta apropiada es 'Falso

Pregunta 2
Declaracin de una variable para almacenar la edad de una persona:
int aos;
Elija una;
Verdadero
Falso

Retroalimentacin
Correcta, la no es un smbolo permitido en un identificador.
La respuesta apropiada es 'Falso

Pregunta 3
Declaracin de una variable para almacenar el nmero de vehculos estacionados.
int num_veh;
Elija una;
Verdadero
Falso

Retroalimentacin
Correcto: El nmero de vehculos es un nmero entero y el identificador cumple con las
reglas.
La respuesta apropiada es 'Verdadero

Pregunta 4
Declaracin de una variable que almacene el nmero de autos;
float float;
Elija una;
Verdadero
Falso

Retroalimentacin

Correcta, no se puede utilizar float como identificador.


La respuesta apropiada es 'Falso

Pregunta 5
Declaracin de una variables para guardar el precio de la gasolina.
float precio_2;
Elija una;
Verdadero
Falso

Retroalimentacin
Correcta, el precio de la gasolina es un nmero decimal y el identificador cumple con las
reglas.
La respuesta apropiada es 'Verdadero

Pregunta 6
La codificacin de la expresin
x 3y + 2;
Es
x = 3y + 2;
Elija una;
Verdadero
Falso

Retroalimentacin
La codificacin correcta es:
x = 3*y + 2;
La respuesta apropiada es 'Falso

Pregunta 7
La codificacin de la expresin

Es
x= (3*y+2)/2;
Elija una;
Verdadero
Falso

Retroalimentacin
Correcta, los parntesis nos indican que primero se realizan las operaciones de arriba y el
resultado se divide entre 2.
La respuesta apropiada es 'Verdadero

Pregunta 8
La codificacin de la expresin
Es
x= (3*y+2)/2*a;
Elija una;
Verdadero

Falso
Retroalimentacin
Correcta, falta poner parntesis en la multiplicacin de abajo, de lo contrario la variable a
se multiplicara por el resultado de (3*y+2)/2.
La respuesta apropiada es 'Falso

Pregunta 9
Considerando que el estado de las variables es x=4, y=8 y w= 2
El resultado de evaluar la expresin
z = y+6/w*3;
es z=21
Elija una;
Verdadero
Falso

Retroalimentacin
Correcto. Primero se realiza la divisin (obteniendo y+3*w), despus la multiplicacin
(obteniendo y+9) y finalmente la suma (obteniendo 17).
La respuesta apropiada es 'Falso

Pregunta 10
Considerando que el estado de las variables es x=4, y=8 y w= 2
El resultado de evaluar la expresin
z = x+4*(5*w)/10+y;
es z= 24
Elija una;
Verdadero
Falso

Retroalimentacin
Correcto. Primero se resuelve lo que est entre parntesis (obteniendo x+4*(10)/10+y),
despus la multiplicacin (obteniendo x+40/10+y), posteriormente la divisin (obteniendo
x+4+y) y finalmente las sumas (obteniendo 16).
La respuesta apropiada es 'Falso

UNIDAD 4
Si el estado de las variables es: x=2, y=3 Cul es la salida del siguiente diagrama de flujo?

Seleccione una:
a. -3
Correcto: El estado de las variables hace verdadera la condicin (x0 AND y2), por lo
tanto se ejecuta la instruccin z (x+1)/(y-4), de tal manera que el valor de z que se
imprime es el resultado de (2+1)/(3-4) = 3/(-1) = -3.
b. 1
c. 3
d. -1

Cul es la salida del siguiente pseudocdigo, si el estado de la variable es z=0?


Si (z=0) entonces
Imprimir Cero
Fin Si
Si (z>0) entonces
Imprimir Positivo
Fin Si

Si (z0) entonces
Imprimir Negativo
Fin Si
Seleccione una:
a. Cero Negativo
Correcto: Cuando z vale 0, se cumple la condicin del primer Si (z=0) y tambin del
tercero (z0). Por lo tanto, se imprimen los mensajes "Cero" y "Negativo".
b. Cero Positivo
c. Positivo
d. Negativo

Cul es el estado de la variable c despus de ejecutar el siguiente segmento de cdigo,


considerando que x=22?
switch(x%5)
{
case 0: c = 'a';
break;
case 1: c = 'e';
break;
case 2: c = 'i';
break;
case 3: c = 'o';
break;
case 4: c = 'u';
break;
default: c = 'z';
}

Seleccione una:
a. c = a
b. c = e
c. c = i

Correcto: El resultado de la expresin x%5, cuando x=22, es 2. El estado de la variable c


es i.
d. c = z
Se requiere un programa que lea la longitud de una lnea y a continuacin la imprima en
pantalla utilizando guiones, de tal manera que si la longitud es N imprima N-guiones. Tal
como se ilustra en las siguientes figuras.

b. main()
{
int lado, i;
printf("Ingresa el lado: ");
scanf("%d", &lado);
for(i=0; i<lado; i++)
printf("-");
}
Correcto: El cdigo imprime exactamente N guiones, pues i va desde 0 hasta lado-1 (que
da un total de N iteraciones).

Determina qu calcula el siguiente diagrama de flujo

Seleccione una:

a.

b.

c.

d.
Correcto: El algoritmo en la primera iteracin calcula la suma: 0 + 2(1). En la segunda
iteracin, al resultado de la anterior le suma 2(2). En la tercera suma 2(3), y este proceso se
repite hasta llegar a la iteracin 2(N-1). De tal manera que calcula la suma 0 + 2(1)+ 2(2)
+ 2(N-1), es decir la suma de los primeros N-1 nmeros pares.

Pregunta 1
Se desea almacenar las lecturas correspondientes a las temperaturas promedio diarias
registradas durante un mes, Qu tipo de variables es ms conveniente usar?
Seleccione una:
a. variables independientes
b. una estructura
c. un arreglo
Correcto: Cuando se tiene un conjunto de datos relacionados del mismo tipo lo ms
conveniente es almacenarlos con un arreglo.
d. constantes independientes

Pregunta 2
Cuntos ndices se requieren para especificar un elemento en particular para un arreglo
tridimensional?
Seleccione una:
a. 1
b. 3
Correcto: La dimensin de un arreglo esta relacionada con el nmero de ndices que se
requieren para especificar a un elemento en particular dentro del arreglo. Por lo tanto para
un arreglo tridimensional se requerirn 3 ndices.
c. 2
d. 0

Pregunta 3
Para el arreglo bidimensional x declarado con la siguiente instruccin:
float x[2][3]={9.5,10,8.6,5};
Cul es el valor de los elemento x[0][2] y x[1][1]?
Seleccione una:
a. x[0][2]= 10
x[1][1]= no se sabe
b. x[0][2]= 8.6
x[1][1]= 0
Correcto: Los elementos del conjunto inicial se van asignando consecutivamente en cada
uno de los elementos del arreglo por rengln. Cuando se inicializan solo algunos elementos
del arreglo el resto por default se inicializa en cero.
c. x[0][2]= 10
x[1][1]= 0

d. x[0][2]= 8.6
x[1][1]= 5

Pregunta 4
Qu hace el siguiente cdigo, y qu tamao deberan tener los arreglos frec y votos?.
Suponga que el arreglo votos slo almacena valores del 1 al 3 y el arreglo frec est
inicializado en cero
for(i=0;i<100;i++)
frec[votos[i]-1]++;
for(i=0;i<3i++)
printf("Candidato %d: %d votos",i,frec[i]);
Seleccione una:
a. Resta uno al contenido de cada elemento del arreglo votos y muestra en pantalla el
contenido de frec. El tamao de frec depende del mximo valor en votos y tiene un tamao
mximo de 3.
b. Incrementa consecutivamente los elementos del arreglo frec y decrementa los
elementos del arreglo votos. El tamao de ambos arreglos es mximo de 100
c. Incrementa los primeros 100 elementos del arreglo frec pero muestra en pantalla solo
los tres primeros. El tamao de ambos arreglos debe ser mnimo de 100
d. Muestra en pantalla el nmero de veces que aparece cada uno de los valores
almacenados en el arreglo votos. El tamao de frec debe ser 3 y el de votos al menos 100
Correcto: El primer ciclo recorre el arreglo votos y va incrementado el elemento en frec
cuyo ndice corresponde al valor almacenado en votos menos uno, de tal forma que al
terminar el ciclo los elementos de frec guardan el nmero de veces que aparecieron cada
uno de los tres posibles valores de votos. Muestra en pantalla el contenido del arreglo frec.

Retroalimentacin
La respuesta correcta es: Muestra en pantalla el nmero de veces que aparece cada uno de
los valores almacenados en el arreglo votos. El tamao de frec debe ser 3 y el de votos al
menos 100

Pregunta 5
Para un sistema de atlas nacional se desea declarar una variable para almacenar los
siguientes datos de N ciudades: idioma, religin, permetro, superficie, clima, poblacin
estimada, densidad poblacional. Cul de las siguientes declaraciones es correcta?
Seleccione una:
a. struct {
char idioma[30];
char religion[30];
float perimetro;

float superficie;
float poblacion;
float densidad;
} datos_ciudad ciudades[N];
Correcto: Como los datos por cada ciudad son de diferente tipo, entonces no se puede
utilizar un arreglo, necesariamente se debe definir una estructura, y con esta estructura
hacer el arreglo para las N ciudades. Hay que recordar que las estructuras se definen
declarando la variables para cada uno de los datos que la formarn, y no solo
nombrndolas.
b. int datos _ciudad[N][7];
/*Cada columna del arreglo corresponde consecutivamente a:
idioma
religion
perimetro
superficie
poblacion
densidad*/
c. struct datos_ciudad{
char idioma[30];
char religion[30];
float perimetro;
float superficie;
float poblacion;
float densidad;
};
d. struct {
idioma;
religion;
perimetro;
superficie;
poblacion;
densidad;
} datos_ciudad[N];

Unidad 6

Pregunta 1
Cul es la salida del siguiente programa?

Seleccione una:
a. z=6, x=3
Correcto: La variable z se modifica con el valor que regresa fun1(x), con x=3, que es 6. Y
ya que el parmetro se pasa por valor no se modifica el estado de la variable x del main, as
que sigue siendo 3.
b. z=6, x= 4
c. z=0, x=6
d. z=0, x=3

Pregunta 2

En el siguiente cdigo el compilador marca un error. Determina cul es.

Seleccione una:
a. En fun1 la variable w no ha sido declarada.
b. En main la llamada a fun2( x ) debera ser fun2( y ).
c. En fun2 faltan parntesis en la instruccin return w*x

d. En fun2 la variable x no ha sido declarada.


Correcto: La variable w es global as que se puede utilizar en cualquier funcin despus de
la declaracin.

Retroalimentacin
La respuesta correcta es: En fun2 la variable x no ha sido declarada

Pregunta 3
Es una invocacin correcta a la funcin delta cuyo prototipo es:
int delta(int,float,char[]);
considera x como entero, y como flotante y C como cadena
Seleccione una:
a. delta(5,C,6.3);
b. y=delta(x,"cadena");
c. x=delta(y,x,C);
d. x=delta(x,y,"delta");
Correcto: Cuando invocamos funciones se deben enviar tantos parmetros, del tipo y en el
orden como se especificaron en su definicin.

Pregunta 4
Cul es la funcin que al invocarla de la siguiente forma devuelve un valor de 0?
funcion(5,4,1);
Seleccione una:
a. void funcion(int a, int b, int c){
if (c)
return a-b-1;
else
return a+b-1;
}
b. int funcion(int a, int b, int c){
if (c)
if(a>b)
return !c;
else
if (a>c)
c=!c;
return c;
}
Correcto: La palabra reservada void indica que la funcin no devuelve ningn valor,
tambin hay que recordar que las funciones terminan su ejecucin al encontrar la palabra
reservada return.
c. int funcion(int a, int b, int c){
if (c)
return a+b;
else
return a-b
}
d. void funcion(int a, int b, int c){
if (c)
if(a>b) return !c;
else
if (a>c) c=!c
return c;
}

Pregunta 5
Se requiere una funcin que reciba un arreglo de enteros y devuelva el doble de cada uno
de sus valores. Cul de las siguientes funciones resuelve el problema?, considera N como
una constante.
Seleccione una:
a. int doble(int x[]){
int i;
for(i=0;i<N;i++)

2*x[i];
return x;
}
b. void doble(int x[N]){
int i;
for(i=0;i<N;i++)
x[i]=2*x[i];
}
c. void doble(int x){
int i;
for(i=0;i<10;i++)
x=2*x[i];
}
Correcto: Como los arreglos se pasan por referencia entonces las modificaciones que se
hagan sobre el arreglo x se hacen en realidad sobre el arreglo que se envi como parmetro,
por lo que no es necesario que la funcin devuelva nada, basta con que reciba el arreglo y la
funcin actualice el valor de sus elementos con el doble de su valor original.
d. void doble(int x){
int i;
for(i=0;i<N;i++)
x=2*x;
}

Retroalimentacin
Correcto: Como los arreglos se pasan por referencia entonces las modificaciones que se
hagan sobre el arreglo x se hacen en realidad sobre el arreglo que se envi como parmetro,
por lo que no es necesario que la funcin devuelva nada, basta con que reciba el arreglo y la
funcin actualice el valor de sus elementos con el doble de su valor original.
La respuesta correcta es: void doble(int x){
int i;
for(i=0;i<10;i++)
x=2*x[i];
}

Vous aimerez peut-être aussi