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. 2
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