Está en la página 1de 22

TALLER 1. PROGRAMACIÓN ESTRUCTURADA (GERMAN PALOMINO).

1. Elaborar un algoritmo que permita ingresar el número de partidos ganados,


perdidos y empatados, por algún equipo en el torneo apertura, se debe de
mostrar su puntaje total, teniendo en cuenta que por cada partido ganador
obtendrá 3 puntos, empatado 1 y perdido 0 puntos.

Algoritmo:
#include <iostream>
#include <cmath>
using namespace std;

int main()
//asignacion de variables//
{ int partidoG;
int partidoE;
int partidoP;

cout << "partidos ganados:";


cin >> partidoG;
cout << "partidos perdidos:";
cin >> partidoP;
cout << "partidos empatados:";
cin>> partidoE;

//calculo de partidos//

int resultadoG = partidoG*3;


int resultadoE = partidoE*1;
int resultadoP = partidoP*0;

// puntaje //

int resultado = resultadoG+resultadoE+resultadoP;


cout << "puntaje:" << resultado <<endl;
}

2. Se requiere el algoritmo para elaborar la planilla de un empleado que


trabaja por horas. Para ello se dispone de sus horas laboradas al mes, así
como de la tarifa por hora.

Algoritmo:

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
//asignación de variables. pago por horas 55000 COP, Horas trabajas al
mes 550 //
int horastrabajadas;

cout<< "horas trabajadas:";


cin >> horastrabajadas;

int pagoporhoras=55000;

// multipliciacion para saber el pago//

int pagototal = horastrabajadas*pagoporhoras;

cout <<"tu pago es:"<< pagototal << endl;

3. Elabore un algoritmo que lea los 3 lados de un triángulo cualquiera y


calcule su área, considerar. Si A, B y C son los lados, y S el semiperímetro.
Área = √𝑆∗(𝑆−𝐴)∗(𝑆−𝐵)∗(𝑆−𝐶)

Algoritmo: #include <iostream>


#include <math.h> //utilizamos la librería math.h para operaciones
matemáticas como raíz o potencia

using namespace std;

int main()
{ //variables
int A;
int B;
int C;
int S;

cout <<"lado A:";


cin >> A;

cout << "lado B:";


cin >> B;

cout << "lado C:";


cin>> C;

cout << "semiperímetro:";


cin>> S;

int Area = sqrt(S*(S-A)*(S-B)*(S-C)); //sqrt es raíz

cout << "el área es:"<< Area <<endl;


}

4. Elaborar un algoritmo que permita calcular el número de CD ́s necesarios


para hacer una copia de seguridad, de la información almacenada en un
disco cuya capacidad se conoce. Considerar que el disco duro está lleno
de información, además expresado en gigabyte. Un CD virgen tiene 700
Megabytes de capacidad y un Gigabyte es igual a 1024 megabyte.

Algoritmo:
#include <iostream>
#include <cmath>
using namespace std;

