0% encontró este documento útil (0 votos)
242 vistas109 páginas

Estructuras Algorítmicas Selectivas

Este documento presenta una guía de laboratorio sobre estructuras algorítmicas selectivas. Explica conceptos como las estructuras selectivas simples y dobles, y cómo representarlas en pseudocódigo y diagramas de flujo. Luego, da ejemplos de problemas resueltos con estas estructuras, como calcular las raíces de una ecuación cuadrática o verificar si un año es bisiesto. Finalmente, propone ejercicios para que los estudiantes apliquen estos conceptos.
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)
242 vistas109 páginas

Estructuras Algorítmicas Selectivas

Este documento presenta una guía de laboratorio sobre estructuras algorítmicas selectivas. Explica conceptos como las estructuras selectivas simples y dobles, y cómo representarlas en pseudocódigo y diagramas de flujo. Luego, da ejemplos de problemas resueltos con estas estructuras, como calcular las raíces de una ecuación cuadrática o verificar si un año es bisiesto. Finalmente, propone ejercicios para que los estudiantes apliquen estos conceptos.
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 Universidad Católica del Perú

Estudios Generales Ciencias

1INF01 - Fundamentos de Programación

N

AC
Guía de laboratorio #3


M

AS
Elaboración de programas con estructuras algorítmicas selectivas

PE
RA

CI
G

L
EN

DE
O
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO

18 de abril de 2023
i

Índice general

Historial de revisiones 1

N

Siglas 2

AC


1. Guía de Laboratorio #3 3

AS
1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

PE
RA

CI
1.2. Materiales y métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
G

L
EN
1.3. Estructura Algorítmica Selectiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

DE
O
PR

1.3.1. Representación de la Estructura Algorítmica Selectiva Simple . . . . . . . . . . . . . . .


CI 4

CA
1.3.2. Representación de la Estructura Algorítmica Selectiva Doble . . . . . . . . . . . . . . . 5
ES
DE

1.4. Cálculo de las raíces de ecuaciones cuadráticas con una variable - Selectivas simples y dobles . 7

LI
L

1.4.1. Verificación del discriminante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7



S

A
TO

ER

1.4.2. Cálculo de las raíces complejas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9


CA
EN

1.5. Verificación de datos de entrada para el problema de cambio de billetes . . . . . . . . . . . . . 11


EN

1.6. Verificación de la base y operando en el cálculo de logaritmos . . . . . . . . . . . . . . . . . . . 12


AM

DA

1.7. Tres lados forman un triángulo? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13


S
ND

SI

1.8. ¿Es el año bisiesto? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14


DI

ER

1.9. Estructuras Algorítmicas Selectivas Anidadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


FU

TU

1.9.1. Representación de la Estructura Selectiva Anidada . . . . . . . . . . . . . . . . . . . . . 15


IV
ES

1.9.2. Representación en pseudocódigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


UN

1.9.3. Representación en diagrama de flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


IA

1.9.4. Implementación en C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
IC

1.10. Cálculo de las raíces ecuaciones cuadráticas con una variable - Selectivas Anidadas . . . . . . . 17
IF

1.11. ¿Cuántos dígitos tiene un número? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


NT

1.12. Impresión en diferentes bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21


1.13. Funciones definida por tramos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
PO

2. Ejercicios propuestos 25
2.1. Nivel Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.1. Análisis de programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
ii

2.1.2. El valor absoluto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27


2.1.3. La función techo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1.4. La función piso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.1.5. ¿Cuántos días tiene determinado año? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.1.6. ¿Cuántos paquetes utilizar? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.1.7. ¿Cuánto cuesta la matrícula? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.1.8. Longitud de onda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.1.9. El mayor de 3 números . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1.10. Cantidad de días por mes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

N
2.1.11. Calculadora de operaciones lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32


2.1.12. Conversión de grados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

AC
2.1.13. Conversión de temperatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33


M
2.1.14. Aplicación de la ley de Boyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

AS

PE
RA
2.1.15. Aplicación de la ley de Charles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

CI
2.1.16. La escalas de Wechsler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
G

L
EN

DE
O

2.1.17. Cálculo de la jornada de trabajo semanal . . . . . . . . . . . . . . . . . . . . . . . . . . 35


PR

CI
2.2. Nivel Intermedio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

CA
2.2.1. Identidades trigonométricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
ES
DE

LI
2.2.2. La serie de Gregory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
L


S

2.2.3. Suma de los cuadrados de los números en un rango . . . . . . . . . . . . . . . . . . . . . 37


TO

ER

CA

2.2.4. La ecuación de la recta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38


EN

EN

2.2.5. La ecuación de la circunferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38


D
AM

2.2.6. Cálculo del Interés simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39


G

DA

2.2.7. ¿Se mueve o no se mueve la caja? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40


S
ND

SI

2.2.8. ¿Cómo puedo saber si mi peso es normal? . . . . . . . . . . . . . . . . . . . . . . . . . . 41


DI

ER
FU

2.2.9. Funciones definida por tramos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41


TU

IV

2.2.10. Categorización del Índice de Masa Corporal . . . . . . . . . . . . . . . . . . . . . . . . . 42


ES

UN

2.2.11. La Media Aritmética-Geométrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43


2.2.12. Calculadora de operaciones vectoriales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
IA

2.2.13. Distancia más cercana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44


IC

2.2.14. Calculadora de números complejos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44


IF

2.2.15. Tipos de rectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45


NT

2.3. Nivel Avanzado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46


PO

2.3.1. Distancia más cercana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46


2.3.2. Clasificación de un triángulo según sus lados . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3.3. Área de un triángulo isósceles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.3.4. Operaciones con fracciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.3.5. Los números Armstrong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Capítulo 0: Índice general iii

2.3.6. Números palíndromos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49


2.3.7. Clasificación de un paralelogramo según sus lados . . . . . . . . . . . . . . . . . . . . . . 50
2.3.8. Comparación de fechas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.3.9. Conversión de coordenadas rectangulares a polares . . . . . . . . . . . . . . . . . . . . . 52
2.3.10. Suma de n números naturales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.3.11. Manipulación de número enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.3.12. Cálculo de las raíces ecuaciones cuadráticas con una variable . . . . . . . . . . . . . . . 54
2.3.13. Ecuación cúbica de una variable (adaptado del laboratorio 3 2020-1) . . . . . . . . . . . 54
2.3.14. Áreas de figuras planas (adaptado del laboratorio 3 2020-1) . . . . . . . . . . . . . . . . 55

N
2.3.15. Ecuación de segundo grado (adaptado del laboratorio 3 2020-1) . . . . . . . . . . . . . . 57


2.3.16. Ecuación de una paraboloide (adaptado del laboratorio 3 2020-1) . . . . . . . . . . . . . 59

AC
2.3.17. Ecuación bicuadrada (adaptado del laboratorio 3 2020-1) . . . . . . . . . . . . . . . . . 60


M
2.3.18. Ángulo entre vectores (adaptado del laboratorio 2 2021-1) . . . . . . . . . . . . . . . . . 61

AS

PE
RA
2.3.19. Propiedades de logaritmos (adaptado del laboratorio 2 2021-1) . . . . . . . . . . . . . . 62

CI
2.3.20. Trapezoide simétrico (adaptado del laboratorio 2 2021-1) . . . . . . . . . . . . . . . . . 63
G

L
EN

DE
O

2.3.21. Tipos de cuadriláteros (adaptado del laboratorio 2 2021-1) . . . . . . . . . . . . . . . . 65


PR

CI
2.3.22. Área del Pentágono (adaptado del laboratorio 2 2021-1) . . . . . . . . . . . . . . . . . . 67

CA
2.3.23. Movimiento parabólico (adaptado del laboratorio 2 2021-2) . . . . . . . . . . . . . . . . 68
ES
DE

LI
2.3.24. Elipse (adaptado del laboratorio 2 2021-2) . . . . . . . . . . . . . . . . . . . . . . . . . . 71
L


S

2.3.25. Movimiento armónico simple (adaptado del laboratorio 2 2021-2) . . . . . . . . . . . . . 76


TO

ER

CA

2.3.26. Semejanza de triángulos (adaptado del laboratorio 2 2021-2) . . . . . . . . . . . . . . . 80


EN

EN

2.3.27. Las capas de la esfera (adaptado del laboratorio 5 2021-1) . . . . . . . . . . . . . . . . . 85


D
AM

2.3.28. Circunferencias y rectas (adaptado del laboratorio 5 2021-2) . . . . . . . . . . . . . . . . 86


G

DA

2.3.29. Figuras tridimensionales (adaptado del laboratorio 2 2022-1) . . . . . . . . . . . . . . . 89


S
ND

SI

2.3.30. Indicadores de crecimiento (adaptado del laboratorio 2 2022-1) . . . . . . . . . . . . . . 91


DI

ER
FU

2.3.31. Peso, Talla e IMC (adaptado del laboratorio 2 2022-1) . . . . . . . . . . . . . . . . . . . 92


TU

IV

2.3.32. Relación entre pesos (adaptado laboratorio 2 2022-1) . . . . . . . . . . . . . . . . . . . . 94


ES

UN

2.3.33. Límites de velocidad (adaptado del laboratorio 2 2022-2) . . . . . . . . . . . . . . . . . 96


2.3.34. Menú de fórmulas 1 (adaptado del laboratorio 2 2022-2) . . . . . . . . . . . . . . . . . . 100
IA
IC
IF
NT
PO
1

Historial de Revisiones

Revisión Fecha Autor(es) Descripción


1.0 02.09.2018 A. Melgar Versión inicial.

N
1.1 30.03.2019 A. Melgar Se incrementó la cantidad de problemas propuestos, se aña-


dió color al código en lenguaje C y se completaron los casos

AC
de prueba de los problemas propuestos.


1.1 15.04.2019 L. Hirsh Revisión de la versión 1.1.

M
2.0 06.07.2019 A. Melgar Se cambio el contenido del documento para incluir tanto la

AS

PE
RA
estructura algorítmica selectiva simple como la estructura

CI
algorítmica selectiva doble.
G
2.0 21.08.2019 C. Aguilera Revisión de la versión 2.0.

L
EN

DE
O

2.0 24.08.2019 A. Melgar Corrección de la revisión de la versión 2.0 realizada por el


PR

profesor César Aguilera.


CI
2.1 17.09.2020 S. Vargas Clasificación de los ejercicios propuestos en nivel básico,

CA
intermedio y avanzado. Se agregaron ejercicios.
ES
DE

2.2 09.09.2021 D. Allasi Se agregaron ejercicios.

LI
L

3.0 28.03.2022 D. Allasi, [Link] Se cambio el contenido del documento para incluir la es-

S

tructura selectiva anidada. Se agregaron ejercicios.


TO

ER

3.1 16.04.2023 C. Aguilera Se agregaron ejercicios de los semestres 2022-1 y 2022-2.


CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO
2

Siglas

EEGGCC Estudios Generales Ciencias

N
IDE Entorno de Desarrollo Integrado


PUCP Pontificia Universidad Católica del Perú

AC


M

AS

PE
RA

CI
G

L
EN

DE
O
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO
3

Capítulo 1

Guía de Laboratorio #3

N

AC
1.1. Introducción


M

AS
Esta guía ha sido diseñada para que sirva como una herramienta de aprendizaje y práctica para el curso de

PE
RA
Fundamentos de Programación de los Estudios Generales Ciencias (EEGGCC) en la Pontificia Universidad

CI
Católica del Perú (PUCP). En particular se focaliza en el tema “Elaboración de programas con estructuras
G

L
EN
algorítmicas selectivas”.

DE
O
PR

Se busca que el alumno resuelva paso a paso las indicaciones dadas en esta guía contribuyendo de esta manera
CI
a los objetivos de aprendizaje del curso, en particular en el diseño de programas con estructuras algorítmicas

CA
selectivas usando el paradigma imperativo. Al finalizar el desarrollo de esta guía y complementando lo que se
ES
DE

realizará en el correspondiente laboratorio, se espera que el alumno:

LI
L


S

A
TO

Comprenda el control de flujo de un programa en el paradigma imperativo y en particular la estructura


ER

algorítmica selectiva.
CA
EN

EN

Diseñe algoritmos expresados en diagramas de flujo y pseudocódigos que controlen el flujo usando una
D

estructura algorítmica selectiva.


AM

DA

Implemente programas que utilicen la estructura algorítmica selectiva en un lenguaje de programación


S
ND

imperativo.
O

SI
DI

ER

Implemente programas que utilicen expresiones complejas que combinen operadores relacionales y lógicos.
FU

TU

IV
ES

1.2. Materiales y métodos


UN

Como herramienta para el diseño de pseudocódigos y diagramas de flujo se utilizará PSeInt1 . El PSeInt deberá
IA

estar configurado usando el perfil PUCP definido por los profesores del curso. Como lenguaje de programación
IC

imperativo se utilizará el lenguaje C. Como Entorno de Desarrollo Integrado (IDE) para el lenguaje C se
utilizará Dev C++2 . No obstante, es posible utilizar otros IDEs como Netbeans y Eclipse.
IF
NT

1.3. Estructura Algorítmica Selectiva


PO

Los programas escritos en el paradigma imperativo se basan en el cambio de estado de las variables definidas
en los programas. Todo programa sigue un flujo, el cual puede ser modificado a partir de estructuras de control
1 [Link]
2 [Link]
Capítulo 1: Guía de Laboratorio #3 4

de flujo. Las estructuras de control de flujo pueden ser de dos tipos: estructuras algorítmicas selectivas y
estructuras algorítmicas iterativas.
Las estructuras selectivas, permiten que los programas ejecuten un conjunto de instrucciones si es que cumplen
una determinada condición. Es decir, el conjunto de instrucciones se ejecuta una sola vez si cumple la condición.
Por otra parte, las estructuras iterativas permiten que los programas ejecuten un conjunto de instrucciones
tantas veces como sea necesario, dependiendo de una determinada condición. Las estructuras algorítmicas
selectivas por su lado se pueden clasificar en estructuras selectivas simples y estructuras selectivas dobles.
La estructura selectiva simple permite ejecutar un conjunto de instrucciones si y solo si se cumple una determi-
nada condición. Si la condición no se cumple, el conjunto de instrucciones no se ejecuta. La estructura selectiva
simple es muy usada en la programación imperativa, gracias a ella se pueden verificar situaciones antes de
realizar determinado procesamiento. Muchas situaciones requieren que se verifiquen condiciones iniciales antes
de realizar el procesamiento de datos, por ejemplo, para calcular la raíces de una ecuación cuadrática de una
variable, si se desea obtener una solución real, el discriminante debe ser mayor o igual a cero. Si se desea

N
calcular el área de un triángulo dados sus 3 lados, antes se debe verificar si efectivamente dichos lados forman


un triángulo.

AC
La estructura selectiva doble complementa a la estructura selectiva simple. Al igual que la selectiva simple, la


estructura selectiva doble permite ejecutar un conjunto de instrucciones si y solo si se cumple una determinada

AS
condición. Si la condición no se cumple, se ejecuta otro conjunto de instrucciones. Esto último es lo que

PE
RA
diferencia a la selectiva doble de la selectiva simple. En la selectiva doble se cuentan con dos conjuntos de

CI
instrucciones que, dependiendo de la condición, se ejecuta uno o se ejecuta el otro. De ahí el nombre de
G

L
selectiva doble.

EN

DE
O

La estructura selectiva doble es muy usada en la programación imperativa, gracias a ella se pueden tomar
PR

CI
decisiones sobre cómo realizar determinado procesamiento. Muchas situaciones requieren que se realice el

CA
cálculo de diferente manera dependiendo de la condición. Por ejemplo, para calcular las raíces de una ecuación
ES
DE

cuadrática de una variable, si el discriminante es mayor o igual a cero, se calcula de una forma pues la

LI
solución será real, pero si el discriminante es menor que cero, la solución involucrará un número complejo
L

y el procesamiento, en este caso, es diferente. Otro uso muy común es la utilización de la selectiva doble

S

A
TO

en conjunción con la selectiva simple para ejecutar diferentes acciones en un menú de opciones; como es
ER

CA

por ejemplo el caso de una calculadora, que dependiendo de la operación seleccionada (+,−,∗,/), ejecutará
EN

diferentes cálculos (a + b, a − b, a ∗ b, a/b).


EN

D
AM

DA

1.3.1. Representación de la Estructura Algorítmica Selectiva Simple


S
ND

SI

A continuación, se revisará cómo se representa la estructura selectiva simple tanto en pseudocódigo como en
DI

ER

diagrama de flujo, así como su implementación en lenguaje C.


FU

TU

IV

Representación en pseudocódigo
ES

UN

En la figura 1.1 se puede apreciar la representación de la estructura selectiva simple en pseudocódigo. La


estructura inicia con el identificador Si y finaliza con el identificador Fin Si. La condición es una expresión
IA

lógica como por ejemplo: i < 100, nota ≤ 10, i ≤ max y i <> 0. Luego de la condición se coloca el identificador
IC

Entonces. En el conjunto de instrucciones se pueden colocar asignaciones (i ← 0), cálculo de expresiones


matemáticas (suma ← suma + termino) e inclusive otras estructuras selectivas (Si i=0 Entonces).
IF
NT

Si condición Entonces
conjunto de instrucciones;
PO

Fin Si

Figura 1.1: Pseudocódigo: Estructura selec-


tiva simple
Capítulo 1: Guía de Laboratorio #3 5

Representación en diagrama de flujo

En la figura 1.2 se puede apreciar la representación de la estructura selectiva simple en diagrama de flujo. La es-
tructura inicia con el bloque condición y si la condición es verdadera, se ejecuta el conjunto de instrucciones.
En el diagrama, el control del flujo se gestiona a través de las líneas que conectan los bloques. Como se aprecia,
inmediatamente después de ejecutar el bloque de instrucciones, el control se dirige hacia abajo. Si la condición
no se satisface, el flujo se dirige hacia abajo sin procesar el conjunto de instrucciones.

N

AC
Figura 1.2: Diagrama de Flujo: Selectiva simple


M

AS

PE
Implementación en lenguaje C RA

CI
G

L
EN
En el lenguaje C la estructura selectiva simple se implementa a través de la instrucción if. La representación

DE
O

del if se puede apreciar en el programa 1.1. El funcionamiento de la instrucción if es muy similar al Si del
PR

CI
pseudocódigo y diagrama de flujo, pero hay que tener ciertas consideraciones para su uso.

CA
Como se sabe, el lenguaje C no implementa nativamente el tipo de dato lógico (bool o boolean). Entonces
ES
DE

¿cómo hace el lenguaje C para evaluar la condición de la instrucción if? el lenguaje C asume que todo

LI
L

valor igual a 0 falla una condición. El comportamiento es muy similar al f also de una expresión lógica. Por

S

lo contrario, un valor diferente a 0 hará que se cumpla la condición. El comportamiento es muy similar al
TO

ER

verdadero de una expresión lógica. Por ejemplo: si se tienen las siguientes definiciones int suma=0, i=10;, las
CA

siguientes expresiones serán consideradas verdaderas: suma <= 100, i == 10, suma < i e i. Por otro lado,
EN

EN

las siguientes expresiones serán consideradas f alsas: suma >= 100, i == 20, suma > i y suma.
D
AM

Programa 1.1: Lenguaje C: Estructura selectiva simple


DA

...
S

1
ND

if (condición){
O

SI

2
conjunto de instrucciones;
DI

3
ER

}
FU

4
...
TU

5
IV
ES

UN

1.3.2. Representación de la Estructura Algorítmica Selectiva Doble


IA

A continuación, se revisará cómo se representa la estructura selectiva doble tanto en pseudocódigo como en
diagrama de flujo, así como su implementación en lenguaje C.
IC
IF

Representación en pseudocódigo
NT

En la figura 1.3 se puede apreciar la representación de la estructura selectiva doble en pseudocódigo. La


PO

estructura inicia con el identificador Si y finaliza con el identificador Fin Si. La condición es una expresión
lógica como por ejemplo: i < 100, nota <= 10, i <= max y i <> 0. Luego de la condición se coloca el
identificador Entonces.
Como se mencionó anteriormente, a la estructura selectiva doble se le asocian dos conjuntos de instrucciones,
un conjunto de instrucciones que se ejecuta si se cumple la condición (conjunto de instrucciones a en la figura
Capítulo 1: Guía de Laboratorio #3 6

1.3) y otro conjunto de instrucciones sino se cumple la condición (conjunto de instrucciones b en la figura 1.3).
Para separar ambos conjuntos de instrucciones se utiliza el identificador SiNo.
En ambos conjuntos de instrucciones se pueden colocar asignaciones (i ← 0), cálculo de expresiones
matemáticas (suma ← suma + termino) e inclusive otras estructuras selectivas (Si i=0 Entonces).

Si condición Entonces
conjunto de instrucciones a;
SiNo
conjunto de instrucciones b;
Fin Si

Figura 1.3: Pseudocódigo: Estructura selec-


tiva doble

N

AC
Representación en diagrama de flujo


M
En la figura 1.4 se puede apreciar la representación de la estructura selectiva doble en diagrama de flujo. La es-

AS
tructura inicia con el bloque condición y si la condición es verdadera, se ejecuta el conjunto de instrucciones

PE
a. Si la condición es falsa, se ejecuta el conjunto de instrucciones b. RA

CI
G

L
EN

DE
O
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

Figura 1.4: Diagrama de Flujo: Selectiva doble


CA
EN

EN

D
AM

Implementación en lenguaje C
DA
S

En el lenguaje C la estructura selectiva doble se implementa a través de la instrucción if. La representación del
ND

SI

if se puede apreciar en el programa 1.2. El segundo conjunto de instrucciones se coloca luego del identificador
DI

ER

else. El conjunto de instrucciones en lenguaje C se delimita por los símbolos { y }. Esta delimitación es
FU

TU

opcional cuando el conjunto de instrucciones está formada por una sola instrucción.
IV

Programa 1.2: Lenguaje C: Estructura selectiva doble


ES

UN

1 ...
2 if (condición){
IA

3 conjunto de instrucciones a;
4 }
IC

5 else{
6 conjunto de instrucciones b;
IF

7 }
8 ...
NT
PO
Capítulo 1: Guía de Laboratorio #3 7

1.4. Cálculo de las raíces de ecuaciones cuadráticas con una variable


- Selectivas simples y dobles

1.4.1. Verificación del discriminante

Una ecuación cuadrática con una variable es una ecuación que tiene la forma de ax2 + bx + c = 0 siendo a,
b y c números reales con la restricción√que a ̸= 0. Para encontrar la solución a la ecuación se puede utilizar
la siguiente fórmula general x = −b± 2a b2 −4ac
. La fórmula general produce una solución con dos raíces, la
√ √
2
y la x2 =
2
x1 = −b+ b −4ac
2a
−b− b −4ac
2a las cuales no son necesariamente diferentes.
Dada una ecuación cuadrática con una variable se solicita que elabore un algoritmo expresado en diagrama
de flujo y pseudocódigo así como un programa en lenguaje C que calcule las 2 raíces de la solución. En la
guía #1 se resolvió este problema y se asumió que el discriminante siempre sería mayor o igual a 0 por lo

N
que la solución daría siempre un número real. En la realidad no se puede asumir esto pues el usuario puede


ingresar los números que desee. ¿Qué se debe hacer entonces? Antes de procesar se debe verificar si los datos
ingresados permiten dicho procesamiento. En este caso en particular, primero se debe hacer la lectura de los

AC
datos de la ecuación, luego calcular el discriminante y posteriormente verificar si este es mayor o igual a 0. Esta


verificación se realiza con una estructura selectiva simple. Solo si se cumple la condición (discriminante ≥ 0),

AS
se procede al cálculo de las raíces. Si no se cumple la condición, no se hace nada.

PE
RA

CI
En la figura 1.5 se puede apreciar el diagrama de flujo que diseña la alternativa de solución propuesta. Note
G
la inclusión de la estructura selectiva simple (bloque con la condición discriminante >= 0).

L
EN

DE
O
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC

Figura 1.5: Diagrama de flujo: Ecuación cuadrática con estructura algorítmica selectiva simple
IF

El problema con el diagrama de flujo que se visualiza en la figura 1.5 es que si no hay solución real (discriminan-
NT

te < 0), el algoritmo no imprime nada. Para solucionar este problema se puede utilizar una estructura algorít-
mica selectiva doble que permita evaluar este caso en particular, de forma tal que cuando no se pueda retornar
PO

una solución real, se presente el mensaje informativo adecuado. La alternativa de solución con la estructura
algorítmica selectiva doble se puede apreciar en la figura 1.6.
En la figura 1.7 se aprecia el pseudocódigo de la última alternativa de solución. La estructura selectiva doble
inicia en la línea 5 y finaliza en la línea 12. Por razones estéticas, los conjuntos de instrucciones de la estructura
selectiva doble se indenta, es decir se crea un sangrado. Todo el bloque se mueve unos caracteres a la derecha.
Si bien es cierto a las herramientas que compilan el código no les afecta la indentación de código, a los humanos
Capítulo 1: Guía de Laboratorio #3 8

N

AC


M

AS

PE
RA

CI
Figura 1.6: Diagrama de flujo: Ecuación cuadrática con estructura algorítmica selectiva doble
G

L
EN

DE
O

sí. Es mucho más fácil entender un código bien indentado que un código sin indentación. Esto afecta mucho
PR

la etapa de corrección de errores y al mantenimiento de software. CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN

Figura 1.7: Pseudocódigo: Ecuación cuadrática

En el programa 1.3 se puede apreciar la alternativa de solución en lenguaje C. La estructura selectiva doble
IA

inicia en la línea 12 y finaliza en la línea 19. Al igual que en el pseudocódigo, el conjunto de instrucciones de la
IC

selectiva doble se encuentra indentado. Un aspecto importante de la sintaxis del lenguaje C es que cuando el
conjunto de instrucciones está conformado por una sola instrucción, no es necesario delimitar el bloque con los
IF

símbolos { y }. Esto se puede apreciar en el bloque del else, entre las líneas 18 y 19. Otro detalle importante
NT

en lenguaje C es que la expresión que representa a la condición en la estructura selectiva doble siempre va
entre paréntesis. Los paréntesis no son necesarios para el caso del diagrama de flujo ni para el pseudocódigo
PO

en PSeInt.

Programa 1.3: Verificación de discriminante


1 #include <stdio.h>
2 #include <math.h>
3
4 int main() {
Capítulo 1: Guía de Laboratorio #3 9

5 int a, b, c;
6 double discriminante, x1, x2;
7
8 printf("Ingrese coeficientes a, b y c de la ecuación: ");
9 scanf(" %d %d %d", &a, &b, &c);
10
11 discriminante = pow(b, 2) − 4 ∗ a∗c;
12 if (discriminante >= 0) {
13 x1 = (−b + sqrt(discriminante)) / 2 ∗ a;
14 x2 = (−b − sqrt(discriminante)) / 2 ∗ a;
15 printf("La raíz x1 es %lf\n", x1);
16 printf("La raíz x2 es %lf\n", x2);
17 }
18 else
19 printf("No existe solución real");
20 return 0;
21 }

N

Para poner en práctica

AC
¿Cuáles de las siguientes ecuaciones tiene solución real?


M

AS
x2 + x + 1 = 0 x2 + 3x + 6 = 0 2x2 + 3x + 4 = 0

PE
RA

CI
−2x2 + 3x + 4 = 0 −x2 − 2x + 4 = 0 x2 − 4x − 7 = 0
G

L
EN

DE
O
PR

1.4.2. Cálculo de las raíces complejas CI

CA
ES
DE

En la guía #1 se realizó el cálculo de las raíces de una ecuación cuadrática con una variable y se asumió que

LI
el discriminante siempre sería mayor o igual a 0 por lo que la solución daría siempre un número real. En la
L

sección anterior se ha planteado una solución en donde se ha verificado que el discriminante sea siempre mayor

S

A
TO

o igual a 0 para evitar errores de procesamiento. Pero en el mundo de las matemáticas, si el discriminante es
ER

menor que 0, existe una solución compleja. ¿Cómo se puede adaptar el programa para que calcule una raíz
CA
EN

real si es que el discriminante es mayor o igual a 0 y calcule una raíz compleja si el discriminantes es menor
EN

que 0? Este es una situación ideal para una estructura selectiva doble.
D
AM

Se puede diseñar una estructura selectiva doble para que cuando el discriminantes sea mayor o igual a 0, siga
DA

la misma solución ya analizada en la sección anterior. Sino se cumple la condición aparece un conjunto de
S
ND

instrucciones diferente, uno que permita calcular las raíces como números complejos. Este nuevo conjunto de
SI
DI

instrucciones es similar al anterior, solo que se debe obtener el valor absoluto del discriminante para poder
ER
FU

calcular la raíz cuadrada. En PSeInt el valor absoluto se puede obtener mediante la función abs.
TU

IV

Recordar que:
ES

UN

En el contexto√ de los números


complejos i = −1
IA
IC

En la figura 1.8 se puede apreciar el diagrama de flujo que diseña la alternativa de solución propuesta. Note
IF

la inclusión de la estructura selectiva doble (bloque con la condición discriminante >= 0).
NT

En la figura 1.9 se aprecia el pseudocódigo de la misma alternativa de solución. La estructura doble simple
inicia en la línea 5 y finaliza en la línea 16. El bloque de instrucciones que se ejecuta cuando la condición
PO

