Sei sulla pagina 1di 10

Lección 1: Introducción a la programación

1. Se necesita comprender de forma más cabal la solución antes de escribir el programa. Usted
decide desarrollar un algoritmo que cree una lista de todos los pasos necesarios para realizar una
operación en el orden correcto. Cualquier técnica que use deberá minimizar la complejidad y la
ambigüedad. ¿Cuál de las siguientes técnicas debe usar?
a) diagrama de flujo
b) tabla de decisión
c) programa C#
d) un párrafo en español

2. ¿Cuál de los siguientes lenguajes no se considera un lenguaje de programación de alto nivel?


a) C#
b) Visual Basic
c) Lenguaje intermedio común
d) C++

3. Está escribiendo código para una aplicación de negocios mediante C#: Escriba la siguiente
instrucción para declarar una matriz:

int[] numbers = { 1, 2, 3, 4, 5 };

Ahora necesita obtener acceso al segundo elemento de esta matriz (el número 2). ¿Cuál de las
siguientes expresiones debe usar?
a) numbers[0]
b) numbers[1]
c) numbers[2]
d) numbers[3]

4. Está desarrollando un programa C#. Escribe el siguiente código:

int x = 10; int


y = ++x; int z
= y++;

¿Cuál será el valor de la variable z después de que se ejecuten los valores indicados arriba?
a) 10
b) 11
c) 12
d) 13
5. Está escribiendo un método denominado PrintReport que no devuelve un valor al código de
llamada. ¿Qué palabra clave debe usar en su declaración de método para indicar este hecho?
a) void
b) private
c) int
d) string

6. Necesita proporcionar bifurcaciones multidireccionales en su programa C#. Se debe asegurar


de que el código sea fácil de leer y de entender. ¿Cuál de las siguientes instrucciones C# debe
usar?
a) case
b) break
c) if-else
d) switch

7. Está escribiendo un programa C# que recorre en iteración una colección, como las matrices y
las listas. Debe asegurarse de que procese cada elemento en la colección una vez. También
necesita asegurarse de que el código sea fácil de leer y de depurar. ¿Cuál de las siguientes
instrucciones C# proporciona la mejor solución para este requisito?
a) while
b) for
c) foreach
d) do-while

8. Está desarrollando un programa C# que necesita realizar 5 iteraciones. Escribe el siguiente


código:

01: int count = 0; 02:


while (count <= 5)
03: {
04: Console.WriteLine("El valor del conteo = {0}", count);
05: count++;
06: }

Al ejecutar el programa, usted observa que el bucle no se repite cinco veces. ¿Qué debe hacer
para asegurarse de que el bucle se ejecute exactamente cinco veces?
a) Cambiar el código de la línea 01 a
int count = 1;
b) Cambiar el código de la línea 02 a
while (count == 5)
c) Cambiar el código de la línea 02 a
while (count >= 5)
d) Cambiar el código de la línea 05 a
++count;

9. Está desarrollando un programa C#. Usted escribe la siguiente línea de código:

int x = 6 + 4 * 4 / 2 - 1;

¿Cuál será el valor de la variable x después de ejecutar esta instrucción?


a) 19
b) 13
c) 20
d) 14

10. Está escribiendo un programa C# que debe manipular valores de tipo integer de gran tamaño,
que pueden superar los 12 dígitos. Estos valores pueden ser positivos o negativos. ¿Qué tipo de
datos debe usar para almacenar una variable como esta?
a) int
b) float
c) double
d) long

11. Escribió un método C# que abre una conexión de bases de datos mediante el uso del objeto
SqlConnect. El método recupera parte de la información de la base de datos y después cierra la
conexión. Debe asegurarse de que cuando su código genere errores de base de datos, lo haga de
una forma delicada. Para controlar esta situación, se ajusta el código de base de datos en un
bloque try-catch-all. Puede usar dos bloques catch, uno para capturar las excepciones del
tipo SqlException y la segunda para capturar la excepción de tipo Exception. ¿Cuál de los
siguientes espacios es la mejor opción para cerrar el objeto SqlConnection?
a) Dentro del bloque try, antes del primer bloque catch.
b) Dentro del bloque catch, que captura los objetos SqlException
c) Dentro del bloque catch, que captura los objetos Exception
d) Dentro del bloque finally
12. Está asistiendo a sus colegas a resolver un error de compilación que está iniciando su código.
A continuación se muestra la porción del código que genera problemas:

try { bool success =


ApplyPicardoRotation(100, 0);
// aquí hay líneas adicionales de código
} catch(DivideByZeroException
dbze)
{
//código de control de excepciones
}
catch(NotFiniteNumberException nfne)
{
//código de control de excepciones
}
catch(ArithmeticException ae)
{
//código de control de excepciones
}
catch(OverflowException oe)
{
//código de control de excepciones
}

Para solucionar el error de compilación, ¿cuál de los siguientes métodos para reordenar el código
sugeriría usted?
a) try
{ bool success = ApplyPicardoRotation(100,
0);
// aquí hay líneas adicionales de código
}
catch(DivideByZeroException dbze)
{
//código de control de excepciones
}
catch(ArithmeticException ae)
{
//código de control de excepciones
}
catch(OverflowException oe)
{
//código de control de excepciones
}

