0% encontró este documento útil (0 votos)
2 vistas11 páginas

Laboratorio 3: Programación en C

El documento describe un laboratorio de programación en C para estudiantes de la Pontificia Universidad Católica del Perú, donde se abordan tres problemas: calcular la distancia de puntos a una recta, calcular el perímetro de un polígono irregular y determinar divisores de un número. Se establecen advertencias, indicaciones y resultados esperados, así como consideraciones sobre la entrega de archivos. Los estudiantes deben implementar soluciones utilizando estructuras algorítmicas iterativas y cumplir con requisitos específicos de formato y contenido.

Cargado por

Lucar Chen
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)
2 vistas11 páginas

Laboratorio 3: Programación en C

El documento describe un laboratorio de programación en C para estudiantes de la Pontificia Universidad Católica del Perú, donde se abordan tres problemas: calcular la distancia de puntos a una recta, calcular el perímetro de un polígono irregular y determinar divisores de un número. Se establecen advertencias, indicaciones y resultados esperados, así como consideraciones sobre la entrega de archivos. Los estudiantes deben implementar soluciones utilizando estructuras algorítmicas iterativas y cumplir con requisitos específicos de formato y contenido.

Cargado por

Lucar Chen
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

PONTIFICIA

ESTUDIOS
UNIVERSIDAD
GENERALES
CATÓLICA
CIENCIAS
DEL PERÚ

FUNDAMENTOS DE PROGRAMACIÓN
LABORATORIO 3
SEMESTRE ACADÉMICO 2021-2

Horarios: 0381, 0382 y 0384 Duración: 80 minutos

Elaborado por Mag. Jennifer Zarate

ADVERTENCIAS:
Es su responsabilidad verificar anticipadamente a la sesión, que el software que utilizará para desarrollar el laboratorio funcione adecua-
damente.

INDICACIONES:
Debe utilizar variables descriptivas, comentarios y mensajes descriptivos.
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 la estructura algorı́tmica iterativa con entrada controlada.
Al finalizar la sesión, el alumno comprenderá el funcionamiento de la iteración controlada por contador.
Al finalizar la sesión, el alumno construirá programas usando la estructura algorı́tmica iterativa con entrada controlada.

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.

Desarrolle el siguiente problema en lenguaje C:

1. Mayor y menor distancia (20 puntos)

Debido a las necesidades que el ser humano fue identificando a lo largo del tiempo, fue creando números y opera-
ciones entre ellos ası́ como figuras y formas. Es ası́ que nace la geometrı́a que estudia las figuras y fórmulas. En
especı́fico se tiene a la Geometrı́a euclidiana y en ella se han establecido diversos cálculos para obtener valores.
Por ejemplo, se tiene la distancia de un punto a una recta que es la longitud del segmento que es perpendicular a la
recta y es trazado desde el punto como se indica en la siguiente figura 1:

Figura 1: Distancia del punto a una recta

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


Para realizar el cálculo de la distancia de un punto a una recta, se utiliza la siguiente fórmula:

Recordar que:

La fórmula para calcular la distancia de un punto a una


recta es:

|Ax + By + C|
distancia = √
A2 + B 2
donde:
x1 y y1,son las coordenadas del punto 1.

x2 y y2,son las coordenadas del punto 2.

Se le pide implementar un programa en lenguaje C que dados los coeficientes de una recta y un conjunto de puntos
que serán ingresados uno a uno, pueda identificar los puntos con menor y mayor distancia a la recta y el promedio
de todas las distancias calculadas.
Caso de prueba

Caso de Prueba 1
Ingrese los coeficientes A, B y C de la recta de forma Ax+By+C=0 :4 6 7
Ingrese el número de puntos a evaluar:5
Ingrese el punto 1 (x,y): 3 4
Distancia punto 1 a la recta: 5.963027
Ingrese el punto 2 (x,y): -2 1
Distancia punto 2 a la recta: 0.693375
Ingrese el punto 3 (x,y): 8 2
Distancia punto 3 a la recta: 7.072428
Ingrese el punto 4 (x,y): -5 -8
Distancia punto 4 a la recta: 8.459178
Ingrese el punto 5 (x,y): 1 1
Distancia punto 5 a la recta: 2.357476
El punto con menor distancia a la recta es (-2.00,1.00)
El punto con mayor distancia a la recta es (-5.00,-8.00)
El promedio de distancias de los puntos evaluados es: 4.91
——————————————————————-
Caso de Prueba 2
Ingrese los coeficientes A, B y C de la recta de forma Ax+By+C=0 :5 -3 6
Ingrese el número de puntos a evaluar:4
Ingrese el punto 1 (x,y): 4 2
Distancia punto 1 a la recta: 3.429972
Ingrese el punto 2 (x,y): -3 -1
Distancia punto 2 a la recta: 1.028992
Ingrese el punto 3 (x,y): 5 4
Distancia punto 3 a la recta: 3.258473
Ingrese el punto 4 (x,y): -6 1
Distancia punto 4 a la recta: 4.630462
El punto con menor distancia a la recta es (-3.00,-1.00)
El punto con mayor distancia a la recta es (-6.00,1.00)
El promedio de distancias de los puntos evaluados es: 3.09

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