se cumple se encuentra entre las líneas 6 − 9. El bloque de instrucciones que se ejecuta cuando la condición
no se cumple se encuentra entre las líneas 11 − 15. Por razones estéticas, los conjuntos de instrucciones de la
estructura selectiva doble se indenta.
En el programa 1.4 se puede apreciar la alternativa de solución en lenguaje C. La estructura selectiva doble
inicia en la línea 12 y finaliza en la línea 26. El bloque de instrucciones que se ejecuta cuando la condición se
cumple se encuentra entre las líneas 13 − 17. El bloque de instrucciones que se ejecuta cuando la condición no
Capítulo 1: Guía de Laboratorio #3 10

N

AC


M

AS

PE
RA

CI
G

L
EN

DE
O

Figura 1.8: Diagrama de flujo: Ecuación cuadrática con raíces reales y complejas
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA

Figura 1.9: Pseudocódigo: Ecuación cuadrática con raíces reales y complejas


IC
IF

se cumple se encuentra entre las líneas 20 − 25. Al igual que en el pseudocódigo, los conjuntos de instrucciones
NT

de la selectiva doble se encuentran indentados.


Hay dos aspectos importantes a comentar en relación al programa 1.4. El primero viene en relación a la
PO

declaración de las variables x1, x2, parteReal y parteImaginaria. Como usted podrá notar en la línea 13 del
programa 1.4 se declaran las variables x1 y x2 y en la línea 20 del mismo programa, se declaran las variables
parteReal y parteImaginaria. El lenguaje C permite que las variables se puedan declarar dentro de cada
bloque de instrucciones. Lo único que hay que tener en consideración es que dicha variable no se podrá usar
fuera del bloque en donde se declara. Esto es muy útil cuando se quiere encapsular el procesamiento a ciertos
conjuntos de instrucciones.
Capítulo 1: Guía de Laboratorio #3 11

El otro aspecto a considerar es el cálculo del valor absoluto en lenguaje C. Como puede notar, en la línea 21
del programa 1.3 se utiliza la función fabs. Esta función permite calcular el valor absoluto de un número real.
Se encuentra declarada en el archivo de cabecera math.h. Para calcular el valor absoluto de un número entero
se utiliza la función abs que se encuentra declarada en el archivo de cabecera stdlib.h.

Programa 1.4: Ecuación cuadrática con raíces reales y complejas


1 #include <stdio.h>
2 #include <math.h>
3
4 int main() {
5 int a, b, c;
6 double discriminante;
7
8 printf("Ingrese coeficientes a, b y c de la ecuación: ");
9 scanf(" %d %d %d", &a, &b, &c);

N
10
11 discriminante = pow(b, 2) − 4 ∗ a∗c;


12 if (discriminante >= 0) {
13 double x1, x2;

AC
14 x1 = (−b + sqrt(discriminante)) / 2 ∗ a;


15 x2 = (−b − sqrt(discriminante)) / 2 ∗ a;
printf("La raíz real x1 es %lf\n", x1);

M
16

AS
printf("La raíz real x2 es %lf\n", x2);

PE
17
18 }
RA

CI
19 else{
double parteReal, parteImaginaria;
G

L
20

EN
discriminante = fabs(discriminante);

DE
21
O

22 parteReal = −b/2∗a;
PR

parteImaginaria = sqrt(discriminante)/2∗a;
23
24
CI
printf("La raíz compleja x1 es %.2lf + %.2lfi\n", parteReal, parteImaginaria);

CA
25 printf("La raíz compleja x2 es %.2lf − %.2lfi\n", parteReal, parteImaginaria);
ES
DE

26 }
return 0;

LI
27
L

28 }

S

A
TO

ER

A continuación, sigue un ejemplo de ejecución de este programa:


CA
EN

EN

Ingrese coeficientes a, b y c de la ecuación: 1 -4 13


D
AM

La raíz compleja x1 es 2.00 + 3.00i


G

DA

La raíz compleja x2 es 2.00 - 3.00i


S
ND

SI

Para poner en práctica


DI

ER
FU

¿Cuáles son las raíces de las siguientes ecuaciones?


TU

IV

x2 + x + 1 = 0 x2 + 3x + 6 = 0 2x2 + 3x + 4 = 0
ES

UN

−2x2 + 3x + 4 = 0 −x2 − 2x + 4 = 0 x2 − 4x − 7 = 0
IA
IC

1.5. Verificación de datos de entrada para el problema de cambio de


IF

billetes
NT

Un cajero electrónico posee billetes de las siguientes denominaciones 50, 20 y 10. Dada una cantidad x de
PO

dinero, se desea conocer la menor cantidad de billetes que se requiere para obtener la cantidad x de dinero.
En caso no se consiga la cantidad exacta, deberá indicarse además el monto faltante para llegar a x.
El problema en cuestión fue resuelto en la guía #1, pero en dicha solución se asumió que el usuario siempre
ingresaría una cantidad x > 0. Nuevamente, el computador no tiene control sobre el usuario y por esto se hace
necesaria la realización de una verificación antes del procesamiento de los datos.
Capítulo 1: Guía de Laboratorio #3 12

En el programa 1.5 se puede observar una alternativa de solución al problema incluyendo la verificación del
monto ingresado por el usuario. La verificación se puede apreciar en la línea 10. Si el usuario no ingresa un
monto “válido”, no ejecutará el procesamiento, en este caso se presentará una mensaje informativo.
Programa 1.5: Verificación del monto de las monedas
1 #include <stdio.h>
2 #include <math.h>
3
4 int main() {
5 int x, cant50, cant20, cant10, resto;
6
7 printf("Ingrese el monto: ");
8 scanf(" %d", &x);
9
10 if (x > 0) {
11 cant50 = x / 50;

N
12 x %= 50;


13 cant20 = x / 20;
14 x %= 20;

AC
15 cant10 = x / 10;
resto = x % 10;


16
printf("Se requieren:\n");

M
17
printf("\t %d billete de 50\n", cant50);

AS
18

PE
RA
19 printf("\t %d billete de 20\n", cant20);
printf("\t %d billete de 10\n", cant10);

CI
20
21 printf("\t %d es el monto faltante\n", resto);
G

L
}

EN
22

DE
O

23 else
printf("Ingrese un monto mayor que cero.");
PR

24
25 return 0; CI

CA
26 }
ES
DE

LI
Para poner en práctica
L


S

Pruebe el programa introduciendo valores negativos o iguales a cero y vea qué sucede.
TO

ER

CA

Diseñe el algoritmo expresado en diagrama de flujo que corresponde al programa 1.5.


EN

EN

Diseñe el algoritmo expresado en pseudocódigo que corresponde al programa 1.5.


D
AM

DA
S
ND

SI

1.6. Verificación de la base y operando en el cálculo de logaritmos


DI

ER
FU

TU

Sea b un número real positivo no nulo distinto de 1, y x otro número positivo no nulo. Se denomina logaritmo
IV

del número x en la base b, al exponente l al que debe elevarse la base b para obtener dicho número x. El
ES

UN

logaritmo se expresa de la siguiente manera logb x y si logb x = l ↔ bl = x. Por ejemplo log5 625 = 4 ya que
625 = 54 = 5 × 5 × 5 × 5. El logaritmo es la operación inversa a la exponenciación.
IA

Existen diversas propiedades de los logaritmos pero en esta sección centraremos la atención en el teorema de
cambio de base. Según este teorema logb x = log ax
loga b . Esto significa que se puede basar el cálculo del logaritmo
IC

en cualquier base con el logaritmo de otra base. Este teorema es muy importante pues algunos lenguajes
IF

de programación solamente ofrecen la función logaritmo en una base determinada, típicamente el logaritmo
natural cuya base es el número e. Aplicando el teorema de cambio de base y fijando la base en el número e, se
NT

tiene que logb x = ln


ln b .
x
PO

Para poder realizar el cálculo del logaritmo de un número x en una base b debe cumplirse que b > 0 ∧ b ̸= 1 y
x > 0. ¿Cómo se expresa dicha condición en lenguaje C? En la guía #1 se estudiaron los operadores en lenguaje
C, la condición anteriormente descrita se puede expresar como b>0 && b!=1 && x>0. En el programa 1.6 se
puede apreciar la validación antes de realizar el cálculo del logaritmo. Es bastante común que la expresión que
representa a la condición en una estructura algorítmica selectiva (y en realidad en todas las estructuras de
control de flujo) contenga expresiones complejas que combinen tanto operadores relacionales como operadores
lógicos.
Capítulo 1: Guía de Laboratorio #3 13

Programa 1.6: Verificación de la base y número de un logaritmo


1 #include <stdio.h>
2 #include <math.h>
3
4 int main() {
5 double base, numero, logaritmo;
6
7 printf("Ingrese el número y la base: ");
8 scanf(" %lf %lf", &numero, &base);
9
10 if (base > 0 && base != 1 && numero > 0) {
11 logaritmo = log(numero) / log(base);
12 printf("El logaritmo es %lf\n", logaritmo);
13 }
14 else
15 printf("Los datos ingresados son inconsistentes\n");
return 0;

N
16
17 }


AC
Para poner en práctica


M
Diseñe el algoritmo expresado en diagrama de flujo que corresponde al programa 1.6.

AS

PE
RA
Diseñe el algoritmo expresado en pseudocódigo que corresponde al programa 1.6.

CI
G

L
EN

DE
O
PR

1.7. Tres lados forman un triángulo? CI

CA
ES
DE

Según el teorema de la desigualdad del triángulo “La suma de las longitudes de cualesquiera de los lados de

LI
un triángulo es mayor que la longitud del tercer lado” (ver figura 1.10).
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN

Figura 1.10: Teorema de la desigualdad. Imagen disponible en la URL [Link]


IA

File:Desigualdad_del_tri%C3%[Link].
IC

Basándose en el teorema de la desigualdad del triángulo, para verificar si 3 lados a, b y c forman en realidad
IF

un triángulo, deben cumplirse 3 condiciones: i) a + b > c, ii) b + c > a y iii) c + a > b. ¿Cómo expresar estas
3 condiciones en lenguaje C? Esta expresión se representará como una proposición lógica compuesta, usando
NT

la conjunción para unir las tres condiciones en la proposición. En lenguaje C el operador de conjunción se
representa mediante el símbolo &&. Para una mejor lectura de la condición x + y > z se agrupará la suma
PO

usando paréntesis de la siguiente manera: (x+y)>z. La solución propuesta para este problema se puede apreciar
en el programa 1.7.

Programa 1.7: Verificación de los lados de un triángulo


1 #include <stdio.h>
2
3 int main() {
Capítulo 1: Guía de Laboratorio #3 14

4 int a, b, c, lados_forman_triangulo;
5
6 printf("Ingrese los lados de un triángulo: ");
7 scanf(" %d %d %d", &a, &b, &c);
8
9 lados_forman_triangulo = (a+b)>c && (a+c)>b && (b+c)>a;
10 if (lados_forman_triangulo)
11 printf("Los lados forman un triángulo.\n");
12 else
13 printf("Los lados no forman un triángulo.\n");
14 return 0;
15 }

Para poner en práctica

Si cambia la condición de la selectiva por a + b > c && a + c > b && b + c > a ¿El programa

N
sigue funcionando?.


Diseñe el algoritmo expresado en diagrama de flujo que corresponde al programa 1.7.

AC


Diseñe el algoritmo expresado en pseudocódigo que corresponde al programa 1.7.

AS

PE
RA

CI
1.8. ¿Es el año bisiesto?
G

L
EN

DE
O
PR

Si queremos entender por qué existen los años bisiestos debemos fijarnos en el movimiento de la Tierra alrededor
CI
del Sol: nuestro planeta rota 365, 24219 veces durante una órbita completa alrededor del astro, por tanto un

CA
año dura 365 días, 5 horas, 48 minutos y 56 segundos, no 365 días exactos.
ES
DE

LI
Al emperador Julio César se le ocurrió crear el año bisiesto. Si cada año nosotros contamos esos 365 días,
L


perdemos esas 5 horas que deberemos recuperar. Durante tres años contamos esos 365 y al cuarto recuperamos
S

A
TO

el día que falta, los 29 días que tiene febrero, el año bisiesto.
ER

CA

El año bisiesto tiene una buena explicación. Si no añadiéramos un día completo cada cuatro años, las estaciones
EN

EN

acabarían descompasadas del calendario, de tal manera que después de unos 700 años, en el hemisferio norte
D

la Navidad caería en mitad del verano. Al revés, en el hemisferio sur3 .


AM

DA

¿Cómo se puede determinar si un año es bisiesto? Un año es bisiesto si el número que lo representa es divisible
S

entre 4, salvo que sea año secular -último de cada siglo, terminado en 00-, en cuyo caso también ha de ser
ND

SI

divisible entre 400.


DI

ER
FU

Si tenemos las siguientes preposiciones:


TU

IV

p: El número que representa al año es divisible entre 4


ES

UN

q: El número que representa al año es divisible entre 100


IA

r: El número que representa al año es divisible entre 400


IC

La expresión lógica que permite determinar si un año es bisiesto es p ∧ (¬q ∨ r). En el programa 1.8 se puede
IF

apreciar la implementación de esta expresión lógica en lenguaje C.


NT

Programa 1.8: Verificación de un año bisiesto


PO

1 #include <stdio.h>
2
3 int main() {
4 int anho, p, q, r, es_bisiesto;
5
6 printf("Ingrese el año: ");
7 scanf(" %d", &anho);
3 Texto tomado del a URL [Link]
Capítulo 1: Guía de Laboratorio #3 15

8
9 p = (anho % 4) == 0;
10 q = (anho % 100) == 0;
11 r = (anho % 400) == 0;
12 es_bisiesto = p && (!q || r);
13
14 if (es_bisiesto)
15 printf("El año es bisiesto.\n");
16 else
17 printf("El año no es bisiesto.\n");
18 return 0;
19 }

1.9. Estructuras Algorítmicas Selectivas Anidadas

N

Los algoritmos siguen un flujo de ejecución el cual puede ser modificado. La limitación que trae la estructura

AC
algorítmica selectiva, es que a lo más se pueden tomar decisiones sobre dos alternativas de flujo. ¿Cómo se
podría tomar decisiones sobre más de dos alternativas de flujo? Una alternativa de respuesta a esta pregunta es


M
la utilización de la estructura algorítmica selectiva doble en cuyo interior se incluya otra estructura algorítmica

AS
selectiva. A esto se le conoce como anidación de estructuras algorítmicas selectivas y son muy utilizadas cuando

PE
un algoritmo requiere evaluar diversas alternativas. RA

CI
G

L
Las estructuras algorítmicas selectivas son muy usadas en la programación imperativa pues las decisiones que

EN

DE
O

se deben tomar en los problemas reales incluyen por lo general varias alternativas. Por ejemplo para calcular la
PR

raíces de una ecuación cuadrática de una variable, si el discriminante es mayor a cero, existen dos raíces reales,
CI
si el discriminantes es igual a cero, existe una sola raíz real y si el discriminante es menor que cero, existen dos

CA
raíces complejas. Es decir, existen varias alternativas para calcular las raíces de una ecuación cuadrática que
ES
DE

dependen de el valor que tome el discriminante.

LI
L


S

A
TO

ER

1.9.1. Representación de la Estructura Selectiva Anidada


CA
EN

EN

En realidad la estructura selectiva anidada no es una nueva estructura sino la utilización de la misma estructura
de forma recurrente tantas veces como sea necesario. A continuación se presentará la anidación de estructuras
D
AM

selectivas tanto en pseudocódigo como en diagrama de flujo, así como en el lenguaje C.


DA
S
ND

SI

1.9.2. Representación en pseudocódigo


DI

ER
FU

TU

En la figura 1.11 se puede apreciar la anidación de dos estructuras algorítmica selectivas dobles. Existen
IV

dos condiciones que permiten que se pueda decidir entre 3 conjuntos de instrucciones. La primera estructura
ES

UN

algorítmica selectiva doble tiene la condición condición1 y dentro de esta se tiene la segunda estructura
algorítmica selectiva doble que posee la condición condición2.
IA

En este caso si no se cumple la condición condición1 se ejecuta el conjunto de instrucciones c. Si se cumple la


condición condición1 se evalúa la condición condición2 y dependiendo del valor de ésta se ejecuta el conjunto
IC

de instrucciones a o el conjunto de instrucciones b.


IF
NT

1.9.3. Representación en diagrama de flujo


PO

En la figura 1.12 se puede apreciar la representación en diagram flujo correspondiente al pseudocódigo presen-
tado en la figura 1.11.

1.9.4. Implementación en C

En el programa 1.9 se puede apreciar el mismo ejemplo presentado en las figuras 1.12 y 1.11 en C.
Capítulo 1: Guía de Laboratorio #3 16

Si condición1 Entonces
Si condición2 Entonces
conjunto de instrucciones a;
SiNo
conjunto de instrucciones b;
Fin Si
SiNo
conjunto de instrucciones c;
Fin Si

Figura 1.11: Pseudocódigo: Estructuras se-


lectivas anidadas

N

AC


M

AS

PE
RA

CI
G

L
EN

DE
O
PR

CI

CA
ES
DE

Figura 1.12: Diagrama de Flujo: Selectiva anidada

LI
L


S

A
TO

Recordar que:
ER

CA

El lenguaje C no implementa nativamente el tipo de dato lógico (bool o


EN

EN

boolean). Entonces ,¿cómo hace el lenguaje C para evaluar la condición


D

de la instrucción if?
AM

DA

C asume que todo valor igual a 0 falla una condición. El compor-


S

tamiento es muy similar al f also de una expresión lógica.


ND

SI
DI

Por el contrario, un valor diferente de 0 hará que se cumpla la


ER
FU

condición. Comportamiento similar al verdadero de una expresión


TU

lógica.
IV

Por ejemplo: si se tienen las siguientes definiciones int suma=0, i=10;,


ES

UN

las siguientes expresiones serán consideradas verdaderas: suma ≤ 100,


i == 10, suma < i, i. Por otro lado, las siguientes expresiones serán
consideradas f alsas: suma ≥ 100, i == 20, suma > i, suma.
IA
IC

Programa 1.9: C: Estructura selectiva anidada


IF

...
NT

1
2 if (condición1){
3 if (condición2){
PO

4 conjunto de instrucciones a;
5 }
6 else{
7 conjunto de instrucciones b;
8 }
9 }
10 else{
11 conjunto de instrucciones c;
12 }
Capítulo 1: Guía de Laboratorio #3 17

13 ...

1.10. Cálculo de las raíces ecuaciones cuadráticas con una variable -


Selectivas Anidadas
Una ecuación cuadrática con una variable es una ecuación que tiene la forma de ax2 + bx + c = 0 siendo a, b
y c números reales con la restricción

que a ̸= 0. Para encontrar la solución a la ecuación se puede utilizar

la
siguiente fórmula general x = −b± b2 −4ac
2a . La fórmula genera una solución con dos raíces, la x1 = −b+ b2 −4ac
2a

y la x2 = −b− 2ab2 −4ac
las cuales no son necesariamente diferentes.
Dada una ecuación cuadrática con una variable se solicita que elabore un algoritmo expresado en diagrama

N
de flujo y pseudocódigo así como un programa en C que calcule las raíces de la solución. En la guía #2 se


resolvió este problema y se asumió que el discriminante siempre sería mayor o igual a 0 por lo que la solución
daría un número real. En la guía #3 se verificó el discriminante para que calcule las raíces ya sean reales o

AC
complejas. ¿Cómo se puede adaptar el programa para que calcule las raíces reales y complejas distinguiendo


además el caso cuando exista una única raíz real? Este es una situación ideal para una estructura selectiva

AS
doble anidada.

PE
RA
Se puede diseñar una estructura selectiva doble anidada para decidir sobre 3 caminos diferentes. El primero

CI
de ellos se va a dar cuando el discriminantes es igual a cero, en este caso existirá una única solución real. El
G

L
EN
segundo camino es cuando el discriminante es mayor que cero, en este caso existirán dos raíces reales. El tercer

DE
O

camino se dará cuando el discriminante sea menor que cero, en este caso existirán dos raíces complejas.
PR

CI

CA
Recordar que:
ES
DE

LI
L

En el contexto√ de los números



S

complejos i = −1
TO

ER

CA
EN

EN

En la figura 1.13 se puede apreciar el diagrama de flujo en donde se diseña la alternativa de solución propuesta.
D

Note la inclusión de la estructura selectiva anidada en la parte derecha del diagrama. El conjunto de instruc-
AM

ciones de la selectiva doble cuya condición es discriminante ≥ 0, incluye otra estructura selectiva doble cuya
DA

condición es discriminante = 0.
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO

Figura 1.13: Diagrama de flujo: Ecuación cuadrática con raíces reales y complejas
Capítulo 1: Guía de Laboratorio #3 18

En la figura 1.14 se aprecia el pseudocódigo de la misma alternativa de solución. Por razones estéticas, los
conjuntos de instrucciones de la estructura selectiva doble se indentan. Note la inclusión de la estructura
selectiva anidada entre las líneas 6 y 14. La estructura selectiva doble que incluye a la selectiva anidada la
puede observar entre las líneas 5 y 21.d

Recordar que:

La indentación es un sangría que se incluye en un conjunto de instrucciones. Todo el conjunto


de instrucciones se mueve unos caracteres a la derecha. Si bien es cierto a las herramientas que
ejecutan código no les afecta la indentación de código, a los humanos sí. Es mucho más fácil
entender un código bien indentado que un código sin indentación. Esto afecta mucho la etapa de
corrección de errores y al mantenimiento de software.
Muchas veces el resultado de la comparación de números reales a través de la igualdad no es el

N
deseado. En este caso es recomendable usar el valor absoluto de la diferencia de los números que


se desean comparar. Si esta diferencia es cercana a cero (en esta ocasión será menor a 0.0001), se
puede asumir que son iguales. Considere que en PSeInt se utiliza la función abs() para obtener el

AC
valor absoluto de un número.


M

AS

PE
RA

CI
G

L
EN

DE
O
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC

Figura 1.14: Pseudocódigo: Ecuación cuadrática con raíces reales y complejas


IF

En el programa 1.3 se puede apreciar la alternativa de solución en C. Al igual que en el pseudocódigo, el


NT

conjunto de instrucciones de las selectivas se encuentran indentados.


PO
Capítulo 1: Guía de Laboratorio #3 19

Programa 1.10: Ecuación cuadrática con raíces reales y complejas


1 #include <stdio.h>
2 #include <math.h>
3
4 int main() {
5 double a, b, c;
6 double discriminante;
7
8 printf("Ingrese coeficientes a, b y c de la ecuación: ");
9 scanf(" %lf %lf %lf", &a, &b, &c);
10
11 discriminante = pow(b, 2) − 4 ∗ a∗c;
12 if (discriminante >= 0) {
13 if (fabs(discriminante) <= 0.0001) {
14 double x;
15 x = (−1∗b + sqrt(discriminante)) / (2 ∗ a);
printf("La única raíz real es %lf\n", x);

N
16
17 } else {


18 double x1, x2;
19 x1 = (−1∗b + sqrt(discriminante)) / (2 ∗ a);

AC
20 x2 = (−1∗b − sqrt(discriminante)) / (2 ∗ a);


21 printf("La raíz real x1 es %lf\n", x1);
printf("La raíz real x2 es %lf\n", x2);

M
22

AS
}

PE
23
24 } else {
RA

CI
25 double parteReal, parteImaginaria;
discriminante = fabs(discriminante);
G

L
26

EN
parteReal = −1∗b / 2 ∗ a;

DE
27
O

28 parteImaginaria = sqrt(discriminante) / (2 ∗ a);


PR

printf("La raíz compleja x1 es %.2lf + %.2lfi\n", parteReal, parteImaginaria);


29
30
CI
printf("La raíz compleja x2 es %.2lf − %.2lfi\n", parteReal, parteImaginaria);

CA
31 }
ES
DE

32 return 0;
}

LI
33
L


S

A continuación sigue un ejemplo de ejecución de este programa


TO

ER

CA

Ingrese coeficientes a, b y c de la ecuación: 1 -4 13


EN

EN

La raíz compleja x1 es 2.00 + 3.00i


D
AM

La raíz compleja x2 es 2.00 - 3.00i


G

DA
S

Para poner en práctica


ND

SI
DI

¿Cuáles son las raíces de las siguientes ecuaciones?


ER
FU

TU

x2 + x + 1 = 0
IV
ES

−2x2 + 3x + 4 = 0
UN

x2 + 3x + 6 = 0
IA

−x2 − 2x + 4 = 0
IC

2x2 + 3x + 4 = 0
IF
NT

1.11. ¿Cuántos dígitos tiene un número?


PO

¿Cómo saber cuántos dígitos tiene un número? Podemos usar las matemáticas para resolver este problema. Se
sabe que para determinado número n se cumple que 10k−1 ≤ n < 10k , donde k representa el número de cifras
de dicho número. Por ejemplo si n = 253 entonces 102 < 253 < 103 , en este caso 3 es el número de cifras.
Para obtener el valor de k se aplica logaritmo en base 10 y se obtiene que k − 1 ≤ log10 (n) < k. De esta última
relación se deduce que k − 1 ≤ log10 (n) por lo que k ≤ 1 + log10 (n), como k debe ser un número entero entonces
Capítulo 1: Guía de Laboratorio #3 20

k = 1 + ⌊log10 (n)⌋. Utilizaremos esta relación matemática para calcular el número de dígitos dado un número
n dado como parámetro.
Recuerde que para usar los logaritmos el argumento debe ser mayor que 0. Entonces, ¿cómo hacemos para
calcular el número de dígitos de un número negativo?, ¿cómo hacemos para calcular el número de dígitos cuando
ingresen 0? Como se tienen varias condiciones y diferentes respuestas para cada interrogante, procederemos
a utilizar una estructura algorítmica selectiva doble anidada. ¿Cuál sería la mejor condición para la selectiva
doble? Luego de analizar el problema, se ve que se puede colocar como condición numero=0, si se cumple
esta condición es fácil calcular el número de dígitos, será siempre 1. Si no se cumple la condición podemos
utilizar la relación matemática analizada previamente. Pero hay un detalle, que la relación matemática solo
funciona para números positivos, entonces, si es que el número es negativo utilizaremos su valor absoluto. Esto
lo realizaremos con la estructura algorítmica selectiva anidada.
En la figura 1.15 se puede apreciar una propuesta de solución al problema propuesto expresado en diagrama
de flujo. En la figura 1.16 se aprecia la misma propuesta de solución expresada en pseudocódigo. En ambas

N
soluciones se ha utilizado la función trunc que toma la parte entera de un número real. En PSeInt no existe


la función de logaritmo en base 10, para hacer este cálculo se tiene que aplicar el teorema de cambio de base
de los logaritmos. PSeInt implementa el logaritmo natural.

AC


M

AS

PE
RA

CI
G

L
EN

DE
O
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA

Figura 1.15: Diagrama de flujo: Conteo de dígitos de un número


IC
IF

En el programa 1.11 se puede apreciar la alternativa de solución en un programa en C. Hay tres aspectos vale la
NT

pena analizar detenidamente. En primer lugar, la función para calcular el valor absoluto de un número entero
es abs cuya declaración se encuentra en el archivo de cabecera stdlib. Note la diferencia con el programa 1.3
PO

en donde se utilizó la función fabs cuya declaración se encuentra en el archivo de cabecera math.h. Se utilizó
esta función pues el argumento era un número real.
El segundo aspecto a considerar es el uso de la función log10 cuya declaración se encuentra en el archivo de
cabecera math.h. A diferencia de PSeInt, C sí define este logaritmo. En C el logaritmo natural se implementa
a través de la función log.
El tercer aspecto a considerar es el truncamiento. Existe en C la función trunc pero esta no ha sido empleada
Capítulo 1: Guía de Laboratorio #3 21

N
Figura 1.16: Pseudocódigo: Conteo de dígitos de un número


AC


en el programa por que al ser la variable num_digitos entera, al asignársele un valor real, el C automáticamente

M
hace un truncamiento.

AS

PE
Programa 1.11: Conteo de dígitos de un número RA

CI
G
#include <stdio.h>

L
1

EN
#include <math.h>

DE
O
2
3 #include <stdlib.h>
PR

4
int main() {
CI

CA
5
int numero, num_digitos;
ES
6
DE

LI
8 printf("Ingrese un número entero: ");
L

9 scanf(" %d", &numero);



S

10
TO

ER

11 if (numero==0)
CA

12 num_digitos = 1;
else{
EN

EN

13
14 if (numero<0)
D

15 numero = abs(numero);
AM

num_digitos = log10(numero) + 1;
DA

16
17 }
S

printf("El número de dígitos es: %d\n", num_digitos);


ND

18
O

SI

19 return 0;
}
DI

20
ER
FU

TU

IV
ES

UN

1.12. Impresión en diferentes bases


Se desea implementar un programa en C que dado un número n entero expresado en base 10 y una base, se
IA

imprima el número n pero expresado en la base ingresada por el usuario. La base podrá ser 8 o 16. En caso el
IC

usuario ingrese otra base, el programa deberá emitir un mensaje de error.


IF

Para solucionar este problema utilizaremos una de las características de formato de la función printf. Si en el
formato de la función printf se coloca %o se imprime el número en octal, si se coloca %x se imprime el número
NT

