Sie sind auf Seite 1von 42

UNIVERSI

DAD DE
LAS
FUERZAS
FUNDAM
ARMADA
ENTOS
S -ESPE
DE
PROGRA EJERCICI
OS
MACION
NOMBRE:
GABRIEL TABOADA
NRC:

2347

SANGOL
QUI 2016

EJERCICIO 2
/*Realizar un programa que combierta la temperatura de grados farengei (F) desde 0 hasta 212
grados, a grados Celsius (C) de punto flotante con 3 digitos de precision, utilizando la formula:
C=(5.0/9)*(F-32)*/
#include <stdio.h>
#include<stdlib.h>
#include <windows.h>
void posicion(int x,int y){
HANDLE hcon;
hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y= y;
SetConsoleCursorPosition(hcon,dwPos);
}
int main (){
float Cen,Fare;
do{
printf ("ingrese temperatura en grados Farengei\n");
scanf ("%f",&Fare);
}while (Fare<0 || Fare>212);
Cen=(5.0/9)*(F-32);
printf ("la temperatura es");
posicion (0,2);
printf ("Farengei");
posicion (11,2);
printf ("Celsius\n");
printf("%.3f",Fare);
posicion (11,3);
printf ("%.3f\n \n",Cen);
system ("pause");
return 0;
}

EJERCICIO 3
/* */
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int num,aux1,aux2,aux3,aux4,aux5;
printf("Ingrese el numero: \n");
scanf("%d",&num);
if(num<=99999 && num>=10000){
aux1=num%10;
aux2=((num-num%10)/10)%10;
aux3=((num-num%100)/100)%10;
aux4=((num-num%1000)/1000)%10;
aux5=((num-num%10000)/10000)%10;
if (aux2==aux4 && aux1==aux5)
printf("EL numero invertido %d%d%d%d%d es palindromo\n", aux1, aux2, aux3, aux4,
aux5);
else
printf("El numero invertido %d%d%d%d%d no es palindromo\n", aux1, aux2, aux3, aux4, aux5);
}
if (num>99999 || num<=9999)
printf("EL numero no es de 5 digitos\n");
system("pause\n");
return 0;
}

EJERCICIO 4
/*Realizar un programa que ingrese desde teclado un nmero entero binario e imprimir su
equivalente decimal. Validar que los dgitos del nmero sean binarios (solo dgitos 0 y 1)*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
//declaracin de variables
long bin,var,de;
int dig,flag,cont;
//valida si el nmero ingresado es binario y cambia a decimal
do{
printf ("INGRESE EL NUMERO BINARIO:");
scanf ("%d",&bin);
de=0;
cont=1;
while(bin!=0) {
//toma digito del numero binario
dig=bin%10;
//valida si el digito es 1 o 0
if(dig==0 | dig==1)
{
//cambia a decimal
de=de+(dig*cont);
//disminuye numero binario
bin=bin/10;
//incrementa variable para clculo de decimal
cont=cont*2;
}
else
{
printf("EL NUMERO NO ES BINARIO %d");
bin=0;
}
}
//variable que controla ciclo de repeticin
flag=1;
}
while(flag==0);
// Imprime respuesta validando que sea binario
if(cont>1)
printf("EL NUMERO EN DECIMAL ES:%d\n ",de);
system ("PAUSE");
return 0;
}

EJERCICIO 5
/* Escribir un programa que calcule e imprima el promedio de una secuencia de numeros enteros
suponiendo que el ultimo valor leido por scanf es el centinela 9999. El programa debera leer un valor
cada vez que scanf sea ejecutado . El promedio debera calcularse de todos los valores que anteceden
a 9999, ademas el programa debera localizar el mas pequeo de los numeros enteros.*/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int num,cont,menor,a;
float sum,prom;
cont=0;
sum=0;
menor=0;
a=0;
printf("INGRESE UN NUMERO ENTERO (9999 PARA SALIR):\n");
do
{
scanf("%d",&num);
if(num<menor)
menor=num;
if(a==0)
{
menor=num;
a=1;
}
cont=cont+1;
sum=sum+num;
}while(num!=9999);
prom=(sum-9999)/(cont-1);
printf("EL PROMEDIO ES:%f\n ",prom);
printf("EL NUMERO MENOR ES: %d\n",menor);
system("PAUSE");
return 0;
}

EJERCICIO 7

/* Escribir un programa que lea tres valores float diferentes de cero, que determine e imprima si
pueden representar los lados de un tringulo.
Adems se debe indicar si esos valores pueden ser los lados de un tringulo rectngulo.*/
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
int main() {
float a,b,c;
do{
printf("ingrese lado A:\t");
scanf("%f",&a);
}while (a==0);
do{
printf("ingrese lado B:\t");
scanf("%f",&b);
}while (b==0);
do{
printf("ingrese lado C:\t");
scanf("%f",&c);
}while (c==0);
if(a+b<c||a+c<b||b+c<a){
printf("los lados NO forman un triangulo\n");
}
else
printf("los lados si forman un triangulo\n");
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a){
printf("es un triangulo rectangulo\n");
}
else
printf(" no forma triangulo rectangulo\n");
return 0;
system("PAUSE\n");
}

EJERCICIO 9
//imprimir un cuadrado hueco con asteriscos.//
#include <stdio.h>

#include <stdlib.h>
int main()
{
int colum,fi,num1;
printf("Ingrese un numero: ");
scanf("%d",&num1);
for(colum=1; colum<num1 ; colum++)
printf(" *");
printf("\n");
for(fi=2; fi<num1; fi++){
printf(" *");
for(colum=2; colum<num1; colum++)
printf(" ");
printf(" *\n");
}
for(colum=1; colum<num1 ; colum++)
printf(" *");
system("pause");
return 0;
}