Debe usar estructuras algorı́tmicas iterativas con entrada controlada por contador y estructuras selectivas
simples o dobles.

No debe usar ningún tipo de anidamiento de estructuras algorı́tmicas selectivas ni programación modular.
Grabe el archivo con el nombre L3 codigoalumno.c, en caso no cumpla exactamente el formato indicado se le
corregirá sobre la mitad del puntaje.
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 los archivos en la misma tarea en PAIDEIA de la cual obtuvo este documento.

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


PONTIFICIA
ESTUDIOS
UNIVERSIDAD
GENERALES
CATÓLICA
CIENCIAS
DEL PERÚ

FUNDAMENTOS DE PROGRAMACIÓN
LABORATORIO 3
SEMESTRE ACADÉMICO 2021-2

Horarios: 0386, 0389, 0390 y 0397 Duración: 80 minutos

Elaborado por Mag. Jennifer Zarate

ADVERTENCIAS:
Es su responsabilidad verificar anticipadamente a la sesión, que el software que utilizará para desarrollar el laboratorio funcione adecua-
damente.

INDICACIONES:
Debe utilizar variables descriptivas, comentarios y mensajes descriptivos.
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 la estructura algorı́tmica iterativa con entrada controlada.
Al finalizar la sesión, el alumno comprenderá el funcionamiento de la iteración controlada por contador.
Al finalizar la sesión, el alumno construirá programas usando la estructura algorı́tmica iterativa con entrada controlada.

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.

Desarrolle el siguiente problema en lenguaje C:

1. Polı́gono Irregular (20 puntos)

Con el paso del tiempo, el ser humano tuvo la necesidad de crear números y contar, medir y realizar cálculos.
Fue ası́ que en Egipto, empezó a imaginarse y crear conceptos que llevaban consigo formas diferentes de figuras
debido a la necesidad de realizar construcciones como diques para encauzar las aguas del rı́o Nilo y ası́ proteger a
sus cultivos. Es ahı́ donde se origina la geometrı́a que significa ”medida de la tierra”
Una de las formas básicas que se creó, fue el polı́gono, que es una figura plana geométrica que está limitada por
tres o más rectas y tiene tres o más ángulos y vértices. El valor de un lado del polı́gono se puede calcular como la
distancia entre dos vértices consecutivos del polı́gono.
Existen polı́gonos regulares cuyos lados miden el mismo valor y los polı́gonos irregulares cuyos lados no tienen el
mismo valor.

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


A continuación, se le pide implementar un programa en lenguaje C que dado el número de lados del polı́gono,
calcule el perı́metro del mismo a través de las distancias de sus lados, las mismas que serán obtenidas a través del
cálculo de distancia entre dos puntos. Considere que cada vértice del polı́gono será un punto del plano cartesiano
que se representará de la forma (x,y). Todos los vértices se ingresarán de manera consecutiva. Deberá validar que
los vértices se encuentren en el primer o segundo cuadrante para realizar el cálculo del perı́metro. Si el usuario
ingresa otro valor, deberá enviar un mensaje y solicitar que vuelva a ingresar los vértices con las especificaciones
correctas. Asuma que el primer punto ingresado cumple con pertenecer al primer o segundo cuadrante.

Recordar que:

La fórmula para calcular la distancia entre dos puntos es:


p
distancia = (x1 − x2)2 + (y1 − y2)2
donde:
x1 y y1,son las coordenadas del punto 1.

x2 y y2,son las coordenadas del punto 2.

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


Caso de prueba

Caso de Prueba 1
Ingrese el número de lados del polı́gono: 4
Ingrese el punto 1 (x,y): -2 1
Ingrese el punto 2 (x,y): -2 3
Ingrese el punto 3 (x,y): 2 3
Ingrese el punto 4 (x,y): 2 1
El perı́metro del polı́gono de 4 lados es: 12.000000
——————————————————————-
Caso de Prueba 2
Ingrese el número de lados del polı́gono:3
Ingrese el punto 1 (x,y): -5 3
Ingrese el punto 2 (x,y): -5 -3
El punto ingresado no pertenece al primer ni al segundo cuadrante.
Ingrese el punto 2 (x,y): -5 10
Ingrese el punto 3 (x,y): 1 3
El perı́metro del polı́gono de 3 lados es: 22.219544
——————————————————————-
Caso de Prueba 3
Ingrese el número de lados del polı́gono:8
Ingrese el punto 1 (x,y): 10 7
Ingrese el punto 2 (x,y): 9 5
Ingrese el punto 3 (x,y): 6 5
Ingrese el punto 4 (x,y): 4 4
Ingrese el punto 5 (x,y): 1 2
Ingrese el punto 6 (x,y): -1 -1
El punto ingresado no pertenece al primer ni al segundo cuadrante.
Ingrese el punto 6 (x,y): -1 0
Ingrese el punto 7 (x,y): 6 3
Ingrese el punto 8 (x,y): 7 6
El perı́metro del polı́gono de 8 lados es: 27.846443

