FACULTAD DE INGENIERÍA CIVIL, ARQUITECTURA Y
GEOTECNIA
ESCUELA PROFESIONAL DE INGENIERÍA CIVIL
30 EJERCICIOS DE C++
INTEGRANTES: Rebeca Noemi Perca Mucho 2021-129059
MATERIA: Fundamento de Programación
DOCENTE: Mario Gauna Chino
GRADO: 1er año “B”, I ciclo
TACNA-PERÚ 2021
SECUENCIALES:
1. Realice un diagrama de flujo y pseudocodigos que representen el algoritmo
para obtener el área de un triángulo.
int main() {
float a;
float area;
float b;
printf("Ingrese el valor de A\n");
scanf("%f",&a);
printf("Ingrese el valor de B\n");
scanf("%f",&b);
area = (b*a)/2;
printf("El area del triangulo es : %f\n",area);
return 0;
}
2. Una empresa importadora desea determinar cuantos dólares puede adquirir
con X cantidad de dinero. Realice un diagrama de flujo y pseudocódigo que
representen el algoritmo para tal fin.
#include<iostream>
using namespace std;
int main() {
float dol;
float sol;
cout << "Ingresar cantidad:" << endl;
cin >> sol;
dol = sol*0.24;
cout << "Se puede adquirir:" << dol << "dólares" << endl;
return 0;
}
3. Una empresa que contrata personal requiere determinar la edad de las
personas que solicitan trabajo, pero cuándo se les realiza la entrevista solo se
les pregunta el año en que nacieron. Realice el diagrama de flujo y
pseudocodigos que representen el algoritmo para solucionar este problema.
#include<iostream>
using namespace std;
int main() {
int aa;
int an;
int edad;
cout << "Ingresar año de nacimiento" << endl;
cin >> an;
cout << "Ingresar año actual" << endl;
cin >> aa;
edad = aa-an;
cout << "Edad actual es:" << edad << " años" << endl;
return 0;
}
4. Un estacionamiento requiere determinar el cobro que debe aplicar a las
personas que lo utilizan. Considere que el cobro es con base en las horas que
lo disponen y que las fracciones de hora se toman como completas y realice un
diagrama de flujo y pseudocodigos que representen el algoritmo que permita
determinar el cobro.
#include<iostream>
using namespace std;
int main() {
float h;
float p;
float t;
cout << "Ingresar precio por hora" << endl;
cin >> p;
cout << "Ingresar horas de estacionamiento" << endl;
cin >> h;
t = p*h;
cout << "El total a paga es:" << t << endl;
return 0;
}
5. Pinturas “La brocha gorda” requiere determinar cuanto cobrar por trabajos de
pintura. Considere que se cobra por m2 y realice un diagrama de flujo y
pseudocodigos que representen el algoritmo que le permita ir generando
presupuestos para cada cliente.
#include<iostream>
using namespace std;
int main() {
int m;
float p;
float t;
cout << "Ingresar los metros cuadrados a pintar" << endl;
cin >> m;
cout << "Ingresar el precio del metro cuadrado" << endl;
cin >> p;
t = m*p;
cout << "El total a pagar es:" << t << endl;
return 0;
}
6. Realice pseudocódigo y diagrama de flujo que representen el algoritmo para
confeccionar una prenda de vestir.
#include<iostream>
using namespace std;
#define SIN_TIPO string
int main() {
SIN_TIPO cin;
SIN_TIPO ct;
SIN_TIPO hil;
SIN_TIPO tij;
SIN_TIPO tiz;
cout << "Elegir color de la tela a utilizar" << endl;
cin >> ct;
cout << "Elegir instrumentos a utilizar" << endl;
cin >> tij >> cin >> tiz >> hil;
cout << "Empezar el trabajo" << endl;
cout << "Buscar fallas" << endl;
cout << "Terminado" << endl;
return 0;
}
7. Realice pseudocódigo y diagrama de flujo que representen el algoritmo para
preparas un pastel.
#include<iostream>
using namespace std;
int main() {
float a;
float ac;
float ev;
float ha;
float hv;
float l;
float ma;
float ph;
cout << "Ingrese la cantidad de Huevos" << endl;
cin >> hv;
cout << "Ingrese la cantidad de gramos de Azucar" << endl;
cin >> a;
cout << "Ingrese la cantidad de cucharadas de Vainilla" << endl;
cin >> ev;
cout << "Ingrese la cantidad de tazas Leche" << endl;
cin >> l;
cout << "Ingrese la cantidad de tazas Mantequilla" << endl;
cin >> ma;
cout << "Ingrese la cantidad de tazas Aceite" << endl;
cin >> ac;
cout << "Ingrese la cantidad de tazas Harina" << endl;
cin >> ha;
cout << "Ingrese la cantidad de cucharadas P. Hornear" << endl;
cin >> ph;
if (hv>=5 && a>=200 && ev>=2 && l>=1 && ma>=0.5 && ac>=0.5 &&
ha>=1.5 && ph>=1) {
cout << "1.Mezcla todos los ingredientes hasta formar una masa
homogénea" << endl;
cout << "2.Prepara un molde especial para hornear. Engrasa
toda la superficie y las paredes con mantequilla o aceite y espolvorea con un
poco de harina. Vacía la mezcla en el molde y hornea el queque durante 1 hora
aproximadamente, o hasta que esté listo" << endl;
cout << "3.Cuando esté listo el pastel de vainilla retira del horno
y deja reposar unos minutos Luego desmolda y decora a tu gusto" << endl;
} else {
cout << "No se puede hacer un pastel, con esa cantidad de
ingredientes" << endl;
}
return 0;
}
8. Realice el diagrama de flujo y pseudocodigos que representen el algoritmo
para encontrar el área de un cuadrado.
#include<iostream>
using namespace std;
int main() {
float area;
float l;
cout << "Ingresa uno de los lados del cuadrado" << endl;
cin >> l;
area = l*l;
cout << "El area del cuadrado es:" << area << endl;
return 0;
}
9. Realice el diagrama de flujo y pseudocodigos que representen el algoritmo
para determinar el promedio que obtendrá un alumno considerando que realiza
tres exámenes, de los cuales el primero y el segundo tienen una ponderación
del 25% mientras que el tercero de 50%.
#include<iostream>
using namespace std;
int main() {
float n1,n2,n3,p;
cout<<"Ingrese su primera nota: ";
cin>>n1;
cout<<"Ingrese su segunda nota: ";
cin>>n2;
cout<<"Ingrese su tercera nota: ";
cin>>n3;
p=(n1*0.25)+(n2*0.25)+(n3*0.5);
cout<<"\nSu promedio es de: "<<p;
return 0;
}
10. Realice un diagrama de flujo y pseudocodigos que representen el algoritmo
para determinar aproximadamente cuantos meses, semanas, días y horas ha
vivido una persona.
#include<iostream>
using namespace std;
int main() {
int a;
float d;
float h;
float m;
float s;
cout << "Ingresa tu edad" << endl;
cin >> a;
m = a*12;
s = m*4.35;
d = s*7;
h = d*24;
cout << "La persona a vivido:" << m << "meses " << s << "semanas " <<
d << "dias " << h << "horas" << endl;
return 0;
}
11. Se requieren un algoritmo para determinar el costo que tendrá realizar una
llamada telefónica con base tiempo que dura la llamada y en el costo por
minuto. Represente la solución mediante el diagrama de flujo y pseudocódigo.
#include<iostream>
using namespace std;
int main() {
int minutos;
float precio;
float total;
cout << "Escribe el tiempo de la llamada en minutos" << endl;
cin >> minutos;
cout << "Escribe el precio por minuto de la llamada" << endl;
cin >> precio;
total = minutos*precio;
cout << "El total a pagar por " << minutos << " minutos de la llamada es:
s/." << total << endl;
return 0;
}
12. El hotel “Cama Arena” requiere determinar lo que le debe cobrar a un huésped
por su estancia en una de sus habitaciones. Realice un diagrama de flujo y
pseudocódigo que representen el algoritmo para determinar ese cobro.
using namespace std;
int main() {
int dias;
float precio;
float total;
cout << "Escribe el precio de la habitacion por dia" << endl;
cin >> precio;
cout << "Escribe los dias de estancia en el hotel" << endl;
cin >> dias;
total = dias*precio;
cout << "El total por los " << dias << " dias de estancia en el hotel es:
s/." << total << endl;
return 0;
}
SELECTIVAS:
1. Realice un algoritmo para determinar si una persona puede votar con base de
su edad en las próximas elecciones. Construya el diagrama de flujo, el
pseudocódigo.
#include<iostream>
using namespace std;
int main() {
int edad;
cout << "Ingresa edad" << endl;
cin >> edad;
if (edad>=18) {
cout << "Apto para votar" << endl;
} else {
cout << "No apto para votar" << endl;
}
return 0;
}
2. Realice un algoritmo para determinar el sueldo semanal de un trabajador con
base en las horas trabajadas y el pago de 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.
#include<iostream>
using namespace std;
int main() {
int doble;
int horas;
float pago;
float total;
int triple;
cout << "Ingresa las horas trabajadas" << endl;
cin >> horas;
if (horas<=50) {
cout << "Ingresa el pago por hora" << endl;
cin >> pago;
if (horas<41) {
total = horas*pago;
} else {
if (horas<=45) {
doble = horas-40;
total = (40*pago)+(doble*pago*2);
} else {
if (horas<=50) {
triple = horas-45;
total = (40*pago)+(5*pago*2)+
(triple*pago*3);
}
}
}
cout << "El pago semanal por " << horas << " horas es: s/." <<
total << endl;
} else {
cout << "No esta permitido trabajar mas de 50 horas" << endl;
}
return 0;
}
3. El dueño de un estacionamiento requiere un diagrama de flujo con el algoritmo
que le permita determinar cuánto debe cobrar por el uso del estacionamiento a
sus clientes. Las tarifas que se tienen son las siguientes:
Las dos primeras horas a $5.00 c/u.
Las siguiente tres a $ 4.00 c/u.
Las cinco siguientes a $3.00 c/u.
Después de diez horas el costo por cada una es de dos dólares.
#include<iostream>
using namespace std;
int main() {
int n;
float total;
cout << "Ingresa las horas" << endl;
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;
}
4. Se tiene el nombre y la edad de tres personas. Se deseas saber el nombre y la
edad de la persona de menor edad. Realice el algoritmo correspondiente y
represéntelo con un diagrama de flujo, pseudocódigo.
#include<iostream>
using namespace std;
int main() {
int edad1;
int edad2;
int edad3;
string nombre1;
string nombre2;
string nombre3;
cout << "Escribe tu nombre" << endl;
cin >> nombre1;
cout << "Escribe tu edad" << endl;
cin >> edad1;
cout << "Escribe tu nombre" << endl;
cin >> nombre2;
cout << "Escribe tu edad" << endl;
cin >> edad2;
cout << "Escribe tu nombre" << endl;
cin >> nombre3;
cout << "Escribe tu edad" << endl;
cin >> edad3;
if (edad1<edad2) {
if (edad1<edad3) {
cout << "La edad menor es de: " << nombre1 << endl;
cout << edad1 << " años" << endl;
} else {
cout << "La edad menor es de: " << nombre3 << endl;
cout << edad3 << " años" << endl;
}
} else {
if (edad2<edad3) {
cout << "La edad menor es de: " << nombre2 << endl;
cout << edad2 << " años" << endl;
} else {
cout << "La edad menor es de: " << nombre3 << endl;
cout << edad3 << " años" << endl;
}
}
return 0;
}
5. Realice el diagrama de flujo, el pseudocódigo que muestra el algoritmo para
determinar el costo y el descuento que tendrá un artículo. 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%.
#include<iostream>
using namespace std;
#define SIN_TIPO string
int main() {
float descuento;
int n;
float precio;
float total;
SIN_TIPO x;
cout << "Ingresa el numero de articulos" << endl;
cin >> n;
total = 0;
while (n>0) {
precio = 0;
descuento = 0;
cout << "Ingresa el precio del articulo " << x << endl;
cin >> precio;
if (precio>=200) {
descuento = precio*.15;
} else {
if (precio>100) {
descuento = precio*.12;
} else {
descuento = precio*.10;
}
}
cout << "El precio con descuento es: $" << precio-descuento <<
endl;
cout << "El descuento aplicado es: " << descuento << endl;
total = total+(precio-descuento);
n = n-1;
}
cout << "El total a pagar es: $" << total << endl;
return 0;
}
6. Una compañía de seguros para autos ofrece dos tipos de póliza: cobertura
amplia (A) y daños a terceros (B). Para el plan A, la cuota base es de $1,200, y
para el B, de $950. A ambos planes se les carga 10% del costo si la persona
que conduce tiene por hábito beber alcohol, 5% si utiliza lentes, 5% si padece
alguna enfermedad –como deficiencia cardiaca o diabetes–, y si tiene más de
40 años, se le carga 20%, de lo contrario sólo 10%. Todos estos cargos se
realizan sobre el costo base. Realice diagrama de flujo y diagrama N/S que
represente el algoritmo para determinar cuánto le cuesta a una persona
contratar una póliza.
#include<iostream>
using namespace std;
int main() {
float cuota;
int edad;
int error;
string seguro;
float total;
float x;
cout << "Ingresa tu edad" << endl;
cin >> edad;
cout << "Ingresa el tipo de seguro: A o B" << endl;
cin >> seguro;
total = 0;
error = 0;
if (seguro=="A" || seguro=="a" || seguro=="B" || seguro=="b") {
if (seguro=="A" || seguro=="a") {
cuota = 1200;
} else {
cuota = 950;
}
total = cuota;
cout << "Contesta lo siguiente: " << endl;
cout << "Tienes habitos por el alcohol: 1 = si - 2 = no" << endl;
cin >> x;
if (x==1 || x==2) {
if (x==1) {
total = total+(cuota*.10);
}
cout << "Usas lentes: 1 = si - 2 = no" << endl;
cin >> x;
if (x==1 || x==2) {
if (x==1) {
total = total+(cuota*.05);
}
cout << "Padece alguna enfermedad: 1 = si - 2 =
no" << endl;
cin >> x;
if (x==1 || x==2) {
if (x==1) {
total = total+(cuota*.05);
}
} else {
error = 1;
}
} else {
error = 1;
}
} else {
error = 1;
}
if (edad>40) {
total = total+(cuota*.20);
} else {
total = total+(cuota*.10);
}
} else {
error = 1;
}
if (error==0) {
cout << "El total a pagar por el seguro es: $" << total << endl;
} else {
cout << "La poliza no se pudo calcular" << endl;
}
return 0;
}
7. Represente un algoritmo mediante un diagrama de flujo y el pseudocódigo para
determinar a qué lugar podrá ir de vacaciones una persona, considerando que
la línea de autobuses “La tortuga” cobra por kilómetro recorrido. Se debe
considerar el costo del pasaje tanto de ida, como de vuelta; los datos que se
conocen y que son fijos son: México, 750 km; P.V., 800 km; Acapulco, 1200
km, y Cancún, 1800 km. También se debe considerar la posibilidad de tener
que quedarse en casa.
#include<iostream>
using namespace std;
int main() {
float kilometro;
float precio;
float presupuesto;
string viaje;
cout << "El precio por kilometro" << endl;
cin >> precio;
cout << "Ingresa el presupuesto para el viaje" << endl;
cin >> presupuesto;
kilometro = presupuesto/precio;
if (kilometro<750) {
cout << "Considere quedarse en casa mejor" << endl;
} else {
if (kilometro<800) {
viaje = "Mexico";
} else {
if (kilometro<1200) {
viaje = "P.V";
} else {
if (kilometro<1800) {
viaje = "Acapulco";
} else {
viaje = "Cancun";
}
}
}
cout << "Con ese presupuesto puedes viajar a " << viaje << endl;
}
return 0;
}
8. Se les dará un bono por antigüedad a los empleados de una tienda. Si tienen
un año, se les dará $100; si tienen 2 años, $200, y así sucesivamente hasta los
5 años. Para los que tengan más de 5, el bono será de $1000. Realice un
algoritmo y represéntelo mediante el diagrama de flujo, el pseudocódigo y
diagrama N/S que permita determinar el bono que recibirá un trabajador.
#include<iostream>
using namespace std;
int main() {
int antiguedad;
int bono;
cout << "Ingresa la antiguedad" << endl;
cin >> antiguedad;
bono = 0;
if (antiguedad==1) {
bono = 1000;
} else {
if (antiguedad==2) {
bono = 2000;
} else {
if (antiguedad==3) {
bono = 3000;
} else {
if (antiguedad==4) {
bono = 4000;
} else {
if (antiguedad<=5) {
bono = 5000;
} else {
bono = 10000;
}
}
}
}
}
cout << "Tu bono correspondiente es: $" << bono << endl;
return 0;
}
REPETITIVAS
1. Calcula el promedio de una lista de N número naturales
2. Encuentra los primeros N número primos
3. Hacer un diagrama que permita escribir los 100 primeros pares.
#include<iostream>
using namespace std;
int main() {
float num;
cout << "Los 100 primeros pares son" << endl;
num = 0;
while (num<200) {
cout << num << endl;
num = num+2;
}
return 0;
}
4. Hacer diagrama de flujo para sumar los N primero impares. Realizar después
uno que haga los mismos con los pares y otro con los múltiplos de 3.
5. Hacer un diagrama de flujo que lea N números, calcule y escriba la suma de
los pares y el producto de los impares
6. Desarrolle un algoritmo que permita convertir calificaciones numéricas, según
la siguiente tabla: A = 19 y 20, B =16, 17 y 18, C = 13, 14 y 15, D = 10, 11 y 12,
E = 1 hasta el 9. Se asume que la nota está comprendida entre 1 y 20.
#include<iostream>
using namespace std;
int main() {
int calificacion_a_leer;
cout << "Ingrese calificacion en valor numerico: ";
cin >> calificacion_a_leer;
if ((calificacion_a_leer==20) || (calificacion_a_leer==19)) {
cout << "Su nota: " << "A (Brillante)";
}
if ((calificacion_a_leer>15) && (calificacion_a_leer<19)) {
cout << "Su nota: " << "B (Sobresaliente)";
}
if ((calificacion_a_leer>9) && (calificacion_a_leer<16)) {
cout << "Su nota: " << "C (Regular)";
}
if ((calificacion_a_leer<10)) {
cout << "Su nota: " << "E (No muy bueno)";
}
return 0;
}
7. Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes
de sus dos catetos.
#include<iostream>
#include<cmath>
using namespace std;
int main() {
float a;
float b;
float c;
cout << "Escribe el cateto A" << endl;
cin >> a;
cout << "Escribe el cateto B" << endl;
cin >> b;
c = sqrtf(a*a+b*b);
cout << "La hipotenusa del triangulo es: " << c << endl;
return 0;
}
8. Desarrolle un algoritmo que permita determinar a partir de un número de días,
ingresado por pantalla, ¿Cuántos años, meses, semanas y días?
#include<iostream>
using namespace std;
int main() {
float ano;
float anos;
float año;
float años;
float diass;
float mes;
float meses;
float n;
float semana;
float semanas;
cout << "Ingrese los dias" << endl;
cin >> n;
ano = 365;
mes = 30.417;
semana = 7;
if (n>0) {
anos = n/ano;
meses = n/mes;
semanas = n/semana;
diass = n;
cout << "dada la cantidad de dias ingresados se tiene:" << endl;
cout << "años:" << anos << endl;
cout << "meses:" << meses << endl;
cout << "semanas:" << semanas << endl;
cout << "dias:" << diass << endl;
} else {
cout << "No se ha ingresado ningun dia" << endl;
}
return 0;
}
9. Juego simple que pide al usuario que adivine un numero en 10 intentos.
#include<iostream>
#include<cstdlib>
using namespace std;
int main() {
float intentos;
float num_ingresado;
float num_secreto;
intentos = 10;
num_secreto = (rand()%100)+1;
cout << "Adivine el numero (de 1 a 100):" << endl;
cin >> num_ingresado;
while (num_secreto!=num_ingresado && intentos>1) {
if (num_secreto>num_ingresado) {
cout << "Muy bajo" << endl;
} else {
cout << "Muy alto" << endl;
}
intentos = intentos-1;
cout << "Le quedan " << intentos << " intentos:" << endl;
cin >> num_ingresado;
}
if (num_secreto==num_ingresado) {
cout << "Exacto! Usted adivino en " << 11-intentos << " intentos."
<< endl;
} else {
cout << "El numero era: " << num_secreto << endl;
}
return 0;
}
10. Realiza el diagrama de flujo que simule una caja registradora.