“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
EJERCICIOS PLANTEADOS
ESTRUCTURAS SELECTIVAS
ESTRUCTURAS SELECTIVAS SIMPLES
1. Escriba un programa que dada una hora expresada en horas, minutos y segundos (formato 24
horas), devuelva la hora adelantada en un segundo.
[Link]álisis.
Entrada Proceso Salida
[Link]ón.
Código fuente (texto)
#include <iostream>
using namespace std;
int main() {
int horas, minutos, segundos;
cout << "Ingrese la hora :" << endl;
cout << "Horas: ";
cin >> horas;
cout << "Minutos: ";
cin >> minutos;
cout << "Segundos: ";
cin >> segundos;
segundos++;
if (segundos >= 60) {
segundos = 0;
minutos++;
if (minutos >= 60) {
minutos = 0;
horas++;
if (horas >= 24) {
horas = 0;
}
}
}
cout << "La hora adelantada en un segundo es: " << horas << ":"
<< minutos << ":" << segundos << endl;
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
return 0;
}
2. Escriba un programa que dado un ángulo, imprima si el ángulo ingresado es o no es un ángulo
recto (Un ángulo recto es igual a 90°).
[Link]álisis.
Entrada Proceso Salida
[Link]ón.
Código fuente (texto)
#include <iostream>
using namespace std;
int main() {
float angulo;
cout << "Ingrese un ángulo en grados: ";
cin >> angulo;
if (angulo == 90) {
cout << "Es un ángulo recto ." << endl;
} else {
cout << "No es un ángulo recto." << endl;
}
return 0;
}
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
3. Escriba un programa que lea un número de 3 cifras (debe validarlo), y determine si el número
es igual al revés (Ejemplo: 756 escrito al revés es 657, no se escribe igual al revés; 919 escrito al
revés de 919, sí s escribe igual al revés).
[Link]álisis.
Entrada Proceso Salida
[Link]ón.
Código fuente (texto)
#include <iostream>
using namespace std;
int main() {
int numero, original, inverso = 0;
cout << "Ingrese un número de 3 cifras: ";
cin >> numero;
if (numero >= 100 && numero <= 999) {
original = numero;
while (numero > 0) {
int digito = numero % 10;
inverso = inverso * 10 + digito;
numero = numero / 10;
}
if (original == inverso) {
cout << "El número es igual al revés." << endl;
} else {
cout << "El número no es igual al revés." << endl;
}
} else {
cout << "El número ingresado no es de 3 cifras." << endl;
}
return 0;
}
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
4. Escriba un programa que lea 3 números, imprima el número central. (En este caso pueden
ingresarse números iguales).
[Link]álisis.
Entrada Proceso Salida
[Link]ón.
Código fuente (texto)
#include <iostream>
using namespace std;
int main() {
int num1, num2, num3;
cout << "Ingrese el primer número: ";
cin >> num1;
cout << "Ingrese el segundo número: ";
cin >> num2;
cout << "Ingrese el tercer número: ";
cin >> num3;
if ((num1 >= num2 && num1 <= num3) || (num1 <= num2 && num1 >=
num3)) {
cout << "El número central es: " << num1 << endl;
} else if ((num2 >= num1 && num2 <= num3) || (num2 <= num1 &&
num2 >= num3)) {
cout << "El número central es: " << num2 << endl;
} else {
cout << "El número central es: " << num3 << endl;
}
return 0;
}
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
5. Escriba un programa que calcule la sumatoria de los n primeros números usando la formula:
[Link]álisis.
Entrada Proceso Salida
[Link]ón.
Código fuente (texto)
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Ingrese un número n: ";
cin >> n;
int sumatoria = n * (n + 1) / 2;
cout << "La sumatoria de los primeros " << n << " números
es: " << sumatoria << endl;
return 0;
}
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
6. Dada una temperatura, imprimir el tipo de clima según la siguiente tabla:
Temperatura Tipo de clima
Temp. <10 Frío
Temp. entre 10 y 20 Nublado
Temp. entre 21 y 30 Calor
Temp. >30 Tropical
[Link]álisis.
Entrada Proceso Salida
[Link]ón.
Código fuente (texto)
#include <iostream>
using namespace std;
int main() {
float temperatura;
cout << "Ingrese la temperatura: ";
cin >> temperatura;
if (temperatura < 10) {
cout << "El tipo de clima es Frío." << endl;
} else if (temperatura >= 10 && temperatura <= 20) {
cout << "El tipo de clima es Nublado." << endl;
} else if (temperatura >= 21 && temperatura <= 30) {
cout << "El tipo de clima es Calor." << endl;
} else {
cout << "El tipo de clima es Tropical." << endl;
}
return 0;
}
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
7. Escriba un programa que reciba un saldo actual, tipo de movimiento (retiro o depósito) y
monto de la transacción, para finalmente calcular e imprimir el saldo actual.
[Link]álisis.
Entrada Proceso Salida
[Link]ón.
Código fuente (texto)
#include <iostream>
using namespace std;
int main() {
float saldoActual;
char tipoMovimiento;
float montoTransaccion;
cout << "Ingrese el saldo actual: ";
cin >> saldoActual;
cout << "Ingrese el tipo de movimiento (r para retiro, d
para depósito): ";
cin >> tipoMovimiento;
cout << "Ingrese el monto de la transacción: ";
cin >> montoTransaccion;
if (tipoMovimiento == 'r' || tipoMovimiento == 'R') {
if (montoTransaccion <= saldoActual) {
saldoActual -= montoTransaccion;
} else {
cout << "Saldo insuficiente para el retiro." <<
endl;
}
} else if (tipoMovimiento == 'd' || tipoMovimiento == 'D')
{
saldoActual += montoTransaccion;
} else {
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
cout << "Tipo de movimiento no válido." << endl;
}
cout << "Saldo actual: " << saldoActual << endl;
return 0;
}
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
8. Escriba un programa que, dado un año, imprima si es bisiesto o no.
[Link]álisis.
Entrada Proceso Salida
[Link]ón.
Código fuente (texto)
#include <iostream>
using namespace std;
int main() {
int año;
cout << "Ingrese un año: ";
cin >> año;
if ((año % 4 == 0 && año % 100 != 0) || (año % 400 == 0)) {
cout << año << " es un año bisiesto." << endl;
} else {
cout << year << " no es un año bisiesto." << endl;
}
return 0;
}
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
9. Escriba un programa dada una temperatura en grados Celsius, convierta e imprima a grados
Fahrenheit y Kelvin respectivamente.
[Link]álisis.
Entrada Proceso Salida
[Link]ón.
Código fuente (texto)
#include <iostream>
using namespace std;
int main() {
float celsius;
float fahrenheit;
float kelvin;
cout << "Ingrese la temperatura en grados Celsius: ";
cin >> celsius;
fahrenheit = (celsius * 9/5) + 32;
kelvin = celsius + 273.15;
cout << "Grados Fahrenheit: " << fahrenheit << endl;
cout << "Kelvin: " << kelvin << endl;
return 0;
}
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
10. Un estacionamiento cobra 15 soles por hora de servicio para motos y 25 soles para autos,
aplicándose un descuento de 10% si el servicio excede las 10 horas. Escriba un programa que
calcule el monto a pagar según las horas de servicio de un cliente y su vehículo.
10.1. Análisis.
Entrada Proceso Salida
10.2. Codificación.
Código fuente (texto)
#include <iostream>
using namespace std;
int main() {
char tipoVehiculo;
int horasServicio;
float montoAPagar;
cout << "Ingrese el tipo de vehiculo (M para motos, A para
autos): ";
cin >> tipoVehiculo;
cout << "Ingrese las horas de servicio: ";
cin >> horasServicio;
if (tipoVehiculo == 'M' || tipoVehiculo == 'm') {
if (horasServicio <= 10) {
montoAPagar = horasServicio * 15.0;
} else {
montoAPagar = horasServicio * 15.0 * 0.9;
}
} else if (tipoVehiculo == 'A' || tipoVehiculo == 'a') {
if (horasServicio <= 10) {
montoAPagar = horasServicio * 25.0;
} else {
montoAPagar = horasServicio * 25.0 * 0.9;
}
} else {
cout << "Tipo de vehiculo no válido. Use 'M' o 'A'."
Docente: Ing. Mijail Gualdimar Quispe Mamani
“Universidad Nacional Amazónica de Madre de Dios”
Asignatura de Lenguaje de Programación I – Facultad de Educación
<< endl;
return 1;
}
cout << "Monto a pagar: " << montoAPagar << " soles" <<
endl;
return 0;
}
Docente: Ing. Mijail Gualdimar Quispe Mamani