en hexadecimal4 . Una alternativa de solución a este problema se puede apreciar en el programa 1.12. En este
programa, en el conjunto de instrucciones que corresponde cuando no se cumple la condición (líneas 13 − 17),
PO

se encuentra en una selectiva doble anidada.

Programa 1.12: Impresión en diferentes bases


1 #include <stdio.h>
2

4 Si se utiliza %X los dígitos hexadecimales se imprimirán en mayúscula.


Capítulo 1: Guía de Laboratorio #3 22

3 int main() {
4 int numero, base;
5
6 printf("Ingrese número en base 10: ");
7 scanf(" %d", &numero);
8 printf("Ingrese base a transformar (8 o 16): ");
9 scanf(" %d", &base);
10
11 if (base == 8)
12 printf("El número en base 8 es %o\n", numero);
13 else
14 if (base == 16)
15 printf("El número en base 16 es %x\n", numero);
16 else
17 printf("Base no soportada.\n");
18 return 0;
19 }

N

AC
1.13. Funciones definida por tramos


M

AS
Otra situación en donde se pueden aplicar estructuras selectivas dobles anidadas es en las funciones definidas

PE
por tramos. A continuación se presenta una función de este tipo: RA

CI
G

L
EN

DE
O

 x−3 x≤1
PR

f (x) = x2 + 1 1<x≤3

11 x>3
CI

CA
ES
DE

Como se puede apreciar en la función f (x), dependiendo del rango de valores, se realiza determinada expresión

LI
matemática. Es decir dependiendo de la condición (rango de valores), se decide un flujo de ejecución a realizar
L


S

(expresión matemática). Una posible solución a este problema es utilizar como primera condición en una
TO

ER

selectiva doble, la verificación del primer rango, esto se puede realizar usando la condición x ≤ 1, si la
CA

condición se cumple, se realiza el cálculo correspondiente. Si no se cumple, solo quedan dos condiciones a
EN

EN

probar. Para estas dos últimas condiciones, se utiliza otra selectiva doble anidada.
D

En la figura 1.17 se puede apreciar una alternativa de solución a la función definida por tramos dado deter-
AM

DA

minado número x. El algoritmo se encuentra expresado en diagrama de flujo. En la figura 1.18 se aprecia la
S

misma solución en pseudocódigo. La implementación de esta alternativa de solución en C se puede apreciar en


ND

SI

el programa 1.13.
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO
Capítulo 1: Guía de Laboratorio #3 23

N

AC


M

AS

PE
RA

CI
G

L
EN

DE
O

Figura 1.17: Diagrama de flujo: Función definida por tramos


PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN

Figura 1.18: Pseudocódigo: Función definida por tramos


IA
IC
IF
NT
PO
Capítulo 1: Guía de Laboratorio #3 24

Programa 1.13: Función definida por tramos


1 #include <stdio.h>
2 #include <math.h>
3
4 int main() {
5 double x, y;
6
7 printf("Ingrese el valor para x: ");
8 scanf(" %lf", &x);
9
10 if (x <= 1)
11 y = x−3;
12 else
13 if (x>1 && x<=3)
14 y=pow(x,2)+1;
15 else
y=11;

N
16
17 printf("El valor de f(x) es %lf\n", y);


18 return 0;
19 }

AC


M

AS

PE
RA

CI
G

L
EN

DE
O
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO
25

Capítulo 2

Ejercicios propuestos

N

AC
2.1. Nivel Básico


M

AS
En la pregunta 2.1.1 se presenta una serie de programas sintácticamente correctos pero que contienen errores

PE
RA
lógicos comunes en el uso de operadores y la estructura algorítmica selectiva en el lenguaje C. Para cada uno de

CI
estos programas se le solicita que los analice y reflexione sobre el resultado que debería obtener. Luego ejecute
G

L
EN
el programa usando un Entorno de Desarrollo Integrado (IDE) de lenguaje C para verificar el resultado.

DE
O
PR

Para los demás ejercicios propuestos, se solicita que elabore el correspondiente algoritmo representado tanto en
CI
diagrama de flujo como en pseudocódigo así como la implementación de un programa en lenguaje C conforme

CA
a los temas revisados en las guías preliminar y #1 del curso Fundamentos de Programación.
ES
DE

LI
L


S

2.1.1. Análisis de programas


TO

ER

CA

Programa 2.1: Análisis de programa: Operador de asignación


EN

EN

1 #include <stdio.h>
D
AM

2
DA

3 int main() {
int a=10;
S

4
ND

if (a=5)
O

SI

5
6 printf("El valor de a= %d\n", a);
DI

ER

7 return 0;
FU

8 }
TU

IV

Para analizar
ES

UN

¿El valor que se imprime es el valor esperado?


IA

¿Qué hace la línea 5?


IC

Cambie la línea 5 por if(a==5). ¿Qué cambia en el programa?


IF
NT

Programa 2.2: Análisis de programa: Operador relacional de comparación


1 #include <stdio.h>
PO

2
3 int main() {
4 int a=10, b=10, c=10;
5 if (a==b==c)
6 printf("Los 3 números son iguales\n");
7 return 0;
8 }
Capítulo 2: Ejercicios propuestos 26

Para analizar
¿El valor que se imprime es el valor esperado?
¿El lenguaje C permite la comparación múltiple?

Si quisiéramos verificar que los 3 números sean iguales, ¿cómo debería ser la condición de la
estructura selectiva if en la línea 5?

Programa 2.3: Análisis de programa: Operador relacional de comparación


1 #include <stdio.h>
2
3 int main() {
4 int a=1, b=1, c=1;
5 if (a==b==c)

N
6 printf("Los 3 números son iguales\n");
return 0;


7
8 }

AC


Para analizar

AS

PE
¿Por qué en este programa pareciera que el lenguaje C sí implementa la comparación múltiple?
RA

CI
G

L
Programa 2.4: Análisis de programa: Operador aritmético de suma

EN

DE
O

1 #include <stdio.h>
PR

2
int main() {
CI

CA
3
int a=5, b=−5;
ES
4
DE

5 if (a+b)

LI
6 printf("La suma es cero\n");
L

return 0;
7

S

8 }
TO

ER

CA

Para analizar
EN

EN

¿Cuál es el error lógico en este programa?


AM

DA

Corrija el error lógico usando el operador de comparación (==).


S
ND

SI

Corrija el error lógico usando el operador de negación (!).


DI

ER
FU

TU

Programa 2.5: Análisis de programa: Operador aritmético de suma


IV

#include <stdio.h>
ES

1
UN

2
3 int main() {
4 int a=−3, b=−5;
IA

5 if (a+b)
6 printf("La suma es diferente de cero\n");
IC

7 return 0;
8 }
IF
NT

Para analizar
PO

¿Este programa tiene algún error lógico?


¿Es necesario cambiar la condición de la línea 5 por (a+b)!=0?

Si a la variable b se le hubiera asignado el valor de 3. ¿Qué se imprime?


Capítulo 2: Ejercicios propuestos 27

2.1.2. El valor absoluto

Dado determinado número real, se le pide que retorne el valor absoluto de dicho número.

Recordar que:

El valor absoluto de un número real x, es la magnitud


