Está en la página 1de 3

PONTIFICIA

ESTUDIOS
UNIVERSIDAD
GENERALES
CATÓLICA
CIENCIAS
DEL PERÚ

FUNDAMENTOS DE PROGRAMACIÓN
LABORATORIO 5
SEMESTRE ACADÉMICO 2022-0

Horario: 0321, 0322, 0323 y 0324 Duración: 105 minutos


Elaborado por Mag. Jennifer Zárate

ADVERTENCIAS:
Es su responsabilidad verificar anticipadamente a la sesión, que el software que utilizará para desarrollar el laboratorio funcione adecua-
damente.
Durante la evaluación, no puede usar ningún documento ni ningún programa adicional al enunciado y al programa que Ud.
desarrolla.
Solo puede tener abiertos en su computadora los aplicativos: PAIDEIA, ZOOM y el IDE en el que desarrolle el programa.
Para solicitar asesorı́a debe usar la opción ”Pedir ayuda”.
Recuerde que debe grabar todo el desarrollo de la evaluación, compartiendo todo su escritorio y teniendo la cámara y el micrófono
activos.

INDICACIONES:
Debe utilizar variables descriptivas, comentarios, constantes, mensajes descriptivos y debe validar los datos de entrada.
El orden y la eficiencia de su implementación serán considerados en la calificación.

RESULTADOS ESPERADOS:
Al finalizar la sesión, el alumno comprenderá el funcionamiento de las estructuras algorı́tmicas selectivas anidadas.
Al finalizar la sesión, el alumno construirá programas usando estructuras algorı́tmicas selectivas anidadas.

CONSIDERACIONES ADICIONALES:
Si el archivo entregado en PAIDEIA no cumple exactamente con el nombre indicado en el enunciado de la pregunta se le corregirá sobre
la mitad del puntaje.
Si el archivo entregado en PAIDEIA no posee la extensión indicada en la pregunta (.c) no se corregirá el archivo entregado.
Si no realiza la entrega de su vı́deo de laboratorio en la tarea correspondiente del classroom no se corregirá el archivo entregado. No se
aceptará reclamos por entrega tardı́a del vı́deo, luego de colocarle 0 en su nota, argumentando que se olvidó de darle click en el botón
Entregar de Classroom. Es su responsabilidad asegurarse que el vı́deo se haya entregado correctamente, si tiene algún problema con la
entrega del vı́deo lo debe informar oportunamente y no de forma posterior al 0 obtenido.

Desarrolle el siguiente problema en lenguaje C:

1. Operaciones de vectores (20 puntos)

Un vector en fı́sica es un ente matemático como la recta o el plano y se utiliza para calcular el desplazamiento de
un cuerpo en movimiento. Gracias a los vectores se puede calcular el módulo o dimensión y la dirección. En la vida
diaria, un vector permite ubicar direcciones, recorridos, distancias o conseguir direcciones con el GPS. También
se pueden realizar diferentes operaciones entre vectores, como por ejemplo: suma, resta y multiplicación.
Se le pide implementar un programa en lenguaje C que permita realizar el cálculo de la operación a realizar con
dos vectores tridimensionales. Para ello solicitará y validará la cantidad de operaciones a realizar y la cantidad de

1INF01 Fundamentos de Programación - Laboratorio 5 (2022-0) Página 1 de 3


dimensiones, y por cada operación leerá dos vectores tridimensionales, calculará y mostrará el valor correspon-
diente de acuerdo a la opción ingresada. La validación consistirá en que la cantidad de operaciones debe ser mayor
que cero y la cantidad de dimensiones debe ser 3.
Dados dos vectores de la forma:

