Está en la página 1de 18

ACTIVIDAD DE APRENDIZAJE – SEMANA 3

CURSO FUNDAMENTOS DE ALGORITMOS


CARRERA Ingeniería de Sistemas Computacionales
J.PRÁCTICAS Ing. Christian A. Arce Villanueva

 Estructuras condicionales anidadas


OBJETIVO
 Estructura de selección múltiple

Pregunta 1

Un estudiante desea comprar un Smartphone y tiene las siguientes opciones:

Marca Color Capacidad de Precio S/.


almacenamiento
(8) GB 1,200
iPhone 6 (0) Negro (16) Gb 1,500
(i)
(1) Blanco 16 Gb 2,300

Samsung Galaxy (0) Plateado 16 Gb 1,900


(s)
(1) Pink 32 Gb 2,600

Identifique los datos de entrada y elabore el programa en C++ para determinar el precio.

Ejemplo 1:
Elija la Marca: (i) iPhone (s) Samsung - > i
Elija el Color (0) Negro (1) Blanco -> 0 - > 0
Elija la capacidad de almacenamiento -> 8
El resultado es: iPhone de color negro con capacidad de 8Gb y precio 1200 soles

Ejemplo 2:
Elija la Marca: (i) iPhone (s) Samsung - > s
Elija el Color (0) Plateado (1) Pink -> 0 - > 1
El resultado es: Samsung Galaxy de color Pink y tiene una capacidad de 32Gb. El precio es 2600 soles
Pregunta 2

El presidente de un club de fútbol requiere calcular el sueldo de sus jugadores si se tiene como
dato la edad y nacionalidad del jugador. Considere 0: Nacional 1: Extranjero Además se sabe que
el sueldo se calcula de la siguiente manera:

- Sueldo fijo 2500 soles (Sueldo sea extranjero o nacional)


- Si es extranjero recibe un bono de 500 soles
- Si la edad esta entre 15 y 20 el sueldo se incrementa en 1400 soles
- Si la edad esta entre 21 y 25 el sueldo se incrementa en 1500 soles
- Si la edad esta entre 25 y 30 el sueldo se incrementa en 1200 soles - En otros casos el sueldo será de
800 soles

Elabore un programa en C++ que permita calcular el sueldo por


cada jugador. Análisis del Problema Datos de Entrada: Datos de
Salida:
Hacking a un Sitio Web

Pregunta 3

Un Hacker decide atacar el sitio Web de FCBK mediante la técnica de SPOOFING. Para ello utiliza
algoritmos avanzados con la finalidad de vulnerar las medidas de seguridad. Luego de contactar con
usted deciden implantar un Diagrama de Flujo para hacer un análisis de los ataques realizados y luego
emitir un reporte.

Para emitir un reporte el programa debe solicitar la siguiente información:


- Número de ataques de tipo SPOOFING
- Objetivo de ataque: 0: Página principal, 1: Páginas interiores

Luego de ingresar los datos mencionadas se hace una evaluación para saber el nivel de vulnerabilidad
del Sitio Web según la siguiente tabla:
Datos Vulnerabilidad
0<= Número de ataques SPOOFING < 10 200
10<= Número de ataques SPOOFING <=50 400
En todos los demás casos 500
Si el objetivo de ataque fue la Página Principal (0) 400
Si el objetivo de ataque fueron las Páginas Interiores (1) 200

Finalmente, se emitirá un reporte según la vulnerabilidad del Sitio Web.


Vulnerabilidad Nivel de seguridad
Es >= 100 y <= 400 MEDIO
Es > 400 y <= 900 EN PELIGRO
En otros casos EN ALERTA ROJA
Se le solicita que elabore un programa en C++ tenga como dato de entrada el número de ataques y el
objetivo del ataque. Luego de ello Muestre un mensaje para decir el nivel de Seguridad del Sitio Web.

Análisis del
Problema Datos
de Entrada:

Datos de Salida:

Pregunta 4

El Departamento de Rescate de una empresa necesita un programa que le permita saber en qué
momento debe ir al rescate de un cliente que se encuentra en peligro. Para ello requiere los
siguientes datos:
Ubicación del cliente → 0: Zona Terrestre 1:Zona Marítima
2. Hora de llamada de emergencia → 100 ≡ 1 am , 500 ≡ 5am , 1400 ≡ 2pm