Debe usar estructuras algorı́tmicas iterativas con entrada controlada por contador y estructuras selectivas
simples o dobles.

No debe usar ningún tipo de anidamiento de estructuras algorı́tmicas selectivas ni programación modular.
Grabe el archivo con el nombre L3 codigoalumno.c, en caso no cumpla exactamente el formato indicado se le
corregirá sobre la mitad del puntaje.
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 los archivos en la misma tarea en PAIDEIA de la cual obtuvo este documento.

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


PONTIFICIA
ESTUDIOS
UNIVERSIDAD
GENERALES
CATÓLICA
CIENCIAS
DEL PERÚ

FUNDAMENTOS DE PROGRAMACIÓN
LABORATORIO 3
SEMESTRE ACADÉMICO 2021-2

Horarios: 0383, 0385, 0387 y 0388 Duración: 80 minutos

Elaborado por Mag. Jennifer Zarate

ADVERTENCIAS:
Es su responsabilidad verificar anticipadamente a la sesión, que el software que utilizará para desarrollar el laboratorio funcione adecua-
damente.

INDICACIONES:
Debe utilizar variables descriptivas, comentarios y mensajes descriptivos.
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 la estructura algorı́tmica iterativa con entrada controlada.
Al finalizar la sesión, el alumno comprenderá el funcionamiento de la iteración controlada por contador.
Al finalizar la sesión, el alumno construirá programas usando la estructura algorı́tmica iterativa con entrada controlada.

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.

Desarrolle el siguiente problema en lenguaje C:

1. Cálculos de divisores (20 puntos)

Desde hace mucho tiempo, el hombre ha tenido la necesidad de repartir cantidades de todo tipo de cosas como por
ejemplo: alimentos, terrenos, herramientas, dinero, entre otros. Esta repartición se daba entre distintas personas de
manera que sea en partes iguales y ası́ cada uno tendrı́a el mismo número de unidades.
Poco a poco y conforme transcurrı́a el tiempo, el hombre descubrió que este inconveniente que tenı́a de la repar-
tición a veces tenı́a solución y a veces no. Por lo que se vio en la necesidad de buscar información para resolver
estos casos y ası́ inició la divisibilidad.
La divisibilidad de los números es conocida desde hace cientos de años atrás. Por ejemplo, los egipcios ya conocı́an
los números pares e impares. Mientras que algunas culturas como los hindúes, conocı́an ciertas divisibilidades por
tres, sierte y nueve. Por tro lado Euclides, en Grecia, creó y demostró los teoremos básicos de la divisibilidad
de números enteros; y finalmente, en el año 1623, Pascal propuso ciertas reglas para conocer la divisibilidad de
cualquier número entero.
Evaluar si un número es divisor de otro, es muy importante para realizar diversos cálculos de repartición de recur-
sos.

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


Se le pide implementar un programa en lenguaje C que dados dos números enteros, calcule e imprima la suma y el
promedio de divisores comunes de los valores ingresados sin contar el divisor 1 ni el mismo número. Asuma que
los dos números son enteros positivos. Si los números no tienen algún divisor en común, enviar el mensaje: ”Los
números ingresados no tienen divisores en común.”

Caso de prueba

Caso de Prueba 1
Ingrese los dos números a evaluar: 220 20
La suma de divisores comunes entre los dos números es: 21
El promedio de divisores comunes entre los dos números es: 5.25
——————————————————————-
Caso de Prueba 2
Ingrese los dos números a evaluar: 45 37
Los números ingresados no tienen divisores en común.
——————————————————————-
Caso de Prueba 3
Ingrese los dos números a evaluar: 55 99
La suma de divisores comunes entre los dos números es: 11
El promedio de divisores comunes entre los dos números es: 11.00
——————————————————————-
Caso de Prueba 4
Ingrese los dos números a evaluar: 10 600
La suma de divisores comununes entre los dos números es: 7
El promedio de divisores comununes entre los dos números es: 3.50

Debe usar estructuras algorı́tmicas iterativas con entrada controlada por contador y estructuras selectivas
simples o dobles.

