Title | Parcial 16 Septiembre 2016, preguntas |
---|---|
Course | Pensamiento Algorítmico |
Institution | Pontificia Universidad Javeriana |
Pages | 3 |
File Size | 248 KB |
File Type | |
Total Downloads | 75 |
Total Views | 123 |
Download Parcial 16 Septiembre 2016, preguntas PDF
Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Pensamiento Algorítmico Segundo Parcial Conjunto – Abril 17 de 2020 Código de ética: El envío del parcial implica aceptar el código de ética, que señala que el trabajo enviado ha sido realizado exclusivamente por cada estudiante.
1. En un país de Sudamérica, se cuenta con la información de la votación en cada uno de los estados que conforman el país. La información se registra indicando el código del partido ganador y la cantidad de votos que obtuvo ese partido en el estado. La información se registra de tal manera que los primeros dos datos corresponden al estado 0, los siguientes dos datos al estado 1 y así sucesivamente: Ganador
Nro votos
Ganador
Nro votos
4
2560
1
8510
……
Ganador
Nro votos
3
6582
0 1 2 3 … < ---------Primer estado --------- >< --------- Segundo estado -------- >< …… Se tiene un arreglo con los nombres de los estados, el código del estado es la posición que ocupa en el arreglo. Caledonia
Angostura
Fundadores
Terrano
0
1
2
3
……
Niza
Se tiene un arreglo con los nombres de los partidos, el código del partido es la posición que ocupa en el arreglo. Verde
Azul
Patriota
Libertad
Popular
0
1
2
3
4
……
Con la información disponible y teniendo cuidado al definir todos los parámetros que necesitan las funciones para hacer su trabajo. a) (40%) Construya una función que genere un nuevo arreglo donde para cada partido calcule la cantidad total de votos obtenidos en los estados donde ganó. Considere que el nuevo arreglo debe estar disponible para otras funciones.
Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Pensamiento Algorítmico Segundo Parcial Conjunto – Abril 17 de 2020 Código de ética: El envío del parcial implica aceptar el código de ética, que señala que el trabajo enviado ha sido realizado exclusivamente por cada estudiante.
2. Para la realización de las clases de manera virtual, se cuenta con la información del usuario y contraseña de un estudiante en la plataforma. Para iniciar sesión, el estudiante debe ingresar su usuario y contraseña. El nombre del usuario y la contraseña son cadenas de caracteres. Cada dato se encuentra en una casilla de dos arreglos. Las contraseñas solamente son conocidas por el estudiante y se encuentran almacenadas de forma super secreta, así que nadie las puede ver (se encuentran encriptadas) Así se vería la información:
usuarios ubicacion passwords
pedro.p 0 3 0 ****** 0
ana.mart 1 5 1 ****** 1
juans.san 2 0 2 ******* 2
david.go 3 4 3 ****** 3
john.car 4 1 4 ****** 4
mike.stu 5 2 5 ****** 5
…
N-1
…
N-1
…
N-1
El tamaño actual de los arreglos es tam_actual = 6, que corresponde al número existente de usuarios. Los arreglos de usuarios y passwords se relacionan a través del arreglo de ubicación. Es decir, l a posición del usuario está relacionada con la posición de la ubicación de la contraseña. Por ejemplo, para el usuario Pedro, que está en la casilla 0, se le asocia la casilla 0 del arreglo de ubicación que tiene el valor 3. Esto implica que la contraseña de Pedro se encuentra en la casilla 3 del arreglo passwords. Para almacenar un nuevo usuario se necesita entonces el nombre del usuario y su contraseña encriptada y se ejecuta el siguiente algoritmo: el nombre de usuario se deberá ubicar al final de arreglo de los nombres de usuario, y deberá generarse un número al azar, entre 0 y (tam_actual - 1). Ese número al azar corresponderá a la ubicación de la contraseña del nuevo usuario. Las ubicaciones de las contraseñas de los usuarios existentes se actualizarán de ser necesario. Para el caso del ejemplo, si tenemos un nuevo usuario “luis.díaz” y su contraseña encriptada “******”, y se genera el número aleatorio 3, los arreglos quedarían así: usuarios ubicacion passwords
pedro.p 0 4 0 ****** 0
ana.mart 1 6 1 ****** 1
juans.san 2 0 2 ******* 2
david.go 3 5 3 ****** 3
john.car 4 1 4 ****** 4
mike.stu 5 2 5 ****** 5
luis.díaz 6 3 6 ****** 6
Despues de adicionar el nuevo usuario, el nuevo tamaño de los arreglos será tam_actual = 7
…
N-1
…
N-1
…
N-1
Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Pensamiento Algorítmico Segundo Parcial Conjunto – Abril 17 de 2020 Código de ética: El envío del parcial implica aceptar el código de ética, que señala que el trabajo enviado ha sido realizado exclusivamente por cada estudiante.
La contraseña de Luis deberá quedar en la posición 3, lo cual se ve reflejado en el arreglo ubicacion, y las posiciones de las contraseñas de Pedro, Ana y David se moverán a la derecha, lo que generará la actualización de la ubicación de las contraseñas. a) (40%) Elabore una función adicionarUsuario, que reciba toda la información de los usuarios (nombres de usuarios, ubicación de contraseñas, las contraseñas y el tamaño (tam_actual)), el nombre del nuevo usuario y su contraseña encriptada y guarde el nuevo usuario de acuerdo con el algoritmo explicado en el ejemplo. La función deberá retornar la nueva cantidad de usuarios registrados. 3. Seguimiento Suponga que su número de identificación se encuentra en un arreglo de tamaño 10, en donde cada dígito se encuentra en una casilla del arreglo. Tome el dígito que se encuentra en la posición 7 y súmele 11. Ese número resultante será el número ingresado en el siguiente algoritmo, en la variable num:
a) (10%) ¿Qué se muestra por pantalla cuando se ejecuta este programa? b) (10%) ¿Cuál es el valor de la variable c, después de invocar a la función sorpresa?
Tiempo máximo: 2 horas....