Luego de ingresar los datos mencionadas se hace una evaluación para determinar el Grado de
Emergencia según la siguiente tabla:
Grado de
Datos Emergencia
Si la llamada es en la madrugada 500
Si la llamada es en la mañana 200
Si la llamada es en la tarde 300
Si la llamada es en la noche 400

Si es Zona Terrestre 1000


Si es Zona Marítima 2000

Finalmente, para decidir qué hacer debe sumar el Grado de Emergencia según la ubicación del cliente
y la hora de llamada con la finalidad decidir la ACCION tomar. Utilice el siguiente cuadro.

Grado de Emergencia ACCION


Si es >=1000 y menor a 1500 POSIBLE RESCATE
Si es >=1500 y menor a 1800 RESCATE EN ALERTA AMARILLA
Si es >=1800 y menor a 2200 RESCATE EN ALERTA ROJA
En otros casos RESCATE INMINENTE

Se le solicita que elabore un Programa En C++ que tenga como dato de entrada la ubicación del
cliente y la hora de la llamada. Luego de ello Muestre un mensaje para decir La acción a tomar.

Análisis del
Problema Datos
de Entrada:
Datos de Salida:

Pregunta 5

Una empresa de software vende aplicaciones para celulares (iPhone y Android) y requiere
un programa que genere el resumen por cada venta realizada.

Los productos que vende dicha empresa son:

Tipo Producto Tipo de Celular Precio x unidad


iPhone 50.60
O Oficina Android 20.30
iPhone 90.80
J Juegos Android 40.50
iPhone 60.50
U Utilitarios Android 30.60

Asimismo, el programa solicita la cantidad de aplicaciones que el cliente va a comprar.

Se le solicita que elabore un programa en C que reciba como datos el tipo de producto, el tipo de celular y
la cantidad de unidades que el cliente comprará y nos determine e imprima el monto que deberá pagar este.
Nota:
- Debe validar los datos de entrada para una correcta ejecución de su programa.

Análisis del Problema


Datos de Entrada:

Datos de Salida:
UNIVERSIDAD PRIVADA DEL NORTE
FACULTAD DE INGENIERIA

AUTORES:
Castro Soto, Anthony Edwin (N00280460)
Sifuentes Astete, Manuel Emilio (N00404829)
Tafur Contreras, Eymi Anamel (N00404691)
Vega Rosales, Diego Alonso (N00404328)
Zevallos Ventura, Franco Massaro (N00280460)

Curso:
Fundamentos de algoritmos - 16102

Docentes:
Rosangela Abregu Marcos , Christian Anthony Arce Villanueva

2024
Lima – Perú
Example 1
Ejemplo 1:
Code:

char marca, color;


int capacidad, precio;

cout << "Elija la Marca: (i) iPhone (s) Samsung -> ";
cin >> marca;

cout << "Elija el Color (0) Negro (1) Blanco -> ";
cin >> color;

cout << "Elija la capacidad de almacenamiento -> ";


cin >> capacidad;

// Determinar el precio según las opciones elegidas


if (marca == 'i' || marca == 'I') {
if (color == '0') {
if (capacidad == 8)
precio = 1200;
else if (capacidad == 16)
precio = 1500;
else {
cout << "Capacidad no válida para iPhone de color negro." << endl;
return 1; // Salir del programa con código de error
}
}
else if (color == '1') {
if (capacidad == 16)
precio = 2300;
else {
cout << "Capacidad no válida para iPhone de color blanco." << endl;
return 1; // Salir del programa con código de error
}
}
else {
cout << "Color no válido para iPhone." << endl;
return 1; // Salir del programa con código de error
}
cout << "El resultado es: El celular iPhone de color ";
if (color == '0')
cout << "negro ";
else if (color == '1')
cout << "blanco ";
cout << "con capacidad de " << capacidad << "Gb y precio " << precio << " soles." << endl;
}
else if (marca == 's' || marca == 'S') {
if (color == '0') {
if (capacidad == 16)
precio = 1900;
else {
cout << "Capacidad no válida para Samsung Galaxy plateado." << endl;
return 1; // Salir del programa con código de error
}
}
else if (color == '1') {
if (capacidad == 32)
precio = 2600;
else {
cout << "Capacidad no válida para Samsung Galaxy pink." << endl;
return 1; // Salir del programa con código de error
}
}
else {
cout << "Color no válido para Samsung Galaxy." << endl;
return 1; // Salir del programa con código de error
}
cout << "El resultado es: El celular Samsung Galaxy de color ";
if (color == '0')
cout << "plateado ";
else if (color == '1')
cout << "pink ";
cout << "con capacidad de " << capacidad << "Gb y precio " << precio << " soles." << endl;
}
else {
cout << "Marca no válida." << endl;
return 1; // Salir del programa con código de error
}

return 0; // Salir del programa sin errores


}

Ejemplo 2:
Code:
char marca, color;
int capacidad, precio;

cout << "Elija la Marca: (i) iPhone (s) Samsung -> ";
cin >> marca;

cout << "Elija el Color (0) Negro (1) Blanco -> ";
cin >> color;

cout << "Elija la capacidad de almacenamiento -> ";


cin >> capacidad;

// Determinar el precio según las opciones elegidas


if (marca == 'i' || marca == 'I') {
if (color == '0') {
if (capacidad == 8)
precio = 1200;
else if (capacidad == 16)
precio = 1500;
else {
cout << "Capacidad no válida para iPhone de color negro." << endl;
return 1; // Salir del programa con código de error
}
}
else if (color == '1') {
if (capacidad == 16)
precio = 2300;
else {
cout << "Capacidad no válida para iPhone de color blanco." << endl;
return 1; // Salir del programa con código de error
}
}
else {
cout << "Color no válido para iPhone." << endl;
return 1; // Salir del programa con código de error
}
cout << "El resultado es: El celular iPhone de color ";
if (color == '0')
cout << "negro ";
else if (color == '1')
cout << "blanco ";
cout << "con capacidad de " << capacidad << "Gb y precio " << precio << " soles." << endl;
}
else if (marca == 's' || marca == 'S') {
if (color == '0') {
if (capacidad == 16)
precio = 1900;
else {
cout << "Capacidad no válida para Samsung Galaxy plateado." << endl;
return 1; // Salir del programa con código de error
}
}
else if (color == '1') {
if (capacidad == 32)
precio = 2600;
else {
cout << "Capacidad no válida para Samsung Galaxy pink." << endl;
return 1; // Salir del programa con código de error
}
}
else {
cout << "Color no válido para Samsung Galaxy." << endl;
return 1; // Salir del programa con código de error
}
cout << "El resultado es: El celular Samsung Galaxy de color ";
if (color == '0')
cout << "plateado ";
else if (color == '1')
cout << "pink ";
cout << "con capacidad de " << capacidad << "Gb y precio " << precio << " soles." << endl;
}
else {
cout << "Marca no válida." << endl;
return 1; // Salir del programa con código de error
}

return 0; // Salir del programa sin errores


}

Example 2

Code:
int edad, nacionalidad;
float sueldo = 2500; // Sueldo fijo

cout << "Ingrese la edad del jugador: ";


cin >> edad;
cout << "Ingrese la nacionalidad del jugador (0: Nacional, 1: Extranjero): ";
cin >> nacionalidad;

// Incremento de sueldo según la edad


if (edad >= 15 && edad <= 20) {
sueldo += 1400;
}
else if (edad >= 21 && edad <= 25) {
sueldo += 1500;
}
else if (edad > 25 && edad <= 30) {
sueldo += 1200;
}
else {
sueldo += 800;
}

// Bono para jugadores extranjeros


if (nacionalidad == 1) {
sueldo += 500;
}

cout << "El sueldo del jugador es: " << sueldo << " soles" << endl;

return 0;
}

Example 3

Code:
int num_ataques, objetivo;
int vulnerabilidad, nivel_seguridad;

// Solicitar información al usuario


cout << "Ingrese el numero de ataques de tipo SPOOFING: ";
cin >> num_ataques;
cout << "Ingrese el objetivo de ataque (0: Pagina principal, 1: Paginas interiores): ";
cin >> objetivo;

// Calcular la vulnerabilidad
if (num_ataques >= 0 && num_ataques < 10)
vulnerabilidad = 200;
else if (num_ataques >= 10 && num_ataques <= 50)
vulnerabilidad = 400;
else
vulnerabilidad = 500;

// Ajustar la vulnerabilidad según el objetivo de ataque


if (objetivo == 0)
vulnerabilidad += 400;
else if (objetivo == 1)
vulnerabilidad += 200;

// Determinar el nivel de seguridad


if (vulnerabilidad >= 100 && vulnerabilidad <= 400)
nivel_seguridad = 1; // MEDIO
else if (vulnerabilidad > 400 && vulnerabilidad <= 900)
nivel_seguridad = 2; // EN PELIGRO
else
nivel_seguridad = 3; // EN ALERTA ROJA

