Ciencias de la Computación Clase XII (2016-17)

SQP – Informática (Código: 083) Clase XII (2016-17) Tiempo: 3Hrs. MM: 70 Instrucciones: i. Todas las preguntas son obligatorias. ii. Lenguaje de programación: Sección – A: C++ iii. Lenguaje de Programación: Sección – B: Python iv. Responda la Sección A o B y la Sección C es obligatoria

Sección a

1 (a) Explique el operador condicional con un ejemplo adecuado. 2 El operador condicional también se conoce como operador ternario porque requiere tres operandos y se puede usar para reemplazar el código if-else simple. Se utiliza para verificar la condición y ejecutar la primera expresión si la condición es verdadera, de lo contrario, ejecutar otra. 

Sintaxis:

Conditional expression? Expression 1 : Expression 2;

Explicación: si la expresión condicional es verdadera, se ejecuta la expresión 1; de lo contrario, se ejecuta la expresión 2. 

Ejemplo: 

CPP

int y = 10, x;
x = y > 10 ? 1 : 0;
cout << x;

Producción:

0

(b) ¿Qué archivo(s) de encabezado de C++ se requiere(n) esencialmente para ejecutar/ejecutar el siguiente código de C++: 1 

CPP

void main()
{
    char *word1 = "Hello", *word2 = "Friends";
    strcat(word1, word2);
    cout << word1;
}

<iostream.h> para entrada salida <string.h> para función strcat (c) Vuelva a escribir el siguiente programa después de eliminar los errores sintácticos (si los hay). Subraya cada corrección. 

CPP

#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
class product {
    int product_code, qty, price;
    char name[20];
 
public:
    product()
    {
        product_code = 0;
        qty = 0;
        price = 0;
        name = NULL;
    }
    void entry()
    {
        cout << "\n Enter code, qty, price";
        cin >> product_code >> qty >> price;
        gets(name);
    }
    void tot_price() { return qty * price; }
};
void main()
{
    p product;
    p.entry();
    cout << tot_price();
}

Corrección en el código: 

CPP

#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
class product {
    int product_code, qty, price;
    char name[20];
 
public:
    product()
    {
        product_code = 0;
        qty = 0;
        price = 0;
        strcpy(name, NULL);
    }
    void entry()
    {
        cout << "\n Enter code, qty, price";
        cin >> product_code >> qty >> price;
        gets(name);
    }
    int tot_price() { return qty * price; }
};
void main()
{
    product p;
    p.entry();
    cout << p.tot_price();
}

(d) Escriba la salida del siguiente código de programa C++: Nota: Suponga que todos los archivos de encabezado requeridos ya están incluidos en el programa. 

CPP

void change(int* s)
{
    for (int i = 0; i < 4; i++) {
        if (*s < 40) {
            if (*s % 2 == 0)
                *s = *s + 10;
            else
                *s = *s + 11;
        }
        else {
            if (*s % 2 == 0)
                *s = *s - 10;
            else
                *s = *s - 11;
        }
        cout << *s << " ";
        s++;
    }
}
void main()
{
    int score[] = { 25, 60, 35, 53 };
    change(score);
}

Respuesta:

36 50 46 42

(e) Escriba la salida del siguiente código de programa C++: Nota: suponga que todos los archivos de encabezado requeridos ya están incluidos en el programa. 

CPP

class seminar {
    char topic[30];
    int charges;
 
public:
    seminar()
    {
        strcpy(topic, "Registration");
        charges = 5000;
    }
    seminar(char t[])
    {
        strcpy(topic, t);
        charges = 5000;
    }
    seminar(int c)
    {
        strcpy(topic, "Registration with Discount");
        charges = 5000 - c;
    }
    void regis(char t[], int c)
    {
        strcpy(topic, t);
        charges = charges + c;
    }
    void regis(int c = 2000)
    {
        charges = charges + c;
    }
    void subject(char t[], int c)
    {
        strcpy(topic, t);
        charges = charges + c;
    }
    void show()
    {
        cout << topic << "@" << charges << endl;
    }
};
void main()
{
    seminar s1, s2(1000), s3("Genetic Mutation"), s4;
    s1.show();
    s2.show();
    s1.subject("ICT", 2000);
    s1.show();
    s2.regis("Cyber Crime", 2500);
    s2.show();
    s3.regis();
    s3.show();
    s4 = s2;
    s4.show();
    getch();
}