numérica de dicho número sin importar su signo.
(
x si x ≥ 0
| x |=
−x si x < 0

N
Restricciones


Para la implementación en lenguaje C no podrá usar la función fabs.

AC
Para la implementación en PSeInt no podrá usar la función abs.


M

AS

PE
Casos de prueba
RA

CI
Utilice los siguientes datos para probar su solución.
G

L
EN

DE
O

Si x = −1.6, entonces se debe imprimir 1.6. Si x = −3.9, entonces se debe imprimir 3.9.
PR

CI

CA
Si x = 2.5, entonces se debe imprimir 2.5. Si x = 6.3, entonces se debe imprimir 6.3.
ES
DE

LI
L


S

2.1.3. La función techo


TO

ER

CA

Dado determinado número real, se le pide que retorne el techo de dicho número.
EN

EN

Recordar que:
D
AM

DA

La función techo es una función que recibe como parámetro a un número real x (x ∈ R) y retorna el
S
ND

mínimo entero y (y ∈ Z) más próximo que es mayor o igual a x.


O

SI
DI

ER
FU

techo(x) = ⌈x⌉ = min{k ∈ Z|x ≤ k}


TU

IV
ES

UN

Sugerencia

Realice el siguiente procedimiento:


IA

Lea el número real x en una variable.


IC

Obtenga la parte entera del número real x usando la función trunc. Almacene este valor en una
IF

variable. En lenguaje C la declaración de la función trunc se encuentra en el archivo de cabecera


NT

math.h.
PO

Obtenga la parte fraccionaria del número real x. Para esto reste a x la parte entera hallada en el
paso anterior. Almacene este valor en una variable.
Si la parte fraccionaria del número real x es mayor que cero, incremente en uno el valor de la
parte entera.
El techo de x se encontrará en la variable en donde se almacenó la parte entera.
Capítulo 2: Ejercicios propuestos 28

Restricciones
Para la implementación en lenguaje C no podrá usar la función ceil.

Casos de prueba

Utilice los siguientes datos para probar su solución.

Si x = −3.4, entonces se debe imprimir −3. Si x = 1.4, entonces se debe imprimir 2.

Si x = −0.7, entonces se debe imprimir 0. Si x = 3.8, entonces se debe imprimir 4.


Si x = 0, entonces se debe imprimir 0. Si x = 4.1, entonces se debe imprimir 5.

N

2.1.4. La función piso

AC
Dado determinado número real, se le pide que retorne el piso de dicho número.


M

AS

PE
Recordar que:
RA

CI
La función piso es una función que recibe como parámetro a un número real x (x ∈ R) y retorna el
G

L
EN
máximo entero y (y ∈ Z) más próximo que es menor o igual a x.

DE
O
PR

piso(x) = ⌊x⌋ = max{k ∈ Z|k ≤ x} CI

CA
ES
DE

LI
Sugerencia
L


S

A
TO

Realice el siguiente procedimiento:


ER

CA

Lea el número real x en una variable.


EN

EN

Si el número real x es mayor o igual a cero, la función piso se obtiene aplicando la función trunc.
D
AM

En lenguaje C la declaración de la función trunc se encuentra en el archivo de cabecera math.h.


DA
S

Si el número real x es menor que cero:


ND

SI
DI

ER

• Obtenga la parte entera del número real x usando la función trunc. Almacene este valor en
FU

una variable.
TU

IV

• Obtenga la parte fraccionaria del número real x. Para esto reste a x la parte entera hallada
ES

en el paso anterior. Almacene este valor en una variable.


UN

• Si la parte fraccionaria del número real x es diferente de cero, decremente en uno el valor de
la parte entera.
IA

• El piso de x se encontrará en la variable en donde se almacenó la parte entera.


IC
IF

Restricciones
NT

Para la implementación en lenguaje C no podrá usar la función floor.


PO
Capítulo 2: Ejercicios propuestos 29

Casos de prueba

Utilice los siguientes datos para probar su solución.

Si x = −3.4, entonces se debe imprimir −4. Si x = 1.4, entonces se debe imprimir 1.


Si x = −0.7, entonces se debe imprimir −1. Si x = 3.8, entonces se debe imprimir 3.

Si x = 0, entonces se debe imprimir 0. Si x = 4.1, entonces se debe imprimir 4.

2.1.5. ¿Cuántos días tiene determinado año?

Dado determinado número entero que representa un año, imprima la cantidad de días que posee dicho año.

N
Recuerde que los años bisiestos tienen un día adicional, el 29 de febrero.


AC
Recordar que:


Un año es bisiesto si el número que lo representa es divisible entre 4, salvo que sea año secular –último

AS
de cada siglo, terminado en 00–, en cuyo caso también ha de ser divisible entre 400.

PE
RA

CI
Dadas las siguientes preposiciones:
G

L
EN
p: El número que representa al año es divisible entre 4.

DE
O
PR

q: El número que representa al año es divisible entre 100. CI

CA
r: El número que representa al año es divisible entre 400.
ES
DE

LI
La expresión lógica que permite determinar si un año es bisiesto es p ∧ (¬q ∨ r).
L


S

A
TO

ER

CA

Casos de prueba
EN

EN

Utilice los siguientes datos para probar su solución.


D
AM

DA

Si año = 2013, deberá imprimir 365. Si año = 2020, deberá imprimir 366.
S
ND

SI

Si año = 2016, deberá imprimir 366. Si año = 2024, deberá imprimir 366.
DI

ER
FU

Si año = 2019, deberá imprimir 365. Si año = 2028, deberá imprimir 366.
TU

IV
ES

UN

2.1.6. ¿Cuántos paquetes utilizar?


IA

Se requiere colocar cierta cantidad l de lapiceros en paquetes de capacidad c. ¿Cuántos paquetes se deberán
utilizar para este fin?
IC
IF

Restricciones
NT

Para la implementación en lenguaje C no podrá usar la función ceil.


PO
Capítulo 2: Ejercicios propuestos 30

Casos de prueba

Utilice los siguientes datos para probar su solución.


Si l = 12 y c = 15, deberá retornar Se requiere 1 paquete(s).
Si l = 20 y c = 6, deberá retornar Se requiere 4 paquete(s).

Si l = 25 y c = 5, deberá retornar Se requiere 5 paquete(s).


Si l = 30 y c = 4, deberá retornar Se requiere 8 paquete(s).

2.1.7. ¿Cuánto cuesta la matrícula?

N
En determinada universidad la matrícula del semestre tiene un costo de c soles. A los alumnos que se encuentran


en facultad se les realiza un descuento de d %. Se le solicita que dado el costo c de la matrícula, el descuento

AC
d y el número n del ciclo en que se encuentra matriculado determinado alumno, calcule y presente el monto


que debe pagar dicho alumno. Asuma que los alumnos se encuentran en facultad si es que el ciclo en que se

M
encuentra es mayor o igual a 5.

AS

PE
Casos de prueba RA

CI
G

L
Utilice los siguientes datos para probar su solución.

EN

DE
O

Si c = 1500, d = 15 % y n = 2, deberá imprimir Deberá pagar 1500 soles.


PR

CI

CA
Si c = 1500, d = 15 % y n = 5, deberá imprimir Deberá pagar 1275 soles.
ES
DE

Si c = 2000, d = 25 % y n = 4, deberá imprimir Deberá pagar 2000 soles.

LI
L


S

Si c = 2000, d = 25 % y n = 8, deberá imprimir Deberá pagar 1500 soles.


TO

ER

CA
EN

EN

2.1.8. Longitud de onda


D
AM

DA

La nota musical LA tiene una frecuencia, por convenio internacional, de 440 Hz. Esta nota se propaga con una
S

velocidad de 340 m/s en el aire y con una velocidad de 1400 m/s en el agua. Se le pide que lea un caracter
ND

SI

que represente al medio en donde se propaga la nota musical (A para el aire y G para el agua) e imprima la
DI

ER

longitud de la onda en dicho medio.


FU

TU

IV

Recordar que:
ES

UN

v
IA

λ=
f
IC

donde:
IF

λ es la longitud de onda.
NT

v es la velocidad de propagación.
PO

f es la frecuencia de la onda.
1
Además: 1 Hz =
s
Capítulo 2: Ejercicios propuestos 31

Casos de prueba

Utilice los siguientes datos para probar su solución.


Si el medio ingresado es A, entonces deberá retornar λagua ≈ 3.181818182 m
Si el medio ingresado es G, entonces deberá retornar λaire ≈ 0.772727273 m

2.1.9. El mayor de 3 números

Dado 3 números diferentes entre sí, se les pide que encuentre el mayor de ellos.

Casos de prueba

N
Utilice los siguientes datos para probar su solución.


Si a = −1, b = 4 y c = 3 entonces se debe imprimir El mayor número es 4.

AC


Si a = −1, b = 4 y c = 4 entonces se debe imprimir Los 3 números deben ser diferentes.

AS

PE
RA
Si a = 10, b = −6 y c = −9 entonces se debe imprimir El mayor número es 10.

CI
G

L
EN
Sugerencia

DE
O
PR

Realice las siguientes modificaciones al problema: CI

CA
En lugar de encontrar el mayor de 3 números encuentre el menor.
ES
DE

LI
Determine si los números ingresados están en orden ascendente. Por ejemplo si a = −1, b = 4 y
L

c = 5, deberá imprimirse Los números están en orden ascendente.



S

A
TO

ER

Determine si los números ingresados están en orden descendente. Por ejemplo si a = 10, b = −6
CA

y c = −9, deberá imprimirse Los números están en orden descendente.


EN

EN

D
AM

DA

2.1.10. Cantidad de días por mes


S
ND

SI

Dado un determinado número de mes y un determinado año, se solicita que calcule la cantidad de días que
DI

ER

existen en dicho mes.


FU

TU

IV

Recordar que:
ES

UN

Los meses poseen la siguientes cantidades de días.


Enero, Marzo, Mayo, Julio, Agosto, Octubre, Diciembre poseen 31 días.
IA

Abril, Junio, Septiembre, Noviembre poseen 30 días.


IC

Febrero posee 28 días. Salvo los años bisiestos en donde posee 29 días.
IF
NT
PO
Capítulo 2: Ejercicios propuestos 32

Recordar que:

Un año es bisiesto si el número que lo representa es divisible entre 4, salvo que sea año secular –último
de cada siglo, terminado en 00–, en cuyo caso también ha de ser divisible entre 400.

Dadas las siguientes preposiciones:


p: El número que representa al año es divisible entre 4.

q: El número que representa al año es divisible entre 100.


r: El número que representa al año es divisible entre 400.

La expresión lógica que permite determinar si un año es es p ∧ (¬q ∨ r).

N

Casos de prueba

AC
Utilice los siguientes datos para probar su solución.


M
Si mes = 11 y año = 2013, entonces se debe imprimir 30.

AS

PE
Si mes = 2 y año = 2016, entonces se debe imprimir 29.
RA

CI
G
Si mes = 1 y año = 2017, entonces se debe imprimir 31.

L
EN

DE
O

Si mes = 2 y año = 2019, entonces se debe imprimir 28.


PR

Si mes = 7 y año = 2020, entonces se debe imprimir 31.


CI

CA
ES
DE

Si mes = 6 y año = 2024, entonces se debe imprimir 30.

LI
L


S

A
TO

ER

CA

2.1.11. Calculadora de operaciones lógicas


EN

EN

Dado dos caracteres que representan el valor de una proposición lógica (V o F) y un caracter que representa
D
AM

una operación lógica (C que representa a la operación de conjunción, D que representa a la operación de
G

DA

disyunción, K que representa a la operación de condicional y B que representa a la operación biocondicional),


S

se solicita que retorne el resultado de aplicar la operación lógica a los valores dados. En caso que los valores
ND

SI

dados y la operación ingresada no corresponda con las antes mencionadas, deberá emitirse un mensaje de
DI

ER

advertencia y no realizar las operaciones.


FU

TU

Casos de prueba
IV
ES

UN

Utilice los siguientes datos para probar su solución.

Si p = V , q = V y operación = C se debe imprimir El resultado es V.


IA

Si p = V , q = F y operación = C se debe imprimir El resultado es F.


IC

Si p = F , q = F y operación = D se debe imprimir El resultado es F.


IF
NT

Si p = V , q = F y operación = D se debe imprimir El resultado es V.


Si p = V , q = F y operación = K se debe imprimir El resultado es F.
PO

Si p = F , q = F y operación = B se debe imprimir El resultado es V.


Capítulo 2: Ejercicios propuestos 33

2.1.12. Conversión de grados

Dado la magnitud de un grado y un caracter que representa la unidad de medida del grado (R para radianes
y S para sexagesimal), se requiere que imprima la magnitud del grado pero expresado en la otra unidad de
medida del grado, es decir si el usuario ingresa radianes, se deberá imprimir el grado en sexagesimales, pero si
el usuario ingresa grados sexagesimales, se deberá imprimir el mismo en radianes.

Recordar que:

360◦ = 2π radianes

Casos de prueba

N
Utilice los siguientes datos para probar su solución.


Si magnitud = 45 y unidad = S se debe imprimir 45 grados sexagesimales equivale a 0.78

AC
radianes.


M

AS
Si magnitud = 55 y unidad = S se debe imprimir 55 grados sexagesimales equivale a 0.95

PE
radianes.
RA

CI
Si magnitud = 1.570796327 y unidad = R se debe imprimir 1.570796327 radianes equivale a
G

L
EN

DE
O
90 grados sexagesimales.
PR

CI
Si magnitud = 0.925024504 y unidad = R se debe imprimir 0.925024504 radianes equivale a

CA
53 grados sexagesimales.
ES
DE

LI
L


S

2.1.13. Conversión de temperatura


TO

ER

CA

Dado la magnitud de una temperatura, un caracter que representa la unidad de medida de la magnitud de la
EN

EN

temperatura (F para Fahrenheit, C para centígrados y K para Kelvin) y un caracter que representa la unidad de
medida de la temperatura a la cual se desea convertir (F para Fahrenheit, C para centígrados y K para Kelvin),
D
AM

se requiere que imprima la magnitud de la temperatura expresada en la unidad de medida deseada.


DA
S
ND

SI

Recordar que:
DI

ER
FU

TU

5
F = C + 32
IV

9
ES

UN

K = C + 273.15
IA
IC
IF
NT
PO
Capítulo 2: Ejercicios propuestos 34

Casos de prueba

Utilice los siguientes datos para probar su solución.


Si magnitud = 23, unidad = C y unidad de conversion = C se debe imprimir No es necesario
hacer la conversión.

Si magnitud = 23, unidad = C y unidad de conversion = F se debe imprimir Equivale a 73.4.


Si magnitud = 23, unidad = C y unidad de conversion = K se debe imprimir Equivale a
296.15.
Si magnitud = 270, unidad = K y unidad de conversion = F se debe imprimir Equivale a
26.33.

Si magnitud = 80, unidad = F y unidad de conversion = K se debe imprimir Equivale a

N

299.81.

AC


2.1.14. Aplicación de la ley de Boyle

AS

PE
RA
La ley de Boyle establece una relación entre la presión y el volumen de un gas, de forma tal que si la presión

CI
cambia, se puede calcular el volumen resultante. De forma análoga si el volumen cambia, es posible también
G

L
calcular la temperatura.

EN

DE
O
PR

Recordar que:
CI

CA
La ley de Boyle establece que la presión de un gas en un recipiente cerrado es inversamente proporcional
ES
DE

al volumen del recipiente, cuando la temperatura permanece constante.

LI
L


S

De esta ley se obtiene la siguiente relación: P1 × V1 = P2 × V2


TO

ER

CA
EN

EN

Se le pide que dado el valor que se desea hallar (e.g. P1 , P2 , V1 , V2 ), solicite al usuario los valores restantes y
calcule el valor deseado. Por ejemplo si el usuario desea hallar el valor de P1 , deberá solicitar los valores de
D
AM

P2 , V1 y V2 . Si el usuario desea hallar el valor de V1 , deberá solicitar los valores de P1 , P2 y V2 . Asuma que
DA

los todos los valores de presión se expresan en atm y el volumen en cm3 .


S
ND

SI

Casos de prueba
DI

ER
FU

Use los siguientes datos para probar su solución:


TU

IV

Si el dato a hallar es V1 y el usuario ingresa P1 = 0.98 atm, P2 = 1.2 atm y V2 = 65.78 cm3 ,
ES

UN

entonces deberá imprimir El valor de V1 es 80.


Si el dato a hallar es P1 y el usuario ingresa V1 = 90 cm3 , P2 = 1.5 atm y V2 = 55.26 cm3 ,
IA

entonces deberá imprimir El valor de P1 es 0.92.


IC

Si el dato a hallar es P2 y el usuario ingresa V1 = 100 cm3 , P1 = 0.86 atm y V2 = 77.75 cm3 ,
IF

entonces deberá imprimir El valor de P2 es 1.1.


NT
PO

2.1.15. Aplicación de la ley de Charles

La ley de Charles establece una relación entre el volumen y la temperatura de un gas, de forma tal que si el
volumen cambia, se puede calcular la temperatura resultante. De forma análoga si la temperatura cambia, es
posible también calcular el volumen.
Capítulo 2: Ejercicios propuestos 35

Recordar que:

Ley de Charles establece que el volumen es directamente proporcional a la temperatura del gas,
cuando la presión permanece constante. Si la temperatura aumenta, el volumen también aumenta. Si
la temperatura disminuye, el volumen también disminuye.

V1 V2
De esta ley se obtiene la siguiente relación: =
T1 T2

Se le pide que dado el valor que se desea hallar (e.g. V1 , V2 , T1 , T2 ), solicite al usuario los valores restantes y
calcule el valor deseado. Por ejemplo si el usuario desea hallar el valor de V1 , deberá solicitar los valores de
V2 , T1 y T2 . Si el usuario desea hallar el valor de T1 , deberá solicitar los valores de V1 , V2 y T2 . Asuma que los
todos los valores de volumen se expresan en cm3 y la temperatura en ◦ .

N
Casos de prueba


Use los siguientes datos para probar su solución:

AC


Si el dato a hallar es V1 y el usuario ingresa T1 = 20 ◦ C y T2 = 90 ◦ C y V2 = 900 cm3 , entonces

M
deberá imprimir El valor de V1 es 200.

AS

PE
RA
Si el dato a hallar es T1 y el usuario ingresa V1 = 100 cm3 , T2 = 75 ◦ C y el V2 = 214.28 cm3 ,

CI
entonces deberá imprimir El valor de T1 es 35.
G

L
EN

DE
O

Si el dato a hallar es V 2 y el usuario ingresa V1 = 300 cm3 , T1 = 80 ◦ C y T2 = 35 ◦ C, entonces


PR

deberá imprimir El valor de V2 es 131.25. CI

CA
ES
DE

LI
2.1.16. La escalas de Wechsler
L


S

A
TO

La Escala Wechsler de Inteligencia para Adultos (WAIS) fue desarrollada por primera vez en 1939 y fue
ER

CA

llamada entonces el Wechsler-Bellevue Intelligence Test 1 . En esta escala se definen categorías nominales que,
EN

EN

dependiendo del valor de coeficiente intelectual (CI), permiten definir la inteligencia. En la tabla 2.1 se pueden
apreciar las escalas nominales de esta prueba de inteligencia.
D
AM

DA

Tabla 2.1: La escalas de Wechsler


S
ND

SI

Rango CI Descripción
DI

ER

≥ 130 Muy superior


FU

Superior
TU

[120 − 129]
IV

[110 − 119] Sobre el promedio


ES

[90 − 109] Promedio


UN

[80 − 89] Bajo el promedio


[70 − 79] Limítrofe
IA

≤ 69 Muy bajo
IC

Se pide que dado un valor de coeficiente intelectual, retorne la escala nominal que le corresponde en la Escala
IF

Wechsler.
NT
PO

2.1.17. Cálculo de la jornada de trabajo semanal

Se desea calcular el pago de la jornada de trabajo de determinado trabajador. A los trabajadores se les paga
determinado monto por hora laborada, pero cuando la cantidad de horas excede a las 40 horas semanales, se
le debe de pagar el 80 % por hora adicional. La jornada de trabajo regular es de lunes a viernes por lo que si
se realizan horas adicionales los fines de semana, se le debe pagar el doble al trabajador por dichas horas.
1 [Link]
Capítulo 2: Ejercicios propuestos 36

Se le pide que dado el pago por hora de determinado trabajador, la cantidad de horas trabajadas de lunes
a viernes y la cantidad de horas trabajadas el fin de semana, determine el pago que le corresponde a dicho
trabajador.

Casos de prueba

Utilice los siguientes datos para probar su solución.


Si monto por hora es 13, cantidad de horas trabajadas de lunes a viernes es 30, cantidad de horas
trabajadas el fin de semana es 0 entonces se debe imprimir Se debe pagar 390 soles.

Si monto por hora es 15, cantidad de horas trabajadas de lunes a viernes es 40, cantidad de horas
trabajadas el fin de semana es 0 entonces se debe imprimir Se debe pagar 600 soles.
Si monto por hora es 12, cantidad de horas trabajadas de lunes a viernes es 55, cantidad de horas

N
trabajadas el fin de semana es 10 entonces se debe imprimir Se debe pagar 1044 soles.


Si monto por hora es 14, cantidad de horas trabajadas de lunes a viernes es 45, cantidad de horas

AC
trabajadas el fin de semana es 15 entonces se debe imprimir Se debe pagar 1106 soles.


M

AS

PE
2.2. Nivel Intermedio RA

CI
G

L
EN

DE
O

2.2.1. Identidades trigonométricas


PR

CI

CA
Se desea probar algunas identidades trigonométricas a través del computador. Para esto deberá de leer un
ES
ángulo en sexagesimal y luego calcular el valor de la identidad con el ángulo ingresado. El programa deberá
DE

imprimir Se cumple identidad en caso se cumpla la identidad trigonométrica y No se cumple identidad en

LI
L

caso contrario. Las identidades a probar serán las siguientes:



S

A
TO

ER

sen(2θ) = 2sen(θ)cos(θ) cos(2θ) = cos2 (θ) − sen2 (θ) cos(2θ) = 1 − 2sen2 (θ)
CA
EN

EN

Recordar que:
D
AM

DA

360◦ = 2π radianes
S
ND

SI
DI

ER

Sugerencia para PSeInt


FU

TU

Utilice la función sen para obtener el valor del seno un ángulo en radianes.
IV
ES

UN

Utilice la función cos para obtener el valor del coseno un ángulo en radianes.
IA

Sugerencia para lenguaje C


IC

Utilice la función sin cuyo prototipo se encuentra en el archivo de cabecera math.h para obtener
el valor del seno un ángulo en radianes.
IF
NT

Utilice la función cos cuyo prototipo se encuentra en el archivo de cabecera math.h para obtener
el valor del coseno un ángulo en radianes.
PO
Capítulo 2: Ejercicios propuestos 37

Comparación de números reales

Muchas veces el resultado de la comparación de números reales a través de la igualdad no es el deseado.


Esto sucede por la forma en que se representa internamente los reales, basta que exista una pequeña
diferencia de precisión para que no se de la igualdad. En este caso es recomendable usar el valor absoluto
de la diferencia de los números que se desean comparar. Si esta diferencia es cercana a cero, se puede
asumir que son iguales.

Casos de prueba

Deberá retornar una salida similar a la siguiente:

Se cumple la identidad sen(2x)=2sen(x)cos(x)


Se cumple la identidad cos(2x)=cos^2(x)-sen^2(x)

N
Se cumple la identidad cos(2x)=1-2sen^2(x)


AC


2.2.2. La serie de Gregory

AS

PE
RA
Una de las formas de calcular el número π es mediante la serie de Gregory, según:

CI

G

L
π 1 1 1 1 1

EN
X
= 1 − + − + − ··· = (−1)(n+1)

DE
O

4 3 5 7 9 n=1
2n − 1
PR

CI

CA
Se le pide que dado un número n que representa el número del término de la serie, retorne dicho término.
ES
DE

Restricciones

LI
L


S

Para la implementación en lenguaje C no podrá usar la función pow.


TO

ER

CA

Casos de prueba
EN

EN

Utilice los siguientes datos para probar su solución.


AM

DA

Si n = 1, se deberá retornar 1 Si n = 4, se deberá retornar ≈ −0.142857143


S
ND

SI

Si n = 3, se deberá retornar 0.2 Si n = 9, se deberá retornar ≈ 0.058823529


DI

ER
FU

TU

IV

2.2.3. Suma de los cuadrados de los números en un rango


ES

UN

Se desea calcular la suma de los cuadrados de los números naturales que existen en un rango [a..b] en donde
tanto a como b son números naturales mayores que 0 y se debe cumplir además que a < b. Por ejemplo si a = 5
IA

y b = 10, se deberá retornar sumatoria = 52 + 62 + 72 + 82 + 92 + 102 = 25 + 36 + 49 + 64 + 81 + 100 = 355.


IC
IF

Recordar que:
NT

La suma de los cuadrados de los n primeros números


naturales se puede calcular mediante la siguiente serie
PO

notable:
n
X n(n + 1)(2n + 1)
i2 = 12 + 22 + 32 + · · · + n2 =
i=1
6
Capítulo 2: Ejercicios propuestos 38

Sugerencia

Utilice una estructura algorítmica selectiva para verificar que los valores de a y b cumplen la
condición del problema.
Utilice la serie notable para calcular la suma de los cuadrados de los n primeros números naturales
tomando como n el valor de b.

Utilice la serie notable para calcular la suma de los cuadrados de los n primeros números naturales
tomando como n el valor de a − 1.
Obtenga la diferencia entre ambas sumatorias calculadas.

Casos de prueba

N
Utilice los siguientes datos para probar su solución.


AC
Si el rango es [5..10], deberá imprimir 355. Si el rango es [7..11], deberá imprimir 415.


Si el rango es [3..8], deberá imprimir 199. Si el rango es [8..3], deberá imprimir 0.

AS

PE
Si el rango es [4..4], deberá imprimir 0.
RA
Si el rango es [14..19], deberá imprimir 1651.

CI
G

L
EN

DE
O

2.2.4. La ecuación de la recta


PR

CI

CA
Una recta se puede representar mediante una ecuación de la siguiente forma y = mx + b, en donde el valor
ES
DE

de m corresponde a la pendiente y el valor de b corresponde al punto de intersección en la ordenada. Se desea

LI
determinar si dado determinado punto P (x, y), este punto pertenece o no a una recta.
L


S

Sugerencia
TO

ER

CA

Lea en una variable el valor de la pendiente m y en otra variable el valor del punto de intersección
EN

EN

en la ordenada b.
D
AM

Lea en una variable el valor de la abscisa x y en otra variable la ordenada y.


DA
S

Utilizando la ecuación de la recta mx + b calcule el valor que debería tener la ordenada para x.
ND

SI

Almacene este valor en una variable denominada y_recta.


DI

ER
FU

Compare el valor y con el valor de y_recta, si son iguales imprima el texto El punto forma parte
TU

de la recta. En caso contrario imprima el texto El punto no forma parte de la recta.


IV
ES

UN

Casos de prueba

Utilice los siguientes datos para probar su solución.


IA
IC

Si m = 5, b = 3, los siguientes son puntos de la recta (1, 8), (4, 23), (6, 33)
IF

Si m = −3, b = 0, los siguientes son puntos de la recta (−3, 9), (1, −3), (10, −30)
NT

Si m = −1, b = 10, los siguientes son puntos de la recta (0, 10), (5, 5), (10, 0)
PO

2.2.5. La ecuación de la circunferencia

Una circunferencia se puede describir por la ecuación (x − a)2 + (x − b)2 = r2 , donde el punto (a, b) representa
el centro de la circunferencia y r representa el radio de la circunferencia. Se pide que dada una ecuación de una
Capítulo 2: Ejercicios propuestos 39

circunferencia y un punto (x, y) en un plano cartesiano, determine si el punto se encuentra dentro del círculo
delimitado por la circunferencia descrita por la ecuación.

Sugerencia

Lea el punto (a, b) que representa el centro.

Lea el radio r.
Lea el punto (x, y)
Halle el valor de (x − a)2 + (x − b)2 , si este valor es menor o igual que r2 imprima el texto El
punto está dentro del círculo. En caso contrario imprima el texto El punto no está dentro
del círculo.

N
Casos de prueba


Utilice los siguientes datos para probar su solución.

AC


Si a = 2, b = 3, r = 5, x = 4 e y = 6, se deberá imprimir El punto está dentro del círculo.

AS
Si a = 2, b = 3, r = 5, x = 9 e y = 3, se deberá imprimir El punto no está dentro del círculo.

PE
RA

CI
Si a = 8, b = 9, r = 3, x = 9 e y = 10, se deberá imprimir El punto está dentro del círculo.
G

L
EN

DE
O

Si a = 8, b = 9, r = 3, x = 14 e y = 10, se deberá imprimir El punto no está dentro del


PR

círculo.
CI

CA
ES
DE

LI
2.2.6. Cálculo del Interés simple
L


S

Un egresado de la Pontificia Universidad Católica del Perú posee un capital C de 50.000 soles y desea depo-
TO

ER

sitarlos en un banco a un plazo n de 3 años. La tasa de interés simple i que le ofrecen es de 30 % anual. Si
CA

el egresado en cuestión desea tener al final un saldo S de por lo menos 90.000 soles, ¿Le conviene hacer el
EN

EN

depósito en el banco?
D
AM

DA

Recordar que:
S
ND

SI

El saldo final S se calcula de la siguiente manera:


DI

ER
FU

TU

S = C(1 + n ∗ i)
IV

Donde:
ES

UN

n está expresado en años.

i es el interés anual, valor del porcentaje multiplicado


IA

por 0, 01.
IC
IF

Sugerencia
NT

Calcule el saldo final.


PO

• Si el saldo final es mayor que el monto que se desea obtener se concluye que la operación es
conveniente.
• Si el saldo final es menor o igual que el monto que se desea obtener se concluye que la
operación no es conveniente.
Capítulo 2: Ejercicios propuestos 40

Sugerencia

A pesar que este problema puede ser resuelto de forma particular, generalice su solución para:
Leer el capital C.
Leer el plazo n.

Leer la tasa de interés simple anual i.


Leer el saldo final deseado S.

Casos de prueba

Utilice los siguientes datos para probar su solución.

N
Si c = 50000 soles, n = 3 años, i = 30 % y el saldo final deseado S = 90000 soles, se debe imprimir


Conviene depositar en el banco.

AC
Si c = 100000 soles, n = 5 años, i = 32 % y el saldo final deseado S = 350000 soles, se debe


imprimir No conviene depositar en el banco.

AS

PE
RA
Si c = 70000 soles, n = 4 años, i = 25 % y el saldo final deseado S = 135000 soles, se debe

CI
imprimir Conviene depositar en el banco.
G

L
EN

DE
O
PR

2.2.7. ¿Se mueve o no se mueve la caja? CI

CA
ES
DE

Sobre un plano horizontal se tiene una caja que pesa 35 N . Se sabe además que se tiene una coeficiente de

LI
rozamiento estático de µs = 0.5. Si se le aplica una fuerza de 10 N , ¿la caja se mueve?
L


S

A
TO

ER

Recordar que:
CA
EN

EN

La fuerza de rozamiento estático máximo se calcula de la


D

siguiente manera:
AM

DA

f s_max = µs × N
S
ND

SI

Donde:
DI

ER

µs es el coeficiente de rozamiento estático.


FU

TU

IV

N es la fuerza normal.
ES

UN

Sugerencia
IA

Calcule la fuerza de rozamiento estático máximo. Recuerde que la fuerza de rozamiento estático
IC

máximo equivale a la fuerza mínima para iniciar un movimiento.


IF

Si la fuerza aplicada es mayor que la fuerza de rozamiento estático máximo, la caja se moverá.
NT

Si la fuerza aplicada es menor o igual que la fuerza de rozamiento estático máximo, la caja no se
moverá.
PO
Capítulo 2: Ejercicios propuestos 41

Sugerencia

A pesar que este problema puede ser resuelto de forma particular, generalice su solución para:
Leer el peso de una caja en N .
Leer el coeficiente de rozamiento estático µs .

Leer la fuerza que se aplicará en N .

Casos de prueba

Utilice los siguientes datos para probar su solución.


Si peso = 35N , µs = 0.5 y la fuerza aplicada es 10N , se debe imprimir No se mueve la caja.

N
Si peso = 35N , µs = 0.5 y la fuerza aplicada es 18N , se debe imprimir Sí se mueve la caja.


AC
Si peso = 50N , µs = 0.3 y la fuerza aplicada es 16N , se debe imprimir Sí se mueve la caja.


Si peso = 25N , µs = 0.8 y la fuerza aplicada es 19N , se debe imprimir No se mueve la caja.

AS

PE
RA

CI
G
2.2.8. ¿Cómo puedo saber si mi peso es normal?

L
EN

DE
O

El Índice de Masa Corporal (IMC) es una razón matemática que asocia la masa y la talla de un individuo. Se
PR

calcula de la siguiente manera:


CI

CA
masa
ES
IM C =
DE

estatura2

LI
L

Donde la masa se expresa en kg y la estatura en m2 . De acuerdo a la Organización Mundial de la Salud, si el



S

IMC se encuentra entre los valores de 18.50 y 24.90, se dice que el peso es normal. Dado el valor de la masa
TO

ER

en kg y la estatura en m2 determine si el peso es normal.


CA
EN

EN

Sugerencia
D
AM

Lea en una variable el valor de la masa.


DA
S

Lea en una variable el valor de la estatura.


ND

SI
DI

Con los valores leídos calcule el IMC.


ER
FU

TU

Si el valor calculado se encuentra en el rango [18.50..24.90] imprima el texto El peso es normal.


IV

En caso contrario imprima el texto El peso no es normal.


ES

UN

Casos de prueba
IA

Utilice los siguientes datos para probar su solución.


IC

Si masa = 86 kg y estatura = 1.70 m, se deberá imprimir El peso no es normal.


IF

Si masa = 71 kg y estatura = 1.70 m, se deberá imprimir El peso es normal.


NT

Si masa = 75 kg y estatura = 1.65 m, se deberá imprimir El peso no es normal.


PO

Si masa = 79 kg y estatura = 1.80 m, se deberá imprimir El peso es normal.

2.2.9. Funciones definida por tramos

Considerando la función f (x) definida de la siguiente manera:


Capítulo 2: Ejercicios propuestos 42

|x3 | x ≤ −1


2
x + 4x −1 < x ≤ 6



f (x) = x5 + 5x
 ⌊ ⌋ 6 < x ≤ 14
3



log5 x x > 14

Se solicita que dado un valor de x ∈ R determine el valor de la función f (x).

Sugerencia en PSeInt

En PseInt el valor absoluto de un número real se puede obtener usando la función abs.
En PseInt la potencia de un número se puede obtener usando el operador ˆ.

N
En PseInt no existe la función piso.


En PseInt no existe una función para calcular el logaritmo en cualquier base, para esto debe usar

AC
el teorema de cambio de base.


M

AS

PE
Sugerencia en C RA

CI
G

L
EN
En C el valor absoluto de un número real se puede obtener usando la función fabs cuya declaración

DE
O

se encuentra en el archivo de cabecera math.h.


PR

CI
En C la potencia de un número se puede obtener usando la función pow cuya declaración se

CA
encuentra en el archivo de cabecera math.
ES
DE

LI
En C la función piso de un número se puede obtener usando la función floor cuya declaración se
L


S

encuentra en el archivo de cabecera math.h.


TO

ER

En C no existe una función para calcular el logaritmo en cualquier base, para esto debe usar el
CA

teorema de cambio de base.


EN

EN

D
AM

DA

2.2.10. Categorización del Índice de Masa Corporal


S
ND

SI

El sobrepeso y la obesidad se definen como una acumulación anormal o excesiva de grasa que puede ser
DI

ER
FU

perjudicial para la salud. El índice de masa corporal (IMC) es un indicador simple de la relación entre el peso
TU

y la talla que se utiliza frecuentemente para identificar el sobrepeso y la obesidad en los adultos. Se calcula
IV

dividiendo el peso de una persona en kilos por el cuadrado de su talla en metros (kg/m2)2 . La OMS clasifica
ES

UN

el estado nutricional utilizando el IMC conforme la tabla 2.2.

Tabla 2.2: Categorías de Índice de Masa Corporal


IA

Clasificación IMC(Kg/m2 )
IC

Bajo peso < 18.50


IF

Normal [18.50 − 24.99]


Preobeso
NT

[25.00 − 29.99]
Obesidad leve [30.00 − 34.99]
PO

Obesidad media [35.00 − 39.99]


Obesidad mórbida ≥ 40.00

Se solicita que dada el peso de una persona en kg y su talla en metros, determine el estado nutricional de
dicha persona.
2 [Link]
Capítulo 2: Ejercicios propuestos 43

2.2.11. La Media Aritmética-Geométrica

La media aritmética-geométrica (MAG) es una serie muy usada en las matemáticas para acelerar algoritmos
que realizan cálculos de funciones exponenciales y trigonométricas. También ha sido utilizada para calcular
constantes matemáticas como π.

Recordar que:

En matemáticas, la media aritmética-geométrica (MAG) de dos números reales positivos


x e y es definida como sigue:

Primero se definen los valores ao y g0 como a0 = x y g0 = y. Luego, en base a estos


valores, se definen las secuencias interdependientes (an ) y (gn ) de la siguiente manera:

N
an + gn


an+1 =
2

AC


gn+1 = an × gn

AS

PE
RA
Una propiedad interesante de esta serie es que dado un número real r ≥ 0, se cumple que M AG(rx, ry) =

CI
G
rM AG(x, y).

L
EN

DE
O

Se le pide que dado los números x, y y r, verifique haciendo uso del computador, si esta propiedad se cumple.
PR

Casos de prueba
CI

CA
ES
DE

Utilice los siguientes datos para probar su solución.

LI
L

Si x = 33, y = 12 y r = 3 entonces se debe imprimir an = 67.5, gn = 59.69, Se cumple propiedad.



S

A
TO

ER

Si x = 10, y = 5 y r = 5 entonces se debe imprimir an = 37.5, gn = 35.35, Se cumple propiedad.


CA
EN

EN

Si x = 4, y = 21 y r = 9 entonces se debe imprimir an = 112.5, gn = 82.48, Se cumple propiedad.


D
AM

DA
S

2.2.12. Calculadora de operaciones vectoriales


ND

SI
DI

Dado dos vectores en el plano cartesiano u = (ux , uy ) y v = (vx , vy ) y un caracter que representa una operación
ER
FU

vectorial (+ que representa a la operación de suma de vectores, − que representa a la operación de diferencia
TU

IV

de vectores, · que representa a la operación de producto escalar), se solicita que retorne el resultado de aplicar
la operación vectorial a los valores dados. En caso que la operación ingresada no corresponda con las antes
ES

UN

mencionadas, deberá emitirse un mensaje de advertencia y no realizar las operaciones.


IA

Recordar que:
IC

Dado dos vectores en el plano cartesiano u = (ux , uy ) y v = (vx , vy ). Se definen las siguientes
IF

operaciones:
NT

suma vectorial: u + v = (ux + vx , uy + vy ).


PO

diferencia vectorial: u − v = (ux − vx , uy − vy ).


producto escalar: u.v = ux × vx + uy × vy .
Capítulo 2: Ejercicios propuestos 44

Casos de prueba

Utilice los siguientes datos para probar su solución.


Si u = (3, 0), v = (5, 5) y operación = + se debe imprimir El resultado es u+v=(8,5).
Si u = (3, 0), v = (5, 5) y operación = − se debe imprimir El resultado es u-v=(-2,-5).

Si u = (3, 0), v = (5, 5) y operación = . se debe imprimir El resultado es u.v=15.

2.2.13. Distancia más cercana

Dados 3 puntos A, B, C en el plano cartesiano (PA (xA , yA ), PB (xB , yB ), PC (xC , yC )), se le solicita que imprima

N
el par de puntos que contiene la menor distancia. Asuma que las distancias del punto entre todos los puntos


siempre serán diferentes.

AC
Recuerdar que:


M

AS
Recuerde que la distancia euclidiana d se calcula de la siguiente

PE
manera:
RA

CI
p
d = (x2 − x1 )2 + (y2 − y1 )2
G

L
EN

DE
O
PR

Casos de prueba CI

CA
ES
DE

Utilice los siguientes datos para probar su solución.

LI
L

Si PA = (3, 5), PB = (4, 2) y PC = (7, 7), debe retornar La menor distancia se encuentra entre

S

el punto A y B.
TO

ER

CA

Si PA = (1, 3), PB = (6, 7) y PC = (4, 5), debe retornar La menor distancia se encuentra entre
EN

EN

el punto B y C.
D

Si PA = (9, 8), PB = (5, 7) y PC = (7, 8), debe retornar La menor distancia se encuentra entre
AM

DA

el punto A y C.
S
ND

SI

Sugerencia
DI

ER
FU

TU

Realice los cambios necesarios para que ahora imprima los puntos que conforman la distancia más
IV

lejana. Una vez hecho los cambios, utilice los siguientes datos para probar su solución.
ES

UN

Si PA = (3, 5), PB = (4, 2) y PC = (7, 7), debe retornar La mayor distancia se encuentra entre
el punto B y C.
IA

Si PA = (1, 3), PB = (6, 7) y PC = (4, 5), debe retornar La mayor distancia se encuentra entre
IC

el punto A y B.
IF

Si PA = (9, 8), PB = (5, 7) y PC = (7, 8), debe retornar La mayor distancia se encuentra entre
NT

el punto A y B.
PO

2.2.14. Calculadora de números complejos

Dado dos números complejos representados en forma binomial (i.e., z = a + bi) y un caracter que representa
una operación aritmética (+, −, ∗ y /), se solicita que retorne el resultado de aplicar la operación en los dos
números complejos dados.
Capítulo 2: Ejercicios propuestos 45

Recordar que:

Dado dos números complejos a + bi y c + di. Se definen las siguientes operaciones:

suma: (a + bi) + (c + di) = (a + c) + (b + d)i


resta: (a + bi) − (c + di) = (a − c) + (b − d)i

multiplicación: (a + bi) ∗ (c + di) = (ac − bd) + (ad + bc)i


a + bi ac + bd bc − ad
división: = 2 2
+( 2 )i
c + di c + d c + d2

Sugerencia

N

Utilice 2 variables para leer un número complejo, una para representar la parte real y otra para

AC
representar la parte imaginaria. Por ejemplo para el primer número podría utilizar las variables
a y b y para el segundo número las variables c y d.


M

AS
Verifique que no exista división entre 0.

PE
RA

CI
Si el resultado de una operación retorna la parte imaginaria negativa, entonces deberá imprimirse
G
la parte imaginaria con el signo negativo (e.g., a − bi), en caso contrario deberá imprimirse el

L
EN

DE
O

signo positivo (e.g., a + bi).


PR

CI

CA
ES
DE

2.2.15. Tipos de rectas

LI
L

La pendiente de una recta permite identificar el tipo de inclinación que posee la recta. Si la pendiente es positiva,

S

A
TO

entonces la recta será ascendente. Si la pendiente es negativa, la recta será descendente. Si la pendiente tiene
ER

CA

el valor de cero, la recta será horizontal. Si la pendiente no está definida, entonces la recta será vertical.
EN

EN

Se le pide que dados dos puntos P 1(x1 , y1 ) y P 2(x2 , y2 ) que pertenecen a una recta, determine e imprima la
D

inclinación de la recta.
AM

DA
S

Recuerdar que:
ND

SI
DI

Si P 1(x1 , y1 ) y P 2(x2 , y2 ) dos dos puntos de una recta,


ER
FU

entonces la pendiente m se calcula de la siguiente manera:


TU

IV

y2 − y1
ES

UN

m=
x2 − x1
IA

Casos de prueba
IC

Utilice los siguientes datos para probar su solución.


IF
NT

Si P 1(1, 4) y P 2(3, 9), entonces se debe imprimir m = 2.5 recta ascendente.

Si P 1(0, 1) y P 2(0, 7), entonces se debe imprimir m = indef inida recta vertical.
PO

Si P 1(−1, −4) y P 2(3, 2), entonces se debe imprimir m = 1.5 recta ascendente.
Si P 1(2, 0) y P 2(4, 0), entonces se debe imprimir m = 0 recta horizontal.

Si P 1(3, 5) y P 2(2, 8), entonces se debe imprimir m = −3 recta descendente.


Capítulo 2: Ejercicios propuestos 46

2.3. Nivel Avanzado

2.3.1. Distancia más cercana

Dados 3 puntos A, B, C en el plano cartesiano (PA (xA , yA ), PB (xB , yB ), PC (xC , yC )) y un punto X (PX (xX , yX )),
se le solicita que imprima el punto que se encuentra más cercano a el punto X. Asuma que las distancias del
punto X a los demás puntos serán siempre diferentes.

Recuerdar que:

Recuerde que la distancia euclidiana d se calcula de la siguiente


manera: p
d = (x2 − x1 )2 + (y2 − y1 )2

N

AC
Casos de prueba


Si PA = (3, 5), PB = (4, 2), PC = (7, 7) y PX = (4, 4), se imprime El punto más cercano es A.

AS

PE
RA
Si PA = (3, 5), PB = (4, 2), PC = (7, 7) y PX = (2, 1), se imprime El punto más cercano es B.

CI
G
Si PA = (3, 5), PB = (4, 2), PC = (7, 7) y PX = (8, 7), se imprime El punto más cercano es C.

L
EN

DE
O
PR

Variación al problema CI

CA
Realice los cambios necesarios en el programa para que ahora imprima el punto más lejano al punto
ES
DE

X. Una vez hecho los cambios, utilice los siguientes datos para probar su solución.

LI
L


S

Si PA = (3, 5), PB = (4, 2), PC = (7, 7) y PX = (11, 3), se imprime El punto más lejano es A.
TO

ER

Si PA = (3, 5), PB = (4, 2), PC = (7, 7) y PX = (2, 1), se imprime El punto más lejano es C.
CA
EN

EN

Si PA = (3, 5), PB = (4, 2), PC = (7, 7) y PX = (8, 7), se imprime El punto más lejano es B.
D
AM

DA
S
ND

2.3.2. Clasificación de un triángulo según sus lados


O

SI
DI

ER

Dados 3 números reales que representan los lados de un triángulo, se le solicita que luego de verificar si los 3
FU

TU

lados forman un triángulo, imprima el tipo de triángulo según sus lados.


IV
ES

UN

Recordar que:

La clasificación de triángulos según sus lados es como sigue:


IA
IC

Equilátero si sus 3 lados son iguales.


IF

Isósceles si 2 de sus lados, y solo 2, son iguales.


NT

Escaleno si los 3 lados son diferentes.


PO
Capítulo 2: Ejercicios propuestos 47

Casos de prueba

Utilice los siguientes datos para probar su solución.


Si l1 = 3, l2 = 4 y l3 = 5, deberá imprimirse Triángulo Escaleno.
Si l1 = 3, l2 = 3 y l3 = 2, deberá imprimirse Triángulo Isósceles.

Si l1 = 3, l2 = 2 y l3 = 3, deberá imprimirse Triángulo Isósceles.


Si l1 = 2, l2 = 3 y l3 = 3, deberá imprimirse Triángulo Isósceles.
Si l1 = 10.5, l2 = 10.5 y l3 = 10.5, deberá imprimirse Triángulo Equilátero.
Si l1 = 1, l2 = 10 y l3 = 1, deberá imprimirse Los lados ingresados no forman un triángulo.

N

2.3.3. Área de un triángulo isósceles

AC


Dados 3 lados que forman un triángulo isósceles, se le solicita que determine el área de dicho triángulo. Asuma

AS
que los 3 lados forman un triángulo. Asuma que siempre tendrá 2 lados iguales y uno diferente. Además el

PE
usuario podrá ingresar los lados en cualquier orden.
RA

CI
G

L
EN
Recordar que:

DE
O
PR

CI
El área de un triángulo isóceles se puede calcular usando la si-

CA
guiente fórmula:
ES
DE

b p
area = × 4a2 − b2

LI
4
L

Donde:

S

a es uno de los lados iguales.


TO

ER

CA

b es el lado diferente.
EN

EN

D
AM

DA

Restricciones
S
ND

No podrá aplicar la fórmula de Herón.


O

SI
DI

ER
FU

Sugerencia
TU

IV

Halle primero el lado que se repite y asígnelo a la variable a.


ES

UN

Halle luego el lado que no se repite y asígnelo a la variable b.


IA

Aplique la fórmula para calcular el área del triángulo isósceles.


IC

Casos de prueba
IF
NT

Utilice los siguientes datos para probar su solución.


Si l1 = 3, l2 = 3, l3 = 2, entonces el área debe ser ≈ 2.828427125.
PO

Si l1 = 3, l2 = 2, l3 = 3, entonces el área debe ser ≈ 2.828427125.

Si l1 = 2, l2 = 3, l3 = 3, entonces el área debe ser ≈ 2.828427125.


Si l1 = 5, l2 = 4, l3 = 5, entonces el área debe ser ≈ 9.16515139.
Capítulo 2: Ejercicios propuestos 48

2.3.4. Operaciones con fracciones

Una fracción se puede representar usando 2 variables, una para el numerador y otra para el denominador. Se
solicita que lea dos fracciones y una operación (+, -, *, /) y retorne el resultado de aplicar la operación a las
dos fracciones.

Casos de prueba

Utilice los siguientes datos para probar su solución.

Si la fracción 1 es 12 , la fracción 2 es 1
3 y la operación es +, se deberá retornar 5
6

Si la fracción 1 es 12 , la fracción 2 es 1
3 y la operación es −, se deberá retornar 1
6

Si la fracción 1 es 27 , la fracción 2 es 5
3 y la operación es ∗, se deberá retornar 10
21

N
Si la fracción 1 es 27 , la fracción 2 es 5
y la operación es /, se deberá retornar 6


3 35

AC


M
2.3.5. Los números Armstrong

AS

PE
RA
Un número Armstrong, también llamado número narcisista, es todo aquel número que es igual a la suma de

CI
cada uno de sus dígitos elevado al número total de dígitos.
G

L
EN

DE
O

A continuación siguen algunos ejemplos de números Armstrong:


PR

371 = 33 + 73 + 13 . Total de dígitos 3.


CI

CA
ES
DE

8208 = 84 + 24 + 04 + 84 . Total de dígitos 4.

LI
L

4210818 = 47 + 27 + 17 + 07 + 87 + 17 + 87 . Total de dígitos 7.



S

A
TO

ER

CA

Dado un número n de exactamente 3 cifras, determine si dicho número es Armstrong. Si el número no tiene
EN

exactamente 3 cifras, no realice ningún procesamiento.


EN

Sugerencia
AM

DA
S

Para determinar si un número tiene exactamente 3 cifras, simplemente verifique que sea mayor o
ND

SI

igual que 100 y menor o igual que 999.


DI

ER
FU

Para obtener las cifras de un número n de 3 cifras siga el siguiente algoritmo:


TU

IV

• Obtenga el dígito de la unidades utilizando la operación de módulo del número n entre 10


ES

(si n = 153, 153 %10=3).


UN

• Actualice el número n con el valor que resulta de dividir n entre 10 (si n = 153, n=153/10=15).
• Obtenga el dígito de la decenas utilizando la operación de módulo del nuevo número n entre
IA

10 (si n = 15, 15 %10=5).


IC

• Actualice el número n con el valor que resulta de dividir n entre 10 (si n = 15, n=15/10=1).
IF

• El dígito de las centenas estará en la variable n.


NT
PO
Capítulo 2: Ejercicios propuestos 49

Casos de prueba

Utilice los siguientes datos para probar su solución.


Si n = 153 se deberá imprimir El número es Armstrong (153 = 13 + 53 + 33 ).
Si n = 271 se deberá imprimir El número no es Armstrong (352 = 23 + 73 + 13 ).

Si n = 370 se deberá imprimir El número es Armstrong (370 = 33 + 73 + 10 ).


Si n = 435 se deberá imprimir El número no es Armstrong (216 = 43 + 33 + 53 ).
Si n = 371 se deberá imprimir El número es Armstrong (371 = 33 + 73 + 13 ).

N
2.3.6. Números palíndromos


Un número natural es un palíndromo si se lee igual de izquierda a derecha y de derecha a izquierda. Son

AC
ejemplos de números palíndromos 1, 33, 141, 45654, 13531. Una forma para calcular un número palíndromo,


pero que no siempre funciona, es:

AS

PE
Seleccionar un número n. RA

CI
G

L
Invertir el número n

EN

DE
O
PR

Sumar al número invertido el valor de n


CI

CA
El resultado de la suma es un candidato para ser palíndromo.
ES
DE

LI
Este algoritmo algunas veces obtiene un número palíndromo. Por ejemplo:
L


S

A
TO

ER

n=13
CA

inverso de n=31
EN

EN

suma = 13 + 31 = 44
D
AM

DA

n=65
S

inverso de n=56
ND

SI

suma 65 + 56 = 121
DI

ER
FU

Dado un número n de exactamente 2 cifras sin incluir el 0, determine si con el algoritmo antes presentado se
TU

puede encontrar un número palíndromo. En caso de encontrarlo deberá imprimir dicho número palíndromo.
IV

Si no lo encuentra deberá imprimirse el mensaje No se encontró el palíndromo.


ES

UN

Sugerencia
IA

Para invertir un número n de 2 cifras siga el siguiente algoritmo:


IC

Obtenga el dígito de la unidades utilizando la operación de módulo del número n entre 10 (si
IF

n = 13, 13 %10=3).
NT

Obtenga el dígito de la decenas utilizando la operación de división entera del número n entre 10
(si n = 13, 13/10=1).
PO

Multiplique el dígito de las unidades por 10 y súmele el dígito de las decenas (si n = 13, 3*10+1=31)
El resultado de la suma será el número invertido (si n = 13, el invertido es 31).
Capítulo 2: Ejercicios propuestos 50

Sugerencia

Para invertir un número n de 3 cifras siga el siguiente algoritmo:


Obtenga el dígito de la unidades utilizando la operación de módulo del número n entre 100 (si
n = 156, 156 %100=6).

Obtenga un nuevo número m que resulta de dividir n entre 10 (si n = 156, m=156/10=15).
Invierta el número m que ahora tiene dos cifras (si m = 15 el invertido será 51). Como el número
tiene 2 cifras puede utilizar el algoritmo mencionado previamente.
Multiplique el dígito de la unidades por 100 y súmele el número m (6*100+51=651)

El resultado de la suma será el número invertido (si n = 156, el invertido es 651).

N

Casos de prueba

AC
Utilice los siguientes datos para probar su solución.


M
Si n = 15 se deberá imprimir Se encontró el palíndromo 66.

AS

PE
Si n = 64 se deberá imprimir No se encontró el palíndromo. RA

CI
G

L
Si n = 25 se deberá imprimir Se encontró el palíndromo 77.

EN

DE
O

Si n = 78 se deberá imprimir No se encontró el palíndromo.


PR

CI

CA
ES
DE

LI
2.3.7. Clasificación de un paralelogramo según sus lados
L


S

Un cuadrilátero se define en la geometría euclidiana como un polígono de 4 lados. Dependiendo de la cantidad


TO

ER

de lados paralelos, la longitud de sus lados y el valor de sus ángulos internos, los cuadriláteros se pueden
CA

clasificar en distintas categorias (ver figura 2.1).


EN

EN

Cuadriláteros
AM

DA
S
ND

SI

Paralelogramos Trapezoides Trapecios


DI

ER
FU

TU

IV

Trapecio Trapecio Trapecio


Cuadrado Rectángulo Rombo Romboide
ES

UN

rectángulo isóceles escaleno

Figura 2.1: Clasificación de cuadriláteros


IA
IC

Los Cuadriláteros se pueden clasificar en Paralelogramos, Trapezoides y Trapecios. Los Paralelogramos


poseen exactamente 4 lados paralelos, los Trapecios poseen exactamente 2 lados paralelos y los Trapezoides
IF

no poseen lados paralelos.


NT

Dentro de los Paralelogramos, el Cuadrilátero se puede clasificar como Cuadrado, Rectángulo, Rombo y
Romboide. El Cuadrado se caracterizar por tener sus 4 lados iguales y sus 4 ángulos rectos. El Rectángulo
PO

también tiene sus 4 ángulos rectos pero tiene 2 pares de lados iguales. El Rombo tiene tiene 2 pares de ángulos
iguales pero en este caso los 4 lados deben ser iguales. El Romboide por su lado se caracteriza por tener también
2 pares de ángulos iguales con 2 pares de lados iguales.
Dentro de los Trapecios, el Cuadrilátero se puede clasificar como Trapecio rectángulo, Trapecio isóceles y
Trapecio escaleno. El Trapecio rectángulo se caracteriza por tener 2 ángulos rectos. El Trapecio isóceles
Capítulo 2: Ejercicios propuestos 51

se caracterizar por tener 2 ángulos internos iguales. Por otro lado el Trapecio escaleno no posee ningún
ángulo recto y además todos sus ángulos son diferentes.

Recordar que:

Una propiedad de los cuadriláteros es que la suma de los ángulos internos suma 360◦ o 2π radianes.

Se pide que dado 4 lados de un cuadrilatero, determine el posible paralelogramo en el cual se podría clasificar.

Casos de prueba

Utilice los siguientes datos para probar su solución.

Si l1 = 4, l2 = 4, l3 = 4, l4 = 4, entonces se debe imprimir Posible Cuadrado o Rombo.

N
Si l1 = 4, l2 = 6, l3 = 6, l4 = 4, entonces se debe imprimir Posible Rectángulo o Romboide.


Si l1 = 6, l2 = 4, l3 = 6, l4 = 4, entonces se debe imprimir Posible Rectángulo o Romboide.

AC
Si l1 = 3, l2 = 3, l3 = 5, l4 = 5, entonces se debe imprimir Posible Rectángulo o Romboide.


M

AS

PE
Sugerencia
RA

CI
Realice las siguientes modificaciones al problema:
G

L
EN

DE
O

De forma análoga, dados los ángulos internos del cuadrilátero, determine el posible tipo de trapecio
PR

que corresponde con el cuadrilátero. CI

CA
Usando ahora tanto los lados del cuadrilátero así como sus ángulos internos, determine el correcto
ES
DE

tipo de paralelogramo.

LI
L


S

Dados la longitud de cada uno de los 4 lados, el valor en grados sexagesimales de cada ángulo
A
TO

interno así como la cantidad de lados paralelos que existen en un cuadrilátero y determine qué
ER

CA

tipo de cuadrilátero es.


EN

EN

D
AM

DA

2.3.8. Comparación de fechas


S
ND

SI

Dados dos fechas f1 = dd1 /mm1 /aaaa1 y f2 = dd2 /mm2 /aaaa2 , donde dd corresponde al día, mm corresponde
DI

al mes y aaaa corresponde el año. Se le pida que las compare y retorne 0 en caso las fechas sean iguales. Si
ER
FU

la fecha f1 es mayor que la fecha f2 retornará un número positivo. Si la fecha f1 es menor que la fecha f2
TU

IV

retornará un número negativo. En caso las fechas sean diferentes, la magnitud del número corresponderá a la
diferencia que existen entre ambas fechas.
ES

UN

Casos de prueba
IA

Utilice los siguientes datos para probar su solución.


IC

Si f1 = 29/11/1976 y f2 = 29/11/1976 se debe imprimir La comparación retorna 0.


IF

Si f1 = 27/04/2004 y f2 = 26/04/2004 se debe imprimir La comparación retorna 1.


NT

Si f1 = 23/07/2005 y f2 = 24/07/2005 se debe imprimir La comparación retorna -1.


PO

Si f1 = 10/01/2017 y f2 = 24/04/2019 se debe imprimir La comparación retorna -834.


Capítulo 2: Ejercicios propuestos 52

Recuerdar que:

Recuerde que la cantidad de días transcurridos hasta la fecha se puede


calcular según la siguiente fórmula:

aaaa − 1
aaaa − 1 +1
d = ((aaaa − 1) ∗ 365 + − (3 ∗ 100 ) + dm + d
4 4
Donde:
aaaa corresponde al año.
dm corresponde a los corresponden a los días transcurridos hasta
el mes anterior.

N
d corresponde al día.


La división corresponde a la división entera.

AC


M

AS
Sugerencia

PE
RA

CI
Para obtener la cantidad de días transcurridos entre dos fechas:
G

L
EN
Calcule la cantidad de días transcurridos a la fecha 1.

DE
O
PR

Calcule la cantidad de días transcurridos a la fecha 2. CI

CA
Obtenga la diferencia entre los días mediante usando la operación de diferencia con la cantidades
ES
DE

calculadas en los pasos anteriores.

LI
L


S

A
TO

ER

2.3.9. Conversión de coordenadas rectangulares a polares


CA
EN

EN

Dado un punto P (x, y) en un plano cartesiano, se pide representar el punto en coordenadas polares.
D
AM

DA

Recordar que:
S
ND

SI

En las coordenadas polares un punto está definido por dos componentes, la coordenada radial r y la
DI

ER

coordenada angular θ. Dado un punto P (x, y), se tiene que:


FU

TU

p
r = x2 + y 2
IV
ES


UN

y
arctan( ) x>0∧y ≥0





 x

 π
IA

x=0∧y >0


2y


θ= arctan( x ) + π x < 0
IC




x=0∧y <0

IF





 2
y
NT



 arctan( ) + 2π x > 0 ∧ y < 0

x
PO

Sugerencia para PSeInt

En PSeIntel arco tangente de un número real se puede obtener usando la función atan. El resultado
de esta función se retorna en radianes.
Capítulo 2: Ejercicios propuestos 53

Sugerencia para C

En C el arco tangente de un número real se puede obtener usando la función atan cuya declaración
se encuentra en el archivo de cabecera math.h. El resultado de esta función se retorna en radianes.

2.3.10. Suma de n números naturales

Dado un número n que representa una cantidad de números naturales y un número y que representa un
exponente, se solicita que retorne la suma de las potencias de y de los n primeros números naturales. Se sabe
que n > 0 e y ∈ [1..3].

Recordar que:

N

La suma de los n primeros números naturales se puede calcular mediante la siguiente serie notable:
n
n(n + 1)

AC
X
i = 1 + 2 + 3 + ··· + n =
2


i=1

AS

PE
RA

CI
Recordar que:
G

L
EN
La suma de los cuadrados de los n primeros números naturales se puede calcular mediante la siguiente

DE
O

serie notable:
PR

Xn
i2 = 12 + 22 + 32 + · · · + n2 + =
CI
n(n + 1)(2n + 1)

CA
6
ES
DE

i=1

LI
L


S

Recordar que:
TO

ER

CA

La suma de los cubos de los n primeros números naturales se puede calcular mediante la siguiente serie
EN

EN

notable:
n
D

n2 (n + 1)2
AM

X
G

i3 = 13 + 23 + 33 + 43 · · · + n3 =
DA

i=1
4
S
ND

SI
DI

ER
FU

2.3.11. Manipulación de número enteros


TU

IV

Dado un número n ∈ N y un caracter o que representa un caracter, se desea que se retorne la inversa del número
ES

UN

n cuando el caracter o es igual a ’I’ y retorne la suma de los dígitos elevado al cubo cuando el caracter o es
igual a ’A’. La cantidad de dígitos del número deberá ser de exactamente 3 caracteres. Si el caracter no es ni
’A’ ni ’I’, deberá retornar el mensaje Opción inválida. Si la cantidad de dígitos no es la indicada, deberá
IA

retornar el mensaje Debe ingresar un número de 3 dígitos.


IC

El siguiente ejemplo muestra un caso de ejecución cuando se desea invertir un número.


IF
NT

Ingrese número n: -153


Ingrese opción o: I
PO

El número invertido es: -351

El siguiente ejemplo muestra un caso de ejecución cuando se desea obtener la suma de los dígitos al cubo del
número.
Capítulo 2: Ejercicios propuestos 54

Ingrese número n: 121


Ingrese opción o: A

La suma de dígitos al cubo es: 10

El siguiente ejemplo muestra un caso de ejecución cuando la opción ingresada es incorrecta.

Ingrese número n: 146


Ingrese opción o: W

Opción inválida

El siguiente ejemplo muestra un caso de ejecución cuando la cantidad de dígitos del número no es la adecuada.

N
Ingrese número n: 4578


Ingrese opción o: A

AC


Debe ingresar un número de 3 dígitos

AS

PE
2.3.12. Cálculo de las raíces ecuaciones cuadráticas con una variable RA

CI
G

L
EN
Se pide que dada una ecuación cuadrática con una variable, se realice el cálculo de las raíces y presente las

DE
O

raíces de dicha ecuación. En caso que el ecuación tenga raíces complejas, deberá solicitar al usuario si desea
PR

CI
expresar las raíces complejas usando la representación binómica o la representación polar.

CA
ES
DE

Recordar que:

LI
L

La representación binómica de un número complejo es de la forma x + yi



S

donde:
TO

ER

x es la parte real
CA
EN

EN

y es la parte imaginaria
D
AM

DA

Recordar que:
S
ND

SI
DI

La representación polar de un número complejo es de la forma |z|(cos(θ) + isen(θ))


ER
FU

Si se tiene el
pnúmero de la forma x + yi, se puede calcular:
TU

|z| = x2 + y 2
IV
ES

x
cos(θ) = √
UN

x2 +y 2

y
sen(θ) = √
IA

x2 +y 2
IC
IF

Recordar que:
NT

Para verificar qué tipo de representación desea visualizar el usuario, utilice una opción para poder
realizar la decisión utilizando una selectiva simple, de forma similar al problema propuesto 2.3.11.
PO

2.3.13. Ecuación cúbica de una variable (adaptado del laboratorio 3 2020-1)

La ecuación cúbica de una variable es una expresión de la siguiente forma:

ax3 + bx2 + cx + d = 0
Capítulo 2: Ejercicios propuestos 55

Donde los coeficientes (a, b, c y d) son números reales y además se debe cumplir necesariamente que a es
diferente de cero. Se sabe además que cuando el discriminante es mayor que cero, la ecuación tiene 3 raíces
reales distintas. El discriminante de una ecuación cúbica es 18abcd − 4b3 d + b2 c2 − 4ac3 − 27a2 d2
El programa deberá realizar lo siguiente:

Leer los coeficientes.


Verificar si la ecuación es cúbica.

Determinar si la ecuación posee 3 raíces reales distintas. Cuando la ecuación se verifique como cúbica y
el discriminantes sea mayor que cero, debe emitirse el siguiente mensaje La ecuación tiene 3 raíces
reales distintas. En caso contrario debe emitirse el siguiente mensaje La ecuación no tiene 3 raíces
reales distintas o no es cúbica.

N
Casos de prueba para verificar la solución


AC
Use los siguientes casos para verificar si la solución está correcta.


M
a b c d Impresión

AS
0 5 3 3 La ecuación no tiene 3 raíces reales distintas o no es cúbica.

PE
5 1 2 16 RA
La ecuación no tiene 3 raíces reales distintas o no es cúbica.

CI
2 -5 -9 18 La ecuación tiene 3 raíces reales distintas.
G

L
EN
2 -7 7 -2 La ecuación tiene 3 raíces reales distintas.

DE
O
PR

CI

CA
ES
DE

2.3.14. Áreas de figuras planas (adaptado del laboratorio 3 2020-1)

LI
L

Dado los 3 lados de un triángulo escaleno (a, b y c) y el lado de un héxagono regular (l). Elabore un programa

S

en lenguaje C que permite determinar cuál de las dos figuras geométricas posee el área mayor. Asuma que los
TO

ER

lados ingresados forman un triángulo.


CA
EN

EN

El programa deberá realizar lo siguiente:


D
AM

DA

Leer los lados del triángulo.


S
ND

Leer el lado del hexágono.


O

SI
DI

ER

Calcular el área del triángulo.


FU

TU

Calcular el área del hexágono.


IV
ES

UN

Determinar la mayor área. Deberá imprimir que figura posee la mayor área.

Casos de prueba para verificar la solución


IA
IC

Use los siguientes casos para verificar si la solución está correcta.


IF

a b c l Impresión
NT

3 4 5 1.5 El triángulo posee mayor área.


2.24 2.83 1 3 El hexágono posee mayor área.
PO

11 11 7.4 3.2 El triángulo posee mayor área.


4 5 9 7.8 El hexágono posee mayor área.
Capítulo 2: Ejercicios propuestos 56

Recordar que:

Según la fórmula de Herón el área del triángulo se calcula de la siguiente manera:


p
area = s(s − a)(s − b)(s − c)
donde:
a+b+c
s= .
2
a, b y c son los lados del triángulo.

Recordar que:

N
El área de un hexágono regular se calcula de la siguiente manera:


3l2

AC
area =
2tan(30◦ )


M

AS

PE
Recordar que: RA

CI
G

L
EN
360◦ = 2π radianes

DE
O
PR

CI

CA
Sugerencia para lenguaje C
ES
DE

La función tan retorna la tangente del ángulo pasado como parámetro. El ángulo debe estar expresado

LI
L

en radianes. Esta función se encuentra definida en el archivo de cabecera math.h



S

A
TO

ER

Variación al problema
CA
EN

EN

Desarrolle el programa para un triángulo equilátero y un decágono regular.


D

El área de un triángulo equilátero se puede calcular usando la siguiente fórmula:


AM

DA


S

lado2 3
ND

area =
SI

4
DI

ER
FU

No debe usar la fórmula de Herón para calcular el área del triángulo equilátero.
TU

El área de un decágono regular se calcula de la siguiente manera:


IV
ES

10l2
UN

area =
4tan(18◦ )
IA

Use los siguientes casos de prueba para verificar si la solución está correcta.
IC

a l Impresión
IF

8 1.5 El triángulo posee mayor área.


NT

1 3 El decágono posee mayor área.


7.4 1.2 El triángulo posee mayor área.
PO

12 7.8 El decágono posee mayor área.


Capítulo 2: Ejercicios propuestos 57

Variación al problema

Desarrolle el programa para un triángulo isósceles y un heptágono regular.


El área de un triángulo isósceles se puede calcular usando la siguiente fórmula:
b p 2
area = × 4a − b2
4
Donde:
a es uno de los lados iguales.

b es el lado diferente.
No debe usar la fórmula de Herón para calcular el área del triángulo isósceles.
El área de un heptágono regular se calcula de la siguiente manera:

N

7l2
area =

AC
4tan(25.71◦ )


Use los siguientes casos de prueba para verificar si la solución está correcta.

AS

PE
RA

CI
a b l Impresión
G

L
3 4 0.5 El triángulo posee mayor área.

EN

DE
O

2.24 2.83 3 El heptágono posee mayor área.


PR

11 7.4 2.6 El triángulo posee mayor área.


CI
4 5 7.8 El heptágono posee mayor área.

CA
ES
DE

LI
L


S

2.3.15. Ecuación de segundo grado (adaptado del laboratorio 3 2020-1)


TO

ER

CA

La ecuación general de segundo grado es una expresión con dos variables x e y de la siguiente forma:
EN

EN

Ax2 + Bxy + Cy 2 + Dx + Ey + F = 0
D
AM

DA

Donde los coeficientes (A, B, C, D, E y F ) son números reales y además se debe cumplir necesariamente
S
ND

que al menos uno de los valores de los coeficientes A, B o C es diferente de cero. Se sabe además que cuando
SI
DI

2
AC − B4 < 0 se dice que la ecuación es de tipo hiperbólica.
ER
FU

TU

El programa deberá realizar lo siguiente::


IV
ES

UN

Leer los coeficientes.


Verificar si la ecuación es general de segundo grado.
IA

Determinar si la ecuación es hiperbólica. Cuando la ecuación sea general de segundo grado y sea del tipo
IC

hiperbólica, debe emitirse el siguiente mensaje La ecuación es de tipo hiperbólica. En caso contrario
debe emitirse el siguiente mensaje La ecuación no es de segundo grado o no es de tipo hiperbólica.
IF
NT
PO
Capítulo 2: Ejercicios propuestos 58

Casos de prueba para verificar la solución

Use los siguientes casos para verificar si la solución está correcta.

A B C D E F Impresión
0 0 0 3.3 1.2 4.5 La ecuación no es de segundo grado o no es de tipo hiperbólica.
1 0 1 3.6 2.7 5.7 La ecuación no es de segundo grado o no es de tipo hiperbólica.
1.3 4.5 2.5 3.5 1.6 4.5 La ecuación es de tipo hiperbólica.
-2.7 -5.4 -2.4 2.6 5.6 1.2 La ecuación es de tipo hiperbólica.

Variación al problema

N
2
Desarrolle el programa para verificar si la ecuación es de tipo parabólica, cuando AC − B4 = 0 .


Use los siguientes casos de prueba para verificar si la solución está correcta. Solo debe leer los

AC
coeficientes A, B y C.


M

AS

PE
A B C Impresión
0 0 0 RA
La ecuación no es de segundo grado o no es de tipo parabólica.

CI
1 0 1 La ecuación no es de segundo grado o no es de tipo parabólica.
G

L
EN
1 2.5 1.5625 La ecuación es de tipo parabólica.

DE
O

4 8 4 La ecuación es de tipo parabólica.


PR

CI

CA
ES
DE

Variación al problema

LI
L

Desarrolle el programa para verificar si la ecuación no es de tipo elíptica. Una ecuación de segundo

S

2
grado es de tipo elíptica cuando AC − B4 > 0 .
TO

ER

Use los siguientes casos de prueba para verificar si la solución está correcta. Solo debe leer los
CA

coeficientes A, B y C.
EN

EN

D
AM

DA

A B C Impresión
0 0 0 La ecuación no es de segundo grado o es de tipo elíptica.
S
ND

1.5 2.5 4.5 La ecuación no es de segundo grado o es de tipo elíptica.


SI

2.3 5.4 1.6 La ecuación no es de tipo elíptica.


DI

ER
FU

5.1 7.4 0.4 La ecuación no es de tipo elíptica


TU

IV
ES

Variación al problema
UN

Desarrolle el programa para verificar si la ecuación no es de tipo circunferencia, cuando A = C .


IA

Use los siguientes casos de prueba para verificar si la solución está correcta.
IC
IF

A B C D E F Impresión
0 0 0 3.3 1.2 4.5 La ecuación no es de segundo grado o es una circunferencia
NT

1 0 1 3.6 2.7 5.7 La ecuación no es de segundo grado o es una circunferencia


1.3 4.5 2.5 3.5 1.6 4.5 La ecuación no es una circunferencia.
PO

-2.7 -5.4 -2.4 2.6 5.6 1.2 La ecuación no es una circunferencia.


Capítulo 2: Ejercicios propuestos 59

2.3.16. Ecuación de una paraboloide (adaptado del laboratorio 3 2020-1)

Un paraboloide se puede expresar a través de una ecuación cuadrática definida en un espacio tridimensional,
por lo que los puntos se definen en base a tres coordenadas x, y y z. Una de las formas canónicas del paraboloide
es:  x 2  y 2
+ −z =0
a b
En donde los coeficientes a y b son números reales diferentes de cero.
El programa deberá realizar lo siguiente:

Leer los coeficientes de la ecuación (a y b).


Leer un punto en el espacio (P = (x, y, z))

N

Verificar si el punto (P = (x, y, z)) pertenece al paraboloide e informar al usuario el resultado de la
verificación. Si el punto pertenece al paraboloide el programa debe emitir el mensaje El punto pertenece

AC
al paraboloide, en caso contrario debe emitir el mensaje El punto no pertenece al paraboloide.


M

AS
Casos de prueba para verificar la solución

PE
RA

CI
Use los siguiente casos para verificar si la solución está correcta.
G

L
EN

DE
O

a b x y z Impresión
PR

1 1 3 4 3 El punto no pertenece al paraboloide.


CI
1 1 2 1 4 El punto no pertenece al paraboloide.

CA
ES
1 1 1 1 2 El punto pertenece al paraboloide.
DE

2 3 16 9 73 El punto pertenece al paraboloide.

LI
L


S

A
TO

ER

CA

Variación al problema
EN

EN

Desarrolle el programa para un hiperboloide. Una de las formas canónicas del hiperboloide es:
D
AM

DA

 x 2  y 2  z 2
+ − =1
S

a b c
ND

SI

Use los siguientes casos de prueba para verificar si la solución está correcta. Debe leer los coeficientes
DI

ER

a, b y c; números reales diferentes de cero.


FU

TU

IV
ES

a b c x y z Impresión
UN

6 5 3 3 4 3 El punto no pertenece al hiperboloide.


5 1 2 19 9 4 El punto no pertenece al hiperboloide.
IA

2 2 4 2 2 4 El punto pertenece al hiperboloide.


2 3 1 0 3 0 El punto pertenece al hiperboloide.
IC
IF
NT
PO
Capítulo 2: Ejercicios propuestos 60

Variación al problema

Desarrolle el programa para un elipsoide. Una de las formas canónicas del elipsoide es:
 x 2  y 2  z 2
+ + =1
a b c
Use los siguientes casos de prueba para verificar si la solución está correcta. Debe leer los coeficientes
a, b y c; números reales diferentes de cero.

a b c x y z Impresión
6 5 3 3 4 3 El punto no pertenece al elipsoide.
5 1 2 19 9 4 El punto no pertenece al elipsoide.
1 1 1 1 0 0 El punto pertenece al elipsoide.

N
0.5 0.5 0.5 0 0.5 0 El punto pertenece al elipsoide.


AC


2.3.17. Ecuación bicuadrada (adaptado del laboratorio 3 2020-1)

AS

PE
La ecuación bicuadrada es una expresión de la siguiente forma:
RA

CI
G

L
ax4 + bx2 + c = 0

EN

DE
O
PR

CI
Donde los coeficientes (a, b y c) son números reales y además se debe cumplir necesariamente que a es

CA
diferente de cero. La ecuación bicuadrada posee 4 soluciones reales dependiendo del discriminante, pero para
ES
DE

este problema asuma que siempre existirán las 4 soluciones reales. Use los casos de prueba de esta hoja para

LI
verifica su solución.
L


S

Las raíces serán:


TO

ER

√ √
CA

r r
b2 − 4ac
−b + −b − b2 − 4ac
EN

EN

x1 = + x2 = +
√2a √2a
D

r r
−b + b2 − 4ac −b − b2 − 4ac
AM

x3 = − x4 = −
DA

2a 2a
S
ND

SI

El programa deberá realizar lo siguiente:


DI

ER
FU

Leer los coeficientes.


TU

IV

Verificar si la ecuación es bicuadrada.


ES

UN

En caso que la ecuación no sea bicuadrada debe emitir el siguiente mensaje La ecuación no es
bicuadrada. En caso contrario debe calcular e imprimir cada una de las 4 raíces.
IA

No debe repetir cálculos, debe usar variables intermedias siempre que lo necesite.
IC
IF

.
NT

Casos de prueba para verificar la solución


PO

Use los siguiente casos para verificar si la solución está correcta.

a b c x1 x2 x3 x4
1 -13 36 3 2 -3 -2
1 -10 9 3 1 -3 -1
1 -61 900 6 5 -6 -5
Capítulo 2: Ejercicios propuestos 61

2.3.18. Ángulo entre vectores (adaptado del laboratorio 2 2021-1)

Dados dos vectores que parten del origen en un plano cartesiano, se pide que elabore un algoritmo expresado
en pseudocódigo que determine el ángulo que se forma entre estos dos vectores.
El algoritmo deberá realizar lo siguiente:

Leer un punto P1 (x1 , y1 ) que representará al vector 1.


Leer un punto P2 (x2 , y2 ) que representará al vector 2.
Calcular el producto punto entre los dos vectores.

Calcular el módulo de cada vector.


Usando el producto punto y el módulo de cada vector, deberá calcular el coseno del ángulo formado.

N

Calcular el ángulo en grados sexagesimales y mostrarlo en pantalla. Recuerde que la función acos en

AC
PSeInt retornar el ángulo en radianes.


Determinar e imprimir si el ángulo es agudo. Si el ángulo es agudo se deberá imprimir el siguiente mensaje

AS
El ángulo es agudo. En caso contrario se mostrará el mensaje El ángulo es recto u obtuso.

PE
RA

CI
.
G

L
EN

DE
O

Recordar que:
PR

CI

CA
Para transformar angulos de radianes a sexagesimales puede usar la siguiente relación:
ES
DE

360◦ = 2π radianes

LI
El producto punto se calcula de la siguiente manera:
L


S

⃗u(x1 , y1 ) · ⃗v (x2 , y2 ) = x1 × x2 + y1 × y2
TO

ER

CA

El módulo de un vector se calcula de la siguiente manera:


EN

EN

p
|⃗u(x, y)| = x2 + y 2
D
AM

DA

El coseno entre los vectores ⃗u y ⃗v se calcula de la siguiente manera:


S
ND

⃗u · ⃗v
SI

cos(θ) =
DI

|⃗u| × |⃗v |
ER
FU

TU

IV

A continuación siguen algunos ejemplos de ejecución del algoritmo:


ES

UN

Caso de prueba 1
IA

*** Ejecución Iniciada. ***


Ingrese primer vector:
IC

>4
IF

> -1
NT

Ingrese segundo vector vector:


>2
PO

>5
El ángulo entre los vectores es: 82.2348339816
El ángulo es agudo
*** Ejecución Finalizada. ***
Capítulo 2: Ejercicios propuestos 62

Caso de prueba 2

*** Ejecución Iniciada. ***


Ingrese primer vector:
>5
>3
Ingrese segundo vector vector:
>1
>2
El ángulo entre los vectores es: 32.4711922908
El ángulo es agudo
*** Ejecución Finalizada. ***

Caso de prueba 3

N

*** Ejecución Iniciada. ***

AC
Ingrese primer vector:


> -2

M
> -7

AS

PE
Ingrese segundo vector vector:
> -1 RA

CI
>5
G

L
EN
El ángulo entre los vectores es: 152.7446716251

DE
O

El ángulo es recto u obtuso


PR

*** Ejecución Finalizada. *** CI

CA
ES
DE

LI
L

2.3.19. Propiedades de logaritmos (adaptado del laboratorio 2 2021-1)



S

A
TO

ER

Los logaritmos poseen ciertas propiedades, entre ellas se encuentran las siguientes:
CA
EN

EN

logbase (a × b) = logbase (a) + logbase (b)


D
AM

DA

logbase ( ab ) = logbase (a) − logbase (b)


S
ND

SI

Se pide que elabore un algoritmo expresado en pseudocódigo que permita verificar si ambas propiedades se
DI

ER

cumplen.
FU

TU

El algoritmo deberá realizar lo siguiente:


IV
ES

UN

Leer la base.

Leer los números a y b


IA

Calcular e imprimir en pantalla los valores de logbase (a × b) y logbase ( ab ).


IC

Calcular por separado los valores de logbase (a) y logbase (b).


IF
NT

Usando los valores calculados diseñe las expresiones lógicas que permitan determinar si se cumple cada
una de las propiedades especificadas en este enunciado.
PO

Determinar, usando las expresiones lógicas calculadas, si se cumplen las propiedades. Si las propieda-
des se pueden verificar mediante el algoritmo, se debe imprimir el siguiente mensaje Se cumplen las
propiedades. En caso contrario se mostrará el mensaje No se cumplen las propiedades.

.
Capítulo 2: Ejercicios propuestos 63

Recordar que:

PSeInt solamente incluye la función ln que implementa el logaritmo natural. Si necesita obtener el
logaritmo en otra base, debe usar el teorema de cambio de base. En particula puede usar la siguiente
relación:
ln(x)
logbase (x) =
ln(base)

A continuación siguen algunos ejemplos de ejecución del algoritmo:

*** Ejecución Iniciada. ***


Ingrese la base:
> 2

N
Ingrese dos números:


> 8

AC
> 4


logaritmo del producto = 5

M
logaritmo del cociente = 1

AS

PE
RA
Se cumplen las propiedades

CI
*** Ejecución Finalizada. ***
G

L
EN

DE
O

*** Ejecución Iniciada. ***


PR

Ingrese la base:
> 4
CI

CA
Ingrese dos números:
ES
DE

> 6

LI
L

> 7 TÓ
S

logaritmo del producto = 2.6961587114


TO

ER

logaritmo del cociente = -0.1111962107


CA

Se cumplen las propiedades


EN

EN

*** Ejecución Finalizada. ***


D
AM

DA

*** Ejecución Iniciada. ***


S

Ingrese la base:
ND

SI

> 3
DI

ER

Ingrese dos números:


FU

> 27
TU

IV

> 81
logaritmo del producto = 7
ES

UN

logaritmo del cociente = -1


Se cumplen las propiedades
IA

*** Ejecución Finalizada. ***


IC

2.3.20. Trapezoide simétrico (adaptado del laboratorio 2 2021-1)


IF
NT

Dados 4 puntos en el plano cartesiano que representan los vértices de un trapezoide, se pide que elabore
un algoritmo expresado en pseudocódigo que determine si el trapezoide es simétrico o no. Un trapezoide es
PO

simétrico si tiene los dos pares de lados consecutivos iguales.


El algoritmo deberá realizar lo siguiente:

Leer los 4 puntos, P1 (x1 , y1 ), P2 (x2 , y2 ), P3 (x3 , y3 ) y P4 (x4 , y4 ), que representan a los vértices consecutivos
de un trapezoide.
Calcular los 4 lados del trapezoide considerando que se han ingresado los vértices de forma consecutiva.
Capítulo 2: Ejercicios propuestos 64

Determinar e imprimir si el trapezoide es simétrico o no. Si el trapezoide es simétrico se deberá imprimir


el siguiente mensaje Es un trapezoide simétrico. En caso contrario se mostrará el mensaje No es un
trapezoide simétrico. Para fines de esta pregunta, asuma que los lados consecutivos son i) el formado
por los vértices 1, 2 y 3 y ii) el formado por los vértices 1, 4 y 3.