Ejercicio 10
/*Escribir un programa que imprima la figura de un diamante como en el grfico siguiente. Se puede
utilizar funciones printf () que imprima ya sea un (*),
o un espacio en blanco, minimizando el nmero de funciones printf (). Utilizar estructuras de
repeticin anidadas. El programa debe leer un nmero impar del rango 1 al 19 a fin de especificar el

nmero de lneas del diamante. A continuacin se deber desplegar un diamante del tamao
apropiado. Por ejemplo, si el nmero de lneas es 9 la figura ser:*/
# include <stdio.h>
#include <stdlib.h>
int main ()
{
int n ;
do{
printf(" Ingrese un numero del 1 al 19: ") ;
scanf("%d",&n);
}while(n<1 || n>19);
for (int j = 0; j < n ; ++j) {
for (int i = 0; i < n-j-1; ++i)
printf( " ");
for (int i = 0; i < 2*j+1; ++i)
printf("*");
printf("\n") ;
}
for (int j=n-2; j>=0; --j) {
for (int i=0; i<n-j-1; ++i)
printf(" ") ;
for (int i=0; i<2*j+1; ++i)
printf("*");
printf("\n");
}
return 0;
}

EJERCICIO 11
//Escrbir un programa que imprimia los siguientes patrones por separado
#include<stdio.h>
#include<stdlib.h>
#define tab 10
int main (){
char es,as;
int i, y,x,f;

as= '*';
es=' ';
y=1;
do{
for(i=1; i<=y;i++){
printf("%c", as);
}
printf("\n");
y++;
}while(y<=10);
printf("\n");
y=10;
do{
for(i=1; i<=y;i++){
printf("%c", as);
}
printf("\n");
y--;
}while(y>=1);
printf("\n");
y=10;
do{
for(i=1; i<=y;i++){
printf("%c", as);
}
printf("\n");
for(x=10;x>=y;x--){
printf ("%c",es);
}
y--;
}while(y>=1);
printf ("\n");
y=0;
do{
for (i=1; i<=y; i++){
printf("%c",as);
}
printf("\n");
for(x=10;x>=y;x--){
printf ("%c",es);
}
y++;
}while(y<=10);
system("Pause");
return 0;
}
EJERCICIO 12
EJERCICIO 13
#include<stdio.h>
#include<math.h>
#include<stdlib.h>

#include<conio.h>
int main()
{
int num2, num1, i, s=0,j,s2=0,num3,s3=1,k;
printf("Ingrese la cantidad de numeros que desea sumar: \n");
scanf("%d", &num1);
printf("Ingrese un numero para multiplicar sus valores pares e impares: \n");
scanf("%d", &num3);
for (i=1; i<=num1; i++)
{
printf("Ingrese un numero entero: \n");
scanf("%d", &num2);
s=s+num2;
}
for(j=2;j<=num1;j++)
{
if(j%2==0)
s2=j+s2;
}
for(k=1;k<=num3;k++)
{
if(k%2!=0)
s3=k*s3;
}
printf("La suma es: %d\n", s);
printf("La suma de los numeros pares del primer numero es : %d\n", s2);
printf("El producto de los numeros impares es : %d\n", s3);
}

EJERCICIO 14
/*14. Realizar un men para cada uno de los siguientes enunciados:

a) Leer dos nmeros del teclado, y calcular la suma de los nmeros y desplegar el resultado.
b) Leer dos nmeros del teclado, determinar y desplegar cual es el mayor de los dos nmeros.
c) Leer desde el teclado una serie de nmeros positivos suponiendo que el valor del centinela es -1,
para indicar la entrada de fin de datos. Luego de terminar
y desplegar la suma de la serie de nmeros.*/
#include<stdio.h>
#include<stdlib.h>
int main ()
{
int num,num1,num2,num3,cont,suma;
cont=0;
printf("Eliga una operacion: 1.Suma y 2.Mayor y 3.Serie\n");
scanf("%d",&num);
system("CLS");
switch (num)
{
case 1:
printf("Escribir numero uno: \n");
scanf("%d",&num1);
printf("Escribir numero dos: \n");
scanf("%d",&num2);
suma=num1+num2;
printf("Suma de %d y %d es igual a %d\n",num1,num2,suma);
;
break;
case 2:printf("Escribir numero uno: \n");
scanf("%d",&num1);
printf("Escribir numero dos: \n");
scanf("%d",&num2);
if(num1<num2){
printf("Numero mayor: %d\n",num2);
}else{
printf("Numero mayor: %d\n",num1);
}
break;
case 3:
do{
printf("Escribir numero: \n");
scanf("%d",&num3);
cont=cont+num3;
}while(num3!=-1);
printf("La suma de la serie es %d\n",cont);
break;
default: printf("Salir, vuelva pronto\n");break;
}
system("PAUSE");
return 0;
}

EJERCICIO 15
/* Realizar un programa que imprima una tabla de todos los equivalentes de
los nmeros decimales a nmeros romanos, en el rango de 1 a n ingresado desde teclado.*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num1,entero,res,cont;
printf( "INGRESE UN NUMERO " );
scanf( "%i", &num1 );
for(cont=1; cont<=num1; cont++){
/* Dividimos por 100 */
entero = i/100;
res = i%100;
switch( entero )
{
case 1: printf( "C" ); break;
case 2: printf( "CC" ); break;
case 3: printf( "CCC" ); break;
case 4: printf( "CD" ); break;
case 5: printf( "D" ); break;
case 6: printf( "DC" ); break;
case 7: printf( "DCC" ); break;
case 8: printf( "DCCC" ); break;
case 9: printf( "CM" ); break;
}
/*Dividimos por 10 */
entero = res/10;
res=res%10;
switch( entero )
{
case 1: printf( "X" ); break;

case 2: printf( "XX" ); break;


case 3: printf( "XXX" ); break;
case 4: printf( "XL" ); break;
case 5: printf( "L" ); break;
case 6: printf( "LX" ); break;
case 7: printf( "LXX" ); break;
case 8: printf( "LXXX" ); break;
case 9: printf( "XC" ); break;
}
switch( res )
{
case 1: printf( "I" ); break;
case 2: printf( "II" ); break;
case 3: printf( "III" ); break;
case 4: printf( "IV" ); break;
case 5: printf( "V" ); break;
case 6: printf( "VI" ); break;
case 7: printf( "VII" ); break;
case 8: printf( "VIII" ); break;
case 9: printf( "IX" ); break;
}
printf("\n");
}
system("PAUSE");
return 0;
}

