Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Progra
mación Digital
LABORATORIO 02
CALLAO – BELLAVISTA
2023
EJERCICIOS PROPUESTOS
1)Realice un algoritmo para determinar si una persona puede votar con base en su
edad en las próximas elecciones. Construya el diagrama de flujo, el pseudocódigo y
el diagrama N/S.
*Pseudocódigo y Diagrama de Flujo:
a) Condicional Doble:
-Pseudocódigo:
Proceso unapersonapuedevotar
leer edad
SiNo
FinSi
FinAlgoritmo
-Diagrama de Flujo:
leer edad
sino
si 18>=edad Entonces
SiNo
FinSi
FinSi
FinProceso
-Diagrama de Flujo:
c) Condicional Simple:
-Pseudocódigo:
Proceso unapersonapuedevotar
definir edad Como Entero
leer edad
FinSi
si 18>edad Entonces
FinSi
si edad=18 Entonces
FinSi
FinProceso
-Diagrama de Flujo:
int main() {
int edad;
if (edad>18) {
if (18>edad) {
cout << "no puedes votar eres menor de edad" << endl;
if (edad==18) {
cout << "puedes votar tienes la edad mínima 18 años" << endl;
return 0;
*Código en Java:
public class unapersonapuedevotar {
int edad;
edad = Integer.parseInt(bufEntrada.readLine());
if (edad>18) {
}
if (18>edad) {
if (edad==18) {
*Diagrama N/S:
2)Realice un algoritmo para determinar el sueldo semanal de un trabajador con base en las
horas trabajadas y el pago por hora, considerando que después de las 40 horas cada hora se
considera como excedente y se paga el doble. Construya el diagrama de flujo, el
pseudocódigo y el diagrama N/S.
*Pseudocódigo y Diagrama de Flujo:
a) Condicional Doble:
-Pseudocódigo:
Algoritmo sueldosemanaldeuntrabajador
Leer horas
Leer pago
Si horas>40 Entonces
extra=horas-40
SiNo
sueldo=horas*pago
Fin Si
FinAlgoritmo
-Diagrama de Flujo:
b) Condicional Doble Anidado
Algoritmo sueldosemanaldeuntrabajador
Leer horas
Leer pago
Si horas>40 Entonces
extra=horas-40
SiNo
Si 40>=horas Entonces
sueldo=horas*pago
SiNo
sueldo=horas*pago
Fin Si
Fin Si
FinAlgoritmo
-Diagrama de Flujo:
c) Condicional Simple:
-Pseudocódigo:
Algoritmo sueldosemanaldeuntrabajador
Leer horas
Leer pago
Si horas>40 Entonces
extra=horas-40
FinSi
Si 40>=horas Entonces
sueldo=horas*pago
FinSi
Si horas=40 Entonces
sueldo=horas*pago
Fin Si
Escribir "el sueldo por ",horas,"hora es:$", sueldo
FinAlgoritmo
-Diagrama de Flujo:
int main() {
int extra;
int horas;
float pago;
float sueldo;
if (horas>40) {
extra = horas-40;
sueldo = (40*pago)+(extra*pago*2);
} else {
sueldo = horas*pago;
cout << "el sueldo por " << horas << "hora es:$" << sueldo << endl;
return 0;
*Código en Java:
import java.io.*;
int extra;
int horas;
double pago;
double sueldo;
horas = Integer.parseInt(bufEntrada.readLine());
System.out.println("Ingresa el pago por hora");
pago = Double.parseDouble(bufEntrada.readLine());
if (horas>40) {
extra = horas-40;
sueldo = (40*pago)+(extra*pago*2);
} else {
sueldo = horas*pago;
*Diagrama N/S:
3) El 14 de febrero una persona desea comprarle un regalo al ser querido que más
aprecia en ese momento, su dilema radica en qué regalo puede hacerle, las
alternativas que tiene son las siguientes:
Regalo Costo Tarjeta $10.00 o menos
Chocolates $11.00 a $100.00
Flores $101.00 a $250.00
Anillo Más de $251.00
Se requiere un diagrama de flujo con el algoritmo que ayude a determinar qué
regalo se le puede comprar a ese ser tan especial por el día del amor y la amistad.
*Pseudocódigo y Diagrama de Flujo:
a) Condicional Doble:
-Pseudocódigo:
Algoritmo regaloquesepuedecomprar
leer cantidad
SiNo
FinSi
FinAlgoritmo
-Diagrama de Flujo:
b) Condicional doble Anidado:
-Pseudocódigo:
Algoritmo regaloquesepuedecomprar
leer cantidad
SiNo
SiNo
SiNo
FinSi
FinSi
FinSi
FinAlgoritmo
-Diagrama de Flujo:
c)Condicional Simple:
-Pseudocódigo:
Algoritmo regaloquesepuedecomprar
leer cantidad
FinSi
FinSi
FinSi
FinAlgoritmo
-Diagrama de Flujo:
*Ejecución o Código de Control:
*Código C++:
#include<iostream>
using namespace std;
int main() {
float cantidad;
if (cantidad>251) {
} else {
} else {
} else {
return 0;
*Código Java:
import java.io.*;
double cantidad;
cantidad = Double.parseDouble(bufEntrada.readLine());
if (cantidad>251) {
} else {
} else {
*Pseudocódigo:
Algoritmo detarea
Si n <= 2 Entonces
total = n * 5
SiNo
Si n<=5 Entonces
total = ((n-2)*4)+10
SiNo
Si n<=10 Entonces
total = ((n-5)*3)+22
SiNo
total = ((n-10)*2)+37
FinSi
FinSi
FinSi
FinAlgoritmo
*Código C++:
#include<iostream>
int main() {
int n;
float total;
cin >> n;
if (n<=2) {
total = n*5;
} else {
if (n<=5) {
total = ((n-2)*4)+10;
} else {
if (n<=10) {
total = ((n-5)*3)+22;
} else {
total = ((n-10)*2)+37;
cout << "El total a pagar por " << n << " horas es: $" << total << endl;
return 0;
*Código en Java:
import java.io.*;
-Pseudocódigo:
Algoritmo nombreyedaddelmenordeedad
leer nombre1
leer edad1
leer nombre2
Escribir "Escribe tu edad"
leer edad2
leer nombre3
leer edad3
si edad1<edad3 Entonces
SiNo
FinSi
SiNo
SiNo
FinSi
FinSi
FinAlgoritmo
-Diagrama de Flujo:(Doble Condicional Anidado)
*Ejecución o Código de Control
*Código C++:
include<iostream>
int edad1;
int edad2;
int edad3;
string nombre1;
string nombre2;
string nombre3;
if (edad1<edad2) {
if (edad1<edad3) {
cout << "La edad menor es de: " << nombre1 << endl;
} else {
cout << "La edad menor es de: " << nombre3 << endl;
} else {
if (edad2<edad3) {
cout << "La edad menor es de: " << nombre2 << endl;
} else {
cout << "La edad menor es de: " << nombre3 << endl;
return 0;
*Código en Java:
import java.io.*;
int edad1;
int edad2;
int edad3;
String nombre1;
String nombre2;
String nombre3;
System.out.println("Escribe tu nombre");
nombre1 = bufEntrada.readLine();
System.out.println("Escribe tu edad");
edad1 = Integer.parseInt(bufEntrada.readLine());
System.out.println("Escribe tu nombre");
nombre2 = bufEntrada.readLine();
System.out.println("Escribe tu edad");
edad2 = Integer.parseInt(bufEntrada.readLine());
System.out.println("Escribe tu nombre");
nombre3 = bufEntrada.readLine();
System.out.println("Escribe tu edad");
edad3 = Integer.parseInt(bufEntrada.readLine());
if (edad1<edad2) {
if (edad1<edad3) {
System.out.println(edad1+" años");
} else {
System.out.println(edad3+" años");
} else {
if (edad2<edad3) {
System.out.println(edad2+" años");
} else {
System.out.println(edad3+" años");
}
6) Realice el diagrama de flujo,el pseudocódigo y l diagrama N/Sque muestran el
algoritmo para determinar el costo y el descuento que tendra un articulo, considere
que si su precio es mayor o igual a $200 se le aplica un descuento de 15%, y si su
precio es mayor a $100 pero menor a $200, el descuento es de 12%, y si es menor
a $100, sólo 10%.
*Pseudocódigo:
Proceso costoydescuentoquetendráunartículo
Definir precio, descuento como real
Escribir "Ingresa el precio del artículo"
Leer precio
Si precio >= 200 Entonces
descuento = precio * .15
SiNo
Si precio >= 100 Entonces
descuento = precio * .12
SiNo
descuento = precio * .10
FinSi
FinSi
Escribir "El precio con descuento aplicado es: $",precio-descuento
Escribir "El descuento aplicado es: $",descuento
FinProceso
*Diagrama de Flujo:(Condicional Doble Anidado)
*Ejecución o Código de Control:
*Código en C++:
#include<iostream>
int main() {
float descuento;
float precio;
if (precio>=200) {
descuento = precio*.15;
} else {
if (precio>=100) {
descuento = precio*.12;
} else {
descuento = precio*.10;
cout << "El precio con descuento aplicado es: $" << precio-descuento << endl;
cout << "El descuento aplicado es: $" << descuento << endl;
return 0;
*Código en Java:
import java.io.*;
double descuento;
double precio;
if (precio>=200) {
descuento = precio*.15;
} else {
if (precio>=100) {
descuento = precio*.12;
} else {
descuento = precio*.10;
*Diagrama N/S:
7) El presidente de la república ha decidido estimular a todos los estudiantes de una
universidad mediante la asignación de becas mensuales, para esto se tomarán en
consideración los siguientes criterios:
Para alumnos mayores de 18 años con promedio mayor o igual a 9, la beca será de
$2000.00; con promedio mayor o igual a 7.5, de $1000.00; para los promedios
menores de 7.5 pero mayores o iguales a 6.0, de $500.00; a los demás se les
enviará una carta de invitación incitándolos a que estudien más en el próximo ciclo
escolar.
A los alumnos de 18 años o menores de esta edad, con promedios mayores o
iguales a 9, se les dará $3000; con promedios menores a 9 pero mayores o iguales
a 8, $2000; para los alumnos con promedios menores a 8 pero mayores o iguales a
6, se les dará $100, y a los alumnos que tengan promedios menores a 6 se les
enviará carta de invitación.Realice el algoritmo correspondiente y represéntelo con
un diagrama de flujo.
*Pseudocódigo:
Algoritmo Tecorrespondeunabeca
Leer edad
Leer promedio
beca = 2000
SiNo
beca = 1000
SiNo
beca = 500
SiNo
FinSi
FinSi
FinSi
SiNo
beca = 3000
SiNo
beca = 2000
SiNo
beca = 1000
SiNo
FinSi
FinSi
FinSi
FinSi
FinAlgoritmo
*Código en C++:
#include<iostream>
int main() {
int beca;
int edad;
float promedio;
if (edad>18) {
if (promedio>=9) {
beca = 2000;
} else {
if (promedio>=7.5) {
beca = 1000;
} else {
if (promedio>=6) {
beca = 500;
} else {
cout << "Estudia mas para el proximo ciclo escolar" << endl;
} else {
if (promedio>=9) {
beca = 3000;
} else {
if (promedio>=8) {
beca = 2000;
} else {
if (promedio>=6) {
beca = 1000;
} else {
cout << "Estudia mas para el proximo ciclo escolar" << endl;
cout << "Te corresponde una beca de $" << beca << endl;
return 0;
*Código en Java:
import java.io.*;
int beca;
int edad;
double promedio;
edad = Integer.parseInt(bufEntrada.readLine());
System.out.println("Ingresa tu promedio");
promedio = Double.parseDouble(bufEntrada.readLine());
if (edad>18) {
if (promedio>=9) {
beca = 2000;
} else {
if (promedio>=7.5) {
beca = 1000;
} else {
if (promedio>=6) {
beca = 500;
} else {
} else {
if (promedio>=9) {
beca = 3000;
} else {
if (promedio>=8) {
beca = 2000;
} else {
if (promedio>=6) {
beca = 1000;
} else {