Recuerdar que:

Recuerde que la distancia euclidiana d se calcula de la siguiente


manera: p
d = (x2 − x1 )2 + (y2 − y1 )2

N
A continuación siguen algunos ejemplos de ejecución del algoritmo:


AC
Caso de prueba 1


*** Ejecución Iniciada. ***

AS
Ingrese punto 1:

PE
> -2 RA

CI
>0
G

L
EN
Ingrese punto 2:

DE
O

>0
PR

>3 CI

CA
Ingrese punto 3:
ES
DE

>2

LI
>0
L

Ingrese punto 4:

S

>0
TO

ER

> -4
CA

Es un trapezoide simétrico
EN

EN

*** Ejecución Finalizada. ***


D
AM

DA

Caso de prueba 2
S
ND

SI

*** Ejecución Iniciada. ***


DI

ER
FU

Ingrese punto 1:
TU

> -2
IV

> -1
ES

UN

Ingrese punto 2:
>2
>3
IA

Ingrese punto 3:
>2
IC

>6
IF

Ingrese punto 4:
NT

> -1
> -7
PO

No es un trapezoide simétrico
*** Ejecución Finalizada. ***
Capítulo 2: Ejercicios propuestos 65

Caso de prueba 3

*** Ejecución Iniciada. ***


Ingrese punto 1:
> -2
> -3
Ingrese punto 2:
>4
>6
Ingrese punto 3:
>1
>5
Ingrese punto 4:
> -4