⃗ a , ya , za )
A(x
⃗ b , yb , zb )
B(x

Debe tener en cuenta el siguiente detalle sobre las operaciones a realizar:

Suma de vectores: Si la opción ingresada es + deberá sumar dos vectores en 3 dimensiones y para realizar
dicho cálculo solo debe sumar cada componente en el eje correspondiente como se muestra a continuación:

⃗+B
A ⃗ = (xa + xb , ya + yb , za + zb )

Resta de vectores: Si la opción ingresada es − deberá restar dos vectores en 3 dimensiones y para realizar
dicho cálculo aplicará el sentido opuesto a los valores del segundo vector y sumar cada componente como
se muestra a continuación:

⃗−B
A ⃗ = (xa − xb , ya − yb , za − zb )

Multiplicación de vectores: Si la opción ingresada es ∗ deberá realizar la multiplicación de vectores. Para


multiplicar dos vectores deberá tener en cuenta el tipo de producto que se calculará. Se ingresará 1 para
realizar el cálculo del producto escalar y 2 para realizar el cálculo del producto vectorial.
Producto escalar: El resultado es un valor numérico que se obtiene de la suma de la multiplicación de cada
componente:

⃗·B
A ⃗ = xa .xb + ya .yb + za .zb

Producto vectorial: El resultado es un vector que se obtiene luego de realizar el cálculo del determinante
de los componentes de los vectores:

x y z
⃗×B
⃗ = x a ya za

A
xb yb zb

⃗×B
A ⃗ = (ya .zb − yb .za , −(xa .zb − xb .za ), xa .yb − xb .ya )

Para resolver este problema, debe desarrollar como mı́nimo 3 módulos adicionales al main tomando en cuenta las
siguientes consideraciones:
- Mı́nimo un módulo que devuelva solo un valor.
- Mı́nimo un módulo que devuelva más de un valor.
Casos de prueba:

Ingrese la cantidad de operaciones a realizar con los vectores: -6


Ingrese la cantidad de dimensiones: 3
Debe ingresar una cantidad válida.

1INF01 Fundamentos de Programación - Laboratorio 5 (2022-0) Página 2 de 3


Ingrese la cantidad de operaciones a realizar con los vectores: 4
Ingrese la cantidad de dimensiones: 1
Debe ingresar una cantidad válida.

Ingrese la cantidad de operaciones a realizar con los vectores: 5


Ingrese la cantidad de dimensiones: 3
Ingrese la operación a realizar entre los vectores tridimensionales: -
Ingrese las coordenadas del primer vector (x,y,z): 7 3 -1
Ingrese las coordenadas del segundo vector (x,y,z): 2 -4 -2
(7.00,3.00,-1.00) - (2.00,-4.00,-2.00) = (5.00,7.00,1.00)
Ingrese la operación a realizar entre los vectores tridimensionales: +
Ingrese las coordenadas del primer vector (x,y,z): 8 0 12
Ingrese las coordenadas del segundo vector (x,y,z): 3 -5 5
(8.00,0.00,12.00) + (3.00,-5.00,5.00) = (11.00,-5.00,17.00)
Ingrese la operación a realizar entre los vectores tridimensionales: *
Ingrese las coordenadas del primer vector (x,y,z): -3 11 -2
Ingrese las coordenadas del segundo vector (x,y,z): 7 5 -4
Ingrese el tipo de multiplicación a calcular: 1
Producto escalar: (-3.00,11.00,-2.00) * (7.00,5.00,-4.00) = 42.000000
Ingrese la operación a realizar entre los vectores tridimensionales: *
Ingrese las coordenadas del primer vector (x,y,z): 1 3 -4
Ingrese las coordenadas del segundo vector (x,y,z): -6 7 -5
Ingrese el tipo de multiplicación a calcular: 2
Producto vectorial: (1.00,3.00,-4.00) * (-6.00,7.00,-5.00) = (13.00,29.00,25.00)
Ingrese la operación a realizar entre los vectores tridimensionales: +
Ingrese las coordenadas del primer vector (x,y,z): 1.3 4.2 0
Ingrese las coordenadas del segundo vector (x,y,z): -1 -0.2 1
(1.30,4.20,0.00) + (-1.00,-0.20,1.00) = (0.30,4.00,1.00)

Ingrese la cantidad de operaciones a realizar con los vectores: 3


Ingrese la cantidad de dimensiones: 3
Ingrese la operación a realizar entre los vectores tridimensionales: *
Ingrese las coordenadas del primer vector (x,y,z): 2.1 -3 -5
Ingrese las coordenadas del segundo vector (x,y,z): 0 -5 6
Ingrese el tipo de multiplicación a calcular: 1
Producto escalar: (2.10,-3.00,-5.00) * (0.00,-5.00,6.00) = -15.000000
Ingrese la operación a realizar entre los vectores tridimensionales: *
Ingrese las coordenadas del primer vector (x,y,z): 2 10 -13
Ingrese las coordenadas del segundo vector (x,y,z): -8 9 4
Ingrese el tipo de multiplicación a calcular: 2
Producto vectorial: (2.00,10.00,-13.00) * (-8.00,9.00,4.00) = (157.00,96.00,98.00)
Ingrese la operación a realizar entre los vectores tridimensionales: -
Ingrese las coordenadas del primer vector (x,y,z): -3 -6.4 15
Ingrese las coordenadas del segundo vector (x,y,z): -2.8 0 5
(-3.00,-6.40,15.00) - (-2.80,0.00,5.00) = (-0.20,-6.40,10.00)

Grabe el archivo con el nombre L5 codigoalumno.c, en caso no cumpla exactamente el formato indicado se le
corregirá sobre la mitad del puntaje.

En el desarrollo del programa debe añadir comentarios que expliquen lo desarrollado. Coloque en comen-
tarios, su nombre y su código antes del programa principal.

No podrá usar estructuras algorı́tmicas iterativas anidadas, selectivas múltiples, iterativas de salida contro-
lada ni la instrucción for, ni iterativas controladas por centinela.

En el desarrollo de los programas debe añadir comentarios que expliquen lo desarrollado. Coloque en co-
mentarios, su nombre y su código antes del programa principal.
Coloque el archivo en la misma tarea en PAIDEIA de la cual obtuvo este documento.

1INF01 Fundamentos de Programación - Laboratorio 5 (2022-0) Página 3 de 3

También podría gustarte