Producción:

Registration@5000
Registration with Discount@4000
ICT@7000
Cyber Crime@6500
Genetic Mutation@7000
Cyber Crime@6500

(f) Observe cuidadosamente el siguiente programa e intente responder las preguntas dadas: 

CPP

#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
void main()
{
    clrscr();
    randomize();
    char courses[][10] = { "M.Tech", "MCA", "MBA", "B.Tech" };
    int ch;
    for (int i = 1; i <= 3; i++) {
        ch = random(i) + 1;
        cout << courses[ch] << "\t";
    }
    getch();
}

I. De los cuatro cursos almacenados en los cursos variables, ¿qué curso nunca se mostrará en la salida y qué curso siempre se mostrará primero en la salida? Como el ciclo comienza desde 1 y no desde 0, M.Tech nunca se mostrará en la salida. MCA siempre se mostrará al principio en la salida, ya que está en el índice 1. II. Mencione el valor mínimo y máximo asignado a la variable ch? Valor mínimo de ch=1 Valor máximo de ch=3 2(a) ¿Qué entiendes por sobrecarga de funciones o polimorfismo funcional? Explique con un ejemplo adecuado.Es un método de usar la misma función o método para trabajar usando diferentes conjuntos de entrada. La sobrecarga de funciones es uno de los ejemplos de polimorfismo, donde más de una función que lleva el mismo nombre se comporta de manera diferente con un conjunto diferente de parámetros que se les pasa. 

CPP

void show()
{
    cout <<”\n Hello World !”;
}
void show(char na[])
{
    cout <<”\n Hello World !Its ”<< na;
}

(b) Responda las preguntas (i) y (ii) después de pasar por la siguiente clase: 

CPP

class planet {
    char name[20];
    char distance[20];
 
public:
    planet() // Function 1
    {
        strcpy(name, "Venus");
        strcpy(distance, "38 million km");
    }
    void display(char na[], char d[]) // Function 2
    {
        cout << na << "has " << d << " distance from Earth" << endl;
    }
    planet(char na[], char d[]) // Function 3
    {
        strcpy(name, na);
        strcpy(distance, d);
    }
    ~planet() // Function 4
    {
        cout << "Planetarium time over!!!" << endl;
    }
};

I. ¿Cómo se denomina la Función 1? ¿Cuándo se ejecutará? I. Constructor . Se ejecutará en el momento de la creación del objeto. II. Escriba una declaración de C++ adecuada para invocar la función. 2 II. planeta p; p.display(“Plutón”, ”7.5 Billones de Km”); (c) Defina una clase DanceAcademy en C++ con la siguiente descripción: Miembros privados Número de inscripción de tipo int Nombre de tipo string Estilo de tipo string Tarifa de tipo float Una función miembro chkfee( ) para asignar el valor de la variable de tarifa de acuerdo con el estilo ingresado por el usuario de acuerdo con los criterios que se indican a continuación:

Style         Fee
Classical     10000
Western       8000
Freestyle     11000

Miembros públicos Una función de inscripción() para permitir a los usuarios ingresar valores para Enrollno, Nombre, Estilo y llamar a la función chkfee() para asignar el valor de la variable de tarifa de acuerdo con el Estilo ingresado por el usuario. Una función display() para permitir a los usuarios ver los detalles de todos los miembros de datos. 

CPP

class DanceAcademy {
    int Enrollno;
    char Name[20];
    char Style[20];
    float Fee;
    void chkfee()
    {
        if (strcmpi(Style, "Classical") == 0)
            Fee = 10000;
        else if (strcmpi(Style, "Western") == 0)
            Fee = 8000;
        else if (strcmpi(Style, "Freestyle") == 0)
            Fee = 11000;
    }
 
public:
    void enrollment()
    {
        cout << "Please enter Enrollno, Name, Style";
        cin >> Enrollno;
        gets(Name);
        gets(Style);
        chkfee();
    }
    void display()
    {
        cout << "\n Entered Enrollno, Name, Style and Fee is:
                "<<Enrollno<<"\t "<<Name<<"\t "<<Style<<"\t "<<Fee;
    }
};

(d) Responda las preguntas (i) a (iv) con base en lo siguiente: 

CPP