int main (){

// declarar variables DD= disco duro cd's vigenes = 700 MB//


int CDs = 700;
int DD;

cout << "Tamaño del disco duro en GB: ";


cin >> DD;

// pasar de MB a GB//

float MB = (DD*1024);

// calculo de numero de cd's necesarios//

float NCDs = (MB/CDs);


cout << "Numero de CDs necesarios: " << NCDs;

5. Elaborar un algoritmo que solicite la edad de 2 hermanos y muestre un


mensaje indicando la edad del mayor y cuantos años de diferencia tiene
con el menor.

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main()
{ // definir variables//
int edad1;
int edad2;

cout <<"Ingrese la edad del hermano 1:";


cin>> edad1;

cout <<"Ingrese la edad del hermano 2:";


cin>> edad2;

// saber que edad es mayor y el cálculo//

if (edad1>edad2){
int diferencia1 = edad1 - edad2;
cout<<"el hermano 1 es mayor";
cout<<"La diferecia de edad es: "<< diferencia1;
}

else if (edad1<edad2){
int diferencia2 = edad2 - edad1;
cout<<"El hermano 2 es mayor"<< endl;
cout<<"La diferecia de edad es: "<< diferencia2;
}

else {cout <<"tienen la misma edad:";


int diferencia = edad2 - edad1;
cout<<"La diferecia de edad es: "<< diferencia3;
}

6. Elaborar un algoritmo que sirva para identificar el tipo de triangulo


conociendo sus tres lados.

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main()
{ //definir variables//
int a;
int b;
int c;

cout <<"Ingrese lado a: ";


cin >> a;

cout <<"Ingrese lado b: ";


cin >> b;

cout <<"Ingrese lado c: ";


cin >> c;

// and para las dos condiciones se cumplan, or para que se cumpla una
sola condicion//
if (a==b and b==c){
cout <<"El triangulo es equilatero";
}

else if (a==c or c==b or b==a){


cout <<"El triangulo es isosceles";
}

else { cout<<"El trianguo es escaleno";


}
}

7. Elabore un algoritmo que permita ingresar un número entero (1 a 50), y


muestre su equivalente en romano.

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main()
{ //definer variables
int n;
int unidades;
int decenas;

cout <<"Ingrese el valor deseado entre 1 y 50: ";


cin >> n;

//el numero indicado de divide en 10 para saber sus unidades y decenas//

unidades = n%10; n/=10;


decenas = n%10; n/=10;
/* valor en numero romano.
X=10
L=50
I=1
V=5 */

if (decenas==1){
cout <<"X";
}else if (decenas== 2){
cout <<"XX";
}else if (decenas==3){
cout <<"XXX";
}else if (decenas==4){
cout <<"XL";
}else if (decenas==5){
cout <<"L";
}
if (unidades==1){
cout <<"I";
}else if (unidades==2){
cout <<"II";
}else if (unidades==3){
cout <<"III";
}else if (unidades==4){
cout <<"IV";
}else if (unidades ==5){
cout <<"V";
}else if (unidades ==6){
cout <<"VI";
}else if (unidades ==7){
cout <<"VII";
}else if (unidades ==8){
cout <<"VIII";
}else if (unidades ==9){
cout <<"IX";
}

return 0;
}

8. Elabore un algoritmo que permita ingresar el monto de venta alcanzado por


un vendedor durante un mes, luego de calcular la bonificación que le
corresponde sabiendo:

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main()

//definir variables//
{ int monto;

cout <<"Ingrese el monto: ";


cin>> monto;

// imprime el porcentaje del bono acorde con el monto del mes//

if (monto>=0 and monto <=1000){


float bonificacion1 = monto * 0.00;
cout << "la bonificacion por el 0% es: "<< bonificacion1 << endl;
} else if (monto > 1000 and monto <=5000){
float bonificacion2 = monto * 0.03;
cout << "la bonificacion por el 3% es:"<< bonificacion2 << endl;
} else if (monto > 5000 and monto <=20000){
float bonificacion3 = monto * 0.05;
cout << "la bonificacion por el 5% es: "<< bonificacion3 << endl;
} else if (monto > 20000){
float bonificacion4 = monto * 0.08;
cout <<"la bonificacion por el 8% es: "<< bonificacion4 << endl;
}

return 0;
}

9. Se desea leer un número entero de 2 cifras y que se muestre el número de


unidades, decenas que lo componen.

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main()
//denfinir variables//
{ int numero;

cout <<"Ingrese el numero de dos cifras: ";


cin >> numero;

// calculo para saber las unidades y decenas//


int unidades = numero%10; numero/=10;
int decenas = numero%10; numero/=10;

cout <<"Decenas: " << decenas << endl;


cout <<"Unidades: " << unidades << endl;

return 0;
}

10. Elaborar un algoritmo que solicite la edad de 100 personas, y que muestre
cuantos son mayores y menores de edad.

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main()
{ //definir variables. Utilizamos for para crear un bucle
int nmayordeedad = 0, nmenordeedad = 0;
for (int i = 1; i <=100; i++){
int edad;
cout<<"Ingrese la edad: ";
cin>> edad;

//condicionales para saber cuáles son mayor de edad y cuales no


if(edad<=18){
nmenordeedad++;
}else{
nmayordeedad++;
}
}
cout<<"El numero de personas mayor de edad es:
"<<nmayordeedad<<endl;
cout<<"El numero de personas menor de edad es:
"<<nmenordeedad<<endl;
return 0;
}

11. Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las
variables A, B y C respectivamente. El algoritmo debe imprimir cual es el
mayor y cuál es el menor. Recuerde constatar que los tres
valores introducidos por el teclado sean valores distintos. Presente un
mensaje de alerta en caso de que se detecte la introducción de valores
iguales.
Algoritmo: #include <iostream>
#include <cmath>
using namespace std;

int main()
{ // definir variables//
int A,B,C;

cout <<"Ingrese el valor A: ";


cin >> A;

cout <<"Ingrese el valor B: ";


cin >> B;

cout <<"Ingrese el valor C: ";


cin >> C;

// condicionales para saber si los valores son iguales o mayores//


if (A==B and B==C or A==B or B==C or A==C){
cout << "¡¡LOS VALORES SON IGUALES!!";
}else if (A>B and A>C){
cout <<"El numero mayor es: "<< A << endl;
}else if (B>A and B>C){
cout <<"El numero mayor es: "<< B << endl;
}else if (C>A and C>B){
cout <<"El numero mayor es: "<< C << endl;
}

return 0;

12. Determinar la hipotenusa de un triángulo rectángulo conocidas las


longitudes de sus dos catetos. Desarrollo el algoritmo correspondiente.

Algoritmo: #include <iostream>


#include <math.h>
#include <cmath>

using namespace std;

int main()
{ // definir variables//

float CO, CA;


cout <<"Ingrese el cateto opuesto : ";
cin >> CO;

cout <<"Ingrese el cateto adyacente: ";


cin >> CA;

// calculo de la hipotenusa (pow para sacar la potencia de un numero) //

float pys = (pow (CO,2)) + (pow (CA,2));

float h = sqrt(pys);

cout <<"La hipotenusa es: " << h << endl;

return 0;

13. Realice un algoritmo que calcule el monto a pagar por el servicio de


estacionamiento, teniendo en cuenta que por la primera hora de estadía se
tiene una tarifa de 5000 pesos y las restantes tienen un costo de 3000
pesos. Se tiene como datos: hora de entrada, hora de salida (formato
militar), iniciada una hora se contabiliza como hora total.

Algoritmo: #include <iostream>

using namespace std;

int main()
{ // definir variables//
int HE;
int HS;
int pago = 0;

cout << "La hora de entrada es: ";


cin >> HE;

cout <<"La hora de salida es: ";


cin >> HS;

//saber las horas de estadia y las horas restantes//


int hde = (HS - HE) /100;

// calculo para saber el pago//


if(hde>1){
int pago = ((hde*3000)-3000) + 5000 ;
cout <<"El pago es: " << pago << endl;
} else if (hde == 1){
int pago = 5000;
cout <<"El pago es: " << pago << endl;
}

return 0;
}

14. Realice un algoritmo que, a partir de proporcionarle la velocidad de un


automóvil, expresada en kilómetros por hora, proporcione la velocidad en
metros por segundo.

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main()
{ //variables
float KMH;

cout <<"Ingrese la velocidad en Km/h:";


cin >> KMH;
//calculo para pasar de km/h a m/s
float mps = (KMH * 1000)/3600;
cout <<"La velocidad en M/s es :"<< mps << endl;

return 0;
}

15. Escribir un programa que seleccione la operación aritmética a ejecutar


entre dos números dependiendo del valor de una variable denominada

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main ()
{ //variables
int V1, V2, seleccionop;
cout <<"Introducir un valor: ";
cin >> V1;

cout <<"Introducir un segundo valor: ";


cin >> V2;

cout <<"Escriba la operacion que desea, 1 para suma, 2 para resta, 3


para multiplicación, 4 para división: ";
cin >> seleccionop;
//condicionales para la operación seleccionada
if (seleccionop == 1){
int suma = V1 + V2;
cout << "La suma es: " << suma << endl;
}else if (seleccionop == 2){
int resta = V1 - V2;
cout << "La resta es: " << resta << endl;
}else if (seleccionop == 3){
int multiplicacion = V1 * V2;
cout << "La multiplicación: " << multiplicacion << endl;
}else if (seleccionop == 4){
int division = V1/V2;
cout << "La división es: " << division << endl;
}

return 0;
}
16. Escribir un algoritmo que visualice el siguiente doble mensaje:
•Introduzca un mes (1 para enero, 2 para febrero, …)
•Introduzca un día del mes

Algoritmo:
#include <iostream>
#include <cmath>
using namespace std;

int main()
{ // definir variables //
int mes, dia;

cout << "Ingrese el mes, si 1 = Enero, 2 = Febrero, ... : ";


cin >> mes;

//saber si el mes ingresado existe o no//


if (mes>12){
cout <<"¡ERROR! MES NO EXISTENTE"<< endl;
}

cout << "Ingrese un día del mes : ";


cin >> dia;

// saber si el dia ingresado existe o no//

if (mes == 1){
if (dia>31){
cout <<"¡ERROR! DÍA NO EXISTENTE"<< endl;
}
} else if (mes == 2){
if (dia>29){
cout <<"¡ERROR! DÍA NO EXISTENTE"<< endl;
}
} else if (mes == 3){
if (dia>31){
cout <<"¡ERROR! DÍA NO EXISTENTE"<< endl;
}
} else if (mes == 4){
if (dia>30){
cout <<"¡ERROR! DÍA NO EXISTENTE"<< endl;
}
} else if (mes == 5){
if (dia>31){
cout <<"¡ERROR! DÍA NO EXISTENTE"<< endl;
}
} else if (mes == 6){
if (dia>30){
cout <<"¡ERROR! DÍA NO EXISTENTE"<< endl;
}
} else if (mes == 7){
if (dia>31){
cout <<"¡ERROR! DÍA NO EXISTENTE"<< endl;
}
} else if (mes == 8){
if (dia>31){
cout <<"¡ERROR! DÍA NO EXISTENTE"<< endl;
}
} else if (mes == 9){
if (dia>30){
cout <<"¡ERROR! DÍA NO EXISTENTE"<< endl;
}
} else if (mes == 10){
if (dia>31){
cout <<"¡ERROR! DÍA NO EXISTENTE"<< endl;
}
} else if (mes == 11){
if (dia>30){
cout <<"¡ERROR! DÍA NO EXISTENTE"<< endl;
}
}else if (mes == 12){
if (dia>31){
cout <<"¡ERROR! DÍA NO EXISTENTE"<< endl;
}
}
return 0;
}

17. Realizar un programa que calcular el factorial de n números leídos del


terminal.

Algoritmo: #include <iostream>


#include <cmath>

using namespace std;

int main()
{ // definir variables//
float n;

cout <<"Ingrese el número a operar: ";


cin >> n;

// tgamma para sacar el factorial de un número. ej: 3! = 3*2*1//

int r = tgamma (n+1);

cout <<"El resultado es: " << r << endl;


return 0;
}

18. Realizar un programa que Imprima todos los números primos entre 2 y 100
inclusive.

Algoritmo: #include <iostream>


#include <cmath>

using namespace std;

int main()
{ //bucle para que imprima los # primos
for (int i = 2; i<=100; i++){
int a=0;
for (int j = 1; j<=100; j++){
if(i%j==0)
a++;
}if (a==2){ //printf(%d\n,variable ) para que los resultados salgan separados
printf("%d\n", i);
}
}
return 0;
}

19. Diseñar el algoritmo para imprimir la suma de los números impares


menores o iguales que n

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main()
{ //Variables
int x, n, suma = 0;
cout<< "ingrese numero: ";
cin>>n;
// bucle de 1 hasta el numero digitado,suma de los impares
for (x=1; x<=n; x++){
if (x%2==1){
suma = suma + x;
}
}
cout << "Valor de suma: " << suma;
return 0;
}

20. Calcular el enésimo término de la serie de Fibonacci definida por:


A1 =1, A2 =2, A3 =1+2=A1 +A2, An =An–1 +An–2 (n>=3)

Algoritmo: #include <iostream>

using namespace std;

int main()
{
int aux = 1, fib = 0, lim;//Agregamos los 2 primeros numeor de la serie 1 y
0
cout<<"Ingrese limite: ";
cin>>lim;//Que inserte el limite

for (int i = 1;i <= lim; i++){//Bucle


cout << "[" << fib << "] ";//imprimir los numeros separados
aux += fib; //resta para saber el siguiente numero
fib = aux - fib; // Así luego valdra fib=1 y aux=1, se volvera a realizar la
suma y resta (luego se sumara 1+1 = 2 y a 2-1 = 1 luego se suma 2+1=3 y
3-1= 2 luego 3+2 = 5 y 5-2= 3 etc...)
}

cout<<"\n";

return 0;
}

21. Calcular:

a) Para N que es un entero leído por teclado.


b) Hasta que N sea tal que xn/n < E (por ejemplo, E = 10–4).

Algoritmo:
#include <iostream>

using namespace std;

int main()
{
float x;
cout << "Ingresar el valor de X: ";
cin >> x;
char metodo;
cout << "Metodo A o B: ";
cin >> metodo;

float a = 1, b = 1, s = 0;

switch (metodo)
{
case 'A':
case 'a':
int n;
cout << "Ingrese el número de términos: ";
cin >> n;
for (int i = 0; i < n; ++i)
{
s += a / b;
a *= x;
b *= i + 1;
}
cout << "E(" << x << ") = " << s << endl;
break;
case 'B':
case 'b':
for (int i = 0; a / b > 1E-4; ++i)
{
s += a / b;
a *= x;
b *= i + 1;
}
cout << "E(" << x << ") = " << s << endl;
break;
default:
cerr << "Método no válido" << endl;
break;
}

return 0;
}
22. Desarrolle un programa que sea capaz de sumar sólo los números pares
que se encuentran entre 1 y 50.

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main()
{ //Variables
int x, n=50, suma = 0;

// Bucle del 1 hasta el numero ingresado


for (x=1; x<=n; x++){
if (x%2==0){ //Sí x dividido en 2 y el residuo da 0 es par
suma = suma + x;// se realiza la suma de los valores x pares
}
}
cout<<"Valor de la suma: "<<suma;
return 0;
}

23. Desarrolle un programa que sea capaz de sumar sólo los números impares
que se encuentran entre 1 y 80.

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main()
{ //Variables
int x, n=80, suma = 0;

// Bucle del 1 hasta el numero ingresado


for (x=1; x<=n; x++){
if (x%2==1){ //Sí x dividido en 2 y el residuo da 1 es impar
suma = suma + x;// se realiza la suma de los valores x impares
}
}
cout<<"Valor de la suma: "<<suma;
return 0;
}

24. Desarrolle un programa que sea capaz de leer N números e indique cuál
de ellos es mayor.

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main()
{ //Variables
int A = 0, mayor = 0, Num;
cout<<"Ingrese la cantidad de numeros que desea ingresar: ";//ingresar
el numero
cin>> Num;
//ciclo for para digitar los numeros y que busque el mayor
for (int i = 1; i<=Num; i++){
cout<<"Ingrese los numeros: ";
cin>>A;
if (i==0){
mayor = A;//el numero mayor por ahora equivale a 0
}else{
if (A > mayor){//Sí el numero A es mayor al numero mayor ya
establecido osea 0 se convertira en mayor
mayor = A;}// mayor sera igual al digito mas grande
}
}
cout<< "El numero mayor es: "<<mayor;

return 0;
}

25. Desarrolle un programa que sea capaz de calcular y mostrar la cantidad de


múltiplos de un valor M para una cantidad N de números entre 1 y N.
Pruebe por ejemplo M=5 y N = 1000.

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main()
{ //Variables
int x, lim, M;

cout<<"Ingrese el numero al cual sacar los multiplos: ";


cin>>x;
cout<<"Ingrese el limite de los multiplos: ";
cin>>lim;
//ciclo para sacar los multiplos
for (int i=1; i<=lim; i++){
M = (x*i);
if (M<=lim){
cout<<" ["<<M<<"] ";
}
}
return 0;
}

26. Desarrolle un programa que lea de teclado dos números enteros y los
almacene en dos variables de tipo int. Posteriormente deberá intercambiar
los valores almacenados en dichas variables, y finalmente deberá escribir
el valor almacenado en cada una de ellas.
Algoritmo: #include <iostream>
#include <cmath>
using namespace std;

int main ()
{ //Variables

int A,B,C;

cout <<"Ingrese el valor A: ";


cin >> A;

cout <<"Ingrese el valor B: ";


cin >> B;

C=A; //C es igual a A


A=B; // A toma el valor B
B=C; // B toma el valor C (C es el valor de A)

cout<<"A es igual a: "<<A<<endl;

cout<<"B es igual a: " <<B<<endl;

return 0;
}

27. Desarrolle un programa que lea del teclado una cierta cantidad de
segundos y retorne su equivalente en semanas, días, horas, minutos y
segundos.

Algoritmo: #include <iostream>


#include <cmath>
using namespace std;

int main()
{ //Variables
int x, Sem, Dia, H, M, Seg;
cout<<"ingrese los segundos: ";
cin>>x;
//equivalencias en seg
Sem = (x/604800);
Dia = (x/86400);
H = (x/3600);
M = (x/60);
Seg = (x/1);

cout<<"Las semanas son: "<<Sem<<endl;


cout<<"Los dias son: "<<Dia<<endl;
cout<<"Las horas son: "<<H<<endl;
cout<<"Los minutos son: "<<M<<endl;
cout<<"Los segundos son: "<<Seg<<endl;
return 0;
}

28. Diseñe un programa que lea un número entero de teclado y escribe un


triángulo rectángulo(relleno) con tantos asteriscos (*) de base y altura
como indique el número leído.

Algoritmo: #include <iostream>

using namespace std;

int main()
{
int number;
cout << "Ingresar un número: ";
cin >> number;

for (int row = 1; row <= number; row++)


{
for (int column = 0; column < row; ++column)
{
cout << "*";
}
cout << endl;
}

return 0;
}

29. Diseñe un programa que lea un número entero de teclado y escribe un


triángulo rectángulo(hueco) con tantos asteriscos (*) de base y altura como
indique el número leído.

Algoritmo: #include <iostream>

using namespace std;

int main()
{
int number;
cout << "Input a number: ";
cin >> number;
for (int row = 1; row <= number; row++)
{
for (int column = 0; column < row; ++column)
{
if (column == 0 || column == row - 1 || row == number)
{
cout << '*';
}
else
{
cout << ' ';
}
}
cout << endl;
}

return 0;
}

También podría gustarte