Prueba Tecnica - JP

PRUEBA TÉCNICA - JOVEN PROFESIONAL La prueba tiene como objetivo, evaluar algunos conceptos básicos y fundamentales inic

Views 46 Downloads 2 File size 282KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PRUEBA TÉCNICA - JOVEN PROFESIONAL La prueba tiene como objetivo, evaluar algunos conceptos básicos y fundamentales iniciar un proceso de aprendizaje en el área de desarrollo.

CONCEPTOS BÁSICOS (30%) 1. Defina que es un algoritmo y escriba un ejemplo sencillo. Es una secuencia de instrucciones finitas que llevan a cabo una serie de procesos para dar respuesta a determinados problemas.

2.

Defina cada uno de los siguientes términos de POO: a. Clase: Es un prototipo que define variables y métodos comunes a todos los objetos de un cierto tipo. b. Método: Es un conjunto de instrucciones definidas en una clase que realizan tareas específicas. c. Variable: Es un espacio de almacenamiento en el que podemos almacenar un determinado valor o dato como sea requerido. d. Campo o atributo: Son características individuales que distinguen un objeto de otro y determinan su apariencia, condición u otras cualidades. e. Variable local: Es una variable cuyo alcance se limita a la función en la que se declara, esto significa que la variable solo se puede manipular en esta sección y no se puede hacer referencia a ella fuera de esta sección. f. Constante: Es una variable del sistema que mantiene un valor inmutable durante la realización del código, estas se definen mediante el modificador final. g. Operador: Son los que nos permiten realizar diferentes operaciones matemáticas (suma, resta, multiplicación, división) los cuales nos indican como manipular los operandos, lo cual se utilizan entre dos variables y el resultado. h. Herencia: Es la que nos permite definir nuevas clases basadas en clases ya existentes para reutilizar código, generando así una jerarquía de clases dentro del aplicativo i. Encapsulamiento: Consiste en ocultar el estado interno de un objeto y forzar todas las interacciones a través del método del objeto.

j.

Polimorfismo: Se refiere a los atributos que pueden enviar un mismo mensaje a diferentes tipos de objetos a través de la sintaxis.

3.

Defina los siguientes tipos de operadores y nombre 3 operadores de cada tipo: a. Lógico: Son expresiones cuyo resultado nos puede dar true o false, se utilizan mas que todo en estructuras de control. • && AND (el resultado es verdadero si ambas expresiones son verdaderas) • && AND (el resultado es verdadero si ambas expresiones son verdaderas) • ! NOT (el resultado invierte la condición de la expresión) b. Aritmético: Toman valores numéricos ya sean literales o variables como sus operandos y retornan un valor numérico único. • Suma o adición (+) • Resta o sustracción (-) • División (/) c. Condicional: Comparan una variable contra otro valor • Simples: son para la toma de decisión • Dobles: son para elegir entre dos opciones o alternativas posibles • Múltiples: son tomas de decisiones que permiten comprar una variable contra distintos posibles resultados. d. Asignación: Esta nos ayuda para que una variable reciba un valor de forma directa sin intervenciones del usuario. • Asignación de exponenciación x **= y • Asignación de desplazamiento a la izquierda x = y

4.

UML se utiliza para:

a. b. c. d.

Definir un sistema Detallar los artefactos en el Sistema Documentar a, b y c

LÓGICA DE PROGRAMACIÓN (40%) 5.

Elaborar una función saltos(int X, int Y, int D); que dados tres enteros X, Y y D, retorne el mínimo número de saltos desde la posición X a la posición igual o mayor que Y de tal forma que permita resolver el siguiente problema: Una pequeña rana quiere llegar al otro lado del camino. La rana esta actualmente ubicada en una posición X y quiere llegar a una posición mayor o igual que Y. La pequeña rana siempre salta una distancia fija D. Cuente el mínimo numero de salto que la pequeña rana debe realizar para lograr su objetivo. Por ejemplo, dado: X = 10 Y = 85 D = 30 La función debe retornar 3 ya que la rana esta posicionada de la siguiente forma: después del primer salto, en la posición 10 + 30 = 40 después del segundo salto, en la posición 10 + 30 + 30 = 70 después del tercer salto, en la posición 10 + 30 + 30 + 30 = 100 Asuma que: • X, Y y D son enteros dentro del rango [1..1,000,000,000]; • X ≤ Y.

6.