class indoor_sports {
    int i_id;
    char i_name[20];
    char i_coach[20];
 
protected:
    int i_rank, i_fee;
    void get_ifee();
 
public:
    indoor_sports();
    void iEntry();
    void ishow();
};
class outdoor_sports {
    int o_id;
    char o_name[20];
    char o_coach[20];
 
protected:
    int orank, ofee;
    void get_ofee();
 
public:
    outdoor_sports();
    void oEntry();
    void oshow();
};
class sports : public indoor_sports, protected outdoor_sports {
    char rules[20];
 
public:
    sports();
    void registration();
    void showdata();
};

(i) Nombre el tipo de herencia ilustrado en el código C++ anterior. Herencia múltiple. (ii) Escriba los nombres de todos los miembros, que son accesibles desde los objetos pertenecientes a la clase outdoor_sports. Miembros de datos: Ninguno Funciones de miembro: oEntry(), oShow() (iii) Escriba los nombres de todas las funciones de miembro, a las que se puede acceder desde la función de miembro de class sports. registration(), showdata(), oEntry(), oShow(), get_ofee(), iEntry(), iShow(), get_ifee() (iv) ¿Cuál será el tamaño del objeto perteneciente a la clase indoor_sports? 46 bytes3(a) Escriba la definición de una función grace_score (puntuación int [], tamaño int) en C++, que debería comprobar todos los elementos de la array y dar un aumento de 5 a aquellas puntuaciones que sean inferiores a 40. 3 Ejemplo: si una array de siete enteros es la siguiente: 45, 35, 85, 80, 33, 27, 90 Después de ejecutar la función, el contenido de la array debe cambiarse de la siguiente manera: 45, 40, 85, 80, 38, 32, 90 

CPP

void grace_score(int score[], int size)
{
    for (int i = 0; i < size; i++) {
        if (score[i] < 40)
            score[i] = score[i] + 5;
        cout << score[i] << " ";
    }
}

(b) Una array P[30][20] se almacena a lo largo de la columna en la memoria y cada elemento requiere 2 bytes de almacenamiento. Si la dirección base del arreglo P es 26500, encuentre la ubicación de P[20][10]. 3 Número total de filas= 30 Tamaño total= 2 bytes Dirección base= 26500 LOC (P[I][J]) = Dirección base+((I-LBR) + (J-LBC) * R)*W Asumiendo el límite inferior de la fila (LBR) = 0 Límite inferior de la columna (LBC) = 0 Número total de filas (R) = 30 Tamaño de cada elemento (W) = 2 LOC (P [20] [10]) = 26500 + ((20-0 )+(10-0)*30)*2 LOC(P[20][10])= 26500 +640 LOC(P[20][10])= 27140 (c) Escriba la definición de una función miembro push( ) para una biblioteca de clase en C++ para insertar la información de un libro en una pila de libros asignada dinámicamente considerando que el siguiente código ya está escrito como parte del programa: 

CPP

struct book {
    int bookid;
    char bookname[20];
    book* next;
};
class Library {
    book* top;
 
public:
    Library()
    {
        top = NULL;
    }
    void push();
    void pop();
    void disp();
    ~Library();
};

Respuesta: 

CPP

void Library::push()
{
    book* nptr;
    nptr = new book;
    cout << "Enter values for bookid and bookname";
    cin >> nptr->bookid;
    gets(nptr->bookname);
    nptr->next = NULL;
    if (top == NULL)
        top = nptr;
    else {
        nptr->next = top;
        top = nptr;
    }
}

(d) Escriba una función definida por el usuario swap_row(int ARR[ ][3], int R, int C) en C++ para intercambiar los valores de la primera fila con los valores de la última fila : por ejemplo, si el contenido de la array es: 10 20 30 40 50 60 70 80 90 Luego, después de llamar a la función, el contenido de la array debe ser: 70 80 90 40 50 60 10 20 30 

CPP

void swap_row(int ARR[][3], int R, int C)
{
    for (int i = 0, j = 0; j < C; j++) {
        int temp = ARR[i][j];
        ARR[i][j] = ARR[R - 1][j];
        ARR[R - 1][j] = temp;
    }
}

(e) Evalúe la siguiente expresión POSTFIX . Muestra el estado de Stack después de la ejecución de cada operación por separado: 45, 45, +, 32, 20, 10, /, -, *

Element Scanned   Stack Status
45                45
45                45, 45
+                 90
32                90, 32
20                90, 32, 20
10                90, 32, 20, 10
/                 90, 32, 2
-                 90, 30
*                 2700