b) try
{ bool success = ApplyPicardoRotation(100,
0);
// aquí hay líneas adicionales de código
}
catch(DivideByZeroException dbze)
{
//código de control de excepciones
}
catch(Exception e)
{
//código de control de excepciones
}
catch(OverflowException oe)
{
//código de control de excepciones
}

c) try
{ bool success = ApplyPicardoRotation(100,
0);
// aquí hay líneas adicionales de código
} catch(DivideByZeroException
dbze)
{
//código de control de excepciones }
catch(NotFiniteNumberException nfne)
{
//código de control de excepciones
}
catch(OverflowException oe)
{
//código de control de excepciones
}
catch(ArithmeticException ae)
{
//código de control de excepciones
}

d) try
{ bool success = ApplyPicardoRotation(100,
0);
// aquí hay líneas adicionales de código
}
catch(DivideByZeroException dbze)
{
//código de control de excepciones
}
catch(NotFiniteNumberException nfne)
{
//código de control de excepciones
}
catch(Exception e)
{
//código de control de excepciones
}
catch(ArithmeticException ae)
{
//código de control de excepciones
}

13. Está desarrollando un programa C#. Está escribiendo un método recursivo para calcular el
factorial de un número. ¿Cuál de los siguientes segmentos de código debe usar para generar
resultados correctos?
a) public static int Factorial(int n)
{
if (n == 0)
{
return 1;
}
else {
return n * Factorial(n - 1);
} }

b) public static int Factorial(int n)


{
if (n == 0)
{ return
1; }
else {
return (n – 1) * Factorial(n);
} }

c) public static int Factorial(int n)


{ if (n == 0) {
return n; } else {
return Factorial(n - 1);
} }

d) public static int Factorial(int n)


{
return n * Factorial(n - 1);
}

14. Está desarrollando un programa C#. Escribe el siguiente código:

01: int count = 0;


02: while (count < 5)
03: {
04: if (count == 3)
05: break;
06: count++; 07:
}
¿Cuántas veces entrará el control en el bucle while?
a) 5
b) 4
c) 3
d) 2

15. Está desarrollando un programa C#. Escribe el siguiente código:

int i = 6; do {
if (i == 3)
break;
Console.WriteLine("El valor de i = {0}", i);
i++; } while (i <= 5);

¿Cuántas veces entrará el control en el bucle while?


a) 0
b) 1
c) 2
d) 3

16. Está escribiendo un programa C# y debe seleccionar una estructura de repetición adecuada
para sus necesidades. Necesita asegurarse de que la prueba de la condición de terminación se
realice en la parte inferior del bucle en lugar de en la parte superior. ¿Qué estructura de
repleción debe usar?
a) La instrucción while
b) La instrucción for
c) La instrucción foreach
d) La instrucción do-while

17. Está escribiendo un programa C#. Escribe el siguiente método:

public static void TestSwitch(int op1, int op2, char opr)


{ int
result;
switch (opr)
{
case '+':
result = op1 + op2;
case '-':
result = op1 - op2;
case '*':
result = op1 * op2;
case '/':
result = op1 / op2;
default:
Console.WriteLine("Operador desconocido");
return;
}
Console.WriteLine("Resultado: {0}", result);
return;
}

Sin embargo, al compilar el código, obtiene el siguiente mensaje de error: El


control no puede pasar de una etiqueta de caso a otra
¿De qué modo deberá modificar el código para asegurarse de que se compile correctamente?
a) Después de cada caso, se agrega la siguiente línea de código:
break;
B) Después de cada caso, se agrega la siguiente línea de código:
continue;
c) Después de cada caso, se agrega la siguiente línea de código:
goto default;
d) Después de cada caso, se agrega la siguiente línea de código:
return;

18. Está desarrollando un algoritmo para un sitio web de venta minorista. Debe calcular
descuentos para ciertos elementos en función de la cantidad comprada. Usted desarrolla la
siguiente tabla de decisión para calcular el descuento:

Cantidad < 10 S N N N

Cantidad < 50 S S N N

Cantidad < 100 S S S N

Descuento 5% 10% 15% 20%

Si un cliente compra 50 unidades de un elemento, ¿qué descuento se aplicará a la compra?


a) 5 por ciento
b) 10 por ciento
c) 15 por ciento
d) 20 por ciento

19. Está desarrollando un algoritmo antes de escribir el programa C#. Debe realizar algunos
cálculos con un número. Usted desarrolla el siguiente diagrama de flujo para el cálculo:

Si el valor de entrada de n es 5, ¿cuál es el valor de salida de la variable “hecho” según este


diagrama de flujo?

a) 720
b) 120
c) 24
d) 6
INICIO

Entrad
an

hecho = 1

No
¿n >
1?

hecho = hecho * n

n=n-1

Hecho de
salida

FIN
20. Está escribiendo un programa C# que debe iterarse un número de veces delimitado. Debe
asegurarse de que su código sea fácil de entender y mantener, incluso cuando el cuerpo del bucle
contiene código complejo. ¿Cuál de las siguientes instrucciones C# proporciona la mejor
solución para este requisito?
a) while
b) for
c) foreach
d) do-while

Potrebbero piacerti anche