PUERTA | PUERTA CS 2018 | Pregunta 44

Considere el siguiente programa escrito en pseudocódigo. Suponga que x e y son números enteros.

Count (x, y) {
    if (y !=1 ) {
        if (x !=1) {
            print("*");
            Count (x/2, y);
        }
        else {
            y=y-1;
            Count (1024, y);
        }
    }
}

El número de veces que la printsentencia es ejecutada por la llamada Count(1024, 1024)es _______.

Nota: esta fue una pregunta de tipo numérico.
(A) 10230
(B) 10
(C) 1023
(D) 23010

Respuesta: (A)
Explicación: En primer lugar, se llamará Count(1024, 1024) y el valor de x se deducirá por x/2. ‘x’ se imprimirá 10 veces. Al contar = 10, el valor de x se convertirá en 1.
gate_cs_2018_c

Dado que x = 1, el bucle else interno comenzará a ejecutarse. En cada llamada, el valor de y se reducirá en 1 y se ejecutará hasta que el valor de y se convierta en 1 (que es en la llamada 1023 ) .

Dado que count() se llama recursivamente para cada y = 1023 y count() se llama 10 veces para cada y. Por lo tanto, 1023 x 10 = 10230

La respuesta es 10230.

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 *