ISRO | CS ISRO 2017 | Pregunta 67

Considere el segmento de código

int i, j, x, y, m, n;
 n=20;
 for (i = 0, i < n; i++)
  {
    for (j = 0; j < n; j++)
     {
        if (i % 2)
        {
         x + = ((4*j) + 5*i);
         y += (7 + 4*j);
        }
     }
  }
  m = x + y;

¿Cuál de los siguientes es falso?
(A) El código contiene cálculo invariable de bucle
(B) Hay alcance de eliminación de subexpresiones comunes en este código
(C) Hay alcance de reducción de fuerza en este código
(D) Hay alcance de eliminación de código inactivo en este código

Respuesta: (D)
Explicación: la opción (D) es falsa porque en la técnica de eliminación de código inactivo elimina el código inactivo como sugiere el nombre. Las declaraciones de código se denominan código muerto en el que el código nunca se ejecuta o es inalcanzable o su salida nunca se usa, se eliminan, pero aquí no hay ese tipo de declaraciones o código.

Aquí reducimos la reducción de fuerza reemplazando el » 4 * j con 4 << j » y el código tiene una subexpresión común, así como cálculos invariantes de bucle.
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *