AKTU 1er año Sem 1 Documento resuelto 2017-18 | COMP. SISTEMA Y PROGRAMACION C | Sec. A

Enlace de descarga de papel : Papel | Sem 1 | 2017-18

Tecnología B.
(SEM-I) EXAMEN TEÓRICO 2017-18
SISTEMA INFORMÁTICO Y PROGRAMACIÓN EN C

Tiempo: 3 horas
Marcas totales : 100

Nota :-

  • Hay tres secciones. La Sección A lleva 20 puntos, la Sección B lleva 30 puntos y la Sección C lleva 50 puntos.
  • Intenta todas las preguntas. Las marcas se indica frente a cada pregunta.
  • Asumir datos adecuados siempre que sea necesario.

Sección a

1. Intenta todas las partes: (2*10 = 20)

  1. ¿Por qué usamos el ciclo do-while en C? Además, cuéntanos alguna propiedad que conozcas.

    El ciclo do-while , en C, se usa en los siguientes casos:

    • Cuando el cuerpo del bucle se va a ejecutar al menos una vez. Por ejemplo, al escribir un programa basado en menús, donde el menú debe mostrarse al menos una vez.
    • Cuando el lazo va a ser Controlado por Salida. Para el bucle controlado por entrada, se prefieren los bucles for y while.

    Las propiedades de un bucle do-while son:

    • El bucle do-while se prueba después o se prueba al salir.
    • El cuerpo del bucle do-while se ejecuta al menos una vez.
    • La verificación de la condición se realiza al final de la ejecución del cuerpo del ciclo.
  2. ¿Cuál es el significado de la palabra clave romper y continuar en C? Explique.

    Break : la palabra clave Break es una declaración de salto que se utiliza para terminar el ciclo o el cambio de caso. Tan pronto como se encuentra la palabra clave break desde dentro de un ciclo o caso de cambio, la ejecución se detiene allí y el control vuelve desde ese punto inmediatamente a la primera declaración después del ciclo o cambio.

    Sintaxis:

    break;

    Continuar : Continuar también es una instrucción de salto, al igual que la palabra clave de interrupción. La palabra clave continuar es opuesta a la de la palabra clave romper. En lugar de terminar el bucle, obliga a ejecutar la siguiente iteración del bucle. Cuando se ejecuta la declaración de continuación en el ciclo, el código dentro del ciclo que sigue a la declaración de continuación se omitirá y comenzará la siguiente iteración del ciclo.

    Sintaxis:

    continue;
  3. ¿Defina el concepto de enfoque de programación modular?
    La programación modular es el proceso de subdividir un programa de computadora en subprogramas separados. Un módulo es un componente de software separado. A menudo se puede utilizar en una variedad de aplicaciones y funciones con otros componentes del sistema.
    • Algunos programas pueden tener miles o millones de líneas y administrar dichos programas se vuelve bastante difícil ya que puede haber demasiados errores de sintaxis o errores lógicos presentes en el programa, por lo que para administrar este tipo de programas se abordó el concepto de programación modular.
    • Cada submódulo contiene algo necesario para ejecutar solo un aspecto de la funcionalidad deseada.
    • Énfasis de la programación modular en dividir programas grandes en pequeños problemas para aumentar la capacidad de mantenimiento, la legibilidad del código y hacer que el programa sea útil para realizar cambios en el futuro o corregir errores.
  4. Explique la diferencia entre definición de función y declaración de función.
    Declaración de función : La declaración de una función es para informar al compilador la siguiente información:
    • nombre de la función,
    • tipo y número de valores que toma como argumentos
    • tipo de retorno de la función

    Por lo tanto, la declaración da detalles sobre las propiedades de una función. En esto, la declaración de la función tiene un punto y coma ‘;’ al final.

    Sintaxis:

    return_type function_name(arguments);

    Ejemplo:

    int function1(int);
    char function2(int);
    void function3();
    .
    .
    etc
    

    Definición de función : la definición de una función es el segmento donde se define el cuerpo de la función. El cuerpo de la función incluye los detalles sobre las operaciones realizadas en esta función. Después de las operaciones, también incluye la declaración de devolución, si la hubiere.

    Sintaxis:

    return_type function_name(arguments)
    {
        body of the function
    }
    

    Ejemplo:

    void function1(int x)
    {
        printf("%d", x);
    }
    
  5. Diseñe un diagrama de flujo y un algoritmo para encontrar el mayor número entre tres números.

    Algoritmo para encontrar el mayor de tres números:

    1. Start
    2. Read the three numbers to be compared, as A, B and C.
    3. Check if A is greater than B.
    
      3.1 If true, then check if A is greater than C.
        3.1.1 If true, print 'A' as the greatest number.
        3.1.2 If false, print 'C' as the greatest number.
    
      3.2 If false, then check if B is greater than C.
        3.1.1 If true, print 'B' as the greatest number.
        3.1.2 If false, print 'C' as the greatest number.
    4. End
    

    Diagrama de flujo para encontrar el mayor de tres números:

  6. ¿Qué es operador? También defina al menos tres operadores con ejemplo.
    Los operadores son la base de cualquier lenguaje de programación. Podemos definir operadores como símbolos que nos ayudan a realizar cálculos matemáticos y lógicos específicos sobre operandos. En otras palabras, podemos decir que un operador opera los operandos.

    Por ejemplo, considere la siguiente declaración:

    c = a + b;

    Aquí, ‘+’ es el operador conocido como operador de suma y ‘a’ y ‘b’ son operandos. El operador de suma le dice al compilador que agregue los dos operandos ‘a’ y ‘b’.

    C/C++ tiene muchos tipos de operadores incorporados y se pueden clasificar como:

    • Operadores aritméticos : estos son los operadores utilizados para realizar operaciones aritméticas/matemáticas en los operandos. Ejemplos: (+, -, *, /, %, ++, –).

      Ejemplo:

      int sum = 10 + 20;
    • Operadores relacionales : los operadores relacionales se utilizan para comparar los valores de dos operandos. Por ejemplo: verificar si un operando es igual a otro operando o no, un operando es mayor que el otro operando o no, etc. Algunos de los operadores relacionales son (==, >=, <= ).

      Ejemplo:

      if(10 == 20)
           {    }
    • Operadores de asignación : los operadores de asignación se utilizan para asignar valor a una variable. El operando del lado izquierdo del operador de asignación es una variable y el operando del lado derecho del operador de asignación es un valor. El valor del lado derecho debe ser del mismo tipo de datos que la variable del lado izquierdo; de lo contrario, el compilador generará un error.

      Ejemplo:

      int a = 10;
  7. ¿Cuál será el resultado del siguiente programa?

    main()
    {
        int a = 300, b, c;
        if (a >= 400)
            b = 300;
        c = 200;
        printf("\n%d %d", b, c);
    }

    Salida del programa anterior:

    32765 200

    Explicación: Como valor de a = 300 que no es (>= 400), por lo tanto, la condición if produce un falso y la declaración ‘b = 300;’ se salta Como resultado, el valor que queda en b es solo un ‘valor basura’.
    Pero el enunciado ‘c = 200;’ está fuera del circuito. Por lo tanto, se ejecuta pase lo que pase. Entonces el valor de ‘c’ se convierte en ‘200’.
    Por lo tanto, la salida es ‘a_garbage_value 200’.

  8. ¿Cuál será el resultado del siguiente programa?

    #define PRODUCT(n) n* n
    void main()
    {
        int j;
        j = 64 / PRODUCT(4);
        printf("%d", j);
    }

    Salida del programa anterior:

    64

    Explicación: Como ‘PRODUCTO’ es una macro, el valor de ‘PRODUCTO(4)’ se reemplaza por la definición de ‘PRODUCTO’, es decir, ‘n*n’. Por lo tanto, la evaluación se produce de la siguiente manera:

        j = 64/PRODUCT(4);
          = 64 / 4 * 4;
          = 16 * 4;
        j = 64;
    
  9. Escribe una función para intercambiar los dos valores de dos variables sin usar una tercera variable.
    El programa requerido es:

    // C program to swap two values
    // without using a third variable
      
    #include <stdio.h>
      
    // Function to swap two numbers
    // without using a third variable
    void swap(int* xp, int* yp)
    {
      
        // x now becomes 15
        *xp = *xp ^ *yp;
        // y becomes 10
        *yp = *xp ^ *yp;
        // x becomes 5
        *xp = *xp ^ *yp;
    }
      
    // Driver code
    int main()
    {
        int x = 10, y = 5;
      
        // swap the values
        swap(&x, &y);
      
        // Print the swapped values
        printf("After Swapping: x = %d, y = %d", x, y);
      
        return 0;
    }
  10. ¿Cuál es la diferencia entre las siguientes dos directivas #include:
    • #incluye «nombre de archivo»
    • #incluir

    Cuando usamos la directiva include, el contenido del archivo de encabezado incluido (después del preprocesamiento) se copia en el archivo actual.
    Los corchetes angulares < y > indican al preprocesador que busque en la carpeta estándar donde se encuentran todos los archivos de encabezado. Las comillas dobles «y» indican al preprocesador que busque en la carpeta actual (directorio actual).

Publicación traducida automáticamente

Artículo escrito por RishabhPrabhu 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 *