EJERCICIO 17
/*Un conductor lleva registro de los kilmetros manejados y los galones utilizados en cada uno de los
tanques. Desarrollar un programa que introduzca lo kilmetros manejados y los galones utilizados en
cada tanque, para calcular y desplegar los kilmetros por galn obtenidos de cada tanque. Despus
de procesar toda la informacin de entrada, el programa deber calcular e imprimir los kilmetros
por galn combinados, obtenido de todos los tanques. Por ejemplo:
Ingrese los galones usados <- 1 para fin >: 15.63 <ENTER>
Ingre4se los kilmetros conducidos: 300 <ENTER>
Los km/galn para este tanque fue: 19.608
Ingrese los galones usados <- 1 para fin >: 8<ENTER>
Ingre4se los kilmetros conducidos: 140 <ENTER>
Los km/galn para este tanque fue: 17.5
Ingrese los galones usados <- 1 para fin >: -1 <ENTER>
El promedio de los km/galn fue: 18.554
// Calcular los kilometros recorridos por galones y el promedio*/
#include <iostream>
using std::cout;

using std::cin;
using std::endl;
using std::fixed;
#include <iomanip>
using std::setprecision;
int main()
{
double distancia; // declara distancia
double galones;
// declara galones
double resultado; // declara resultado
double totalkms = 0; // declara kilometros totales
double totgalones = 0; // inicializa total galones
while ( galones != -1 ) {
// indica la entrada y obtiene el valor a partir del usuario (galones)
// -1 para terminar el ciclo while
cout << "Introduzca los galones utilizados (-1 en adelante): ";
cin >> galones;
if ( galones == -1 ) // comprueba si la entrada es -1
break; // se salta el bloque "else" si la entrada fue -1
else { // si la entrada no fue -1 continua con este bloque
// indica entrada y obtiene valor del usuario (kilometros recorridos)
cout << "Introduzca los kilometros recorridos: ";
cin >> distancia;
resultado = distancia / galones; // calcula los kilometros por galone
totgalones += galones;
// calcula el total de galones consumido
totalkms += distancia;
// calcula el total de distancia recorrida
// despliega resultados por tanque
cout << fixed << setprecision ( 6 );
cout << "Los kilometros / galone para este tanque fueron " << resultado
<< "\n" << endl;
}
}
// despliega el promedio a partir de las variables "totLitros" y "totalkms"
cout << "\nEl promedio total de kilometros/galone fue de "
<< totalkms / totgalones << endl;
return 0;
}