N
> -5


No es un trapezoide simétrico
*** Ejecución Finalizada. ***

AC


M

AS

PE
2.3.21. Tipos de cuadriláteros (adaptado del laboratorio 2 2021-1)
RA

CI
G

L
Dados 4 puntos en el plano cartesiano que representan los vértices de un cuadrilátero, se pide que elabore

EN

DE
O

un algoritmo expresado en pseudocódigo que determine si el cuadrilátero es un rombo. Un cuadrilátero es


PR

clasificado como rombo si tiene los 4 lados iguales pero dos de sus ángulos son menores que los otros dos.
CI

CA
El algoritmo deberá realizar lo siguiente:
ES
DE

LI
Leer los 4 puntos, P1 (x1 , y1 ), P2 (x2 , y2 ), P3 (x3 , y3 ) y P4 (x4 , y4 ), que representan a los vértices consecutivos
L


S

de un cuadrilátero.
TO

ER

Calcular los 4 lados del cuadrilátero considerando que se han ingresado los vértices de forma consecutiva.
CA
EN

EN

Determinar e imprimir si el cuadrilátero es un rombo o no. Si el cuadrilátero se puede clasificar como


D

rombo, deberá imprimir el siguiente mensaje Es un rombo. En caso contrario se mostrará el mensaje No
AM

DA

es un rombo. Para fines de esta pregunta, asuma que los lados consecutivos son i) el formado por los
vértices 1, 2 y 3 y ii) el formado por los vértices 1, 4 y 3. Asuma además que el usuario nunca ingresará
S
ND

SI

un cuadrado.
DI

ER
FU

.
TU

IV
ES

Recuerdar que:
UN

Recuerde que la distancia euclidiana d se calcula de la siguiente manera:


IA

p
d = (x2 − x1 )2 + (y2 − y1 )2
IC
IF

A continuación siguen algunos ejemplos de ejecución del algoritmo:


NT
PO
Capítulo 2: Ejercicios propuestos 66

Caso de prueba 1

*** Ejecución Iniciada. ***


Ingrese punto 1:
> -3
>2
Ingrese punto 2:
>2
>2
Ingrese punto 3:
>5
> -2
Ingrese punto 4:
>0

N
> -2


Es un rombo
*** Ejecución Finalizada. ***

AC


M
Caso de prueba 2

AS

PE
*** Ejecución Iniciada. *** RA

CI
Ingrese punto 1:
G

L
EN
>1

DE
O

>4
PR

Ingrese punto 2: CI

CA
>3
ES
DE

>7

LI
Ingrese punto 3:
L


S

>5
TO

ER

>4
CA

Ingrese punto 4:
EN

EN

>3
>1
D
AM

Es un rombo
DA

*** Ejecución Finalizada. ***


S
ND

SI
DI

Caso de prueba 3
ER
FU

TU

*** Ejecución Iniciada. ***


IV

Ingrese punto 1:
ES

UN

> -4
>2
Ingrese punto 2:
IA

>1
IC

>4
Ingrese punto 3:
IF

> -1
NT

> -1
Ingrese punto 4:
PO

> -5
>1
No es un rombo
*** Ejecución Finalizada. ***
Capítulo 2: Ejercicios propuestos 67

2.3.22. Área del Pentágono (adaptado del laboratorio 2 2021-1)

Se desea comparar el área de dos figuras geométricas, un pentágono regular y un círculo. El objetivo es
deteminar cual de ellas es mayor. Se pide que elabore un algoritmo expresado en pseudocódigo que dado dos
vértices consecutivos de un pentágono regular y el radio de un círculo, determine la figura que posee mayor
área
El algoritmo deberá realizar lo siguiente:

Leer los 2 vértices, P1 (x1 , y1 ) y P2 (x2 , y2 ) que representan a dos vértices consecutivos de un pentágono
regular.

Leer el radio del círculo.


Calcular el lado del pentágono y calcular su área. El área de un pentágono regular es aproximadamente

N
1.72 × lado2 .


Calcular el área del círculo.

AC


Determinar e imprimir que figura posee mayor área. Si es el pentágono regular se deberá imprimir el

M
siguiente mensaje El área del pentágono es mayor. En caso contrario se mostrará el mensaje El área

AS

PE
RA
del círculo es mayor o igual. En ambos casos deberá imprimirse el área calculada.

CI
G

L
.

EN

DE
O

A continuación siguen algunos ejemplos de ejecución del algoritmo:


PR

CI

CA
Caso de prueba 1
ES
DE

*** Ejecución Iniciada. ***

LI
L

Ingrese vértice 1:

S

>1
TO

ER

>2
CA

Ingrese vértice 2:
EN

EN

>4
D

>5
AM

DA

Ingrese radio:
S

>6
ND

SI

El área del círculo es mayor o igual 113.0973355292


DI

*** Ejecución Finalizada. ***


ER
FU

TU

IV

Caso de prueba 2
ES

UN

*** Ejecución Iniciada. ***


Ingrese vértice 1:
IA

>1
>2
IC

Ingrese vértice 2:
IF

>4
>5
NT

Ingrese radio:
>3
PO

El área del pentágono es mayor 30.96


*** Ejecución Finalizada. ***
Capítulo 2: Ejercicios propuestos 68

Caso de prueba 3

*** Ejecución Iniciada. ***


Ingrese vértice 1:
>1
>2
Ingrese vértice 2:
>3
>4
Ingrese radio:
>5
El área del círculo es mayor o igual 78.5398163397
*** Ejecución Finalizada. ***

N

2.3.23. Movimiento parabólico (adaptado del laboratorio 2 2021-2)

AC


El movimiento parabólico corresponde al movimiento de un objeto que sigue una trayectoria parabólica. El

AS
medio en el que se mueve el objeto no ofrece resistencia y está sujeto a la gravedad.

PE
RA
Como se muestra en la figura 2.2; si se conoce la velocidad inicial (vinicial ), el ángulo de lanzamiento (ngulo) y

CI
la gravedad (≈ 9.81 m/s2 ); y utilizando el movimiento rectilíneo uniforme en el eje horizontal y el movimiento
G

L
EN
rectilíneo uniformemente acelerado en el eje (considerando la gravedad como la aceleración); se tienen las

DE
O

formulas descritas en la tabla "Fórmulas del movimiento parabólico".


PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

Figura 2.2: Trayectoria de un proyectil. Imagen basada en la URL [Link]


IV

pe/2011/01/resolucao-de-preparando-se-para-as_22.html.
ES

UN
IA
IC
IF
NT
PO
Capítulo 2: Ejercicios propuestos 69

Fórmulas del movimiento parabólico

(vinicial )2 × sen(2 × angulo)


distancia =
gravedad
(vinicial )2 × (sen(angulo))2
altura =
2 × gravedad
2 ∗ vinicial × sen(angulo)
tiempo =
gravedad
Despejando el ángulo en la fórmula del tiempo:
tiempo × gravedad
angulo = asen( )
2 × vinicial

N
La distancia y la altura se miden en metros (m), la velocidad en


metros/segundo (m/s), el ángulo en radianes (rad), la gravedad en

AC
metros/segundo2 (m/s2 ) y el tiempo en segundos (s).


M

AS

PE
Se pide que desarrolle un pseudocódigo que analice dos escenarios de un movimiento parabólico para el
lanzamiento de una pelota. RA

CI
G

L
EN

DE
O

Para el primer escenario, debe:


PR

CI
• solicitar la velocidad inicial en metros/segundos (m/s) y el ángulo de tiro en grados sexagesimales

CA
• validar si la velocidad es positiva y si el ángulo es positivo y menor de 360°.
ES
DE

LI
• luego de la validación de los datos, calcule la altura en metros, la distancia en kilómetros y el tiempo
L

en segundos.

S

A
TO

ER

Para el segundo escenario, debe:


CA
EN

EN

• solicitar la velocidad inicial en kilómetros/hora (km/h) y el tiempo en minutos (min)


D

• validar que ambos valores sean positivos.


AM

DA

• luego de la validación de los datos, debe calcular el ángulo en grados sexagesimales, la altura en
S

metros y la distancia en kilómetros.


ND

SI
DI

Finalmente, si os datos son válidos en los dos escenarios, debe identificar en cuál de ellos la pelota alcanza
ER
FU

una mayor altura.


TU

IV

Recuerde:
ES

UN

para realizar los cálculos correctos debe usar las mismas unidades, por lo cual debe realizar las conver-
IA

siones necesarias.
IC

En PseInt la función sen cálcula el seno de un ángulo dado en radianes y la función asen calcula el arcoseno
IF

de un número devolviendo el ángulo en radianes.


NT

Conversión de unidades
PO

360◦ =2π radianes


1 minuto = 60 segundos
1 kilómetro/hora = 5/18 metros/segundo
π = 3.141592
Capítulo 2: Ejercicios propuestos 70

Use los siguientes casos de prueba para verificar si su solución está correcta.

Caso de prueba 1

*** Ejecución Iniciada. ***


Datos escenario 1:
Ingrese la velocidad inicial de la pelota (m/s):
> 26
Ingrese el ángulo de tiro de la pelota (grados sexagesimales):
> 80
Resultados Escenario 1
Altura: 33.4157036608
Distancia: 0.0235683605 km
Tiempo: 5.220183808 s

N
Datos Escenario 2


Ingrese la velocidad inicial de la pelota (km/h):
> 200

AC
Ingrese el tiempo que la pelota se encuentra en el aire (minutos):


> 0.11

AS
Resultados Escenario 2

PE
Ángulo: 35.6416582249 grados sexagesimales
RA

CI
Altura: 53.41545 m
G

L
Distancia: 0.2979816767 km

EN

DE
O

En el escenario 2 la pelota alcanza una altura mayor


PR

la diferencia entre las alturas es: 19.9997463392 m CI


*** Ejecución Finalizada. ***

CA
ES
DE

LI
Caso de prueba 2
L


S

*** Ejecución Iniciada. ***


TO

ER

Datos escenario 1:
CA

Ingrese la velocidad inicial de la pelota (m/s):


EN

EN

> 12
D

Ingrese el ángulo de tiro de la pelota (grados sexagesimales):


AM

DA

> -5
S

Para el escenario 1 los datos no son válidos


ND

SI

Datos Escenario 2
DI

ER

Ingrese la velocidad inicial de la pelota (km/h):


FU

> 180
TU

IV

Ingrese el tiempo que la pelota se encuentra en el aire (minutos):


> 0.15
ES

UN

Resultados Escenario 2
Ángulo: 61.9941921721 grados sexagesimales
IA

Altura: 99.32625 m
Distancia: 0.2113024774 km
IC

*** Ejecución Finalizada. ***


IF
NT
PO
Capítulo 2: Ejercicios propuestos 71

Caso de prueba 3

*** Ejecución Iniciada. ***


Datos escenario 1:
Ingrese la velocidad inicial de la pelota (m/s):
> 20
Ingrese el ángulo de tiro de la pelota (grados sexagesimales):
> 75
Resultados Escenario 1
Altura: 19.0216656859
Distancia: 0.0203873598 km
Tiempo: 3.9385354793 s
Datos Escenario 2
Ingrese la velocidad inicial de la pelota (km/h):

N
> -4


Ingrese el tiempo que la pelota se encuentra en el aire (minutos ):
> 10

AC
Para el escenario 2 los datos no son válidos


*** Ejecución Finalizada. ***

AS

PE
RA

CI
Caso de prueba 4
G

L
EN
*** Ejecución Iniciada. ***

DE
O

Datos escenario 1:
PR

Ingrese la velocidad inicial de la pelota (m/s): CI

CA
> 40
ES
DE

Ingrese el ángulo de tiro de la pelota (grados sexagesimales):

LI
> 89.9
L


S

Resultados Escenario 1
TO

ER

Altura: 81.5491909341
CA

Distancia: 0.0005693213 km
EN

EN

Tiempo: 8.1549315141 s
Datos Escenario 2
D
AM

Ingrese la velocidad inicial de la pelota (km/h):


DA

> 180
S
ND

Ingrese el tiempo que la pelota se encuentra en el aire (minutos ):


O

SI

> 0.09
DI

ER
FU

Resultados Escenario 2.
TU

Ángulo: 31.9878893593 grados sexagesimales


IV

Altura: 35.75745 m
ES

UN

Distancia: 0.2290032234 km
En el escenario 1 la pelota alcanza una altura mayor o igual
la diferencia entre las alturas es: 45.7917409341 m
IA

*** Ejecución Finalizada. ***


IC
IF

2.3.24. Elipse (adaptado del laboratorio 2 2021-2)


NT

En la Figura 2.3 se muestra una elipse en el plano cartesiano con semiejes semieje_a y semieje_b y centro en
PO

el punto (centrox,centroy).
En la figura 2.4 se muestra una elipse donde el punto P1(x1,y1) se encuentra dentro de la elipse, el punto
P2(x2,y2) se encuentra en la elipse y el punto P3(x3,y3) se encuentra fuera de la elipse. Un punto pertenece a
la elipse cuando este se evalúa en la ecuación ordinaria de la elipse siendo el resultado 1, el punto se encuentra
dentro de la elipse si el resultado es menor a 1 y el punto se encuentra fuera de la elipse si el resultado es
mayor a 1.
Capítulo 2: Ejercicios propuestos 72

Figura 2.3: Elipse

N

AC


M

AS

PE
RA

CI
G

L
EN

DE
O
PR

Figura 2.4: Focos de la elipseCI

CA
ES
DE

En la figura 2.4 también se muestran los focos de la elipse foco_1 y foco_2, los cuales son puntos fijos que

LI
L

generan la elipse. La suma de las distancias de cualquier punto de la elipse a los focos es igual a 2 veces el

S

semieje_a: distancia_1 + distancia_2 = 2 × semieje_a, esta afirmación se conoce como la propiedad de la


TO

ER

elipse. Para calcular las coordenadas de los focos tenga en cuenta que la ordenada es la misma y las abcisas se
CA

obtienen con las fórmulas descritas en la tabla ”Ecuaciones de la elipse y fórmulas para calcular las abscisas
EN

EN

de los focos”
D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO
Capítulo 2: Ejercicios propuestos 73

Ecuaciones de la elipse y fórmulas para calcular las abscisas de los focos

Ecuación ordinaria de la elipse:

(x − centrox)2 (y − centroy)2
2
+ =1
semieje_a semieje_b2

Ecuación paramétrica de la elipse en el eje x:

x = centrox + semieje_a × cos(angulo)

Despejando angulo en la ecuación anterior:


x − centrox
angulo = acos( )
semieje_a

N

Ecuación paramétrica de la elipse en el eje y:

AC
y = centroy + semieje_b × sen(angulo)


M
Distancia del centro de la elipse (centrox) a los focos: (f1x y f2x):

AS

PE
p
RA

CI
distancia_centro_f oco = semieje_a2 − semieje_b2
G

L
EN
Fórmula para calcular las abscisa del foco_1:

DE
O
PR

CI
f 1x = centrox − distancia_centro_f oco

CA
ES
Fórmula para calcular las abscisa del foco_1:
DE

LI
L

f 2x = centrox + distancia_centro_f oco



S

A
TO

ER

Propiedad de la elipse:
CA
EN

EN

distancia_1 + distancia_2 = 2 × semieje_a


D
AM

DA

Fórmulas para calcular el área y el perímetro


S
ND

SI

Fórmula para calcular el área


DI

ER
FU

TU

area = π × semieje_a × semieje_b


IV
ES

Fórmula 1, para calcular el perímetro:


UN

r
semieje_a2 + semieje_b2
perimetro = 2 × π ×
IA

2
IC

Fórmula 2, para calcular el perímetro:


IF

3×H 4 14
perimetro ≈ π × (semieje_a + semieje_b) × (1 + √ + ( − ) × H 12 )
NT

10 + 4−3×H π 11

Donde H, se calcula con:


PO

semieje_a − semieje_b 2
H=( )
semieje_a + semieje_b

Se pide que desarrolle un pseudocódigo que:


Capítulo 2: Ejercicios propuestos 74

solicite el punto del plano cartesiano del centro de la elipse y los semiejes respectivos
valide que los semiejes son positivos y que el semieje_a es mayor que el semieje_b

si los datos son válidos calcule el área y el perímetro de la misma. Para el perímetro debe usar las dos
fórmulas descritas anteriormente y mostrar la diferencia entre los resultados.
si los datos no son válidos muestre el mensaje "Los semiejes ingresados deben ser positivos y el semieje_a
mayor que el semieje_b"
si los datos fueron válidos, luego de realizar los cálculos de área y perímetro, solicite un punto en el plano
cartesiano y determine si el punto se encuentra dentro de la elipse, pertenece a la elipse o se encuentra
fuera de la elipse.
finalmente, si el punto pertenece a la elipse calcule el valor del ángulo de las ecuaciones paramétricas de
la elipse (en grados sexagesimales), calcule los puntos de los focos y muestre si se cumple la propiedad

N
de la elipse, evaluando la fórmula respectiva desde el punto ingresado. Recuerde que 360◦ =2π radianes.


AC
En PseInt la función acos calcula el arcoseno de un número devolviendo el ángulo en radianes y la función abs


calcula el valor absoluto de un número.

AS
Para calcular el área y el perímetro de la elipse use las fórmulas descritas en la tabla ”Fórmulas para calcular

PE
el área y el perímetro” RA

CI
G

L
Recuerde que el resultado de la comparación de números reales a través de la igualdad no es preciso, por lo

EN

DE
O

cual debe usar el valor absoluto de la diferencia de los números que se desean comparar. Si esta diferencia es
PR

cercana a cero, se puede asumir que son iguales, para realizar esta comparación use el valor 0.0001.
CI

CA
Use los siguientes casos de prueba para verificar si su solución está correcta.
ES
DE

LI
Caso de prueba 1
L


S

*** Ejecución Iniciada. ***


TO

ER

Ingrese el centro de la elipse:


CA

>3
EN

EN

> -1
D

Ingrese los semiejes:


AM

DA

>5
S

>4
ND

SI

Cálculos de la elipse:
DI

El área de la elipse es 62.8318530718


ER
FU

El perímetro de la elipse según la fórmula 1 es 28.4483314254


TU

El perímetro de la elipse según la fórmula 2 es 28.361667889


IV

La diferencia entre los perímetros es 0.0866635364


ES

UN

Ingrese un punto para verificar su posición


> 5.5
> 2.46410118
IA

El punto ingresado es parte de la elipse


IC

El ángulo de las ecuaciones paramétricas de la elipse es 60 grados sexagesimales


Coordenadas de los focos: (0,-1) y (6,-1)
IF

Se cumple la propiedad de la elipse


NT

*** Ejecución Finalizada. ***


PO
Capítulo 2: Ejercicios propuestos 75

Caso de prueba 2

*** Ejecución Iniciada. ***


Ingrese el centro de la elipse:
> 2.5
>1
Ingrese los semiejes:
>6
> 3.5
Cálculos de la elipse:
El área de la elipse es 65.9734457254
El perímetro de la elipse según la fórmula 1 es 30.861251185
El perímetro de la elipse según la fórmula 2 es 30.3641157796
La diferencia entre los perímetros es 0.4971354054

N
Ingrese un punto para verificar su posición


>4
> 4.3888

AC
El punto ingresado es parte de la elipse


El ángulo de las ecuaciones paramétricas de la elipse es 75.5224878141 grados sexagesimales

AS
Coordenadas de los focos: (-2.3733971724,1) y (7.3733971724,1)

PE
Se cumple la propiedad de la elipse RA

CI
*** Ejecución Finalizada. ***
G

L
EN

DE
O
PR

Caso de prueba 3
CI

CA
*** Ejecución Iniciada. ***
ES
DE

Ingrese el centro de la elipse:

LI
>2
L


S

>2
TO

ER

Ingrese los semiejes:


CA

> 6.5
EN

EN

> 2.5
Cálculos de la elipse:
D
AM

El área de la elipse es 51.0508806208


DA

El perímetro de la elipse según la fórmula 1 es 30.9410993164


S
ND

El perímetro de la elipse según la fórmula 2 es 29.6887600509


O

SI

La diferencia entre los perímetros es 1.2523392655


DI

ER
FU

Ingrese un punto para verificar su posición


TU

>1
IV

>1
ES

UN

El punto ingresado está dentro de la elipse


*** Ejecución Finalizada. ***
IA
IC
IF
NT
PO
Capítulo 2: Ejercicios propuestos 76

Caso de prueba 4

*** Ejecución Iniciada. ***


Ingrese el centro de la elipse:
> -3.4
> -2.1
Ingrese los semiejes:
> 5.5
> 2.2
Cálculos de la elipse:
El área de la elipse es 38.0132711084
El perímetro de la elipse según la fórmula 1 es 26.3182225249
El perímetro de la elipse según la fórmula 2 es 25.3144240982
La diferencia entre los perímetros es 1.0037984267

N
Ingrese un punto para verificar su posición


> 10
> 10

AC
El punto ingresado está fuera de la elipse


*** Ejecución Finalizada. ***

AS

PE
RA

CI
Caso de prueba 5
G

L
EN
*** Ejecución Iniciada. ***

DE
O

Ingrese el centro de la elipse:


PR

> -2.5 CI

CA
> -3.4
ES
DE

Ingrese los semiejes:

LI
>4
L


S

> 7.5
TO

ER

Los semiejes ingresados deben ser positivos y el semieje_a mayor que el semieje_b.
CA

*** Ejecución Finalizada. ***


EN

EN

D
AM

DA

2.3.25. Movimiento armónico simple (adaptado del laboratorio 2 2021-2)


S
ND

SI

El movimiento armónico simple (M.A.S), como se muestra en la figura 2.5, corresponde al movimiento de un
DI

ER

móvil oscilatorio y periódico, la aceleración señala hacia la posición de equilibrio y es directamente proporcional
FU

a la distancia del objeto a la posición de equilibrio.


TU

IV

Las fórmulas asociadas a este movimiento se describen en la tabla "Fórmulas del movimiento armónico simple".
ES

UN
IA
IC
IF
NT
PO

Figura 2.5: Movimiento armónico simple. Imagen basada en la URL [Link]


movimiento-armonico-simple-mas-ejercicios-resueltos/.
Capítulo 2: Ejercicios propuestos 77

Fórmulas del movimiento armónico simple

distancia = amplitud ∗ sen(f recuencia ∗ tiempo + f ase)


velocidad = amplitud ∗ f recuencia ∗ cos(f recuencia ∗ tiempo + f ase)
p
velocidad = f recuencia ∗ amplitud2 − distancia2
aceleracion = −amplitud ∗ f recuencia2 ∗ cos(f recuencia ∗ tiempo + f ase)
Despejando la fase en la fórmula de la velocidad:

