0% encontró este documento útil (0 votos)
105 vistas3 páginas

Examen Parcial Programación I 2016-1

Este documento describe un prototipo de backend para una aplicación llamada WhereList que permite a los usuarios crear listas de reproducción de canciones y videos musicales. Los usuarios pueden agregar contenido de varios proveedores como YouTube, Vimeo e iTunes. Se solicita crear una estructura de clases en C++ que almacene y gestione la información de usuarios, canciones, y proveedores de contenido de manera organizada y jerárquica usando herencia y polimorfismo. El prototipo debe cargar y desplegar los datos de manera clasificada,

Cargado por

endersson.garcia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
105 vistas3 páginas

Examen Parcial Programación I 2016-1

Este documento describe un prototipo de backend para una aplicación llamada WhereList que permite a los usuarios crear listas de reproducción de canciones y videos musicales. Los usuarios pueden agregar contenido de varios proveedores como YouTube, Vimeo e iTunes. Se solicita crear una estructura de clases en C++ que almacene y gestione la información de usuarios, canciones, y proveedores de contenido de manera organizada y jerárquica usando herencia y polimorfismo. El prototipo debe cargar y desplegar los datos de manera clasificada,

Cargado por

endersson.garcia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD NACIONAL EXPERIMENTAL DEL TÁCHIRA

VICERRECTORADO ACADÉMICO
DECANATO DE DOCENCIA
DEPARTAMENTO DE INFORMÁTICA
ASIGNATURA: PROGRAMACION I (0416202T) LAPSO 2016-1

Examen 1er Parcial Valor: 75 Puntos Fecha: 24/09/16

WhereList, es un servicio de Listas de reproducción que usa los diferentes proveedores de medios
por streaming en Internet, para personalizar tu música o videos musicales favoritos y tenerlas
disponibles donde quieras que te encuentres, disponible en tu dispositivo favorito para todas las
plataformas actuales (Desktop, Android, iOS, WindowsPhone).

El usuario que desee usar el servicio, debe crear una cuenta introduciendo los siguientes datos
personales: nombre, correo, país, edad y sexo.

Cada usuario puede agregar las Canciones que desee, de ellas se registra: Nombre,
proveedor/servicio, url, puntuación (1 al 5) y duración en segundos.

El proveedor o servicio de contenido, es quien almacena y provee los medios a utilizar. De cada uno
de ellos es necesario guardar un id del proveedor así como información necesaria para la
comunicación entre la aplicación y su cuenta de usuario en dichas plataformas por cuanto WhereList
usa características avanzadas para la presentación del contenido, y eso depende específicamente del
proveedor. Hasta el momento se tiene disponible el uso de los siguientes proveedores: Youtube,
Vimeo y iTunes.

Cada usuario debe configurar en su perfil, el proveedor con el que está registrado.
Los datos solicitados para cada proveedor son:

Youtube Vimeo iTunes

mail (cadena) user (cadena) apple_id (cadena)


api_key (cadena) password (cadena) api_app_id (numerico)
secret_key (cadena) api_key (numero)
api_secret_key (cadena)

Se requiere crear un prototipo a nivel del backend de la aplicación WhereList, que cumpla con las
siguientes premisas:
● Escribir en lenguaje C++ la estructura de clases con Herencia (Extensión y/o Composición),
Polimorfismo (funciones virtuales); así como todos los atributos y métodos necesarios.
● Se le hace entrega de una Clase Configuracion (Configuracion.h), y de esta forma crear los
objetos necesarios a partir de los siguientes datos:
○ Vector de string Cuentas de usuarios, que tiene los siguientes datos separados con
comas (,): nombre,correo,pais,edad,sexo.
Contiene el método getCuenta(número de índice) que devuelve un ítem con la
información anterior y con el método getCantCuentas(), devuelve un entero con la
cantidad de Cuentas totales.
Ejemplo: “Juana,[email protected],ve,23,f”
○ Vector de string Proveedores por Cuenta, con valores separados con comas (,): correo
del usuario, tipo (0: Youtube, 1: Vimeo, 2: iTunes), además de los datos que dependen
del tipo de proveedor:
■ 0: mail google, api_key,secret_key
■ 1: user,password
■ 2: apple_id, api_app_id, api_key, api_secret_key
De igual forma tiene los métodos getProveedor(n) y getCantProveedor() con las
mismas características de los métodos de Cuentas.
Ejemplo:
[email protected],0,[email protected],12T75568,aF6jg32tHfIi0t1240”
○ Vector de Canciones por Cuenta, con valores separados por comas (,): correo del
usuario, título canción, url y datos generales codificados en bits, con la siguiente
estructura

Ejemplo:
[email protected],Paranoid,https://itunes.apple.com/us/album/live-in-jb-
2009-city-rock/id339974351,1049178”
Además se pide:
1. Cargar la información en un vector dinámico de Usuarios. Como se muestra en el diagrama,
ésta clase debe contener un vector dinámico de canciones y un objeto polimórfico de
proveedor.

2. Desplegar un listado de todas las canciones, clasificado por usuario. Ejemplo:


Nombre Edad N_Canciones Proveedor
Juana 23 3 iTunes
Wherelist:
Titulo Puntos
Paranoid 5
Rihanna – Umbrell 4
Eminen - Bad Guy 5

Nombre Edad N_Canciones Proveedor


Juan 41 1 Vimeo
WhereList
Titulo Puntos
Radio Elvis – Solarium 5

Total de canciones 4

3. Si se reproducen todas las canciones registradas en la WhereList cuánto tiempo tardarían en


ejecutarse. Use el formato hh:mm:ss donde hh:horas, mm:minutos, ss:segundos.

4. Solicitar al usuario el nombre de algún proveedor e indicar todos los datos que se tengan
registrados de ese proveedor y los emails de los usuarios que están registrados con él.

Baremo de Corrección:
A Estructura de las clases 4
B Separar los datos del usuario y cargarlos en el vector de objetos 3 Tiempo de duración: 3 horas.
C Separar los datos del proveedor y cargarlos en el objeto 4 Puede utilizar cualquier material de
D Decodificación correcta de canciones 8 apoyo, siempre y cuando no sea en
E Carga de datos de canciones 6 formato digital.
F Aplicación de herencia y polimorfismo basado en herencia 10
G Listado clasificado por usuario 15 ES SU RESPONSABILIDAD GUARDAR
H Visualización y cálculo del tiempo de reproducción de todas las canciones 10 CORRECTAMENTE EL EXAMEN.
I Listado de usuarios según un proveedor dado 15 EXÁMENES MAL GUARDADOS TIENE 0
PUNTOS
Total 75

También podría gustarte