// Emitir el reporte
cout << "Vulnerabilidad del Sitio Web: " << vulnerabilidad << endl;
cout << "Nivel de seguridad: ";
switch (nivel_seguridad) {
case 1:
cout << "MEDIO" << endl;
break;
case 2:
cout << "EN PELIGRO" << endl;
break;
case 3:
cout << "EN ALERTA ROJA" << endl;
break;
}

return 0;
}
Example 4

Code:
int ubicacion_cliente, hora_llamada;
int grado_emergencia, accion;

// Solicitar información al usuario


cout << "Ingrese la ubicacion del cliente (0: Zona Terrestre, 1: Zona Maritima): ";
cin >> ubicacion_cliente;

cout << "Ingrese la hora de la llamada de emergencia (100 = 1 am, 500 = 5 am, 1400 = 2 pm): ";
cin >> hora_llamada;

// Determinar el grado de emergencia según la hora de la llamada


if (hora_llamada >= 100 && hora_llamada < 1200)
grado_emergencia = 200; // Mañana
else if (hora_llamada >= 1200 && hora_llamada < 1800)
grado_emergencia = 300; // Tarde
else if (hora_llamada >= 1800 && hora_llamada < 2400)
grado_emergencia = 400; // Noche
else
grado_emergencia = 500; // Madrugada

// Ajustar el grado de emergencia según la ubicación del cliente


if (ubicacion_cliente == 0)
grado_emergencia += 1000; // Zona Terrestre
else if (ubicacion_cliente == 1)
grado_emergencia += 2000; // Zona Marítima

// Determinar la acción a tomar


if (grado_emergencia >= 1000 && grado_emergencia < 1500)
accion = 1; // POSIBLE RESCATE
else if (grado_emergencia >= 1500 && grado_emergencia < 1800)
accion = 2; // RESCATE EN ALERTA AMARILLA
else if (grado_emergencia >= 1800 && grado_emergencia < 2200)
accion = 3; // RESCATE EN ALERTA ROJA
else
accion = 4; // RESCATE INMINENTE

// Mostrar la acción a tomar


cout << "La accion a tomar es: ";
switch (accion) {
case 1:
cout << "POSIBLE RESCATE" << endl;
break;
case 2:
cout << "RESCATE EN ALERTA AMARILLA" << endl;
break;
case 3:
cout << "RESCATE EN ALERTA ROJA" << endl;
break;
case 4:
cout << "RESCATE INMINENTE" << endl;
break;
}

return 0;
}
Example 5

Code:
char tipo_producto, tipo_celular;
int cantidad;
float precio_unidad, monto_total;

// Solicitar información al usuario


cout << "Ingrese el tipo de producto (O: Oficina, J: Juegos, U: Utilitarios): ";
cin >> tipo_producto;

// Validar el tipo de producto ingresado


if (tipo_producto != 'O' && tipo_producto != 'J' && tipo_producto != 'U') {
cout << "Tipo de producto no valido. Por favor, ingrese O, J o U." << endl;
return 1; // Salir del programa con código de error
}

cout << "Ingrese el tipo de celular (i: iPhone, a: Android): ";


cin >> tipo_celular;

// Validar el tipo de celular ingresado


if (tipo_celular != 'i' && tipo_celular != 'a') {
cout << "Tipo de celular no valido. Por favor, ingrese i o a." << endl;
return 1; // Salir del programa con código de error
}

cout << "Ingrese la cantidad de unidades que va a comprar: ";


cin >> cantidad;
// Validar la cantidad ingresada
if (cantidad <= 0) {
cout << "Cantidad no valida. Debe ser mayor que cero." << endl;
return 1; // Salir del programa con código de error
}

// Determinar el precio por unidad según el tipo de producto y tipo de celular


switch (tipo_producto) {
case 'O':
precio_unidad = (tipo_celular == 'i') ? 50.60 : 20.30;
break;
case 'J':
precio_unidad = (tipo_celular == 'i') ? 90.80 : 40.50;
break;
case 'U':
precio_unidad = (tipo_celular == 'i') ? 60.50 : 30.60;
break;
}

// Calcular el monto total a pagar


monto_total = precio_unidad * cantidad;

// Mostrar el monto total a pagar


cout << "El monto total a pagar es: " << monto_total << " soles." << endl;

return 0; // Salir del programa sin errores


}

También podría gustarte