f ase = acos(velocidad/(amplitud ∗ f recuencia)) − f recuencia ∗ tiempo

Donde: frecuencia, corresponde a la frecuencia cícilica y fase es la fase inicial del M.A.S .
La distancia y la amplitud se miden en metros (m), la frecuencia en radianes/segundo

N
(rad/s), el tiempo en segundos (s), la fase inicial en radianes (rad), la velocidad en metro-


s/segundo (m/s) y la aceleración en metros/segundo2 (m/s2 ).

AC


M
Se pide que desarrolle un pseudocódigo que analice dos escenarios de un movimiento armónico simple para

AS

PE
un móvil.
RA

CI
G
Para el primer escenario, debe:

L
EN

DE
O

• solicitar la magnitud en metros (m), la frecuencia cíclica en radianes/segundo (rad/s), la fase inicial
PR

en grados sexagesimales y el tiempo en minutos (min). CI

CA
• validar si todos los datos son positivos y si la fase inicial es menor de 360°.
ES
DE

• luego de la validación de los datos, calcule la distancia en metros, la velocidad en metros/segundo

LI
L

y la aceleración en metros/segundo2 .

S

A
TO

ER

Para el segundo escenario, debe:


CA

• solicitar la velocidad inicial en metros/hora (m/h), la amplitud en metros(m), la distancia en cen-


EN

EN

tímetros (cm) y el tiempo de vuelo en segundos (s)


D
AM

• validar que ambos valores sean positivos y que la amplitud sea menor de 100 m.
DA

• luego de la validación de los datos, debe calcular la frecuencia cíclica en radianes/segundo, la fase
S
ND

SI

inicial en radianes y la aceleración en metros/segundo2 ..


DI

ER
FU

Finalmente, si los datos ingresados para los dos escenarios fueron válidos, debe identificar en cuál de ellos
TU

la aceleración del móvil es mayor.


IV
ES

UN

Recuerde:

para realizar los cálculos correctos debe usar las mismas unidades, por lo cual debe realizar las conver-
IA

siones necesarias.
IC
IF

En PseInt la función sen cálcula el seno de un ángulo dado en radianes y la función acos calcula el arcocoseno
de un número devolviendo el ángulo en radianes.
NT

Conversión de unidades
PO

360◦ =2π radianes


1 minuto = 60 segundos
1 hora = 3600 segundos
1 metro = 100 centímetros
π = 3.141592
Capítulo 2: Ejercicios propuestos 78

Use los siguientes casos de prueba para verificar si su solución está correcta.

Caso de prueba 1

*** Ejecución Iniciada. ***


Datos Escenario 1:
Ingrese la amplitud (m):
> 0.4
Ingrese la frecuencia cíclica (rad/s):
> 3.141592
Ingrese la fase inicial (grados sexagesimales):
> 45
Ingrese el tiempo (min):
> 0.5

N
Resultados Escenario 1


Distancia 0.2828371665 m
Velocidad 0.8885938255 m/s

AC
Aceleración -2.7915445183 m/s2


Datos Escenario 2

AS
Ingrese la velocidad (m/h):

PE
> 1500
RA

CI
Ingrese la amplitud (m):
G

L
> 0.5

EN

DE
O

Ingrese la distancia (cm):


PR

> 25 CI
Ingrese el tiempo (s):

CA
> 32
ES
DE

Resultados Escenario 2

LI
L

Frecuencia cíclica 0.9622504486 rad/s



S

Fase inicial -30.2684155812 rad


TO

ER

Aceleración -0.2314814815 m/s2


CA

En el escenario 2 la aceleración es mayor o igual que el escenario 1, la diferencia entre las aceleraciones
EN

EN

es: 2.5600630368 m/s2


D

*** Ejecución Finalizada. ***


AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO
Capítulo 2: Ejercicios propuestos 79

Caso de prueba 2

*** Ejecución Iniciada. ***


Datos Escenario 1:
Ingrese la amplitud (m):
> 13
Ingrese la frecuencia cíclica (rad/s):
> -45
Ingrese la fase inicial (grados sexagesimales):
> -89.6
Ingrese el tiempo (min):
> -3
Para el escenario 1 los datos no son válidos
Datos Escenario 2

N
Ingrese la velocidad (m/h):


> 12
Ingrese la amplitud (m):

AC
> 4.5


Ingrese la distancia (cm):

AS
> 120

PE
Ingrese el tiempo (s): RA

CI
> 34
G

L
EN
Resultados Escenario 2

DE
O

Frecuencia cíclica 0.0007685716 rad/s


PR

Fase inicial 0.2438013605 rad CI

CA
Aceleración -0.0000007088 m/s2
ES
DE

*** Ejecución Finalizada. ***

LI
L


S

Caso de prueba 3
TO

ER

CA

*** Ejecución Iniciada. ***


EN

EN

Datos Escenario 1:
Ingrese la amplitud (m):
D
AM

> 2.5
DA

Ingrese la frecuencia cíclica (rad/s):


S
ND

> 1.8
O

SI

Ingrese la fase inicial (grados sexagesimales):


DI

ER
FU

>5
TU

Ingrese el tiempo (min):


IV

> 3.9
ES

UN

Resultados Escenario 1
Distancia 0.7718092232 m
Velocidad 4.2801829511 m/s
IA

Aceleración -2.5006618831 m/s2


IC

Datos Escenario 2
Ingrese la velocidad (m/h):
IF

> -3.7
NT

Ingrese la amplitud (m):


> 5.6
PO

Ingrese la distancia (cm):


> 10
Ingrese el tiempo (s):
> -2
Para el escenario 2 los datos no son válidos
*** Ejecución Finalizada. ***
Capítulo 2: Ejercicios propuestos 80

Caso de prueba 4

*** Ejecución Iniciada. ***


Datos Escenario 1:
Ingrese la amplitud (m):
> 1.1
Ingrese la frecuencia cíclica (rad/s):
> 0.7532
Ingrese la fase inicial (grados sexagesimales):
> 0.59
Ingrese el tiempo (min):
> 0.76
Resultados Escenario 1
Distancia 0.2199394568 m

N
Velocidad 0.8117898036 m/s


Aceleración -0.124773906 m/s2
Datos Escenario 2

AC
Ingrese la velocidad (m/h):


> 4240

AS
Ingrese la amplitud (m):

PE
> 0.8 RA

CI
Ingrese la distancia (cm):
G

L
EN
> 27.9

DE
O

Ingrese el tiempo (s):


PR

> 36.5 CI

CA
Resultados Escenario 2
ES
DE

Frecuencia cíclica 1.5708465836 rad/s

LI
Fase inicial -56.9796632672 rad
L

Aceleración -0.688448958 m/s2



S

A
TO

En el escenario 2 la aceleración es menor que el escenario 1


ER

la diferencia entre las aceleraciones es: 0.563675052 m/s2


CA
EN

*** Ejecución Finalizada. ***


EN

D
AM

DA
S

2.3.26. Semejanza de triángulos (adaptado del laboratorio 2 2021-2)


ND

SI
DI

Los triángulos que se muestran en la Figura 2.6 son semejantes si se cumplen algunas de las afirmaciones de
ER
FU

la tabla "Semejanza de triángulos".


TU

IV
ES

UN
IA
IC
IF
NT
PO

Figura 2.6: Semejanza de triángulos


Capítulo 2: Ejercicios propuestos 81

Semejanza de triángulos

Tienen dos ángulos iguales, como:

anguloA = anguloA′

anguloB = anguloB ′
Tienen sus tres lados proporcionales
ladox ladoy ladoz
= =
ladox′ ladoy ′ ladoz ′
Tienen 2 lados proporcionales y el ángulo que forman estos lados es igual
ladox ladoy

N

=
ladoy ′


ladox

AC
anguloC = anguloC ′


M

AS
Las razones trigonométricas en un triángulo rectángulo se muestran en la tabla 2.3.26 .

PE
RA

CI
G
Razones trigonométricas

L
EN

DE
O
PR

cateto_opuesto
sen(angulo) =
hipotenusa
CI

CA
Despejando cateto_opuesto en la ecuación anterior:
ES
DE

LI
L

cateto_opuesto = sen(angulo) × hipotenusa



S

A
TO

ER

cateto_contiguo
cos(angulo) =
CA

hipotenusa
EN

EN

Despejando cateto_contiguo en la ecuación anterior:


D
AM

DA

cateto_contiguo = cos(angulo) × hipotenusa


S
ND

SI
DI

En la figura 2.7, que describe el escenario 1, se muestran dos postes cuya ubicación y la línea de sus respectivas
ER
FU

sombras forman 2 triángulos que cumplen con la semejanza de triángulos.


TU

IV

En la figura 2.8, se complementa el escenario 1 con un edificio que forma un triángulo rectángulo.
ES

UN

Se pide que desarrolle un pseudocódigo que analice los escenarios descritos en las figuras 2.7 y 2.8, usando
la semejanza de triángulo y las razones trigonométricas.
IA

Para el primer escenario descrito en la figura 2.7, debe:


IC

• solicitar la altura del poste 1 en centímetros (cm), el seno del ángulo poste (formado entre el piso
IF

y la línea de la sombra de los edificios), la distancia entre los postes en metros (m) y la distancia
NT

entre el segundo poste y el punto del ángulo en centímetros (cm).


• validar si todos los datos son positivos y si el seno del ángulo es menor que 1
PO

• luego de la validación de los datos, calcule la altura del segundo poste en metros, la distancia del
primer poste al punto del ángulo en metros, el ángulo que se forma entre el piso y la línea de sombra
de los edificios en grados sexagesimales, el ángulo que se forma entre los edificios y la línea de sombra
de los edificios en grados sexagesimales y la longitud de la línea de la sombra en metros.
Para la parte adicional al primer escenario, que se muestra en el segundo escenario descrito en la figura
2.7, debe:
Capítulo 2: Ejercicios propuestos 82

N

AC
Figura 2.7: Escenario 1


M

AS

PE
RA

CI
G

L
EN

DE
O
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI

Figura 2.8: Escenario 2


DI

ER
FU

TU

• solicitar la hipotenusa del triángulo en decímetros y el ángulo eficio en grados sexagesimales.


IV

• validar que ambos valores sean positivos y que el ángulo sea menor a 90 grados sexagesimales.
ES

UN

• luego de la validación de los datos, debe calcular la altura y base del edificio en metros.
IA

Finalmente, si los datos ingresados para los dos escenarios fueron válidos, debe identificar si la altura del
edifcio es mayor o igual que las alturas de los postes o si es menor que ellos.
IC
IF

Recuerde:
NT

si tiene el seno de un ángulo puede usar el arcoseno para hallar el ángulo en radianes.
PO

el Teorema de Pitágoras: ”el cuadrado de la hipotenusa es igual a la suma de los cuadrados de los catetos”.
para realizar los cálculos correctos debe usar las mismas unidades, por lo cual debe realizar las conver-
siones necesarias.

En PseInt la función sen cálcula el seno de un ángulo dado en radianes, la función cos calcula el coseno de un
ángulo dado en radianes y la función asen calcula el arcoseno de un número devolviendo el ángulo en radianes.
Capítulo 2: Ejercicios propuestos 83

Conversión de unidades
360◦ =2π radianes
1 metro = 100 centímetros
1 metro = 10 decímetros
π = 3.141592

Use los siguientes casos de prueba para verificar si su solución está correcta.

Caso de prueba 1

*** Ejecución Iniciada. ***


Datos del escenario 1
Ingrese la altura del poste 1 (en centímetros):

N
> 1500


Ingrese el seno del ángulo entre el piso y la sombra de los edificios:

AC
> 0.5


Ingrese la distancia entre los postes (en metros):

M
> 100

AS

PE
Ingrese la distancia entre el segundo poste y el punto del ángulo (en centímetros):
> 50000 RA

CI
Resultados del escenario 1
G

L
EN
La altura del segundo poste es 12.5 m

DE
O

La distancia del primer poste al punto del ángulo es 600 m


PR

CI
El ángulo que se forma entre el piso y la línea de sombra de los edificios es 30 grados sexagesimales

CA
El ángulo que se forma entre los edificios y la línea de sombra de los edificios es 60 grados sexagesimales
ES
DE

La longitud de la línea de la sombra es 600.1874707123 m

LI
Datos del escenario 2
L


S

Ingrese la hipotenusa del triángulo (en decímetros):


TO

ER

> 4000
CA

Ingrese el ángulo inferior del triángulo (en grados sexagesimales):


EN

EN

>40
Resultado del escenario 2
D
AM

La altura del edificio es 257.1150438746 m


DA

La base del edificio es 306.4177772476 m


S
ND

El edificio es más alto o de la misma altura que los postes


O

SI

*** Ejecución Finalizada. ***


DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO
Capítulo 2: Ejercicios propuestos 84

Caso de prueba 2

*** Ejecución Iniciada. ***


Datos del escenario 1
Ingrese la altura del poste 1 (en centímetros):
> 1000
Ingrese el seno del ángulo entre el piso y la sombra de los edificios:
> 2.34
Ingrese la distancia entre los postes (en metros):
> 50
Ingrese la distancia entre el segundo poste y el punto del ángulo (en centímetros):
> 1000
Los datos ingresados del escenario 1 no son válidos
Datos del escenario 2

N
Ingrese la hipotenusa del triángulo (en decímetros):


> 100
Ingrese el ángulo inferior del triángulo (en grados sexagesimales):

AC
> 56.5


Resultado del escenario 2

AS
La altura del edificio es 8.3388582207 m

PE
La base del edificio es 5.5193698531 m RA

CI
*** Ejecución Finalizada. ***
G

L
EN

DE
O
PR

Caso de prueba 3
CI

CA
*** Ejecución Iniciada. ***
ES
DE

Datos del escenario 1

LI
Ingrese la altura del poste 1 (en centímetros):
L


S

> 10000
TO

ER

Ingrese el seno del ángulo entre el piso y la sombra de los edificios:


CA

> 0.23
EN

EN

Ingrese la distancia entre los postes (en metros):


> 35.6
D
AM

Ingrese la distancia entre el segundo poste y el punto del ángulo (en centímetros):
DA

> 20000
S
ND

Resultados del escenario 1


O

SI

La altura del segundo poste es 84.8896434635 m


DI

ER
FU

La distancia del primer poste al punto del ángulo es 235.6 m


TU

El ángulo que se forma entre el piso y la línea de sombra de los edificios es 13.2970717472 grados
IV

sexagesimales
ES

UN

El ángulo que se forma entre los edificios y la línea de sombra de los edificios es 76.7029282528 grados
sexagesimales
La longitud de la línea de la sombra es 255.9440563873 m
IA

Datos del escenario 2


IC

Ingrese la hipotenusa del triángulo (en decímetros):


> 345
IF

Ingrese el ángulo inferior del triángulo (en grados sexagesimales):


NT

> -45
Los datos ingresados del escenario 2 no son válidos
PO

*** Ejecución Finalizada. ***


Capítulo 2: Ejercicios propuestos 85

Caso de prueba 4

*** Ejecución Iniciada. ***


Datos del escenario 1
Ingrese la altura del poste 1 (en centímetros):
> 1000
Ingrese el seno del ángulo entre el piso y la sombra de los edificios:
> 0.3
Ingrese la distancia entre los postes (en metros):
>1
Ingrese la distancia entre el segundo poste y el punto del ángulo (en centímetros):
> 400
Resultados del escenario 1
La altura del segundo poste es 8 m

N
La distancia del primer poste al punto del ángulo es 5 m


El ángulo que se forma entre el piso y la línea de sombra de los edificios es 17.4576031237 grados
sexagesimales

AC
El ángulo que se forma entre los edificios y la línea de sombra de los edificios es 72.5423968763 grados


sexagesimales

AS
La longitud de la línea de la sombra es 11.1803398875 m

PE
Datos del escenario 2 RA

CI
Ingrese la hipotenusa del triángulo (en decímetros):
G

L
EN
> 145.5

DE
O

Ingrese el ángulo inferior del triángulo (en grados sexagesimales):


PR

> 32.3 CI

CA
Resultado del escenario 2
ES
DE

La altura del edificio es 7.7748266836 m

LI
La base del edificio es 12.2985596734 m
L

El edificio tiene menos altura que los postes



S

A
TO

*** Ejecución Finalizada. ***


ER

CA
EN

EN

2.3.27. Las capas de la esfera (adaptado del laboratorio 5 2021-1)


AM

DA

Se tiene una esfera que presenta 4 capas de distintos colores: rojo (R), azul (A), verde (V) y amarillo (M). El
S
ND

SI

centro de dicha esfera se encuentra en el origen de coordenadas (0.00, 0.00, 0.00). (ver figura 2.9)
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO

Figura 2.9: Capas

Se pide que elabore un programa en C que permita al usuario ingresar las coordenadas de un punto en el
espacio y calcule la distancia del punto al origen de coordenadas e identificar el color de la capa donde está
situado dicho punto.
Capítulo 2: Ejercicios propuestos 86

Para hallar la distancia entre dos puntos en el espacio considerar la siguiente fórmula:
p
distancia = (x2 − x1 )2 + (y2 − y1 )2 + (z2 − z1 )2

Para identificar el color de la capa donde está situado un punto de coordenadas, considerar la tabla que se
muestra en la figura 2.10)

N

AC


Figura 2.10: Rango de distancias

AS

PE
Caso de prueba 1 RA

CI
G

L
EN
Ingrese las coordenadas del punto

DE
O

Coordenada x: 1.00
PR

Coordenada y: 2.00 CI

CA
Coordenada z: 3.00
ES
DE

La distancia del punto al origen es: 3.74

LI
El punto cae en el área de color –R
L


S

A
TO

ER

CA

Caso de prueba 2
EN

EN

Ingrese las coordenadas del punto


D
AM

Coordenada x: 5.00
DA

Coordenada y: 2.00
S

Coordenada z: 1.00
ND

SI

La distancia del punto al origen es: 5.48


DI

ER

El punto cae en el área de color -A


FU

TU

IV
ES

UN

Caso de prueba 3

Ingrese las coordenadas del punto


IA

Coordenada x: 5.00
Coordenada y: 5.00
IC

Coordenada z: 22.00
IF

La distancia del punto al origen es: 23.11


NT

El punto cae en el área de color –V


PO

2.3.28. Circunferencias y rectas (adaptado del laboratorio 5 2021-2)

Se le pide implementar un programa en lenguaje C que permita al usuario ingresar la letra “A” o “B” (también
podría ingresar la letra en minúscula) para elegir entre: determinar si dos circunferencias se cruzan o determinar
la relación entre dos rectas.
Capítulo 2: Ejercicios propuestos 87

Si ingresa la opción “A” o “a” debe determinar si dos circunferencias de la forma x2 + y 2 + Cx + Dy + E = 0


se cruzan; para ello, debe realizar lo siguiente:

Solicitar al usuario que ingrese los coeficientes C, D y E de dos circunferencias de la forma x2 + y 2 +


Cx + Dy + E = 0.
Deberá mostrar si las circunferencias se cruzan o no.

Si ingresa la opción “B” o “b” debe determinar si las rectas ingresadas son coincidentes, paralelas o secantes;
para ello debe realizar lo siguiente:

Solicitar al usuario que ingrese los coeficientes A, B y C de dos rectas de la forma Ax + By + C = 0.


Deberá mostrar si las rectas son coincidentes, paralelas o secantes.

N

El programa debe mostrar mensajes específicos ante las siguientes situaciones:

AC


Al ingresar la opción debe verificar que sea “A” o “B” (también podría ingresar la letra en minúscula). En

AS
caso no se cumpla, se deberá emitir el siguiente mensaje “Error en la opción ingresada.” y el programa

PE
debe terminar.
RA

CI
Debe validar que el usuario ingrese datos correctos según corresponda y mostrar el mensaje de error
G

L
EN
respectivo (ver los casos de prueba).

DE
O
PR

Recordar que:
CI

CA
ES
DE

Para determinar si dos circunferencias se cruzan debe tener en cuenta lo siguiente:

LI
L

Si la suma de los radios de las circunferencias es mayor o igual que la distancia entre sus centros,

S

entonces las circunferencias se cruzan; es decir:


TO

ER

CA

radio1 + radio2 >= distancia


EN

EN

donde:
AM

DA

• radio1 es el radio de la circunferencia 1.


S
ND

• radio2 es el radio de la circunferencia 2.


SI
DI

ER

• distancia es la distancia entre los centros de las circunferencias.


FU

TU

Para calcular el radio (r) y el centro de la circunferencia (h,k) debe tener en cuenta que:
IV
ES

• h = −(C/2)
UN

• k = −(D/2)

IA

• r = h2 + k 2 − E
IC

La distancia entre dos puntos se calcula mediante:


IF

p
distancia = (x2 − x1 )2 + (y2 − y1 )2
NT
PO
Capítulo 2: Ejercicios propuestos 88

Recordar que:

Dadas dos rectas: A1 x + B1 y + C1 = 0 y A2 x + B2 y + C2 = 0


Son coincidentes si:
A1 B1 C1
= =
A2 B2 C2

Son paralelas si:

A1 B1 C1
= ̸=
A2 B2 C2

Son secantes si:

N
A1 B1


̸=
A2 B2

AC


M

AS
Nota:

PE
RA
En el problema planteado, para comparar dos números decimales considere que son iguales si la dife-

CI
rencia entre ellos es menor o igual a un margen de error establecido de 0,01.
G

L
EN

DE
O
PR

Caso de prueba 1
CI

CA
ES
DE

Ingrese la opcion que desea calcular:

LI
Circunferencias que se intersectan (A o a)
L


S

Relación entre rectas (B o b)


TO

ER

R
CA

Error en la opción ingresada.


EN

EN

Caso de prueba 2
AM

DA

Ingrese la opcion que desea calcular:


S
ND

Circunferencias que se cruzan (A o a)


SI
DI

Relación entre rectas (B o b)


ER
FU

a
TU

Ingrese los coeficientes C, D y E de la circunferencia 1 (x2 + y 2 + Cx + Dy + E):2 -8 13


IV

Ingrese los coeficientes C, D y E de la circunferencia 2 (x2 + y 2 + Cx + Dy + E):-40 8 79


ES

UN

Las circunferencias no se cruzan.


IA

Caso de prueba 3
IC

Ingrese la opcion que desea calcular:


Circunferencias que se cruzan (A o a)
IF

Relación entre rectas (B o b)


NT

A
Ingrese los coeficientes C, D y E de la circunferencia 1 (x2 + y 2 + Cx + Dy + E):10 5 -1
PO

Ingrese los coeficientes C, D y E de la circunferencia 2 (x2 + y 2 + Cx + Dy + E):4 -5 1


Las circunferencias se cruzan
Capítulo 2: Ejercicios propuestos 89

Caso de prueba 4

Ingrese la opcion que desea calcular:


Circunferencias que se intersectan (A o a)
Relación entre rectas (B o b)
b
Ingrese los coeficientes A, B y C de la recta 1 (Ax + By + C = 0):62.82 62.94 -11202.84
Ingrese los coeficientes A, B y C de la recta 2 (Ax + By + C = 0):-23.42 -30.74 7445.18
Las rectas son secantes.

Caso de prueba 5

Ingrese la opcion que desea calcular:


Circunferencias que se intersectan (A o a)

N
Relación entre rectas (B o b)


b
Ingrese los coeficientes A, B y C de la recta 1 (Ax + By + C = 0):67.82 62.94 -30776.65

AC
Ingrese los coeficientes A, B y C de la recta 2 (Ax + By + C = 0):67.82 62.94 -47813.37


Las rectas son paralelas.

AS

PE
RA

CI
Caso de prueba 6
G

L
EN
Ingrese la opcion que desea calcular:

DE
O

Circunferencias que se intersectan (A o a)


PR

Relación entre rectas (B o b) CI

CA
b
ES
DE

Ingrese los coeficientes A, B y C de la recta 1 (Ax + By + C = 0):1 -2 3

LI
Ingrese los coeficientes A, B y C de la recta 2 (Ax + By + C = 0):-2 4 -6
L


S

Las rectas son coincidentes.


TO

ER

CA

Caso de prueba 7
EN

EN

Ingrese la opcion que desea calcular:


D
AM

Circunferencias que se intersectan (A o a)


DA

Relación entre rectas (B o b)


S
ND

b
O

SI

Ingrese los coeficientes A, B y C de la recta 1 (Ax + By + C = 0):2 3 -1


DI

ER
FU

Ingrese los coeficientes A, B y C de la recta 2 (Ax + By + C = 0):4 6 -5


TU

Las rectas son paralelas.


IV
ES

UN

2.3.29. Figuras tridimensionales (adaptado del laboratorio 2 2022-1)


IA

En geometría descriptiva, el espacio cuenta con algunas figuras tridimensionales que ocupan un área y un
IC

volumen. Área que es la magnitud geométrica que expresa la extensión de un cuerpo solo en dos dimensiones
IF

que son el largo y ancho; mientras que el volumen corresponde a la extensión del espacio ocupado por el cuerpo
en tres dimensiones.
NT

Se le pide que elabore un algoritmo en pseudocódigo que, dada una opción, identifique el cálculo a realizar,
PO

si es ‘A’ hallará el área y si es ‘V’ hallará el volumen de una figura en particular. Para identificar las figuras
se tienen identificadores: 1 para prisma, 2 para pirámide, 3 para cilindro, 4 para cono y 5 para esfera. Deberá
solicitar al usuario únicamente los datos de entrada que se necesite de acuerdo a la operación a calcula con la
figura seleccionada. Mostrar los mensajes de error en caso se ingrese datos incorrectos.
A continuación, el detalle de las fórmulas para realizar los cálculos con las figuras:
Capítulo 2: Ejercicios propuestos 90

N

AC


M

AS

PE
RA

CI
G

L
EN

DE
O
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S

Caso de prueba
ND

SI
DI

ER

Caso de Prueba 1
FU

Ingrese una opción a evaluar: 1


TU

IV

Ingresó una opción inválida


——————————————————————-
ES

UN

Caso de Prueba 2
Ingrese una opción a evaluar: V
IA

Ingrese el identificador de poliedro: 6


Figura no identificada
IC

——————————————————————-
IF

Caso de Prueba 3
Ingrese una opción a evaluar: V
NT

Ingrese el identificador de poliedro: 3


CILINDRO
PO

Ingrese el radio: 5.2


Ingrese la altura: 7
El volumen del cilindro es: 594.6406574715
——————————————————————-
Capítulo 2: Ejercicios propuestos 91

Caso de prueba

Caso de Prueba 4
Ingrese una opción a evaluar: A
Ingrese el identificador de poliedro: 5
ESFERA
Ingrese el radio: 8.2
El área de la esfera es: 844.9627601095
——————————————————————-
Caso de Prueba 5
Ingrese una opción a evaluar: V
Ingrese el identificador de poliedro: 4
CONO
Ingrese el radio: 2.4

N
Ingrese la altura: 6


El volumen del cono es: 36.1911473694

AC


M
2.3.30. Indicadores de crecimiento (adaptado del laboratorio 2 2022-1)

AS

PE
RA
Mantener un estilo de vida saludable en la actualidad es uno de los mayores retos que tienen los seres humanos.

CI
Por ello, desde el nacimiento, es fundamental realizar revisiones periódicas para validar algunos indicadores
G

L
EN
importantes en el crecimiento de las personas. Entre ellos se encuentran el peso, la talla y el perímetro craneal

DE
O

son evaluados mensualmente cuando nace un ser humano.


PR

CI

CA
A continuación, se tiene la información detallada promedio que debería tenerse en los tres indicadores descritos,
ES
DE

dependiendo de su edad y de si son niños o niñas.

LI
L

NIÑOS Peso medio Talla media Perímetro craneal



S

Recién nacido 3.4 kg 50.3 34.8 cm


TO

ER

3 meses 6.2 kg 60 41.2 cm


CA

6 meses 8 kg 67 44 cm
EN

EN

9 meses 9.2 kg 72 46 cm
D

1 año 10.2 kg 76 47.3 cm


AM

DA

1.25 año 11.1 kg 79 48 cm


S

1.5 año 11.8 kg 82.5 48.7 cm


ND

SI

2 años 12.9 kg 88 49.6 cm


DI

ER

3 años 15.1 kg 96.5 -1


FU

TU

IV

NIÑAS Peso medio Talla media Perímetro craneal


ES

Recién nacida 3.4 kg 50.3 34.1 cm


UN

3 meses 5.6 kg 59 40 cm
6 meses 7.3 kg 65 42.8 cm
IA

9 meses 8.6 kg 70 44.7 cm


1 año 9.5 kg 74 46 cm
IC

1.25 año 10.2 kg 77 46.7 cm


IF

1.5 año 11 kg 80.5 47.3 cm


2 años 12.4 kg 86 48.2 cm
NT

3 años 14.4 kg 95 -1
PO

Se le pide elaborar un algoritmo en pseudocódigo que dado el género del infante (H para niño y M para niña),
la unidad de medida de la edad (meses o años) y la edad, obtenga e imprima el peso medio, la estatura media
y el perímetro craneal medio que debería tener la persona para la edad ingresada. En caso de ingresar opciones
diferentes, enviar el mensaje de error correspondiente.
Luego de ello, solicitará el peso y talla actual del infante y mostrará un mensaje de la comparación con el peso
promedio y la talla promedio que debería tenerse dependiendo si es mayor, menor o igual.
Capítulo 2: Ejercicios propuestos 92

