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

Enlace de descarga de papel : Papel | semestre 2 | 2017-18
 

Tecnología B. 
(SEM-II) EXAMEN DE TEORIA 2017-18 
SISTEMA INFORMÁTICO Y PROGRAMACIÓN EN C

Tiempo: 3 horas 
Marcas totales : 70
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 B

2. Intente cualquiera de los tres de los siguientes: (7*3 = 21)
 

  1. Escriba un programa en C para encontrar el mayor número de elementos en una array de 4*4. 
     

C

// C program for finding maximum in 4x4 matrix.
 
#include <stdio.h>
 
#define MAX 100
 
// Finds maximum
void max(int arr[][MAX], int n)
{
    int max = arr[0][0];
    int i, j;
 
    // Traverses rows one by one
    for (i = 0; i < n; i++) {
        for (j = 0; j <= n; j++) {
 
            // Compare elements
            if (arr[i][j] > max) {
                max = arr[i][j];
            }
        }
    }
    printf("Largest number = %d", max);
}
 
/* Driver program to test above function */
int main()
{
    int arr[MAX][MAX] = { { 5, 9, 11, 55 },
                          { 1, 25, 0, 14 },
                          { 74, 21, 6, 4 },
                          { 2, 24, 65, 43 } };
    max(arr, 4);
 
    return 0;
}
  1.  
Producción: 

Largest number = 74

 

  1.  
  2. Explique la sintaxis y el uso de las siguientes directivas con ejemplos: 
    1. # ifdef : Esta directiva es la directiva condicional más simple. Este bloque se llama grupo condicional. El texto controlado se incluirá en la salida del preprocesador si se define un nombre de macro heterogéneo. El texto controlado dentro de un condicional incluirá directivas de preprocesamiento. Se ejecutan solo si el condicional tiene éxito. Puede anidarlos en varias capas, pero deben estar completamente anidados. En otras palabras, ‘#endif’ siempre coincide con el ‘#ifdef’ más cercano (o ‘#ifndef’ o ‘#if’). Además, no puede comenzar un grupo condicional en un archivo y terminarlo en otro.
      Sintaxis: 
       
#ifdef MACRO
    controlled text
#endif /* macroname */
  1.  
  2. #undef : la directiva #undef se usa para anular la definición de una macro existente. Esta directiva funciona como:
    Sintaxis: 
     
#undef LIMIT
  1. El uso de esta declaración anulará la definición del límite de macro existente. Después de esta declaración, cada declaración «#ifdef LIMIT» se evaluará como falsa. 
     
  2. #pragma : esta directiva es una directiva de propósito especial y se usa para activar o desactivar algunas funciones. Este tipo de directivas son específicas del compilador, es decir, varían de un compilador a otro. Algunas de las directivas #pragma se analizan a continuación: 
    • #pragma startup y #pragma exit : estas directivas nos ayudan a especificar las funciones que se necesitan ejecutar antes del inicio del programa (antes de que el control pase a main()) y justo antes de la salida del programa (justo antes de que el control regrese de main()) . 
       
    • Directiva #pragma warn: esta directiva se utiliza para ocultar el mensaje de advertencia que se muestra durante la compilación. 
      Podemos ocultar las advertencias como se muestra a continuación: 
      • #pragma warn -rvl : esta directiva oculta las advertencias que se generan cuando una función que se supone que debe devolver un valor no devuelve un valor.
      • #pragma warn -par : esta directiva oculta las advertencias que se generan cuando una función no usa los parámetros que se le pasan.
      • #pragma warn -rch : esta directiva oculta las advertencias que se generan cuando no se puede acceder a un código. Por ejemplo: cualquier código escrito después de la declaración de retorno en una función es inalcanzable.
  3. #include : 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). 
     
  4. Escriba una breve nota sobre: 
    1. Enfoque de desarrollo de programas de arriba hacia abajo : este enfoque se refiere al desarrollo de programas en los que el programa se divide en subprogramas de acuerdo con las tareas. Estas tareas se conocen como módulos. El lenguaje C admite este enfoque y los programadores también creen que este enfoque es una buena manera de crear un proyecto de manera jerárquica. En este se desarrolla primero el módulo principal, luego el otro módulo y así sucesivamente. 
       
    2. Diferencia entre estructura y array 
       