Por lo tanto, el resultado final es 2700 4(a) Encuentre la salida del siguiente código C++ considerando que el archivo binario ya existe en el disco duro con 2 registros en él. 

CPP

class sports {
    int id;
    char sname[20];
    char coach[20];
 
public:
    void entry();
    void show();
    void writing();
    void reading();
} s;
 
void sports::reading()
{
    ifstream i;
    i.open("sp.dat");
    while (1) {
        i.read((char*)&s, sizeof(s));
        if (i.eof())
            break;
        else
            cout << "\n"
                 << i.tellg();
    }
    i.close();
}
void main()
{
    s.reading();
}

Respuesta: 42 84 (b) Escriba una función definida por el usuario word_count() en C++ para contar cuántas palabras están presentes en un archivo de texto llamado “opinion.txt”. Por ejemplo, si el archivo opinión.txt contiene el siguiente texto: El sistema de coeducación es necesario para una sociedad equilibrada. Con el sistema de educación mixta, las niñas y los niños pueden desarrollar un sentimiento de respeto mutuo entre ellos. La función debería mostrar lo siguiente: El número total de palabras presentes en el archivo de texto es: 24 

CPP

void word_count()
{
    ifstream i;
    char ch[20];
    int c = 0;
    i.open("opinion.txt ");
    while (!i.eof()) {
        i >> ch;
        c = c + 1;
    }
    cout << " Total number of words present in the text file are: “<<c;
}

(c) Escriba una función display() en C++ para mostrar todos los estudiantes que han obtenido una distinción (porcentaje de puntuación superior o igual a 75) de un archivo binario «stud.dat», suponiendo que el archivo binario contiene los objetos de la siguiente clase: 

CPP

class student {
    int rno;
    char sname[20];
    int percent;
 
public:
    int retpercent()
    {
        return percent;
    }
    void getdetails()
    {
        cin >> rno;
        gets(sname);
        cin >> percent;
    }
    void showdetails()
    {
        cout << rno;
        puts(sname);
        cout << percent;
    }
};

CPP

void display()
{
    student s;
    ifstream i(“stud.dat”);
    while (i.read((char*)&s, sizeof(s))) {
        if (s.retpercent() >= 75)
            s.showdetails();
    }
    i.close();
}

Sección – B (Python)

1 (a) Observe cuidadosamente el siguiente código de Python y responda las preguntas que siguen: 

PYTHON3

x = 5
def func2():
    x = 3
    global x
    x = x + 1
    print x
    print x

En la ejecución, el código anterior produce el siguiente resultado.

6
3

Explique la salida con respecto al alcance de las variables . 2 Los nombres declarados con palabra clave global tienen que ser referidos a nivel de archivo. Esto se debe a que la declaración global indica que la variable particular vive en el ámbito global. Si no se utiliza ninguna declaración global, se accede a la variable con el ámbito local. Por lo tanto, en el código anterior, la declaración que sucede a la declaración x global informa a Python que incremente la variable global x. Por lo tanto, la salida es 6, es decir, 5+1, que también es el valor de x global. (b) Nombre los módulos a los que pertenecen las siguientes funciones: 1 a. uniforme() b. fabs() a. random() b. Matemáticas()(c) Vuelva a escribir el siguiente código después de eliminar los errores sintácticos (si los hay). Subraya cada corrección. 2 

PYTHON3

def chksum:
     x = input("Enter a number")
     if (x % 2 = 0):
        for i range (2 * x):
           print i
        loop else:
           print "#"

PYTHON3

def chksum():
 x = input("Enter a number")
 if (x % 2 == 0):
   for i in range(2 * x):
     print i
 else:
     print "#"

(d) Observe cuidadosamente el siguiente código de Python y obtenga la salida, que aparecerá en la pantalla después de ejecutarlo.

PYTHON3

def Findoutput():
      L = "earn"
      X = " "
      L1 = []
      count = i
      for i in L:
          if i in ['a', 'e', 'i', 'o', 'u']:
              X = X + i.swapcase()
          else
              if(count % 2 != 0):
                  X = X + str(len(L(:count)))
              else:
                  X = X + i
          count = count + 1
      print X
Findoutput()

Producción:

 EA3n

(e) ¿Qué salida se generará cuando se ejecute el siguiente código de Python? 3 