EJERCICIO 18
/*Una gran empresa qumica paga a su personal de ventas en base a comisiones. El personal de
ventas recibe 200 dlares por semana ms 9% de las ventas brutas de esa semana. Por ejemplo, una
persona de ventas que vende 5000 dlares de productos qumicos en una semana, recibe 200 dlares
ms 9% de 5000 dlares, o sea un total de 650 dlares. Desarrollar un programa que introduzca las
ventas brutas de cada vendedor correspondiente a la ltima semana, calcule y despliegue las
ganancias de dicho vendedor. Procesar las cifras vendedor por vendedor. Por ejemplo:
Ingrese las ventas <- 1 para fin>: 5000 <ENTER>
El salario es: 650 dlares
Ingrese las ventas <- 1 para fin>: 1000 <ENTER>
El salario es: 290 dlares
Ingrese las ventas <- 1 para fin>: -1 <ENTER>*/
#include<stdio.h>
#include<stdlib.h>
int main(){
//declaro variables
int a=0,op;
float sal=0,venta=0;
//proceso
do{
system("CLS");
a++;
printf("Ingrese el nmero de ventas del empleado %d\n ",a);
scanf("%f",&venta);
sal=200+(venta*0.09);
printf("El salario que debe recibir el empleado %d es %.2f dolares\n",a,sal);
printf("Para salir del programa presione 2 si desea ingresar otra nueva venta del empleado presione
cualquier otro valor\n");
scanf("%d",&op);
}while(op!=2);
system("PAUSE");

return 0;
}

EJERCICIO 19
/*Desarrollar un programa que determine si un cliente de una tienda departamental ha excedido el
lmite de una cuenta de crdito. Para cada uno de los clientes estn disponibles los siguientes datos:
a)
Nmero de la cuenta de crdito
b)
Saldo al principio del mes
c)
Total de todos los crditos aplicados en el mes a la cuenta del cliente.
d)
Lmite permitido de crdito.
El programa deber introducir cada uno de estos datos, luego calcular el nuevo saldo (saldo inicial
+crditos). Y determinar si el nuevo saldo excede el lmite de crdito del cliente. Para aquellos
clientes cuyo lmite de crdito este excedido, el programa deber desplegar el nmero de cuenta el
cliente, el lmite de crdito, el nuevo saldo y el mensaje: "Limite de crdito excedido". Por ejemplo:
Ingrese el nmero de cuentas <- 1 para fin>: 100 <ENTER>
Ingrese balance inicial: 539 <ENTER>
Ingrese total de crditos: 5000 <ENTER>
Ingrese crditos lmite: 5500 <ENTER>
Cuenta: 100
Crdito lmite: 5500
Balance: 5539
Lmite de crdito excedido
Ingrese el nmero de cuentas <- 1 para fin>: 200 <ENTER>
Ingrese balance inicial: 1000 <ENTER>
Ingrese total de crditos: 321 <ENTER>
Ingrese crditos lmite: 1500 <ENTER>
Ingrese el nmero de cuentas <- 1 para fin>: -1 <ENTER>*/
#include <stdio.h>
#include <stdlib.h>

int main (){


int cuenta;
float saldo,limcredito,credito,balance;
do{
printf("ingrese numero de cuenta \n");
scanf ("%d",&cuenta);
printf("ingrese el balance inicial \n");
scanf ("%f",&saldo);
printf("ingrese el total de creditos \n");
scanf ("%f",&credito);
printf("ingrese el limite de credito\n");
scanf ("%f",&limcredito);
} while (cuenta<0||saldo<0||credito<0||limcredito<0);
balance=saldo+credito;
if (balance>limcredito){
system ("CLS");
printf("cuenta\t
:\t%d\n",cuenta);
printf("credito limite\t:\t%.2f\n",limcredito);
printf("balance\t
:\t%.2f\n",balance);
printf("limite de credito exedido\n");
}
else {
system ("CLS");
printf("cuenta\t
:\t%d\n",cuenta);
printf("credito limite\t:\t%.2f\n",limcredito);
printf("balance\t
:\t%.2f\n",balance);
}
system ("pause");
return 0;
}

EJERICIO 20
/*desarrollar un programa que determine el sueldo para cada uno de los empleados de una empresa.
La empresa paga "tiempo normal" para las primeras 40 horas trabajadas de cada empleado y paga
"sobre tiempo" de 1.5 veces para todas las horas trabajadas en exceso de 40 horas. Para introducir la
informacin de cada uno de los empleados, se tiene una lista de los empleados de la empresa, el
nmero de horas de cada empleado trabaj la ltima semana, y la tasa horaria de cada empleado
trabaj la ltima semana y la tasa horaria de cada empleado. Determinar y desplegar el sueldo de
cada uno de los empleados. Por ejemplo:
Ingrese # de horas trabajadas <- 1 para fin>: 39 <ENTER>
Ingrese la tasa horaria (00.00 dlares): 10 <ENTER>
El salario es: 390 dlares
Ingrese # de horas trabajadas <- 1 para fin>: 41 <ENTER>
Ingrese la tasa horaria (00.00 dlares): 10 <ENTER>
El salario es: 415 horas dlares
Ingrese # de horas trabajadas <- 1 para fin>: -1 <ENTER>*/
#include<stdio.h>
#include<stdlib.h>
int main(){
int a,b,c,salario, hextras,salariof;
int i,n;
a=0;
b=0;
c=0;
printf("Ingrese la cantidad de trabajadores\n");
scanf("%d",&n);
for(i=1;i<=n;i=i+1)
{
printf("Ingrese el numero de horas trabajadas\n");
scanf("%d",&a);
printf("Ingrese la tasa de horario\n");
scanf("%d",&b);
if(a<40)
{
salario=a*b;
printf("tu salario es de: %d\n",salario);
}
else
{
salario=40*b;
c=a-40;
hextras=c*1.5*b;
salariof = salario+hextras;
printf("Tu salario es de: %d\n",salariof);
}
}
system ("PAUSE");
return 0;

EJERCICIO 21
/*21. El inters simple de un prstamo se calcula mediante la formula:
Inters= capital*tasa*das/365
Donde:
Tasa, es la tasa de inters anual, por lo que se divide para 365(das)
Desarrollar un programa que introduzca el capital (principal), tasa y das para varios prstamos
diferentes, que calcule,
y despliegue el inters simple para casa prstamo, mediante el uso de la formula anterior*/
#include <stdio.h>
#include<stdlib.h>
int main()
{
int cap, inter,op, dias;
float tasa;
do{
do
{
printf("Calcular interes\n Ingrese el valor del prstamo principal:\n <-1 para fin>\n" );
scanf("%d",&cap);
}while (cap<0 && cap!=-1 );
if (cap!=-1 && cap >0)
{
do
{
printf("Ingrese la tasa de interes:\n" );
scanf("%f",&tasa);
} while(tasa<0);

do
{
printf("Ingrese el trmino del prestamo en dias:\n" );
scanf("%d",&dias);
} while(dias<=0);
inter=cap*tasa*dias/365;
printf("El inters cargado es %d\n:",inter);
}
else if(cap==-1)
exit(-1);
printf("Desea ingresar nuevos valores? -1=no 2=si\n");
scanf("%d",&op);
}while (op!=-1);

system ("PAUSE");
return (0);
}

EJERCCIO 22
/*. Una persona invierte p sucres en una cuenta de ahorros, que redita un inters del r%.
Suponiendo que todo el inters se queda en depsito dentro de la cuenta, calcular e imprimir la
cantidad de dinero en la CUENTA DURANTE n aos.
Para la determinacin del inters compuesto se utiliza la frmula:
a=p(1+r)n
donde:
P es la cantidad original invertida (el principal)
r es la tasa anual de inters
"
n es el nmero de aos
a es la cantidad del depsito al final del ao n.
realizar un programa para tasas de inters del 5%, 6%, 7%, 8%, 9% y 10%. Adems, el programa
solo debe utilizar enteros para calcular el inters compuesto*/

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(){
int p,a,r,n;
do{
printf("ingrese la cantidad de dolares:");
scanf("%d",&p);
}while(p<=0);
printf("ingrese el numero de aos:");
scanf("%d",&n);
for(r=5;r<=10;r++){
a= p*pow((1+r),n);
printf("la cantidad de deposito al %d por ciento es:%d dolares\n",r,a);
}
system("pause");
return 0 ;
}

EJERCICIO 23
EJERCICIO 24
/* cuando se realiza en un banco un prstamo de P dlares, cada mes se deber devolver C dlares
hasta que se haya completado la cantidad total prestada. Parte del pago mensual ser interese
calculados como el i por ciento de la cantidad aun no pagada. El resto del pago servir para reducir
la cantidad adecuada.
Escribir un programa que determine la siguiente informacin:
a)
la cantidad de inters pagado por mes.
b)
La cantidad de dinero aplicado a la reduccin de la deuda total cada mes.
c)
La cantidad total de inters que se lleva pagada al final de cada mes.
d)
La cantidad de deuda an no pagada al final de cada mes.

e)
El nmero de pagos mensuales necesarios para devolver el prstamo.
f)
La cuanta del ltimo pago, porque puede ser menor a C.*/
#include<iostream>
using namespace std;
#include<stdlib.h>
int main()
{
double total,interes,cuota;
double interesparcial,interesacumulado=0;
int meses=0;
std::cout<<"Ingrese el valor total del prestamo:";
std::cin>>total;
std::cout<<"Ingrese el interes anual del credito(en%):";
std::cin>>interes;
std::cout<<"Ingrese la cuota mensual que puede pagar:";
std::cin>>cuota;
while(total>0.0f)
{
interesparcial=((total*(interes/12))/100.0);
total+=interesparcial;
interesacumulado+=interesparcial;
if(total>cuota)
total-=cuota;
}
}

EJERCICIO 25
EJERCICIO 26

/*26 Realizar un programa que calcule la media geometrica de una lista de n numeros, utilicando la
formula
Xm=(X1.X2.X3...Xn))1/n */
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(){
float x,cont,n,aux;
aux=1;
x=1;
printf("ingrese un numero\n");
scanf("%f",&n);
system("cls");
for(cont=1;cont<=n;cont++){
printf("%.0f\n",cont);
x=x*cont;
aux=pow(x,1/n);
}
printf("LA MEDIA GEOMETRICA ES:%.4f\n",aux);
system("PAUSE");
return 0;
}

EJERCICIO 27
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <complex>
int main ()
{
int a,b,c;
float x1,x2,D;
float x3,x4;

printf("ax^2+bx+c=0\n Ingrese los valores de a,b,c\n");


scanf("%d,%d,%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d\n",a,b,c);
D=pow(b,2)-4*a*c;
printf("%f\n",D);
if (D==0)
{
x1=x2=-b/(2*a);
printf("La ecuacion %dx^2+%dx+%d=0 tiene una sola raiz que es: %f\n",a,b,c,x1);
}
if(D<0)
{
//x3=(-b+sqrt(pow(b,2)-4*a*c))/(2*a);
//x4=(-b+sqrt(pow(b,2)+4*a*c))/(2*a);
printf("La ecuacion %dx^2+%dx+%d=0 tiene raices imaginarias.\n",a,b,c);
}
else if(D>0)
{
x1=(-b+sqrt(pow(b,2)-4*a*c))/(2*a);
x2=(-b-sqrt(pow(b,2)-4*a*c))/(2*a);
printf("La ecuacion %dx^2+%dx+%d=0 tiene raices reales: %f, %f\n",a,b,c,x1,x2);
}
system("PAUSE");
return(0);
}
EJERCICIO 27
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <complex>
int main ()
{
int a,b,c;
float x1,x2,D;
float x3,x4;
printf("ax^2+bx+c=0\n Ingrese los valores de a,b,c\n");
scanf("%d,%d,%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d\n",a,b,c);
D=pow(b,2)-4*a*c;
printf("%f\n",D);
if (D==0)
{
x1=x2=-b/(2*a);
printf("La ecuacion %dx^2+%dx+%d=0 tiene una sola raiz que es: %f\n",a,b,c,x1);
}
if(D<0)
{

//x3=(-b+sqrt(pow(b,2)-4*a*c))/(2*a);
//x4=(-b+sqrt(pow(b,2)+4*a*c))/(2*a);
printf("La ecuacion %dx^2+%dx+%d=0 tiene raices imaginarias.\n",a,b,c);
}
else if(D>0)
{
x1=(-b+sqrt(pow(b,2)-4*a*c))/(2*a);
x2=(-b-sqrt(pow(b,2)-4*a*c))/(2*a);
printf("La ecuacion %dx^2+%dx+%d=0 tiene raices reales: %f, %f\n",a,b,c,x1,x2);
}
system("PAUSE");
return(0);
}

EJERCICIO 28
#include<stdio.h>
#include<stdlib.h>
int main()
{
int x,y,n,f,i;
i=3;
x=0;
y=1;
printf("Ingrese la cantidad de numeros que desea para la serie: \n");
scanf("%d",&n);
if(n==1)
{
printf("0");
}
else
{
printf("0, 1, ");
}

while(i<=n)
{
f = x + y;
printf("%d, ",f);
x = y;
y = f;
i++;
}
printf("\n");
system("PAUSE");
return 0;
}
EJERICIO 29
/*escribir un programa que lea un entero no negativo y que
tenga un menu para los siguientes literales:
a) Calcule he imprima su factorial.
b) Calcule el valor de aproximado de la constantante e.
c) calcule el valor de e^n*/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main (){
int n,op1,num,nu,cont;
float exp,e,fac,a,i;
char op;
do{
e=2;
do{
system ("CLS");
printf("ingrese el valor del numero:\n");
scanf ("%d",&n);
if (n<0 || n>15){
printf("solo se aceptan valores entre (0 y 12)\n");
system ("pause");}
}while (n<0 || n>15);
num=n;
do{
system ("CLS");
printf("Escoja una opcion\n");
printf("a) Calcule he imprima su factorial.\n");
printf("b) Calcule el valor de aproximado de la constantante e.\n");
printf("c) calcule el valor de e^n.\n");
scanf("%c",&op);
}while (op!='a' && op!='b' && op!='c');
system ("CLS");
switch (op){
case 'a':
fac=n;

if (n==1 || n==0){
fac=1;
//printf ("el numero factorial de %d es %d\n",num,fac);
}
else{
do{
fac=fac*(n-1);
n--;
}while (n!=1);}
printf ("el numero factorial de %d es %.2f\n",num,fac);
break;
case 'b':
nu=12;
do{
n=nu;
fac=n;
do{
fac=fac*(n-1);
n--;
}while (n!=1);
/* printf("%d fac es %f",nu,fac);
system ("pause");*/
e=e+(1/fac);
nu--;
} while (nu!=1);
printf ("el valor de e es %f\n",e);
break;
case 'c':
e=1+n;
nu=38;
cont=nu;
do{
n=nu;
fac=n;
do{
fac=fac*(n-1);
n--;
}while (n!=1);
/* printf("%d fac es %f",nu,fac);
system ("pause");*/
e=e+(pow(num,cont)/fac);
cont--;
nu--;
} while (nu!=1);
printf ("el valor aproximado de e^%d es igual a: %.3f\n",num,e);
break;
}
system ("pause");
do{
system ("CLS");
printf("Escoja una opcion:\n");
printf ("1=Repetir\n0=Salir del sistema\n");
scanf ("%d",&op1);
} while (op1!=0 && op1!=1);

}while (op1==1);
system ("pause");
return 0;
}

EJERCICIO 30
#include <iostream>
#include <math.h>
#include <iomanip>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
int main(int argc, char** argv) {
long long int i,j,a=3,n,fact=1; //Se usa el long long int por las limitaciones de los numeros
long double seno;
long double x;
printf("Ingrese el valor de x\n");
cin>>x;
printf("ingrese el numero de repeticiones n que desea\n");
cin>>n;
seno=x;
for ( i=1; i<=n ; i++){
fact=1;
//Factorial
for (j=1 ; j<=a ; j++){
fact=fact*j;
}
if (i%2==0){
seno=seno + (pow(x,a))/fact;
} else {
seno=seno - pow(x,a)/fact;
}

a=a+2;
}
printf("el resultado es\n");
cout<<fixed<<setprecision(11);
cout<<seno<<endl;
return 0;
}

EJERCICIO 31
/* El valor de

se puede calcular a partir de la siguiente serie infinita:

4 4 4 4 4
=4 + + + .
3 5 7 9 11
Realizar un programa para imprimir una tabla que muestra el valor de

aproximado a un

trmino de esta serie, a dos, a tres, etc. Cuantos trminos de esta serie tendr que utilizarse antes de
que empiece a tener 3.14?, 3.141?, 3.1415?, 3.14159?*/
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
float pi = 4, n;
int j = 0, s = -1;
cout << "n: ";
cin >> n;
cout.precision(18);
for(float i = 3; j < n; i += 2, j++, s *= -1)
{
pi += (4.0F / i) * s;
cout << j + 1 << ". " << pi << endl;

}
system("pause");
return 0;
}

EJERCICIO 32
/*Un numero primo es una cantidad entera que es divisible solo por 1 y por si mismo. Escribir un programa
que imprima una lista con los n numros primos. */
#include<stdio.h>
int primo(int n){
int i,condicion;
if(n!=1 && n!=0){
for(i=2;i<=n;i++)
if(n%i==0)
if(n==i) condicion=1;
else{
condicion=0;
break;
}
}
else condicion=0;
return condicion;
}
int main(){
int n,i;
do{
printf("ingrese hasta que numero buscar\n");
scanf("%d",&n);
for(i=0;i<=n;i++)
if(primo(i)==1) printf("%d ",i);
printf("\n");

}while(n>0);
return 0;
}

EJERCICIO 33
/*33) Escribir un programa que lea un valor entero positivo y determine lo siguiente: a) serie de
Fibonacci*/
#include<iostream>
#include <stdlib.h>
#include<iostream>
using namespace std;
int fibo(int n)
{
if(n == 0 || n == 1)
return n;
else
return fibo(n - 2) + fibo(n - 1);
}
int main()
{
cout<<"\n

FIBONACCI \n\n";

int i, num ;
do
{
cout<<"Ingrese un numero entero y positivo: ";
cin>>num;
} while(num < 0);
cout<<"\nLa serie es: \n\n\t";
EJERCICIO 34
/*Una "terna pitagrica" es el conjunto de los tres valores enteros correspondientes a los lados de un
triangulo rectngulo. Estos tres lados deben satisfacer la relacin: de que la suma de los cuadrados de dos
de los lados (catetos) es igual al cuadrado de la hipotenusa.

Realizar un programa que encuentre todas las ternas pitagricas para lado1, lado2 e hipotenusa, todos
ellos no mayores a 500. Utilizar un lazo for de triple anidamiento, que pruebe todas las posibilidades.*/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main ()
{
int a,b,c,d,e;
for(a=1;a<=500;a++)
{
for(b=1;b<=500;b++)
{
for(c=1;c<=500;c++)
{
d=pow(a,2)+pow(b,2);
e=pow(c,2);
if(d==e){
printf("a:%d, b:%d, c:%d\n",a,b,c);
}
}
}
}
system("PAUSE");
return 0;
}

EJERCICIO 35

EJERCICIO 36
EJERCICIO 37
EJERCICIO 38
/*38. Generar una grfica en la pantalla y en la impresora de la siguiente funcin
y=e^(-0.1t) sen(0.5t)

Se debe utilizar un asterisco (*) para cada punto que aparezca en la grfica. Hacer que la grfica se
imprima verticalmente, con un punto (un asterisco) por lnea.
"Sugerencia": Determinar la posicin del asterisco redondeando el valor de y al entero mas cercano
y utilizando una escala adecuada al nmero de caracteres por lnea.
Cada lnea impresa debe consistir en un asterisco precedido por el nmero adecuado de espacios en
blanco.*/
#include <stdio.h>
#include <windows.h>
#include <math.h>
void posicion(int x,int y){
HANDLE hcon;
hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y= y;
SetConsoleCursorPosition(hcon,dwPos);
}
int main(){
int x;
float y,r,t,e=2.718;
for(x=0;x<=10;x++){
//for(y=0;y<=10;y++){
r=pow(e,-0.1*x);
t=sin(0.5*x);
y=ceil(r*t);
posicion(x,y);
printf("*");
//printf("%f\n",y);
}
return 0;
}
EJERCICIO 39
39.//indicar el nmero de das a partir del 1 de enero de 1960.
# include <stdio.h>
# include <stdlib.h>
int main(){
int dd,mm,aa,dia,dia1,anio2,dias,diia;
printf("ingresa la fecha \n");

do{
printf("dia:");
scanf("%d",&dd);
}while((dd<0)||(dd>31));
do{
printf("mes:");
scanf("%d",&mm);
}while((mm<0)||(mm>13));
do{
printf("anio:");
scanf("%d",&aa);
}while((aa<1960));
dia=(int)(30.42*(mm-1))+dd;
if(mm==2){
dia=dia+1;
}else{
if((mm>2)&&(mm<8)){
dia=dia-1;
if((aa%4==0)&&(mm>2)){
dia=dia+1;
}
}
}
dia1=aa-1960;
anio2=dia1/4;
if(anio2==0){
diia=dia1*365+dia;
printf("a partir de la fecha existen: %d dias\n",diia);
}else{
dias=anio2*1461;
diia=dias+dia;
printf("a partir de la fecha existen: %d dias \n",diia);
}
system("pause");
return 0;
}
EJERCICIO 40
/*40.-Escribir un programa que permita leer tres nmeros y determine el valor mximo, indicando
cuales de los nmeros ingresados corresponde a ese mximo.*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=0,b=0,c=0;
printf("Ingrese el primer valor: ");
scanf("%d",&a);
printf("Ingrese el segundo valor: ");
scanf("%d",&b);
printf("Ingrese el tercer valor: ");
scanf("%d",&c);
if(a>b)
if(a>c)

printf("\nEl valor maximo es: %d",a);


else
printf("\nEl valor maximo es: %d",b);
else
printf("\nEl valor maximo es: %d",c);
system ("PAUSE");
return 0;
}

EJERCICIO 41
EJERCICIO 42
#include <stdio.h>
#include <stdlib.h>
int main()
{
int opc,opc1,num,x,repi;
float sem=91.5;
float hora =1.63;
float total;
do
{
printf("1.-GERENTES\n");
printf("2.-TRABAJADORES HORARIO\n");
printf("3.-TRABAJADORES A COMISION\n");
printf("4-TRABAJADORES A DESTAJO\n");
scanf("%d",&opc);
switch(opc)
{
case 1:
printf("Su salario semanal es de 91.5 $\n");
break;
case 2:
printf("Tiene horas extras ?\n");
printf("1.-SI 2.-NO\n");
scanf("%d",&opc1);
switch(opc1)
{
case 1:

printf("Ingrese la cantidad de horas extras\n");


scanf("%d",&x);
total=x*1.37;
printf("Su salario en horas extras es :%.2f",total);
printf("Su salario total es :%.2f",total+91.5);
break;
case 2:
printf("SU SALARIO SIN HORAS EXTRAS ES DE 91.5 $\n");
break;
}
break;
case 3:
printf("Tiene ventas semanales ?\n");
printf("1.-SI 2.-NO\n");
scanf("%d",&opc1);
switch(opc1)
{
case 1:
printf("Ingrese la cantidad de ventas semanales\n");
scanf("%d",&x);
total=x*14.25;
printf("Su salario en ventas semanales e:%.2f\n",total);
printf("Su salario total es :%.2f\n",total+250);
break;
case 2:
printf("SU SALARIO SIN VENTAS SEMANALES ES 250$\n");
break;
}
break;
case 4 :
printf("Ingrese la cantidad de piezas realizadas\n");
printf("RECUERDE QUE LA PIEZA CUETSA 5$\n");
scanf("%d",&x);
total=x*5;
printf("SU SALARIO ES :%.2f",total);
break;
}

printf("\n");
printf("Desea repetir 1.-SI otra opcion No\n");
scanf("%d",&repi);
}
while(repi !=0);
return 0;

EJERCICIO 43
/* 43.Elaborar un programa que permita leer el nombre y el sueldo tipo long
de los empleados de una empresa y calcular el numero de billetes 100,50,20,10
y 5 que se debe retirar del banco para no tener que dar vuelto al empleado.
El sueldo deber ser multiplo de 5. El ingreso de datos se termina cuando se digite
ENTER en lugar de nombre. Digitar en columnas nombre,sueldo, numero de billetes por tipo
para cada empleado . Adems enlistar el numero total de billetes por tipo
empleado */
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#include<iostream>
using namespace std;
typedef struct {
char nombre[30];
int sueldo[1];
int Cien[1];
int Cincuenta[1];
int Veinte[1];
int Diez[1];
int Cinco[5];
}Empleado;
typedef struct{
int num_empleados;
Empleado*emple;
}lista;
int main (){
lista mi_lista;
int i;
int maximo=100;
double P;
fflush(stdin);

printf("Programa que calcula el numero de billetes que debe devolver al empleado\n");


printf("El numero de empleados no debe exceder de 100\n");
do{
printf("Ingrese el numero de empleados:");
scanf("%d",&mi_lista.num_empleados);
system("CLS");
}while(!(mi_lista.num_empleados>0 && mi_lista.num_empleados<=100));
mi_lista.emple=(Empleado*)malloc(mi_lista.num_empleados*sizeof(Empleado));
if (mi_lista.emple == NULL)
printf("Operacion Incorrecta");
else {
for(i=0;i<mi_lista.num_empleados;i++){
printf("Ingrese el nombre: ");
scanf("%s",&mi_lista.emple[i].nombre);
do{
printf("\n Ingrese el sueldo (entre 350 y 5000):");
scanf("%d",&mi_lista.emple[i].sueldo[1]);
}while (!(mi_lista.emple[i].sueldo[1]>=350 && mi_lista.emple[i].sueldo[1]<=5000 &&
mi_lista.emple[i].sueldo[1]%5==0));
mi_lista.emple[i].Cien[1]=mi_lista.emple[i].sueldo[1]/100;
mi_lista.emple[i].Cincuenta[1]=(mi_lista.emple[i].sueldo[1]%100)/50;
mi_lista.emple[i].Veinte[1]=((mi_lista.emple[i].sueldo[1]%100)%50)/20;
mi_lista.emple[i].Diez[1]=(((mi_lista.emple[i].sueldo[1]%100)%50)%20)/10;
mi_lista.emple[i].Cinco[1]=((((mi_lista.emple[i].sueldo[1]%100)%50)%20)%10)/5;
}
printf("\n\nEl registro de empleados es:\n\n\n");
printf("Nombre Sueldo Cien Cincuenta Veinte Diez Cinco\n");
for(i=0;i<mi_lista.num_empleados;i++){
printf("%s\t",mi_lista.emple[i].nombre);
printf("%d\t",mi_lista.emple[i].sueldo[1]);
printf("%d\t",mi_lista.emple[i].Cien[1]);
printf("%d\t",mi_lista.emple[i].Cincuenta[1]);
printf("%d\t",mi_lista.emple[i].Veinte[1]);
printf("%d\t",mi_lista.emple[i].Diez[1]);
printf("%d\n",mi_lista.emple[i].Cinco[1]);
}
}
system("PAUSE");
return 0;
}

EJERCICIO 44
/*44. El equipo de futbol LDU ha tenido una buena campaa y desea promover a sus jugadores con
un aumento de salario para la siguiente temporada.
Sueldo Actual (dlares)
Aumento (%)
0-900
20
901-1300
10
1301-1800
5
Sobre 1800
Nada
El equipo tiene como mximo un cuadro de 30 jugadores. Disear un programa que lea el nombre
del jugador y su salario actual y que a continuacin imprima el nombre,
el sueldo actual y el sueldo aumentado; al final debe proporcionar tambin el monto total de la
nmina actual y el monto de la nueva nmina que incluye los aumentos mencionados.*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
float sueldo1=0,sueldo2=0,tac=0,tau=0,au=0;
int n=0,nombre;
do
{
printf ("nombre del jugador ");
scanf("%d", & nombre);
printf ("sueldo actual ");
scanf("%d", &sueldo1);
if (sueldo1>=0&&sueldo1<=9000);
{
au=sueldo1*0.20;
}
if (sueldo1>9000&&sueldo1<=13000);
{
au=sueldo1*0.10;
}

else
{
if (sueldo1>13000&&sueldo1<=18000);
{
au=sueldo1*0.05;
}
else
{
au=0.0;
}
}
}
tac=tac+sueldo1;
sueldo2=sueldo1+au;
tau=tau+sueldo2;
printf ("nombre jugador %d ",nombre);
printf ("sueldo actual %d ",sueldo1);
printf ("sueldo aumentado %d ",sueldo2);
printf ("decea introducir informacion de otro jugador 1)si o 2)no "%d);
scanf(%d,&n);
cout<<"\n"<<endl;
}
while (n==1);
printf ("total de nomina actual %d "<<tac<<endl);
printf ("total de nomina aumentada %d ",tau);
System ("PAUSE");
Return 0;
EJERCICIO 45
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<conio.h>
int main()
{
int i,j,c1,c2,n1,n2;
printf("ingrese numero 1:");
scanf("%d", &n1);
printf("ingrese numero 2:");
scanf("%d", &n2);
c1=0;
c2=0;
for(i=1;i<=n1/2;i=i+1)
{
if (n1 % i==0)
{
c1=c1+i;
}
}
for(j=1;j<=n2/2;j=j+1)
{
if (n2 %

j==0)
{
c2=c2+j;
}
}
if (c1==n2){
printf("El numero es amigo");
}
else
{
printf("El numero no es amigo");
}
getch();
}
EJERCICIO 46
/*Una empresa de ventas por correo vende 5 productos distintoscuyos precios son:
1=29,80; 2=45,00; 3=99,80; 4=44,90; 5=68,70; Escribir un programa que lea una serie de pares de
numeros como sigue: a)numero de productos; b)cantidad vendidad en un dia*/
#include<stdio.h>
#include<stdlib.h>
int main ()
{
float P1=29.80,P2=45.00,P3=99.80,P4=44.90,P5=68.70,num=0,venta=0;
int producto,resp;
printf("Ingrese el producto\n");
scanf("%d",&producto);
do
{
switch (producto)
{
case 1:
venta= venta+P1;
num=num++;
break;
case 2:
venta= venta+P2;
num=num++;
break;
case 3:
venta= venta+P3;
num=num++;
break;
case 4:
venta= venta+P4;
num=num++;
break;
case 5:
venta= venta+P5;
num=num++;
break;
default:
printf("Solo existen 5 productos\n");

}
}while (resp==1);
printf("Desea salir S=1, N=0\n");
scanf("%d",&resp);
printf("Se vemdieron %d con un total de %f dolares",num,venta);
system ("PAUSE");
return 0;
}
EJERCICIO 48

Das könnte Ihnen auch gefallen