2023 10 1304
2023 10 1304
2023 10 1304
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN
FUNDAMENTOS DE INFRAESTRUCTURA TECNOLÓGICA - ISIS1304
Trabajo práctico 3
+ significativo - + significativo -
Valor en hexa 0xFF FF FF FE 0x00 00 00 0C
Después de la reversión, el vector debe ser:
+ significativo - + significativo -
Valor en hexa 0x30 00 00 00 0x7F FF FF FF
Imprime:
0x30000000 0x7FFFFFFF
Estructuras de datos
▪ Una variable para almacenar el tamaño del vector (n).
▪ Un apuntador a int: para apuntar al vector de enteros.
Estructura del programa
El programa solo debe tener tres procedimientos: el main, otro procedimiento
invertirVector encargado de procesar los elementos del vector y un tercer procedimiento
reversarInt que recibe un entero y lo retorna reversado.
main:
▪ Le pide al usuario el tamaño del vector (n) para inicializar la respectiva variable
(validar que n > 0).
▪ Declara e inicializa el apuntador al vector de int. La inicialización consiste en
ponerlo a apuntar a un vector de int del tamaño pedido. El vector se crea
dinámicamente usando la función de C calloc.
▪ Inicializa el vector: le pide al usuario que teclee el valor de cada elemento.
▪ Invoca el procedimiento invertirVector.
▪ Imprime el resultado (el vector de int) posición por posición en hexadecimal.
invertirVector:
▪ Tiene dos parámetros: un apuntador al vector de enteros y un entero con el tamaño
del vector.
▪ Realiza la inversión sobre el mismo vector.
▪ Utiliza reversarInt para invertir cada posición.
reversarInt:
▪ Tiene un parámetro: el valor del int que se desea reversar.
▪ Reversa el valor y lo retorna (con return).
Restricciones y consideraciones
▪ Las estructuras de datos se declaran e inicializan en el main.
▪ El programa solo debe constar del main y los dos procedimientos de cálculo.
▪ No puede usar librerías externas que resuelvan directamente el problema; solo las
básicas de C (entrada/salida, manejo de cadenas, etc.).
▪ Los números hexa deben ir en letras mayúsculas y precedidos por los caracteres
“0x”.
▪ El vector puede tener cualquier tamaño.
▪ Puede declarar las variables escalares que necesite, pero NO puede declarar
vectores auxiliares; la inversión se debe hacer sobre el mismo vector.
▪ Los programas se calificarán únicamente usando el ambiente de visual de las
máquinas virtuales. Si el programa no compila en este ambiente, se considerará que
no corre (así compile en otros ambientes).
C. CONDICIONES DE ENTREGA
Entregar el código fuente junto con el ejecutable en un archivo .zip. El nombre del archivo
debe ser: TP3_código_apellido_nombre.zip
Al comienzo del archivo fuente escriba su nombre, código y correo.
No cumplir con las anteriores condiciones tendrá una penalidad del 10% de la nota.
Si su programa no funciona o si su solución tiene particularidades, puede enviar un archivo
.docx o .pdf explicando por qué cree que no funciona o qué fue lo que hizo.
El trabajo es individual. No debe haber consultas con otros estudiantes.
Se puede solicitar una sustentación sobre cualquier parte del trabajo. Dicha sustentación
puede afectar la nota.
El trabajo se debe entregar por BNe a más tardar el 23 de abril de 2023 hasta las 11:55
pm. No se recibirán trabajos entregados con posterioridad.
E. CASOS DE PRUEBA
Caso 1:
Entrada: n = 2; elementos = -2, 12;
Salida:
0x30000000 0x7FFFFFFF
Caso 2:
Entrada: n = 3; elementos = -2, 12, 32;
Salida:
0x04000000 0x30000000 0x7FFFFFFF
Caso 3:
Entrada: n = 1; elementos = 2.927.624.565
Salida:
0xAE800175