FORMACIÓN ESTRUCTURA
Array se refiere a una colección que consta de elementos de tipo de datos homogéneos. La estructura se refiere a una colección que consta de elementos de tipo de datos heterogéneo.
Array usa subíndices o “[ ]” (corchetes) para acceder a los elementos La estructura usa “.” (Operador punto) para acceso a elementos
Array es puntero ya que apunta al primer elemento de la colección. La estructura no es un puntero.
La creación de instancias de objetos Array no es posible. La creación de instancias de objetos de estructura es posible.
El tamaño de la array es fijo y es básicamente el número de elementos multiplicado por el tamaño de un elemento. El tamaño de la estructura no es fijo ya que cada elemento de la estructura puede ser de diferente tipo y tamaño.
Bit archivado no es posible en un Array. Bit archivado es posible en una Estructura.
La declaración de array se realiza simplemente usando [] y no cualquier palabra clave. La declaración de estructura se realiza con la ayuda de la palabra clave «struct».
Arrays es un tipo de datos primitivo La estructura es un tipo de datos definido por el usuario.
El recorrido y la búsqueda de arrays es fácil y rápido. El recorrido de la estructura y la búsqueda son complejos y lentos.
tipo_datos nombre_array[tamaño]; struct sruct_name{ data_type1 ele1; tipo_datos2 ele2; };
Los elementos de la array se almacenan en ubicaciones de memoria continua. Los elementos de la estructura pueden almacenarse o no en una ubicación de memoria continua.
Se accede a los elementos del arreglo por su número de índice usando subíndices. Se accede a los elementos de la estructura por sus nombres utilizando el operador de punto.
  1.  
  2. Escribir un programa recursivo en lenguaje “C” para imprimir series de Fibonacci . 
     

C

// Fibonacci Series using Recursion
 
#include <stdio.h>
 
int fib(int n)
{
    if (n <= 1)
        return n;
    return fib(n - 1) + fib(n - 2);
}
 
int main()
{
    int n = 9;
 
    printf("%d", fib(n));
 
    return 0;
}
  1.  
Producción: 

34

 

  1.  
  2. ¿Qué es el algoritmo? ¿Cuáles son los principales pasos seguidos en el desarrollo de un algoritmo? Escribe un algoritmo para la suma de dígitos en un número dado.
    Algoritmo : un algoritmo se utiliza para proporcionar una solución a un problema particular en forma de pasos bien definidos. Siempre que use una computadora para resolver un problema en particular, los pasos que conducen a la solución deben comunicarse adecuadamente a la computadora. Al ejecutar un algoritmo en una computadora, se combinan varias operaciones, como sumas y restas, para realizar operaciones matemáticas más complejas. Los algoritmos se pueden expresar usando lenguaje natural, diagramas de flujo , etc.
    Pasos para diseñar un algoritmo: 
    • Paso 1: Cumplimiento de los requisitos
      previos Para escribir un algoritmo, se necesitan las siguientes cosas como requisito previo: 
      1. El problema que se va a resolver con este algoritmo.
      2. Las restricciones continuas continuas del problema que deben considerarse al resolver el problema.
      3. La entrada a tomar para resolver el problema.
      4. La salida que se espera cuando se resuelve el problema.
      5. La solución a este problema, en las restricciones dadas.
    • Paso 2: Diseñar el algoritmo
    • Paso 3: Probar el algoritmo implementándolo.

Algoritmo para la suma de dígitos en un número dado : 
 

  1. obtener el número
  2. Declarar una variable para almacenar la suma y establecerla en 0
  3. Repita los siguientes dos pasos hasta que el número no sea 0
  4. Obtenga el dígito más a la derecha del número con la ayuda del operador de resto ‘%’ dividiéndolo por 10 y súmelo a la suma.
  5. Divide el número por 10 con la ayuda del operador ‘/’
  6. Imprimir o devolver la suma

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 *