PYTHON3

def Changelist():
    L = []
    L1 = []
    L2 = []
    for i in range (1, 10):
        L.append(i)
    for i in range (10, 1, -2):
        L1.append(i)
    for i in range (len(L1)):
        L2.append(L1[i]+L[i])
    L2.append(len(L)-len(L1))
    print L2
Changelist()

(f) Observa el siguiente programa y contesta las preguntas que siguen: 

PYTHON3

import random
X = 3
N = random.randint(1, X)
for i in range(N):
   print i, '#', i + 1

una. ¿Cuál es el número mínimo y máximo de veces que se ejecutará el ciclo? Número mínimo = 1 Número máximo = 3 b. Averigüe, ¿qué línea de salida(s) de (i) a (iv) no se esperará del programa? i. 0#1 ii. 1#2 iii. 2#3 3#4 No se espera que la línea iv sea parte de la salida 2a. Explique las dos estrategias empleadas por Python para la asignación de memoria. Python utiliza dos estrategias para la asignación de memoria: i. Recuento de referencias ii. Recogida automática de basura. Recuento de referencias: funciona contando el número de veces que otros objetos del sistema hacen referencia a un objeto. Cuando el recuento de referencias de un objeto llega a cero, Python lo recopila automáticamente. Recolección automática de basura:Python programa la recolección de basura en función de un umbral de asignaciones de objetos y desasignaciones de objetos. Cuando el número de asignaciones menos el número de desasignaciones es mayor que el número de umbral, se ejecuta el recolector de elementos no utilizados y se reclama el bloque de memoria no utilizado. b. Observa la siguiente definición de clase y contesta las preguntas que siguen: 

PYTHON3

class Info:
    ips = 0
    def__str__(self):   # Function 1
       return "Welcome to the Info Systems"
    def__init__(self):
       self.__Systemdate = " "
       self.Systemtime = " "
    def getinput(self):
       self.__Systemdate = raw_input("Enter data")
       self.Systemtime = raw_input("Enter data")
       Info.incrips()
    @staticmethod      # Statement 1
    def incrips():
       Info.ips = Info.ips + 1
       print "System invoked", Info.ips, "times"
I = Info()
I.getinput()
print I.systemtime
print __Systemdate    # Statement 2

i. Escribir declaración para invocar la Función 1. imprimir I ii. Al ejecutar el código anterior, la Declaración 2 está dando una explicación de error. La declaración 2 está dando un error porque __Systemdate es una variable privada y, por lo tanto, no se puede imprimir fuera de la clase.c Defina una clase PRODUCTO en Python con las siguientes especificaciones. Miembros de datos: Pid: una string para almacenar la identificación del producto. Pname: una string para almacenar el nombre del producto. Pcostprice: un decimal para almacenar el precio de costo del producto Psellingprice: un decimal para almacenar el precio de venta Margen: un decimal que se calculará como Psellingprice: Pcostprice . Funciones miembro: una función constructora para inicializar todos los miembros de datos con valores predeterminados válidos. Un método SetRemarks() que asigna Margen como Psellingprice – Pcostprice y establece Comentarios como se menciona a continuación:

Margin               Remarks
<0 (negative)        Loss
>0 (positive)        Profit

Un método Getdetails() para aceptar valores para Pid, ​​Pname, Pcostprice, Psellingprice e invoca el método SetRemarks(). Un método Setdetails() que muestra todos los miembros de datos. 

PYTHON3

class PRODUCT:
    def__init__(self):
         self.Pid = "  "
         self.Pname = " "
         self.Pcostprice = 0.0
         self.Psellingprice = 0.0
         self.Margin = 0.0
         self.Remarks = " "
 
    def SetRemarks(self):
         self.Margin = self.Psellingprice - self.Pcostprice
         if ( self.Margin < 0):
               self.Remarks = "Loss"
         else:
               self.Remarks = "Profit"
 
    def Getdetails(self):
         self.Pid = raw_input(" Enter Product Id ")
         self.Pname = raw_input(" Enter Product Name ")
         self.Pcostprice = raw_input(" Enter Cost Price ")
         self.Psellingprice = raw_input(" Enter Selling Price ")
         self.SetRemarks()
 
    def Setdetails(self):
        print "Product Id", self.Pid
        print "Product Name", self.Pname
        print "Cost Price", self.Pcostprice
        print "Selling Price", self.Psellingprice
        print "Margin:", self.Margin
        print "Incurred:", self.Remarks