Elaborar una función brecha(int[] binario N); que permita determinar la brecha binaria de un número. Una brecha binaria dentro de un entero positivo es cualquier secuencia máxima de ceros consecutivos que están rodeados por unos a los extremos en la representación binaria. Por ejemplo, se tiene el siguiente binario 1001 (número 9 en decimal) el cual contiene una brecha binaria de longitud 2. Se tiene el binario de 1000010001 (número 529 en decimal) que contiene dos brechas binarias: una de longitud 4 y otra de longitud 3. Se tiene el binario 10100 (número 20) y contiene una brecha binaria de longitud 1. Se tiene el binario 1111 (número 15) y no tiene brechas binarias. La función brecha debe dado un arreglo de enteros que contenga un número binario, retornar la longitud de su brecha binaria más larga. La función debería retornar 0 si N no contiene una brecha binaria. Por ejemplo, dado B=10000010001 la función debería retornar 5 ya que su brecha binaria más larga es de longitud 5.

SQL (30%) 7.

En una cláusula LIKE, ¿cómo se obtienen todos los nombres de personas que contengan el nombre "Juan"? a. LIKE "%Juan%" b. LIKE "*Juan*" c. LIKE "$Juan$" d. LIKE "_Juan&"

8.

En SQL, para ordenar los datos devueltos por una sentencia SELECT se emplea la cláusula: a. ORDER BY b. ORDERED BY c. SORT BY d. SORTED BY

9.

¿En cuál de las siguientes sentencias del lenguaje SQL se emplea la cláusula SET? a. DELETE b. DROP c. SELECT d. UPDATE

10. Dadas las siguientes tablas: CLIENTE:

CONTRATO:

Id_cliente Nombre del cliente Dirección Tipo de cliente Tipo de contrato Número de contrato Valor de contrato Id_cliente

DECIMAL(10,0) CHAR(40) CHAR(30) CHAR(1) CHAR(2) DECIMAL(10,0) DECIMAL(17,2) DECIMAL(10,0)

a) Listar el Nombre del cliente, la Dirección, Número de contrato y Valor de contrato para todos los clientes tipo "A" y contratos Tipo "03". SELECT CLIENTE.NOMBRE, CLIENTE.DIRECCION, CONTRATOS.NUMERO, CONTRATOS.VALOR FROM CLIENTE, CONTRATOS WHERE CLIENTE.ID_CLIENTE = CONTRATOS.ID_CLIENTE AND CLIENTE.TIPO_CLIENTE = "A" AND CONTRATOS.TIPO = "3"

b) Listar todos los clientes y el valor que suman sus contratos SELECT CLIENTE.ID_CLIENTE, CLIENTE.NOMBRE, CLIENTE.DIRECCION, CLIENTE.TIPO_CLIENTE, SUM(CONTRATOS.VALOR) FROM CLIENTE, CONTRATOS WHERE CLIENTE.ID_CLIENTE = CONTRATOS.ID_CLIENTE GROUP BY CLIENTE.ID_CLIENTE c) Listar todos los clientes y los contratos cuyo valor esté entre 10'000.000 y 25'000.000. SELECT CLIENTE.ID_CLIENTE, CLIENTE.NOMBRE, CLIENTE.DIRECCION, CLIENTE.TIPO_CLIENTE, CONTRATOS.TIPO, CONTRATOS.NUMERO, CONTRATOS.VALOR FROM CLIENTE, CONTRATOS WHERE CLIENTE.ID_CLIENTE = CONTRATOS.ID_CLIENTE AND CONTRATOS.VALOR BETWEEN "10000000" AND "25000000" d) Dados los datos siguientes, insertar en las tablas mencionadas anteriormente Mirar en archivo adjunto CLIENTE ID CLIENTE 5 10 15 20

NOMBRE COMERCIAL LA 14 EXITO FALABELLA PALACIO DE LA COSTILLA

DIRECCION CARRERA 10 CON 11 CARRERA 15 CON 21 EDIFICIO ROJO CALLE DEL OLMO

TIPO CLIENTE A B A C

CONTRATOS TIPO 03 03 01 03

NUMERO 1 15 5 40

VALOR 1'000.000 5'000.000 9'000.000 13'000.000

ID CLIENTE 5 5 5 20

11. Defina que es y para qué sirve un diagrama entidad - relación. Mencione algunos de los elementos requeridos para su construcción. Es una herramienta de modelado de datos que puede representar entidades relacionadas de un sistema de información y sus relaciones y atributos. En el diagrama de relación de entidad, se definen conceptos como diagrama, relación de entidad, modelo de relación de entidad, alquiler, atributo, relación, conjunto de relaciones, restricción, correspondencia cardinal, restricción de participación. • Escribe los nombres de las entidades distribuidas y dibuja un rectángulo alrededor del nombre de cada entidad. • Dibuja una línea entre las entidades que tengan una relación entre sí. Dibuja un diamante en cada línea y escribe la naturaleza de la relación en él. • Añade los atributos en círculos y conéctalos a las entidades relacionadas usando líneas. Esto atributos pueden ser cualquier información importante que quieras representar en el diagrama entidad-relación. • Añade la cardinalidad o el número de elementos de cada entidad.