Casos de prueba

Caso de Prueba 1
Ingrese si se evaluará a niños (H) o niñas (M): H
Ingrese M si el niño tiene meses o A si el niño tiene años: A
Ingrese la cantidad de años: 3
El niño debe tener como peso medio 15.1 kg, como altura media 96.5 cm y como perímetro craneal -1
para la edad ingresada
Ingrese el peso del niño o niña en kg: 30
Ingrese la talla del niño o niña en metros: 0.5
El peso es mayor que el peso medio que debe tener.
La altura es menor que la altura media que debe tener
——————————————————————-
Caso de Prueba 2

N
Ingrese si se evaluará a niños (H) o niñas (M): M


Ingrese M si la niña tiene meses o A si la niña tiene años: S
Debe ingresar una opción válida para medir la edad

AC
——————————————————————-


M
Caso de Prueba 3

AS
Ingrese si se evaluará a niños (H) o niñas (M): M

PE
Ingrese M si la niña tiene meses o A si la niña tiene años: M RA

CI
Ingrese la cantidad de meses: 0
G

L
EN
La niña debe tener como peso medio 3.4 kg, como altura media 50.3 cm y como perímetro craneal 34.1

DE
O

para la edad ingresada


PR

Ingrese el peso del niño o niña en kg: 1 CI

CA
Ingrese la talla del niño o niña en metros: 0.5
ES
DE

El peso es menor que el peso medio que debe tener.

LI
La altura es menor que la altura media que debe tener
L

——————————————————————-

S

A
TO

Caso de Prueba 4
ER

Ingrese si se evaluará a niños (H) o niñas (M): H


CA

Ingrese M si el niño tiene meses o A si el niño tiene años: A


EN

EN

Ingrese la cantidad de años: 2


D
AM

El niño debe tener como peso medio 12.9 kg, como altura media 88 cm y como perímetro craneal 49.6
G

DA

para la edad ingresada


S

Ingrese el peso del niño o niña en kg: 12


ND

SI

Ingrese la talla del niño o niña en metros: 0.95


DI

ER

El peso es menor que el peso medio que debe tener.


FU

La altura es menor que la altura media que debe tener


TU

IV
ES

UN

2.3.31. Peso, Talla e IMC (adaptado del laboratorio 2 2022-1)


IA
IC

La embriología es la especialidad de la genética que estudia a los embriones desde su formación hasta el
nacimiento. Uno de los temas más consultados dentro de esta especialidad es el desarrollo del embrión cuando
IF

ya empieza a formarse como ser humano.


NT

Para ello, existen proporciones de indicadores como longitud y peso del embrión para identificar la semana de
formación. Este cálculo es más preciso desde que el embrión mide 1.6 centímetros y pesa 1 gramo hasta que
PO

mide 16.4 cm y pesa 300 gramos.


Se le pide elaborar un algoritmo en pseudocódigo que dada la longitud de la cabeza a los pies en metros y
el peso del bebé que se encuentra en el vientre de una madre en kilogramos, pueda identificar e imprimir
la semana de gestación de la madre. Para ello deberá tomar en cuenta la información de la tabla adjunta
considerando los valores del rango que pueden asumir la longitud y el peso, si se ingresan valores fuera del
rango, deberá imprimir un mensaje de error.
Capítulo 2: Ejercicios propuestos 93

Semana Tamaño de la cabeza a los pies Peso


8 1.6 cm 1 gramo
9 2.3 cm 2 gramos
10 3.1 cm 4 gramos
11 4.1 cm 7 gramos
12 5.4 cm 14 gramos
13 7.4 cm 23 gramos
14 8.7 cm 43 gramos
15 10.1 cm 70 gramos
16 11.6 cm 100 gramos
17 13.0 cm 140 gramos
18 14.2 cm 190 gramos
19 15.3 cm 240 gramos
20 16.4 cm 300 gramos

N

Por otro lado, a medida que avanza el embarazo, el cuerpo de la madre sufre cambios físicos y se debe controlar

AC
el Índice de masa corporal (IMC) de la madre a medida que avanzan las semanas. Por lo que se solicita que


dada la altura en metros y el peso en kilogramos de la madre, se pueda calcular el IMC a través de la siguiente

M
fórmula:

AS

PE
RA

CI
peso
G
IM C =

L
EN
altura2

DE
O
PR

Además, deberá obtener e imprimir la ganancia del peso recomendada para la madre que dependerá del valor
del IMC e imprimir la categoría de acuerdo a la siguiente información:
CI

CA
ES
DE

LI
ICM pregestacional Rango Ganancia de peso recomendada (kg)
L

Bajo peso menor que 18.5 kg/m2 12.5 - 18



S

Normal 18.5 - 24.9 kg/m2 11.5 - 16


TO

ER

Sobrepeso 25 - 29.9 kg/m2 7 - 11.5


CA

Obesidad tipo I 30 - 34.9 kg/m2 7


EN

EN

Obesidad tipo II 35 - 39.9 kg/m2 7


D

Obesidad tipo III mayor que 40 kg/m2 7


AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO
Capítulo 2: Ejercicios propuestos 94

Casos de prueba

Caso de Prueba 1
Ingrese la longitud de la cabeza a los pies del bebé en metros: 0.07
Ingrese el peso del bebé en kg: 0.022
El bebé se encuentra en la semana 12 de formación.
Ingrese la altura de la mamá en metros: 1.67
Ingrese el peso de la mamá en kg: 70
La ganancia de peso recomendada para la mamá es entre 7-11.5 kg
Mamá con SOBREPESO
——————————————————————-
Caso de Prueba 2
Ingrese la longitud de la cabeza a los pies del bebé en metros: 0
Ingrese el peso del bebé en kg: 0.0004

N
Con las medidas ingresadas no se puede identificar la semana de gestación


——————————————————————-

AC
Caso de Prueba 3
Ingrese la longitud de la cabeza a los pies del bebé en metros: 0.104


Ingrese el peso del bebé en kg: 0.08 El bebé se encuentra en la semana 15 de formación.

AS
Ingrese la altura de la mamá en metros: 1.56

PE
Ingrese el peso de la mamá en kg: 89 RA

CI
La ganancia de peso recomendada para la mamá es 7 kg
G

L
EN
Mamá con OBESIDAD TIPO II

DE
O

——————————————————————-
PR

Caso de Prueba 4 CI

CA
Ingrese la longitud de la cabeza a los pies del bebé en metros: 0.163
ES
DE

Ingrese el peso del bebé en kg: 0.29

LI
El bebé se encuentra en la semana 19 de formación.
L

Ingrese la altura de la mamá en metros: 1.85



S

A
TO

Ingrese el peso de la mamá en kg: 50


ER

La ganancia de peso recomendada para la mamá es entre 12.5-18 kg


CA

Mamá con BAJO PESO


EN

EN

D
AM

DA
S
ND

2.3.32. Relación entre pesos (adaptado laboratorio 2 2022-1)


SI
DI

ER
FU

Actualmente, las enfermedades del corazón se van evidenciando en personas jóvenes y adultas y no solo adultos
TU

mayores como era en el pasado. Uno de los indicadores clave para realizar una evaluación del estado de salud
IV

cardiaco de una persona es el peso.


ES

UN

Se puede realizar el cálculo del valor promedio del peso que debería tener una persona en función de la edad,
la altura o género. Por ejemplo, hasta los 12 años solo se toma en cuenta la edad en meses o años del niño y a
IA

partir de los 12 en adelante ya se considera adulto y el cálculo depende del género de la persona y de la altura
de acuerdo a la siguiente distribución:
IC
IF

Edad infante Kilogramos


NT

Recién nacido 3.25


3 a 12 meses (edad(meses) + 9)/2
PO

1 a 6 años edad(años)x2 + 8
7 a 12 años (edad(años)x7 - 5)/2

Género Peso ideal


Hombres Peso ideal = 0.75 x altura(cm) -62.5
Mujeres Peso ideal = 0.675 x altura(cm) -56.25
Capítulo 2: Ejercicios propuestos 95

También se sabe que el peso del corazón de un ser humano es un indicador importante para medir su estado.
Un ‘corazón sano’ representa aproximadamente el 0.5 % del peso corporal humano. Este valor debe estar en
el rango de 300 a 350 gramos. Pasado este valor, hasta los 500 gramos se considera un ‘corazón ligeramente
agrandado’. La hipertrofia es un crecimiento excesivo del corazón en el que el peso es superior a los 500 gramos
generando el ‘peso cardíaco crítico’.
Se le pide que elabore un algoritmo en pseudocódigo que permita calcular e imprimir el peso promedio que
debería tener una persona. Para ello, ingresará los datos de la persona a evaluar: una opción para saber de qué
tipo de persona se trata (A para adultos y N para niños). Si se trata de adultos, deberá indicar si es hombre
o mujer (H para hombres y M para mujeres) y la altura de la persona para obtener el peso correspondiente.
De ser niños, tiene que ingresar si la edad a analizar está en meses o años (M para bebés entre 0 y 12 meses y
N para niños entre 1 y 12 años) y la edad. Si ingresa otra opción diferente de las indicadas, deberá enviar el
mensaje ‘Ingresó una opción inválida’

N
Solo para adultos, ingresará el peso actual de la persona, para compararlo con el peso que debería tener a fin de


mostrar un mensaje de si el peso es mayor, menor o igual al peso promedio que debería tener. También deberá
calcular el peso del corazón indicando si es un corazón sano, ligeramente agrandado o si sufre de hipertrofia.

AC


M

AS

PE
RA

CI
G

L
EN

DE
O
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO
Capítulo 2: Ejercicios propuestos 96

Casos de prueba

Caso de Prueba 1
Ingrese la opción A para adultos y N para niños: A
Cálculo del peso - Ingrese H para hombre y M para mujer: H
Ingrese la altura en centímetros: 165
El peso esperado del hombre es: 61.25
Ingrese peso actual de la persona en kg: 70
El peso actual de la persona es mayor que el peso promedio que debe tener.
El peso del corazón es: 350 Corazón sano
——————————————————————-
Caso de Prueba 2
Ingrese la opción A para adultos y N para niños: N
Ingrese la unidad en la que ingresará la edad: (M para meses o N para años): M

N
Ingrese la cantidad de meses del bebé: 11


El peso esperado del bebé es: 10
——————————————————————-

AC


Caso de Prueba 3
Ingrese la opción A para adultos y N para niños: A

AS
Cálculo del peso - Ingrese H para hombre y M para mujer: M

PE
Ingrese la altura en centímetros: 163 RA

CI
El peso esperado de la mujer es: 53.775
G

L
EN
Ingrese peso actual de la persona en kg: 90

DE
O

El peso actual de la persona es mayor que el peso promedio que debe tener.
PR

El peso del corazón es: 450 CI

CA
Corazón ligeramente agrandado
ES
DE

——————————————————————-

LI
Caso de Prueba 4
L

Ingrese la opción A para adultos y N para niños: N



S

A
TO

Ingrese la unidad en la que ingresará la edad: (M para meses o N para años): N


ER

Ingrese la cantidad de años del niño: 7


CA

El peso esperado del niño es: 22


EN

EN

——————————————————————-
D
AM

Caso de Prueba 5
DA

Ingrese la opción A para adultos y N para niños: A


S

Cálculo del peso - Ingrese H para hombre y M para mujer: H


ND

SI

Ingrese la altura en centímetros: 172


DI

ER

El peso esperado del hombre es: 66.5


FU

Ingrese peso actual de la persona en kg: 120


TU

IV

El peso actual de la persona es mayor que el peso promedio que debe tener.
El peso del corazón es: 600
ES

UN

Peso cardiaco crítico – Hipertrofia


IA
IC

2.3.33. Límites de velocidad (adaptado del laboratorio 2 2022-2)


IF

Según el reglamento de tránsito de cierto país, se han establecido límites de velocidad según la zona por donde
NT

se transita:
Además, si se supera el límite máximo establecido, se ha decidido imponer una sanción de forma gradual.
PO

Excederse hasta 10 Km/h por encima del límite conlleva a una sanción de 18 % de la base de cobranza más 10
veces el exceso de velocidad y 20 puntos negativos; excederse más de 10 km/h hasta 30 km/h por encima del
límite equivale a una sanción del 24 % de la base de cobranza más 20 veces el exceso de velocidad y 40 puntos
negativos; en tanto que superar el límite máximo en más de 30 km/h ocasionará una multa equivalente al 50 %
de la base de cobranza más 30 veces el exceso de velocidad y 60 puntos negativos. Cabe precisar que la base
de cobranza depende del distrito por donde se desplaza el vehículo (en este caso se considerarán únicamente
Capítulo 2: Ejercicios propuestos 97

Tipo de zona Velocidad máxima (Km/h)


Escolar (E) 25
Hospital (H) 25
Comercial (C) 30
Residencial (R) 50

Tabla 2.3: Velocidad máxima permitida por zona

2 distritos), la base de cobranza para el distrito 1 es de S/ 4600 y para el distrito 2 es de S/ 5000.


Se le pide que elabore un algoritmo en pseudocódigo que solicite al usuario ingresar el distrito por donde
se desplazó, la distancia recorrida, el tiempo que le tomó recorrer la distancia, el tipo de zona por donde
se desplazó y su récord de conductor (puntaje); una vez que el usuario ha ingresado los datos correctos, el

N
algoritmo debe indicarle si excedió o no el límite de velocidad, en caso se haya excedido debe indicar el monto


de la multa que deberá pagar (redondear el monto al entero más cercano) y si su brevete ha sido suspendido

AC
(se suspende un brevete cuando su puntaje como conductor es menor o igual a 0).


El algoritmo debe mostrar mensajes específicos ante las siguientes situaciones:

AS

PE
RA
Para el distrito debe validar que la opción ingresada sea 1 ó 2, en caso ingrese un número diferente se

CI
debe mostrar el mensaje “El distrito ingresado no es válido” y el programa debe terminar.
G

L
EN

DE
O

Para la distancia recorrida, considerar que debe ser ingresada en metros; además, debe validar que la
PR

distancia ingresada sea un número mayor que 0, caso contrario se debe mostrar el mensaje “La distancia
CI
ingresada no puede ser 0 o un número negativo” y el programa debe terminar.

CA
ES
DE

Para el tiempo, considerar que debe ser ingresado en segundos; además, debe validar que el tiempo

LI
ingresado sea un número mayor que 0, caso contrario se debe mostrar el mensaje “El tiempo ingresado
L


S

no puede ser 0 o un número negativo” y el programa debe terminar.


TO

ER

Para el tipo de zona por donde se desplazó debe validar que la opción ingresada sea ‘C’, ‘E’, ‘H’ o ‘R’,
CA

en caso el usuario no ingrese alguna de las opciones anteriores se deberá mostrar el siguiente mensaje
EN

EN

“La zona ingresada no es válida” y el programa debe terminar.


D
AM

DA

Para el puntaje del conductor, debe validar lo siguiente:


S
ND

• Si el número ingresado es menor o igual que 0 se deberá mostrar el siguiente mensaje “Usted ya
O

SI

tenía el brevete suspendido.” y el programa debe terminar.


DI

ER
FU

• Si el número ingresado es mayor que 100 se deberá mostrar el siguiente mensaje “El puntaje de un
TU

conductor no puede ser mayor que 100” y el programa debe terminar.


IV
ES

UN

Una vez que el usuario ha ingresado todos los datos correctos, deberá imprimir los mensajes correspon-
dientes (revisar casos de prueba).
IA

Casos de prueba:
IC
IF
NT
PO
Capítulo 2: Ejercicios propuestos 98

Casos de prueba

Caso de Prueba 1
Ingrese el distrito por donde se desplazó: Distrito 1 (1), Distrito 2 (2)
>3
El distrito ingresado no es válido
——————————————————————-
Caso de Prueba 2
Ingrese el distrito por donde se desplazó: Distrito 1 (1), Distrito 2 (2)
>2
Ingrese la distancia recorrida en metros:
>0
La distancia ingresada no puede ser 0 o un número negativo
——————————————————————-

N
Caso de Prueba 3


Ingrese el distrito por donde se desplazó: Distrito 1 (1), Distrito 2 (2)
>1

AC
Ingrese la distancia recorrida en metros:


> 10000

AS
Ingrese el tiempo que recorrió la distancia en segundos:

PE
> -4 RA

CI
El tiempo ingresado no puede ser 0 o un número negativo
G

L
EN
——————————————————————-

DE
O

Caso de Prueba 4
PR

CI
Ingrese el distrito por donde se desplazó: Distrito 1 (1), Distrito 2 (2)

CA
>2
ES
DE

Ingrese la distancia recorrida en metros:

LI
> 10500
L

Ingrese el tiempo que recorrió la distancia en segundos:



S

A
TO

> 600 Ingrese el tipo de zona por donde se desplazó: Comercial (C), Escolar (E), Hospital (H), Resi-
ER

dencial (R):
CA

>r
EN

EN

La zona ingresada no es válida


D
AM

——————————————————————-
G

DA

Caso de Prueba 5
S

Ingrese el distrito por donde se desplazó: Distrito 1 (1), Distrito 2 (2)


ND

SI

>2
DI

ER

Ingrese la distancia recorrida en metros:


FU

> 10500
TU

IV

Ingrese el tiempo que recorrió la distancia en segundos:


> 600
ES

UN

Ingrese el tipo de zona por donde se desplazó: Comercial (C), Escolar (E), Hospital (H), Residencial
(R):
IA

>R
Ingrese su puntaje como conductor a la fecha
IC

> 105
IF

El puntaje de un conductor no puede ser mayor que 100


——————————————————————-
NT

Caso de Prueba 6
Ingrese el distrito por donde se desplazó: Distrito 1 (1), Distrito 2 (2)
PO

>2
Ingrese la distancia recorrida en metros:
> 11000
Ingrese el tiempo que recorrió la distancia en segundos:
> 2000
Ingrese el tipo de zona por donde se desplazó: Comercial (C), Escolar (E), Hospital (H), Residencial
(R):
>H
Ingrese su puntaje como conductor a la fecha
> -80
Su brevete ya estaba suspendido
Capítulo 2: Ejercicios propuestos 99

Casos de prueba

Caso de Prueba 7
Ingrese el distrito por donde se desplazó: Distrito 1 (1), Distrito 2 (2)
>2
Ingrese la distancia recorrida en metros:
> 10500
Ingrese el tiempo que recorrió la distancia en segundos:
> 650
Ingrese el tipo de zona por donde se desplazó: Comercial (C), Escolar (E), Hospital (H), Residencial
(R):
>C
Ingrese su puntaje como conductor a la fecha
> 90

N
Usted de desplazó por el distrito 2


Su velocidad fue: 58.1538461538 Km/h
Usted transitó por una Zona Comercial cuya velocidad máxima es: 30 Km/h

AC
Usted ha sobrepasado el límite de velocidad máximo por 28.1538461538 Km/h


Su multa es de 1763 soles

AS
Su puntaje actualizado es: 50

PE
Su brevete no está suspendido RA

CI
——————————————————————-
G

L
EN
Caso de Prueba 8

DE
O

Ingrese el distrito por donde se desplazó: Distrito 1 (1), Distrito 2 (2)


PR

>1 CI

CA
Ingrese la distancia recorrida en metros:
ES
DE

> 110230

LI
Ingrese el tiempo que recorrió la distancia en segundos:
L

> 7500

S

A
TO

Ingrese el tipo de zona por donde se desplazó: Comercial (C), Escolar (E), Hospital (H), Residencial
ER

(R):
CA

>R
EN

EN

Ingrese su puntaje como conductor a la fecha


D
AM

> 10
G

DA

Usted de desplazó por el distrito 1


S

Su velocidad fue: 52.9104 Km/h


ND

SI

Usted transitó por una Zona Residencial cuya velocidad máxima es: 50 Km/h
DI

ER

Usted ha sobrepasado el límite de velocidad máximo por 2.9104 Km/h


FU

Su multa es de 857 soles


TU

IV

Su puntaje actualizado es: -10


Su brevete ha sido suspendido
ES

UN

——————————————————————-
Caso de Prueba 9
IA

Ingrese el distrito por donde se desplazó: Distrito 1 (1), Distrito 2 (2)


>2
IC

Ingrese la distancia recorrida en metros:


IF

> 11000
Ingrese el tiempo que recorrió la distancia en segundos:
NT

> 2000
Ingrese el tipo de zona por donde se desplazó: Comercial (C), Escolar (E), Hospital (H), Residencial
PO

(R): > H
Ingrese su puntaje como conductor a la fecha
> 80
Usted de desplazó por el distrito 2
Su velocidad fue: 19.8 Km/h
Usted transitó por una Zona de Hospitales cuya velocidad máxima es: 25 Km/h
Felicitaciones, no ha sobrepasado el límite de velocidad
No tiene una multa asignada
Su puntaje se mantiene
Capítulo 2: Ejercicios propuestos 100

2.3.34. Menú de fórmulas 1 (adaptado del laboratorio 2 2022-2)

Un estudiante de ciencias e ingeniería está llevando un curso avanzado de física y se ha dado cuenta de que
debe aprender varias fórmulas nuevas, por lo que ha decidido diseñar un algoritmo en pseudocódigo que le
permita seleccionar la fórmula que desea utilizar dependiendo del tema:

N

AC


M

AS

PE
RA

CI
G

L
EN

DE
O
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO
Capítulo 2: Ejercicios propuestos 101

N

AC


M

AS

PE
RA

CI
G

L
EN

DE
O
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT

Para el diseño del algoritmo debe tener en cuenta lo siguiente:


PO

El usuario escogerá un tema a partir de un menú que se le presentará (revisar casos de prueba); para
ello, deberá ingresar el número 1, 2 ó 3, en caso ingrese un número diferente se debe mostrar el mensaje
“La opción ingresada no es válida” y el programa debe terminar.
Si escoge el tema Movimiento ondulatorio, se le presentarán las fórmulas disponibles (revisar casos de
prueba), para seleccionar una fórmula deberá ingresar ‘T’, ‘L’ o ‘V’ (en mayúscula), posteriormente le
Capítulo 2: Ejercicios propuestos 102

pedirá los datos que la fórmula requiera. En caso el usuario no ingrese alguna de las opciones anteriores
se deberá mostrar el siguiente mensaje “La opción indicada no es válida” y el programa debe terminar.
Si escoge el tema Densidad, elasticidad, se le presentarán las fórmulas disponibles (revisar casos de
prueba), para seleccionar una fórmula deberá ingresar ‘D’, ‘P’ o ‘V’ (en mayúscula), posteriormente le
pedirá los datos que la fórmula requiera. En caso el usuario no ingrese alguna de las opciones anteriores
se deberá mostrar el siguiente mensaje “La opción indicada no es válida” y el programa debe terminar.
Si escoge el tema Rotación de un cuerpo rígido, se le presentarán las fórmulas disponibles (revisar casos
de prueba), para seleccionar una fórmula deberá ingresar ‘I’, ‘E’ o ‘P’ (en mayúscula), posteriormente le
pedirá los datos que la fórmula requiera. En caso el usuario no ingrese alguna de las opciones anteriores
se deberá mostrar el siguiente mensaje “La opción indicada no es válida” y el programa debe terminar.
No es necesario que valide los datos solicitados por las fórmulas.

N
Una vez que el usuario ha ingresado todos los datos de la fórmula que haya seleccionado, deberá imprimir


el resultado correspondiente (revisar casos de prueba).

AC
Casos de prueba:


M

AS

PE
RA

CI
G

L
EN

DE
O
PR

CI

CA
ES
DE

LI
L


S

A
TO

ER

CA
EN

EN

D
AM

DA
S
ND

SI
DI

ER
FU

TU

IV
ES

UN
IA
IC
IF
NT
PO
Capítulo 2: Ejercicios propuestos 103

Casos de prueba

Caso de Prueba 1
Ingrese el tema cuyas fórmulas requiere
1: Movimiento ondulatorio
2: Densidad, elasticidad
3: Rotación de un cuerpo rígido
>4
La opción ingresada no es válida
——————————————————————-
Caso de Prueba 2
Ingrese el tema cuyas fórmulas requiere
1: Movimiento ondulatorio
2: Densidad, elasticidad

N
3: Rotación de un cuerpo rígido


>2
Seleccione la fórmula que requiere utilizar

AC
D: Densidad


P: Presión

AS
V: Volumen

PE
>d RA

CI
La opción indicada no es válida
G

L
EN
——————————————————————-

DE
O

Caso de Prueba 3
PR

Ingrese el tema cuyas fórmulas requiere CI

CA
1: Movimiento ondulatorio
ES
DE

2: Densidad, elasticidad

LI
3: Rotación de un cuerpo rígido
L

>3

S

A
TO

Seleccione la fórmula que requiere utilizar


ER

I: Calcular Momento de inercia


CA

E: Calcular Energía cinética de rotación


EN

EN

P: Calcular Potencia
D
AM

>Z
G

DA

La opción indicada no es válida


S

——————————————————————-
ND

SI

Caso de Prueba 4
DI

ER

Ingrese el tema cuyas fórmulas requiere


FU

1: Movimiento ondulatorio
TU

IV

2: Densidad, elasticidad
3: Rotación de un cuerpo rígido
ES

UN

>2
Seleccione la fórmula que requiere utilizar
IA

D: Calcular Densidad
P: Calcular Presión
IC

V: Calcular Volumen
IF

>D
Ingrese la masa en Kg
NT

> 0.051
Ingrese el volumen en m3
PO

> 0.000075
La densidad es: 680 kg/m3
Capítulo 2: Ejercicios propuestos 104

Casos de prueba

Caso de Prueba 5
Ingrese el tema cuyas fórmulas requiere
1: Movimiento ondulatorio
2: Densidad, elasticidad
3: Rotación de un cuerpo rígido
>1
Seleccione la fórmula que requiere utilizar
T: Calcular periodo de vibración
L: Calcular Longitud de onda
V: Calcular velocidad
>V
Ingrese la longitud de onda en metros

N
> 0.18


Ingrese la frecuencia en Hertz
> 1900

AC
La velocidad es: 342 m/s


——————————————————————-

AS

PE
Caso de Prueba 6
RA
Ingrese el distrito por donde se desplazó: Distrito 1 (1), Distrito 2 (2)

CI
>2
G

L
EN
Ingrese la distancia recorrida en metros:

DE
O

> 11000
PR

Ingrese el tiempo que recorrió la distancia en segundos: CI

CA
> 2000
ES
DE

Ingrese el tipo de zona por donde se desplazó: Comercial (C), Escolar (E), Hospital (H), Residencial

LI
(R):
L

>H

S

A
TO

Ingrese su puntaje como conductor a la fecha


ER

> -80
CA

Su brevete ya estaba suspendido


EN

EN

——————————————————————-
D
AM

Caso de Prueba 7
DA

Ingrese el tema cuyas fórmulas requiere


S

1: Movimiento ondulatorio
ND

SI

2: Densidad, elasticidad
DI

ER

3: Rotación de un cuerpo rígido


FU

>1
TU

IV

Seleccione la fórmula que requiere utilizar


T: Calcular periodo de vibración
ES

UN

L: Calcular Longitud de onda


V: Calcular velocidad
IA

>L
Ingrese la velocidad m/s
IC

> 9.9
IF

Ingrese el periodo de vibración en segundos


> 0.142
NT

La longitud de onda es: 1.4058 metros


PO
Capítulo 2: Ejercicios propuestos 105

Casos de prueba

Caso de Prueba 8
Ingrese el tema cuyas fórmulas requiere
1: Movimiento ondulatorio
2: Densidad, elasticidad
3: Rotación de un cuerpo rígido
>3
Seleccione la fórmula que requiere utilizar
I: Calcular Momento de inercia
E: Calcular Energía cinética de rotación
P: Calcular Potencia
>E
Ingrese el momento de inercia de la rueda en kg.m2

N
> 0.96


Ingrese la velocidad a la que rueda en rad/s
> 31.4

AC
La energía cinética es: 473.2608 Joules


——————————————————————-

AS

PE
Caso de Prueba 9
Ingrese el tema cuyas fórmulas requiere RA

CI
1: Movimiento ondulatorio
G

L
EN
2: Densidad, elasticidad

DE
O

3: Rotación de un cuerpo rígido


PR

>2 CI

CA
Seleccione la fórmula que requiere utilizar
ES
DE

D: Calcular Densidad

LI
P: Calcular Presión
L

V: Calcular Volumen

S

A
TO

>V
ER

Ingrese la masa en Kg
CA

> 0.3
EN

EN

Ingrese la densidad en kg/m3


D
AM

> 13600
G

DA

El volumen es: 0.0000220588 m3


S

——————————————————————-
ND

SI

Caso de Prueba 10
DI

ER

Ingrese el tema cuyas fórmulas requiere


FU

1: Movimiento ondulatorio
TU

IV

2: Densidad, elasticidad
3: Rotación de un cuerpo rígido
ES

UN

>2
Seleccione la fórmula que requiere utilizar
IA

D: Calcular Densidad
P: Calcular Presión
IC

V: Calcular Volumen
IF

>P
Ingrese la fuerza en Newton
NT

> 588
Ingrese el área en m2
PO

> 0.0025
La presión es: 235200 Pascales

También podría gustarte