d. Responda las preguntas (i) a (iv) con base en lo siguiente: 4 

PYTHON3

class Shop(object):
    def__init__(self):
         self.no__of__employees = 0
         self.no__of__brands = 0
    def getSdata(self):
         self.no__of__employees = input("Number of employees")
         self.no__of__brands = input("Number of brands")
    def showSdata(self):
         print self.no__of__employees
         print self.no__of__brands
class Brand(object):
    def__init__(self):
         self.name = " "
         self.category = ["Men", "Women, "Kids"]
         self.avgprice = 0.0
    def getdata(self):
         self.name = raw_input("Enter Brand Name")
         self.avgprice = input("Enter Average price")
    def showdata (self)
         print self.name
         print self.category
         print self.avgprice
Class Mall(Brandshop):
    def__init__(self):
         self__no__of__shops = 0
    def getdata(self):
         super(Mall, self).getSdata()
         super(Mall, self).getdata()
         self.no__of__shops = input("Enter no of shops")
    def showdata(self):
         print self__no__of__shops
         print self__no__of__shops

i. ¿Qué tipo de herencia se demuestra en el código anterior? Herencia múltiple ii. Explique las declaraciones 1 y 2. Las declaraciones 1 y 2 invocan la función getSdata() de la clase Shop y la función getData() de la clase Brand respectivamente. iii. Asigne un nombre a los métodos que se anulan junto con su nombre de clase. Se anula el método getdata() de la clase Brand. Cuando se crea el objeto de la clase Mall, se invoca el método M = Mall() M.getdata() getdata() de la clase Mall y no de la clase Brand. IV. Llene el espacio en blanco 1 con una declaración para mostrar la categoría variable de la clase Marca. imprimir Marca().categoría 3a. Considere la siguiente lista desordenada: 95 79 19 43 52 3 Escriba los pases de tipo burbujapara ordenar la lista en orden ascendente hasta la tercera iteración. 3 Solución: [79, 19, 43, 52, 3, 95] [19, 43, 52, 3, 79, 95] [19, 43, 3, 52, 79, 95] b. Se le pidió a Kritika que aceptara una lista de números pares, pero no puso la condición pertinente al aceptar la lista de números. Debe escribir un código para convertir todos los números impares en pares multiplicándolos por 2. 3 

PYTHON3

def oddtoeven(L):
    for i in range(len(L)):
        if (L[i] % 2 != 0):
             L[i] = L[i] * 2

C. Aastha quiere crear un programa que acepte una string y muestre los caracteres en orden inverso en la misma línea usando una pila. Ha creado el siguiente código, ayúdela completando las definiciones sobre la base de los requisitos que se indican a continuación: 4 class mystack: def __init__(self): self.mystr= ________________ # Aceptar una string self.mylist =________________ # Convertir mystr en un # list Escriba código para mostrar mientras elimina elementos de la pila. def disp(auto): : : 

PYTHON3

class mystack:
   def __init__(self):
       self.mystr = raw_input("Enter the string")
       self.mylist = list(self.mystr)
 
  def display(self):
       x = len(self.mylist)
       if(x>0):
             for i in range(x):
                 print self.mylist.pop()
       else:
             print"Stack is empty"

d. Escriba una función generadora que genere q() que muestre las raíces cuadradas de los números desde 100 hasta n donde n se pasa como argumento. 2 

PYTHON3

import math
def generatesq(n):
    for i in range (100, n):
        yield (math.sqrt(i))

mi. Evalúe la siguiente expresión Postfix: 20, 10, -, 15, 3, /, +, 5, *

Symbol   Operation       Stack    Result
20       Push            20
10       Push            20, 10
-        Pop(10)         
         Pop(20)
         Push(20-10)
         =10
15      Push             10, 15
3       Push             10, 15, 3
/       Pop(3)
        Pop(15)
        Push(15/3)
        =5               10, 5
+       Pop(5)
        Pop(10)
        Push(10+5)=15    15 
5       Push             15, 5
*       Pop(5)
        Pop(15)
        Push(15*5)
        =75              75         75 

4a Observa el siguiente código y contesta las preguntas que siguen: Archivo = abrir(“Misdatos”, “a”) _____________________ #Blank1 Archivo.cerrar() i. ¿Qué tipo (texto/binario) de archivo es Mydata? Archivo de texto ii. Complete el espacio en blanco 1 con la declaración para escribir «ABC» en el archivo «Mis datos» File.write («ABC») b) Un archivo de texto «Quotes.Txt» tiene los siguientes datos escritos: Viviendo una vida de la que puede estar orgulloso de Dar lo mejor de sí Pasar su tiempo con personas y actividades que son importantes para usted Defender las cosas que son correctas incluso cuando es difícil Convertirse en la mejor versión de usted Escriba una función definida por el usuario para mostrar el número total de palabras presentes en el archivo. 

C. Considere la siguiente declaración de clase y responda la pregunta que sigue: 

PYTHON3

import pickle
class student:
    def__int__(self):
        self.name = ""
        self.percent = 0.0
   def inputdata (self):
        self.name = raw_input("Enter name)
        self.percent = input("Enter Percentage scored")
   def returnpercent (self):
        return (self.percent)
   def displaydata(self):
        print "Name:", self name
        print "Percent:", self.percent

Se le ha pedido a Anuj que muestre todos los estudiantes que han obtenido menos de 40 para las clases de recuperación. Escriba una función definida por el usuario para mostrar todos aquellos estudiantes que hayan obtenido una puntuación inferior a 40 del archivo binario «Student.dat», suponiendo que almacene todo el objeto de la clase Estudiante mencionado anteriormente. 3 

PYTHON3

def displaydata():
     X = open ("student.dat", "rb")
     S = Student()
     try:
        while (X):
            S = pickle.load(X)
            if (S.returnpercent()<40);
                S.displaydata()
     except EOFError:
        pass
     X.close()

Sección – C 5 (a) Observe la tabla ‘Club’ que figura a continuación:

Club
Member_id   Member_Name   Address   Age   Fee
M002        Nisha         Gurgaon     19   3500
M003        Niharika      New Delhi  21   2100
M004        Sachin        Faridabad  18   3500

i. ¿Cuál es la cardinalidad y el grado de la tabla anterior? Cadinalidad: 4 Grado: 5 ii. Si se ha agregado una nueva columna contact_no y tres miembros más se han unido al club, entonces cómo estos cambios afectarán el grado y la cardinalidad de la tabla anterior. Cardinalidad: 7 Grado: 6 (b) Escriba comandos SQL para las consultas (i) a (iv) y salida para (v) a (viii) según las tablas ‘Relojes’ y ‘Venta’ que se dan a continuación.

Watches
Watchid   Watch_Name   Price   Type   Qty_Store
W001      HighTime      10000  Unisex  100
W002      LifeTime      15000  Ladies  150
W003      Wave          20000  Gents   200
W004      HighFashion   7000   Unisex  250
W005      GoldenTime    25000  Gents   100
Sale
Watchid   Qty_Sold    Quarter
W001       10          1
W003       5           1
W002       20          2
W003       10          2
W001       15          3
W002       20          3
W005       10          3
W003       15          4

i. Para visualizar todos los detalles de aquellos relojes cuyo nombre termina en ‘Tiempo’

select * from watches where watch_name like ‘%Time’ 

ii. Para mostrar el nombre del reloj y el precio de aquellos relojes que tienen un rango de precios entre 5000 y 15000.

select watch_name, price from watches where price between 5000 and 15000;

iii. Para visualizar la cantidad total en tienda de relojes tipo Unisex.

select sum(qty_store) from watches where type like ’Unisex’;

IV. Para mostrar el nombre del reloj y la cantidad vendida en el primer trimestre.

 select watch_name, qty_sold from watches w, sale s where
       w.watchid=s.watchid and quarter=1;

v. seleccione max(price), min(qty_store) de los relojes; Producción:

max(price)    min(qty_store)
25000         100 

vi. seleccione trimestre, suma (cantidad_vendida) del grupo de ventas por trimestre;

quarter    sum(qty_sold)
1           15
2           30
3           45
4           15 

vii. seleccione watch_name, precio, tipo de relojes w, sale s donde w.watchid!=s.watchid; Producción:

watch_name    price     type
HighFashion   7000      Unisex 

viii. seleccione watch_name, qty_store, sum(qty_sold), qty_storesum(qty_sold) “Stock” de relojes w, venta s donde w.watchid=s.watchid agrupar por s.watchid; Producción:

watch_name    qty_store    qty_sold   Stock
HighTime      100          25          75
LifeTime      150          40          110
Wave          200          30          170
GoldenTime    100          10          90 

6 (a) Corrija las siguientes declaraciones booleanas:

1. X+1 = X
2. (A')'=A'
3. A+A'=0
4. (A+B)' = A.B

Corrección:

1. X+1 =1 or X+0=X
2. ((A’)’) = A
3. A+A’= 1 or A.A’=0
4. (A+B)’ = A’.B’

(b) Dibuje el circuito lógico equivalente para la siguiente expresión booleana: (AB)+C 1 (c) Escriba la forma POS de una función booleana F, que se representa en una tabla de verdad de la siguiente manera: 2

P   Q   R   F
0   0   0   0
0   0   1   1
0   1   0   1
0   1   1   1
1   0   0   0
1   0   1   1
1   1   0   0
1   1   1   1

Respuesta: (P+Q+R).(P’+Q+R).(P’+Q’+R) (d) Reduzca la siguiente expresión booleana usando el mapa K: F(A, B, C, D) = (0, 1, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15) 7 (a) Identifique el tipo de topología sobre la base de lo siguiente: 1. Dado que cada Node está directamente conectado al servidor se necesita una gran cantidad de cable lo que aumenta el costo de instalación de la red. 2. Tiene una única ruta de datos común que conecta todos los Nodes. Respuesta: 1. Topología en estrella 2. Topología en barra (b) Expanda lo siguiente: 1 a. VOIP : Voz sobre Protocolo de Internet b. SMTP : Protocolo simple de transferencia de correo (c) ¿Quién es un hacker? 1Un entusiasta de la informática que usa sus habilidades de programación informática para acceder intencionalmente a una computadora sin autorización se conoce como hacker. Un pirata informático accede a la computadora sin la intención de destruir datos o dañar maliciosamente la computadora. (d) El siguiente es un número binario de 32 bits generalmente representado como 4 valores decimales, cada uno de los cuales representa 8 bits, en el rango de 0 a 255 (conocidos como octetos) separados por puntos decimales 140.179.220.200. ¿Qué es? ¿Cuál es su importancia? 1 Es una dirección IP. Se utiliza para identificar las computadoras en una red. (e) Daniel tiene que compartir los datos entre varias computadoras de sus dos sucursales de oficinas ubicadas en la misma ciudad. Nombre la red (fuera de LAN, WAN, PAN y MAN) que se está formando en este proceso. 1 respuesta: HOMBRE(f) Rehaana Medicos Center ha establecido su nuevo centro en Dubai. Tiene cuatro edificios como se muestra en el diagrama que se muestra a continuación:

Distances between various buildings are as follows:
Accounts to Research Lab        55 m
Accounts to Store               150 m
Store to Packaging Unit         160 m
Packaging Unit to Research Lab  60 m
Accounts to Packaging Unit      125 m
Store to Research Lab           180 m
Number of Computers
Accounts              25
Research Lab          100
Store                 15
Packaging Unit        60

Como experto en redes, proporcione la mejor respuesta posible a las siguientes consultas: i) Sugiera un diseño de cables de conexiones entre los edificios. ii) Sugerir el lugar más adecuado (es decir, edificios) para albergar el servidor de esta organización. El lugar/edificio más adecuado para albergar el servidor de esta organización sería el edificio del Laboratorio de Investigación, ya que este edificio contiene la cantidad máxima de computadoras. iii) Sugerir la colocación del siguiente dispositivo con justificación: a) Repetidor b) Hub/Switch 1a) Para el diseño 1, dado que la distancia de cableado entre las cuentas y la tienda es bastante grande, lo ideal sería que se necesitara un repetidor a lo largo de su ruta para evitar la pérdida de señales durante el curso del flujo de datos en esta ruta. Para el diseño 2, dado que la distancia de cableado entre la tienda y el laboratorio de investigación es bastante grande, lo ideal sería colocar un repetidor. b) En ambas distribuciones se necesitaría un Hub/Switch cada uno en todos los edificios para interconectar el grupo de cables de los diferentes ordenadores de cada edificio. iv) Sugerir un sistema (hardware/software) para evitar accesos no autorizados hacia o desde la red. 1 (iv) Cortafuegos

Publicación traducida automáticamente

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