No debe usar ningún tipo de anidamiento de estructuras algorı́tmicas selectivas ni programación modular.
Grabe el archivo con el nombre L3 codigoalumno.c, en caso no cumpla exactamente el formato indicado se le
corregirá sobre la mitad del puntaje.
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 los archivos en la misma tarea en PAIDEIA de la cual obtuvo este documento.

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


PONTIFICIA
ESTUDIOS
UNIVERSIDAD
GENERALES
CATÓLICA
CIENCIAS
DEL PERÚ

FUNDAMENTOS DE PROGRAMACIÓN
LABORATORIO 3
SEMESTRE ACADÉMICO 2021-2

Horarios: 0380, 0398 y 0399 Duración: 80 minutos

Elaborado por Mag. Jennifer Zarate

ADVERTENCIAS:
Es su responsabilidad verificar anticipadamente a la sesión, que el software que utilizará para desarrollar el laboratorio funcione adecua-
damente.

INDICACIONES:
Debe utilizar variables descriptivas, comentarios y mensajes descriptivos.
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 la estructura algorı́tmica iterativa con entrada controlada.
Al finalizar la sesión, el alumno comprenderá el funcionamiento de la iteración controlada por contador.
Al finalizar la sesión, el alumno construirá programas usando la estructura algorı́tmica iterativa con entrada controlada.

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.

Desarrolle el siguiente problema en lenguaje C:

1. Suma geométrica

En Grecia, durante el siglo XIV, se usaron varias ideas para obtener el área encerrada bajo el arco de una parábola.
Para ello, luego de varios estudios, se determinó que el uso de la suma infinita de términos para una suceción
permitı́a realizar el cálculo aproximado de este valor. En India, a través de Madhava, también existı́an otras ideas
que tenı́an relación con la utilización de sucesiones y series para determinar el cálculo de diferentes funciones.
Madhava fue uno de los primeros en identificar la convergencia de una serie, que es cuando la suma de infinitos
términos de una serie tiende a ser un número real. Para ello, creó métodos y realizó algunas pruebas. Por otro
lado, cinco siglos después, en Europa, estos problemas se estudiaron con mucho detenimiendo por Euler y Gauss.
Gauss a los 9 años identificó una forma corta de realizar el cálculo de la suma de los 100 primeros términos de una
sucesión aritmética.
Luego de años, se identificó que, en matemáticas, una serie geométrica es la suma de un número infinito de
términos que tiene una razón constante entre sus términos sucesivos y actualmente ya no se tiene que hacer el
cálculo manual, sino que existe una fórmula obtener el valor. A continuación, se tiene la siguiente serie y su
correspondiente fórmula para el cálculo de la suma geométrica:

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


rn − 1
1 + r + r2 + r3 + r4 + ...rn−1 =
r−1

donde:

r es la base.

n es la cantidad de términos.

Se le pide implementar un programa en lenguaje C que dada un cantidad de términos de la serie y una base r,
calcule la suma de términos y compruebe si este valor coincide con el valor calculado por la fórmula. Deberá
imprimir el valor de la suma de la serie, la suma calculada con la fórmula y un mensaje si coinciden los valores.

Nota:
Para comparar dos números decimales considere que son
iguales si la diferencia entre ellos es menor o igual a un
margen de error establecido de 0,0001

Caso de prueba

Caso de Prueba 1
Ingrese la cantidad de términos a evaluar: 4
Ingrese el valor de r: 4
Suma en serie: 85.000000
Suma aplicando la fórmula: 85.000000
Coincide el valor de la serie con el valor de la fórmula
——————————————————————-
Caso de Prueba 2
Ingrese la cantidad de términos a evaluar: 10
Ingrese el valor de r: 3
Suma en serie: 29524.000000
Suma aplicando la fórmula: 29524.000000
Coincide el valor de la serie con el valor de la fórmula
——————————————————————-
Caso de Prueba 3
Ingrese la cantidad de términos a evaluar: 5
Ingrese el valor de r: 6
Suma en serie: 1555.000000
Suma aplicando la fórmula: 1555.000000
Coincide el valor de la serie con el valor de la fórmula
——————————————————————-
Caso de Prueba 4
Ingrese la cantidad de términos a evaluar: 3
Ingrese el valor de r: 7
Suma en serie: 57.000000
Suma aplicando la fórmula: 57.000000
Coincide el valor de la serie con el valor de la fórmula

Debe usar estructuras algorı́tmicas iterativas con entrada controlada por contador y estructuras selectivas
simples o dobles.

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


No debe usar ningún tipo de anidamiento de estructuras algorı́tmicas selectivas ni programación modular.
Grabe el archivo con el nombre L3 codigoalumno.c, en caso no cumpla exactamente el formato indicado se le
corregirá sobre la mitad del puntaje.
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 los archivos en la misma tarea en PAIDEIA de la cual obtuvo este documento.

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

También podría gustarte