Beruflich Dokumente
Kultur Dokumente
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
double factorial(int n)
{
double f=1;
int i;
for(i=1;i<=n;i+1)
{
f = f * i;
};
return (f);
};
main()
{
double f;
int num;
printf(“Escriba un entero:”);
scanf(“%d”, & num);
f = factorial(num);
printf(“EL factorialrial de %d es: %lf\n”,num,f);
getch();
return(0);
}
if(ex<0)
{
t=1;
ex = ex * -1;
}
for(i=0;i<ex;i+1)
{
pot = pot * bas;
};
if(t==1)
{
pot = 1/pot;
}
return (pot);
};
main()
{
float bas,valpot;
int ex;
printf(“\n Valor de la base:”);
scanf(“%f”,& bas);
printf(“\n Valor del exponente(entero):”);
scanf(“%d”,&ex);
valpot = potencia(bas,ex);
printf(“\n%0.f ^ %d = %0.f\n”,bas,ex,valpot);
getch();
return(0);
}
3. //147. Calcular la siguiente formula.
// _15_ k 2k+1
// Seno(x) = \ (-1) X
// ————–
// /___ (2k+1) !
// k=0
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
float facto(int j)
{
float f=1;
int i;
for(i=1;i<=j;i+1)
{
f = f * i;
};
return (f);
};
main()
{
float angu,val;
printf(“\n ingrese el Valor del angulo: “);
scanf(“%f”, & angu);
val=seno(angu);
printf(“\n El seno (%f ) = %f\n”,angu,val);
getch();
return(0);
}
4.//148)Escriba una función llamada bisuma que calcule la suma de dos variables
//num1 y num2 enteras y regrese un resultado entero.
//Escriba una función llamada media_de_3 que reciba como parámetro un dato
entero y
//lo divida entre 3. Suponga que el dato enviado a la función es el total de sumar 3
//números, por lo que el resultado de esta función será la media de los 3 datos.
//Codifique un programa que lea tres valores enteros para las variables a, b, c, que
//enseguida invoque a las funciones bisuma y media_de_3 y que, por último,
despliegue
//el valor promedio de los tres datos con un mensaje apropiado. ¿Qué cambios
necesitaría
// realizar a las funciones para obtener el promedio de más de 3 datos?
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
main()
{
float num1,num2,suma;
float media;
printf(“ingrese los dos valores \n”);
scanf(“%f %f”, & num1, & num2);
suma=Fbisuma(num1,num2);
printf(“el resultado de la suma es %0.f”,suma);
getch();
return(0);
}
5.//Escriba una función llamada media_de_3 que reciba como parámetro un dato
entero y
//lo divida entre 3. Suponga que el dato enviado a la función es el total de sumar 3
//números, por lo que el resultado de esta función será la media de los 3 datos.
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
float Fmedia_de_3(float d)
{
float m;
m=d/3;
return(m);
};
main()
{
float num1,num2,num3,media,suma;
printf(“ingrese los tres valores \n”);
scanf(“%f %f %f”,& num1,& num2,& num3);
suma=num1+num2+num3;
media=Fmedia_de_3(suma);
printf(“\n la media es %2.f”,media);
getch();
return(0);
}
6.//Codifique un programa que lea tres valores enteros para las variables a, b, c,
que
//enseguida invoque a las funciones bisuma y media_de_3 y que, por último,
despliegue
//el valor promedio de los tres datos con un mensaje apropiado. ¿Qué cambios
necesitaría
// realizar a las funciones para obtener el promedio de más de 3 datos?
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
float Fmedia_de_3(float d)
{
float m;
m=d/3;
return(m);
};
float Fbisuma(float a,float b)
{
float R;
R=a+b;
return(R);
};
main()
{
float num1,num2,num3,suma,d;
float media;
printf(“ingrese los tres valores \n”);
scanf(“%f %f %f”,& num1,& num2,& num1);
suma=Fbisuma(num1,num2);
d=num1+num2+num3;
media=Fmedia_de_3(suma);
printf(“el resulatdo de la suma es %0.f”,suma);
printf(“\n la media es %2.f”,media);
getch();
return(0);
}
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
main()
{
float longi, perim;
printf(“Ingrese la longitud de un lado del cuadrado \n”);
scanf(“%f”, & longi);
perim=cuadrado(longi);
printf(“El perimetro del cuadrado es %0.f”, perim);
getch();
}
8.//Escriba una función llamada magnitud que tenga cuatro parámetros de entrada
llamados
//x1, x2, y1, y2 y que entregue como resultado la distancia entre dos puntos cuyas
//coordenadas son (x1, y1) y (x2, y2) según la siguiente fórmula:
//
// Distancia=sqrt(((y2-y1)*(y2-y1))+((x2-x1)*(x2-x1))
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
};
main()
{
float x1 , x2 , y1 , y2,dis;
printf(“ingrese x1:”);
scanf(“%f”,&x1);
printf(“ingrese x2:”);
scanf(“%f”,&x2);
printf(“ingrese y1:”);
scanf(“%f”,&y1);
printf(“ingrese y2:”);
scanf(“%f”,&y2);
dis=magnitud(x1 , x2 , y1 , y2);
printf(“la distancia es %0.f”,dis);
getch();
return(0);
}
9.//Un piso rectangular que mide 12 metros por 15 metros está cubierto
parcialmente
//por tapetes circulares. El radio de un tapete es un metro. El radio del otro es
//de dos metros. Analice, diseñe y codifique un programa que encuentre el área de
//la parte del piso que está descubierta.
//El programa deberá tener:
//Una función que reciba como parámetro el radio de un círculo y que regrese el
//valor del área de ese círculo.
//Suponga que el radio y el área son reales.
//Una función con dos parámetros reales que calcule el área de un rectángulo de
//base y altura dadas.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
return(j);
}
main()
{
float h,b,ac,ar,areapiso,r1,r2,r,longitud;
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int numdigitos(int n)
{
int i=0;
while(n!=0)
{
n=n/10;
i=i+1;
}
return(i);
}
int numpares(int n)
{
int a=0,n1,i;
for(i=2;i<=n;i=i+2)
{
n1=n%i;
if(n1==0)
{
a=a+i;
}
};
return(a);
}
int numimpares(int n)
{
int aux1=0,n1,i;
for(i=1;i<=n;i=i+2)
{
n1=n%i;
if(n1==0)
{
aux1=aux1+i;
}
};
return(aux1);
}
float potencia(float res,int z)
{
float val;
int i;
for(i=1;i<=z;i++)
{
val=res*res;
}
return(val);
}
main ()
{
int n,z,x,y;
float res,res1;
printf(“digite el numero:”);
scanf(“%d”,& n);
z=numdigitos(n);
x=numpares(n);
y=numimpares(n);
res=x/y;
res1=potencia(res,z);
printf(“el valor de la expresion es %0.f”,res1);
getch();
return(0);
}
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int digfinal (int numero)
{
int res;
res=numero%10;
return(res);
}
main()
{
int numero, res;
printf(“Ingrese el valor numero entero:”);
scanf(“%d”, & numero);
res=digfinal(numero);
printf(“El digito final es %d”, res);
getch();
return(0);
}
12.//Escribe una función que tome 3 parámetros: dos de tipo enteros y uno de tipo
carácter.
//La función deberá sumar, restar, multiplicar o dividir los valores de los dos
primeros
//parámetros dependiendo del código indicado en el tercer parámetro, y devolver el
resultado.
//(el carácter será ‘+’, ‘-‘, ‘ * ’, y ‘/ ’)
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
float num1,num2,res;
int para;
printf(“introduzca el valor de a :”);
scanf(“%f”,& num1);
printf(“introduzca el valor de b:”);
scanf(“%f”,& num2);
printf(“Elige el numero de la operacion en el menu:\n 1-sumar\n 2-restar\n 3-
multiplicar\n 4-dividir\n”);
scanf(“%d”, & para);
if(para==1)
{
res=num1+num2;
}
else
{
if(para==2)
{
res=num1+num2;
}
else
{
if(para==3)
{
res=num1*num2;
}
else
{
res=num1/num2;
};
};
};
13.//Escribe una función que devuelva el (a) factorial, (b) n-simo número de
//Fibonacci, de su argumento.
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
ant=1;
act=1;
n–;
while(n>0)
{
ter = act;
act = act + ant;
ant = ter;
n–;
}
return ant;
};
main()
{
int n,fib;
long int fac;
getch();
return(0);
}
14.//Escribe una función con dos parámetros de tal forma que diga si sus dos
//parámetros son múltiplo el uno del otro (no importa cuál de cuál).
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
int multiplo(int a, int b)
{
int c;
c = b%a;
if(c == 0)
{
return 1;
}
else
{
return (0);
}
};
main()
{
int a,b,c;
c= multiplo(b,a);
if(c == 1)
{
printf(“\n%d es multiplo de %d\n”,b,a);
}
else
{
printf(“\n%d NO es multiplo de %d\n”,b,a);
}
getch();
return(0);
}
15.//Euclides encontró que para dos números enteros a y b cuales quiera:
//mcd(a, b) = mcd(b, a)
//mcd(0, b) = b
//mcd(a, b) = mcd(a – b, b)
//Escribe una función que devuelva el máximo común divisor de sus dos
//argumentos:
//mediante restas. Téngase aquí en cuenta que intercambiando los valores de
//a y de b y que debe existir un valor de mcd, siempre se llegará mediante
//restas (el mayor menos el menor) a un valor de la resta a’ –b’ que dará cero,
//dejando así el valor b’ como mcd.
//a)Los valores de a’ y b’ son resultados de restas anteriores que tienden
//necesariamente a 0 y al mcd, respectivamente.
//b)mediante división modular. Con esto se ahorran n = a DIV b restas, y se usa
//directamente el resto de esas n restas, que es el módulo a MOD b..
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
main()
{
int num1,num2,mcd;
getch();
return(0);
}
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int primo(int i)
{
int k;
for(k=2;k<i;k++)
{
if(k%i == 0)
return(0);
}
return(1);
}
main()
{
int n1,n2,mcd;
getch();
return(0);
}
17.//159.Escriba una función que imprima los divisores y la suma de los divisores
de
//todos los enteros que se encuentran entre dos valores m y n dados por el
//usuario. Por último la función debe regresar cuál fue el número cuya suma
//de divisores fue mayor. Por ejemplo, si P= 100 y Q = 110, entonces la salida
//será:
//i Divisores suma
//100 1 2 4 5 10 20 25 50 100 217
//…
//110 1 2 5 10 11 22 55 110 216
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int divisores(int n, int m)
{
int i,t,ma,h,nu=n;
for(i=n;i<=m;i++)
{
t=1;
for(h=2;h<=i;h++)
{
if(i%h == 0)
{
t = t + h;
}
}
if(i == n)
{
ma = t;
}
else
{
if(ma<t)
{
ma = t;
nu = i;
}
}
}
return (nu);
}
main()
{
int m,n;
printf(“Valor de m: “);
scanf(“%d”,&m);
printf(“Valor de n(mayor a m): “);
scanf(“%d”,&n);
if(n<m)
{
n=divisores(n,m);
}
else
{
n=divisores(m,n);
}
18.//a. escriba una función que recibiendo dos números devuelva si son amigos o
//no.
//b. escriba una función que tenga como entrada un número natural n y que
//‘escriba’ todas las parejas de números amigosque existan menores que n.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
int n;
void amistad(int n)
{
int i,j,t;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
t = amigos(i,j);
if(t == 1)
{
printf(“%d y %d, “,i,j);
}
}
}
}
for(j=2;j<n1;j++)
{
if(n1%j == 0)
{
t1 = t1 + j;
}
}
t2=1;
for(j=2;j<n2;j++)
{
if(n2%j == 0)
{
t2 = t2 + j;
}
}
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int t=20;
int pedido(int a, char b)
{
int p;
switch( b )
{
case ‘c’:
p=70;
break;
case ‘m’:
p=90;
break;
case ‘g’:
p=110;
break;
case ‘f’:
p=130;
break;
}
if(a>3 || b==’f’)
t=30;
return (10*a)+p;
}
main()
{
char tam;
int n;
printf(“\n\nQue tamano de pizza desea:\n”);
printf(“\tc. 1-Chica\n”);
printf(“\tm. 2-Mediana\n”);
printf(“\tg. 3-Grande\n”);
printf(“\tf. 4-Familiar\n\n”);
scanf(“%c”,&tam);
printf(“Cuantos ingredientes desea\n”);
scanf(“%d”,&n);
printf(“\nEl valor de la pizza es: $%0.d”,pedido(n,tam));
printf(“\nLa pizza se demora %d minutos\n\n”,t);
getch();
return(0);
}
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
main()
{
int lim,triang[200][200],L,C;
printf (“Ingrese el límite de filas: “);
scanf (“%i”,&lim);
system (“cls”);
for (L=0; (L<lim); L++)
{
for (C=0; (C<=L); C++)
{
if ((C==0) || (L==C))
{
triang[L][C]=1;
}
else
{
triang[L][C]=triang[L-1][C]+triang[L-1][C-1];
}
}
}
for (L=0; (L<lim); L++)
{
for (C=0; (C<=L); C++)
{
printf (“%i “,triang[L][C]);
}
printf (“\n\n”);
}
getch ();
return(0);
}
#include<stdio.h>
#include<stdlib.h>
#include<stdlib.h>
main()
{
float ang,val1,val2;
int op;
do{
printf(“\n 1) Seno”);
printf(“\n 2) Coseno”);
printf(“\n 3) Tangente”);
printf(“\n 4) Cotangente”);
printf(“\n 5) Salir”);
printf(“\n Escoja una opcion: “);
scanf(“%d”,&op);
if(op <5 && op>0)
{
printf(“\n Valor del angulo: “);
scanf(“%f”,&ang);
if(op == 1)
{
val1 = seno(ang);
printf(“>>El seno de este angulo es: %f”,val1);
}
else
{
if(op == 2)
{
val1 = coseno(ang);
printf(“>>El coseno de este angulo es: %f”,val1);
}
else
{
if(op == 3)
{
val1 = seno(ang);
val2 = coseno(ang);
val1 = val1/val2;
printf(“>>La tangente de este angulo es: %f”,val1);
}
else
{
val1 = seno(ang);
val2 = coseno(ang);
val1 = val2/val1;
printf(“>>La cotangente de este angulo es: %f”,val1);
}
}
}
}
}while(op != 5);
}
float seno(float x)
{
float pote,sen;
double fac,ter;
int i,j;
x = x * 0.0174533;
sen = 0;
j=1;
i=0;
ter=1;
while(ter > 0.0001)
{
fac = facto(j);
pote = pot(x,j);
ter = pote/fac;
if(i%2 == 0)
sen = sen + ter;
else
sen = sen – ter;
j = j + 2;
i+1;
if(ter<0)
ter = ter * -1;
}
return sen;
}
float coseno(float x)
{
float pote,sen,ter;
double fac;
int i,j;
x = x * 0.0174533;
sen = 0;
j=0;
ter=1;
i=0;
while(ter > 0.0001)
{
fac = facto(j);
pote = pot(x,j);
ter = pote/fac;
if(i%2 == 0)
sen = sen + ter;
else
sen = sen – ter;
j = j + 2;
i+1;
}
return sen;
}
double facto(int n)
{
double f=1;
int i;
for(i=1;i<=n;i++)
{
f = f * i;
}
return f;
}
main()
{
int i, n;
int numdig(int n)
{
int i=0;
while(n>0)
{
i+1;
n = n/10;
}
return (i);
}
for(i=0;i<e;i+1)
{
p = p * b;
}
return (p);
}
int narciso(int n)
{
int i,dig,sum=0, copia;
i = numdig(n);
copia = n;
while(n>0)
{
dig = n%10;
n = n /10;
sum = sum + potencia(dig,i);
}
if(sum == copia)
{
return (1);
}
else
{
return (0);
}
}
23.//La empresa metalmecánica del oriente nos contrata para diseñar un programa
que muestre rápidamente el valor de las escalas
//de temperatura de diferentes elementos de dicha empresa. Diseñe un programa
en lenguaje c que muestre en pantalla un menú con
//4 opciones así 1.Centígrados 2.Fahrenheit 3.kelvin 4.salir. El usuario al digitar la
opción correspondiente deberá escribir el valor de
//la temperatura en dicha escala y luego se muestra en pantalla el valor de la
temperatura digitada en las otras dos escalas. Por
//ejemplo si se escoge 1 y se escribe 32 se muestra en pantalla Centígrados 32,
Fahrenheit 89.6 y Kelvin 305.15 La conversión de
//temperaturas se basa en las siguientes formulas
//Centígrados (C) a Fahrenheit (F) F= C x (9 / 5) + 32
//Fahrenheit (F) a Centígrados (C) C= (F-32) x (5 / 9 )
//Centígrados a Kelvin(K) K = C + 273.15
//Kelvin(F) a Centígrados(C) C = K – 273.15
//Diseñe las funciones en C que realicen las conversiones de temperaturas
necesarias para cada una de las opciones y utilice estas
//funciones en el main para dar respuesta al menú.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
float n,c,grafa,grake,grace,k,f;
printf(“Digite 1 centigrados\nDigite 2 fahrenhei\nDigite 3 kelvin\nDigite 4 si desea
salir\n”);
scanf(“%f”,&n);
if(n!=4)
{
if(n==1)
{
printf(“Ingrese los grados centigrados\t”);
scanf(“%f”,&c);
grafa=f_fahrenheit(n,c);
grake=f_kelvin(n,c);
printf(“%f Grados centigrados\n%f \tGrados fahrenheit\n%f \tGrados
kelvin\n”,c,grafa,grake);
}
else
{
if(n==2)
{
printf(“Ingrese los grados fahrenheit\t”);
scanf(“%f”,&f);
grace=f_centigrados(n,f);
grake=f_kelvin(n,f);
printf(“%f \tGrados fahrenheit\t \n%f \tGrados centigrados\t \n%f \tGrados
kelvin\n”,f,grace,grake);
}
else
{
if(n==3)
{
printf(“Ingrese los grados kelvin\t”);
scanf(“%f”,&k);
grace=f_centigrados(n,k);
grafa=f_fahrenheit(n,k);
printf(“%f \tGrados kelvin\t \n%f \tGrados centigrados\t \n%f \tGrados
fahrenheit\n”,k,grace,grafa);
}
else
{
printf(“La en trada no es valida\n”);
}
}
}
}
getch();
return(0);
}
return(u);
}
return (m);
}
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
main()
{
long int cant;
int op,bi;
do{
printf(“\n ** Cantidad que desea cobrar? “);
scanf(“%ld”,&cant);
op = valido(cant);
if(op == 0)
{
printf(“\nERROR: La cifra no es multiplo exacto de 10.000 (tiene unidades,
decenas y/o centenas)\n”);
}
}while(op == 0);
bi=billetes(cant,50000);
printf(“\nSe entregaran %d billetes de 50.000”,bi);
cant = cant – (bi*50000);
bi=billetes(cant,20000);
printf(“\nSe entregaran %d billetes de 20.000”,bi);
cant = cant – (bi*20000);
bi=billetes(cant,10000);
printf(“\nSe entregaran %d billetes de 10.000\n”,bi);
getch();
return(0);
}
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int sumapar(int n);
int sumaimpar(int n);
main()
{
int n;
float supa,suim,co;
printf(” Escriba un entero: “);
scanf(“%d”,&n);
supa = sumapar(n);
suim = sumaimpar(n);
co = supa / suim;
printf(“\n\nLa suma de los multiplos pares dio: %0.f”,supa);
printf(“\nLa suma de los multiplos impares dio: %0.f”,suim);
printf(“\nEl cociente es : %0.f\n”,co);
getch();
return(0);
}
int sumapar(int n)
{
int i,sum=0;
for(i=2;i<=n;i=i+2)
{
if(n%i == 0)
{
sum = sum + i;
}
}
return sum;
}
int sumaimpar(int n)
{
int i,sum=0;
for(i=1;i<=n;i=i+2)
{
if(n%i == 0)
{
sum = sum + i;
}
}
return sum;
}
26.//Cree un programa en C modular que: descomponga un número N de 6 dígitos
en
//tres números de 2 dígitos y calcule la siguiente formula:
// X! + Z^y X= 2 primero digitos
// R = – ———- Y= los 2 digitos del medio
// (X+Z)! Z= 2 ultimos digitos
//
//donde x, y, z se encuentran son los tres números de dos cifras que componen
//el número N
//Ej: N = 230411 al descomponer el número x=23 y=04 z=11
//Cree las siguientes Funciones:
// Función verificar que recibe el número N y determina si el número es de 6
// dígitos, Si es de 6 dígitos debe retornar un 1 pero si no debe retornar
// un 0.
// Función Calcular que recibe el número N y lo descompone para calcular el
// resultado de la formula
// Función Potencia
// Función Factorial
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
main()
{
long int nu;
int ver;
float val;
do
{
printf(“\n ** Escriba un numero de entero de 6 digitos: “);
scanf(“%ld”,&nu);
ver =verificar(nu);
}
while(ver == 0);
val = calcular(nu);
printf(“\nEl resultado es: %f\n”,val);
getch();
return(0);
}
printf(“%d %d %d “,x,y,z);
xf = facto(x);
xy = pot(x,y);
xyf = facto(x+y);
if(e<0)
{
t=1;
e = e * -1;
}
for(i=0;i<e;i+1)
{
p = p * b;
}
if(t==1)
{
p = 1/p;
}
return (p);
}
int Fcalsumdiv(int n)
{
int c,sumatoria=0;
for(c=1;c<n;c++)
{
if(n%c==0)
sumatoria= sumatoria+c;
}
return(sumatoria);
}
main()
{
int x,y,sum,valorar,c,acumper=0,acumab=0,acumd=0;
printf(“ingrese x”);
scanf(“%d”,& x);
printf(“ingrese y”);
scanf(“%d”,& y);
for(c=x; c<=y; c++)
{
sum=Fcalsumdiv(c);
printf(“sumatoria %d = %d\n”,c, sum);
valorar=Fvalor(c,sum);
if(valorar==0)
{
acumper+1;
}
else
{
if(valorar==1)
{
acumab+1;
}
else
{
acumd+1;
}
}
}
printf(“total de perfectos %d\n”, acumper);
printf(“total de abundantes %d\n”, acumab);
printf(“total de deficientes %d\n”, acumd);
getch();
return(0);
}
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
main()
{
int n,x ;
long int fac1,fac2;
float po1,po2,r;
printf(“\n Valor de N:”);
scanf(“%d”,&n);
printf(“\n Valor de X:”);
scanf(“%d”,&x);
fac1 = facto(1+x);
fac2 = facto(n);
po1 = pot(n+fac1,x);
po2 = pot(x*2,fac2);
r = po1 / po2;
printf(“\nEl resultado es: %f\n”,r);
getch();
return(0);
}
printf(“%d %d %d “,x,y,z);
xf = facto(x);
xy = pot(x,y);
xyf = facto(x+y);
if(e<0)
{
t=1;
e = e * -1;
}
for(i=0;i<e;i+1)
{
p = p * b;
}
if(t==1)
{
p = 1/p;
}
return (p);
}
29.//Se dice que dos número N y M son números amigos si la suma de los
divisores
//propios de N da como resultado M y al mismo tiempo la suma de los divisores
//propios de M da como resultado N.
//El conjunto de divisores propios de un número N, está formado por todos sus
//divisores, Excepto él mismo. Ejemplo
//Los divisores propios de 284 son 1,2,4,71 y 142 ;
//su suma resulta igual a 220.
//Los divisores propios de 220 son 1,2,4,5,10,11,20,22,44,55 y 110;
//su suma resulta igual a 284.
//Por lo tanto 284 y 220 son números amigos.
//Hacer un programa en C que lea dos número (N,M) y diga si son amigos o no,
//haciendo uso de un subprograma (función) que calcule la suma de los
//divisores propios de un número dado.
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
int sumdiv(int n)
{
int j,t;
t=1;
printf(“\nDivisores de %d: 1”,n);
for(j=2;j<n;j++)
{
if(n%j == 0)
{
t = t + j;
printf(“,%d”,j);
}
}
return(t);
}
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
main()
{
int n,sum;
int acum_perfectos(int n)
{
int i,sum=0,j;
for(i=2;i<n;i+1)
{
j = evalua_perfectos(i);
if(j == 1)
{
sum = sum + i;
}
}
return (sum);
}
int evalua_perfectos(int n)
{
int i,sum=0;
for(i=1;i<n;i+1)
{
if(n%i == 0)
{
sum = sum +i;
}
}
if(sum == n)
{
return (1);
}
else
{
return (0);
}
}
main()
{
float n1,n2,n3,n4,n5,acu,final,por;
int cod=3,con=0,tot=0;
while(cod != 0)
{
printf(“\n\nPROGRAMA PARA DETERMINAR CUANTO SE NECESITA PARA
PASAR”);
printf(“\nCodigo del estudiante (0 para terminar): “);
scanf(“%d”,&cod);
if(cod != 0)
{
tot+1;
printf(“Nota 1(examen 20%%): “);
scanf(“%f”,&n1);
printf(“Nota 2(Trabajos/quices 15%%): “);
scanf(“%f”,&n2);
printf(“Nota 3(examen 20%%): “);
scanf(“%f”,&n3);
printf(“Nota 4(Trabajos/quices 15%%): “);
scanf(“%f”,&n4);
printf(“Nota 5(Trabajos/quices finales 10%%): “);
scanf(“%f”,&n5);
acu = acumulado(n1,n2,n3,n4,n5);
if(acu > 2.5)
{
con+1;
}
printf(“El estudiante tiene una acumulado de: %f”,acu);
final=calculo(acu);
if(final>0)
{
printf(“\nEl estudiante necesita sacar: %f para pasar”,final);
}
else
{
printf(“\nEl estudiante ya paso la materia”);
}
}
}
if(con>0)
{
por = con;
por = (por*100)/tot;
}
else
{
por=0;
}
printf(“\nEl %f %% de los estudiantes tuvo un ponderado por encima de
2.5\n”,por);
getch();
return(0);
}
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
main()
{
int n, ver, ca;
printf(“Ingrese el numero\n”);
scanf(“%d”,& n);
printf(“El numero %d\n”, n);
ver= F_verificar(n);
if(ver == 1)
{
ca= F_capicua(n);
printf(“%d\n”, ca);
if(ca == 1)
printf(“El numero es capicua\n”);
else
printf(“El numero no es capicua\n”);
}
else
{
F_multiplo(n);
}
getch();
return(0);
}
int F_verificar(int n)
{
int c=0, copia= n;
printf(“%d\t”, copia);
while(copia > 0)
{
c+1;
copia= copia/10;
}
printf(“contador %d\n”, c);
if(c%2==0)
return(0);
else
return(1);
}
int F_capicua(int n)
{
int copia= n, nuevo=0, digito;
while(copia > 0)
{
digito= copia%10;
nuevo= (nuevo*10) + digito;
copia= copia/10;
}
printf(“NUEVO: %d”, nuevo);
if(nuevo==n)
return(1);
else
return(0);
}
void F_multiplo(int n)
{
if((n%4==0)&&(n%10==8))
printf(“Es multiplo de 4 y termina en 8”);
else
printf(“No es multiplo de 4 ni termina en 8”);
}
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
main()
{
int op,j,costo;
long int cod;
pri = cod/100000;
if(pri == 101 || pri == 102 || pri == 104 )
{
return (1);
}
else
{
return (0);
}
}
med = (cod/1000)%100;
if(med <3)
{
return (2000);
}
else
{
if(med <7)
{
return (1000);
}
else
{
return (500);
}
}
}
34.//Dado un número de 6 cifras, hacer un programa en forma modular que realice
lo siguiente:
//Descomponga un número N de 6 dígitos en tres números de dos dígitos cada
uno en la función main (siempre y cuando el número
//sea de 6 dígitos).Cree las siguientes Funciones:
// Función verificar que recibe el número N y determina si el número es de 6
dígitos, Si es de 6 dígitos debe retornar un 1
//pero si no debe retornar un 0. si el numero es de 6 cifras debe continuar
// Función Calcular_tabla que recibe los números a y b y genera las tablas de
multiplicar de a hasta b, donde a debe ser
//menor que b.
#include<conio.h>
#include <stdio.h>
#include<stdlib.h>
main ()
{
int n,x,p,k=1;
printf(“DIGITE EL NUMERO HASTA DONDE QUIERE LAS TABLAS: “);
scanf(“%d”,&n);
do
{
printf(“LA TABLA DEL %d ES \n”,k);
if(n<=10);
{
for (x=1;x<=10;x++)
{
p=x*k;
printf(“%d x %d = %d \n”,k,x,p);
}
}
while(k>n)
while(n<10)
{
for (x=1;x<=n;x+1)
{
p=x*n;
printf(“%d x %d = %d \n”,n,x,p);
}
}
printf(“\n”);
k++;
}
while(k<=n);
getch();
return(0);
35.//Una empresa de seguros desea que usted cree un programa que permita
validar
//el código de una póliza de seguro, determinar el tipo de seguro y el valor
//que se debe pagar el cliente (monto) en una clínica al momento de presentar
//el seguro. La cantidad de pólizas que se consultarán es indeterminado, solo
//se sabe que la lectura del código de las pólizas termina cuando este número
//sea 0.
//El Código de la póliza esta compuesto por 7 dígitos donde el primero
//corresponde al tipo de póliza (Ver tabla). Los tipos de pólizas de seguro
//son los siguientes.
// Tipo Cobertura
// 1. Total El 100% del Total del pago
// 2. Normal Cubre el 100% si no sobrepasa 1’000.000 y si lo
// sobrepasa solo cubre el 70% del pago
// 3. Básica Para cualquier monto cubre el 65% del pago
// Cree las siguientes funciones:
// Main
// Función Validar Código: que debe recibir el código de la póliza y
// verificar que el código sea de 7 dígitos, que el primer dígito este entre
// 1 y 3 y la suma del último dígito con el primero debe ser par. Si cumple,
// el número de póliza es valido debe retornar un 1 sino debe retornar un 0.
// Función CalcularPago: que debe recibir el código del seguro y el monto a
// pagar y retornará el valor que se debe pagar la persona.
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
u = nu%10;
while(nu>0)
{
n+1;
p = nu % 10;
nu = nu / 10;
}
if(n != 7 || p<0 || p>3 || (u+p)%2 == 1)
{
return (0);
}
else
{
return (1);
}
}
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
main()
{
int h,m;
float total=0,mon,des;
float descuento(float p)
{
if(p<10000)
{
return (0);
}
else
{
p = p*0.1;
return (p);
}
}
37./*Dado un número de cualquier cantidad de cifras, sumar las cifras que son
menores o iguales del número de cifras que componen el número.
Ejemplos
Si le número dado es 7428 tiene 4 cifras y los dígitos de 7428 que son
menores o iguales de 4 son 4 y 2, por lo tanto la suma da 6
Si el número dado es 924 tiene 3 cifras y el único dígitos de 924 que es
menor o iguales de 3 es el 2 y por lo tanto la suma es 2
Si el número es 23418 tiene 5 cifras y los dígitos de 23418 que son menores
o iguales de 5 son el 2, el 3, el 4 y el 1 y por lo tanto la suma es 10
Si el número dado es 7 tiene 1 cifra y este número no tiene dígitos menores
o iguales a 1 por lo tanto la suma es cero
Hacer las siguientes funciones en C:
Una función que dado un número entero como parámetro devuelva el número
de cifras que tiene dicho número
Una función que dado un número entero de cualquier cantidad de dígitos y
un número entero de un dígito, sume los dígitos del primer parámetro que
sean menores o iguales del segundo parámetro
Realizar el main en el cual se capture por teclado cinco números enteros
de cualquier cantidad de dígitos e imprima para cada uno de ellos la suma
de los dígitos menores o iguales del número de cifras que tiene cada
número tecleado
*/
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
main()
{
int n,nu,sum,i;
int numdig(int n)
{
int i=0;
while(n>0)
{
n=n/10;
i++;
}
return (i);
}
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
main()
{
int m,n;
for(i=0;i<n;i+1)
{
printf(“\nNumero de la referencia (4 digitos): “);
scanf(“%d”,&r);
v=validar(r);
if(v>0)
{
printf(“Precio de venta: “);
scanf(“%f”,&ven);
printf(“Costo de produccion: “);
scanf(“%f”,&cos);
g=ganan(ven,cos);
printf(“La ganancia del producto fue de: %.3f pesos\n”,g);
if(g>mayga)
{
mayga = g;
mas = r;
}
}
else
{
printf(“ERROR: referencia incorrecta\n”);
}
getch();
}
return (mas);
}
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
for(i=0;i<5;i+1)
{
printf(“\nEscriba un numero (6 o mas cifras): “);
scanf(“%ld”,&n);
v = comprobar(n);
if(v>0)
{
n = numerodescompuesto(n);
printf(“\nEl mayor de los numeros fue: %ld\n”,n);
}
else
{
printf(“\nEl numero no cumple con las condiciones requeridas\n”);
}
getch();
}
}
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
main()
{
int n,i,t;
printf(“\nPROGRAM PARA DETERMINAR SI UN NUMERO ES O NO UN
FACTORION”);
printf(“\nEscriba un numero: “);
scanf(“%d”,&n);
for(i=1;i<=n;i++)
{
t=factorion(i);
if(t==1)
{
printf(“\nEl numero es un factorion %d \n”,i);
}
else
{
printf(“\nEl numero NO es un factorion \n”);
};
};
getch();
return(0);
}
int factorial(int n)
{
int fa=1;
while(n>1)
{
fa = fa * n;
n–;
}
return (fa);
}
int factorion(int n)
{
int i,sum=0,m;
m = n;
while(m>0)
{
i = m%10;
m = m/10;
sum = sum + factorial(i);
}
if(sum == n)
return (1);
else
return (0);
}
41./*Se necesita realizar un programa que imprima todos los números precisos
que
existen hasta el 5000. Un número preciso es aquel que al elevar al cuadrado
la cantidad de cifras que tiene, su resultado es igual a la suma de cada uno
de sus dígitos.
Ejemplo: el número 13, es preciso pues tiene 2 cifras, y 22 = 4
Ahora la suma de sus cifras es: 1+3 = 4. Como la suma de sus cifras es igual
a la cantidad de cifras elevada al cuadrado este es un número preciso.
Realizar las siguientes funciones:
Función cuadrado: que recibe el número y devuelve el cuadrado de la
cantidad de cifras que tiene
Función suma: que recibe el número y suma las cifras del número
Función preciso: retorna 1 si el numero recibido como parámetro es preciso
o 0 si no es preciso
Función main que lista cada uno de los números precisos que existen hasta
el 5000.
*/
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
main()
{
int n,i;
int cuadrado(int n)
{
int i=0;
while(n>0)
{
i++;
n = n/10;
}
i = i*i;
return (i);
}
int sumacif(int n)
{
int sum=0;
while(n>0)
{
sum = sum + n%10;
n = n/10;
}
return (sum);
}
int preciso(int n)
{
int su, cu;
su = sumacif(n);
cu = cuadrado(n);
// printf(“%d=%d,%d “,n,su,cu);
if(cu == su)
return (1);
else
return (0);
}
42./*El gobierno nacional ha encargado a la empresa Arbolizadora de Colombia
SA.
La tarea de planear la arborización de un número indeterminado hectáreas
ubicadas en el departamento Norte de Santander.
Para este proceso se está seleccionando la especie de árbol a sembrar, para
cada especie se describe la cantidad de árboles que se pueden sembrar por
cada 10m2 y el costo según la siguiente tabla:
Id Especie Cantidad por 10 m2 Costo C/U
1 Cedro 4 30.000
2 Roble 6 27.000
3 Pino 9 18.000
4 Eucalipto 7 11.000
De acuerdo a la cantidad de arboles que se puedan sembrar se presenta un
descuento en el costo, si la cantidad es par se da un descuento del 10%, si
es impar no se da descuento.
Una hectárea equivale a 10000 m2
Realice las siguientes funciones:
Función espar, recibe un número cualquiera y retorna 1 si es par, o si es
impar.
Función hectareaametros, recibe un número que representa la cantidad de
hectáreas y retorna la cantidad de metros.
Función cantidadarboles, recibe el Id de una especie de árboles y la
cantidad de metros cuadrados, y retorna la cantidad de arboles que se
pueden sembrar.
Función costoarboles, recibe el Id de una especie de árboles, la cantidad
de árboles que se pueden sembrar de esta, y retorna el costo de sembrar el
total de árboles de esa especie (implementa la función espar para la
aplicación del descuento).
Función main, Solicita la cantidad de hectáreas al usuario. Llama a las
funciones hectareaametros, cantidadarboles y costoarboles. Imprime en
pantalla los siguientes datos: Especie – cantidad árboles – costo total.
Por cada una de lasespecies de árboles.
*/
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
main()
{
float costo;
long int cantarb, hecta, metros;
int id;
for(id=1;id<5;id++)
{
cantarb = cantidadarboles(id,metros);
costo = costoarboles(id,cantarb);
printf(” %d %ld %.2f\n”,id, cantarb, costo);
}
getch();
return(0);
}
int espar(int n)
{
if(n%2 == 0)
return (1);
else
return (0);
}
if(id == 1)
{
arb = (hecta/10)*4;
}
else
{
if(id == 2)
{
arb = (hecta/10)*6;
}
else
{
if(id == 3)
{
arb = (hecta/10)*9;
}
else
{
arb = (hecta/10)*7;
}
}
}
}
if(espe == 1)
{
costo = cant * 30000;
}
else
{
if(espe == 2)
{
costo = cant * 27000;
}
else
{
if(espe == 3)
{
costo = cant * 18000;
}
else
{
costo = cant * 11000;
}
}
}
if(cant%2 == 0)
{
costo = costo * 0.9;
}
return (costo);
}
44./*
Los almacenes de cadena ÉXITO, con motivo de la temporada de navidad, se
encuentran desarrollando planes promocionales
para sus clientes. Al iniciar el día el cajero debe ingresar en la caja el día del mes
(ej. 14), se atienden X cantidad de
clientes en una caja, por cada cliente se debe solicitar: número de documento,
número de teléfono, cantidad de productos,
por cada producto se solicita el código (número de 4 dígitos y siempre comienza
en número par) y valor. A cada cliente se le muestra
el valor total a pagar por sus productos. No se conoce la cantidad de clientes, al
final del día el cajero dígita el número de cédula
0. Los productos que sus dos últimos dígitos coincidan con el día tienen un
descuento del 20%. En caso que la sumatoria de los
dígitos de la cédula sea igual al día, el cliente recibe un descuento del 100%.
Realice un programa en C++ modular, que implemente
las siguientes funciones:
Función verificar: Recibe un número entero y verifica que corresponda a un código
valido, número de cuatro dígitos, de los
cuales el primer dígito (de izquierda a derecha) debe ser par.
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
main()
{
int cod,p,pa,um,x,cont=0,vt,ced,dia,cont3,cp,i,cont2=0,np,vl,b,k;
return(0);
}
};
int verficar (int cod ,int dia, int vl )
{
int num,x,cont=0,vt,np=0;
};
if(dia==x)
{
vt=vl*0.20;
return(vt);
np=np+1;
}
else
{
return(vl);
}
}
for( i=1;i<=cp;i=i+1)
{
d=verficar(cod,dia,vl);
cont2=cont+d;
return(cont2);
};
}
45./* Elabore un programa en C++ que reciba dos números, los cuales
representan la fecha de nacimiento y una fecha posterior
al nacimiento de una persona. Con estas fechas, la función debe retomar cuantos
días exactamente han pasado entre la fecha
de nacimiento y la fecha posterior dada. Las fechas están en formato aaaammdd,
es decir, los cuatro primeros dígitos del número
recibido corresponden al afto, los siguientes dos dígitos corresponden al mes y los
dos últimos dígitos corresponden al día.
Tenga en cuenta que:
Enero, Marzo, Mayo, Julio, Agosto, Octubre y Diciembre tienen 31 días. Abril,
Junio, Septiembre y Noviembre tienen 30 días.
Febrero tiene 28 días en un año no bisiesto y 29 días en un año bisiesto.
Un año no bisiesto tiene 365 días.
Un año es bisiesto si no es múltiplo de 400 pero sí es múltiplo de 4, salvo el caso
en que sea múltiplo de 100.
Por ejemplo
el año 1900 no fue bisiesto, el 2000 sí y el 2100 no lo será.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
main()
{
int f1,f2, dias,i;
printf(“\nFecha inicial: “);
scanf(“%d”,&f1);
printf(“\nFecha final: “);
scanf(“%d”,&f2);
dias = diasfecha(f1,f2);
printf(“\nEntre las dos fechas han pasado %d dias”,dias);
getch();
return(0);
}
if(i==1)
{
return(366);
}
else
{
return(365);
}
}
if(mes==2)
{
i = bisiesto(ano);
if(i==1)
{
return(29);
}
else
{
return(28);
}
}
else
{
if(mes==4 || mes== 6 || mes==9 || mes== 11 )
{
return(30);
}
else
{
return(31);
}
}
}
int diasfecha(int a1, int a2)
{
int d1,m1,d2,m2,i,acu1=0,acu2=0, acu3=0;
d1 = a1%100;
a1 = a1/100;
m1 = a1%100;
a1 = a1/100;
d2 = a2%100;
a2 = a2/100;
m2 = a2%100;
a2 = a2/100;
for(i=12;i>=m1;i–)
{
acu1 = acu1 + diasmes(i,a1);
}
acu1 = acu1 -d1-1;
for(i=1;i<m2;i+1)
{
acu2 = acu2 + diasmes(i,a2);
}
acu2 = acu2 + d2;
for(i=a1+1;i<a2;i++)
{
acu3 = acu3 + diasano(i);
}
acu1 = acu1 + acu2 + acu3;
return(acu1);
}
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
}
if(g<=33)
{
des=30000;
}
else((g<=1)&&(g>=33));
{
des=15000;
}
return(des);
}
main()
{
int h,g,j,cod,k;
printf (“digite el codigo”);
scanf (“%d”,&cod);
g=verficiarcod(cod);
if(g==1)
{
h=asientoasig(cod);
j= numdeasi(cod);
k= valtotal(cod);
if((h<=01)&&(h>=11))
{
printf(“la zona es oriental %d”,h);
}
if((h<=11)&&(h>=22))
{
printf(“la zona es occidental %d”,h);
}
if((h<=33)&&(h>=44))
{
printf(“la zona es nrte %d”,h);
}
if((h<=44)&&(h>=99))
{
printf(“la zona es nrte %d”,h);
}
main()
{
int j,k,h,cant,cantcap,cod,ed,i,p;
int cc;
do{
printf(“digite la cedula”);
scanf(“%d”,& cc);
h=validar(cc);
if(h==1)
{
printf(“digite edad”);
scanf(“%d”,& ed);
p=edade(ed);
if(p==1)
{
printf(“digite codigo”);
scanf(“%d”, & cod);
if(j==1)
{
cant=cant+1;
printf(“digite boleta”);
cantcap=cantcap+1;
i=1;
}
}
}
}
while((cc==0)||(cantcap==100));
getch();
return(0);
return(1);
else
return(0);
par=cc%2;
if(par==0)
return(1);
}
50./*Por motivo de aniversario (bodas de plata), de un supermercado de la ciudad
de Pamplona,
se está realizando una promoción a los clientes. Se requiere un programa que al
iniciar
el día laboral, el cajero teclea la fecha actual (tres datos correspondientes al día,
mes y año),
y que permita atender a todos los clientes que lleguen al supermercado. No se
sabe cuántos
clientes ingresan al supermercado por lo que el proceso de atención se termina
cuando se teclee
una cédula igual a cero.
A cada cliente se le registra: Cédula, un código (número de 6 cifras) (si es un
código válido,
se continúa pidiendo datos de dicho cliente), fecha de nacimiento (día, mes, año),
cantidad de
productos comprados. Por cada producto se solicita el código, el valor unitario y el
tipo de producto
(1.Perecedero , 2. No perecedero). Los productos perecederos tienen un 25% de
descuento y los no perecederos
tienen un descuento del 15%.
des=vp*0.25;
return(des);
}
else
{
des=vp*0.15;
return(des);
}
}
int edad (int anoa, int mesa, int anoc, int mesc)
{
int rese;
if(mesa<mesc)
rese=(anoa-anoc)-1;
return(rese);
}
main()
{
float cc,cod,vp,vev,tot,valvdia,h,desa;
int diaa,mesa,anoa,diac,mesc,anoc,cam,i,tp,e,c,can,des;
printf(“ingrese el año actual en día/mes/año”);
scanf(“%d %d %d”,&diaa, &mesa, &anoa);
do
{
printf(“ingrese la cedula”);
scanf(“%f”, & cc);
printf(“ingrese el codigo “);
scanf(“%f”, & cod);
c=fvalcod(cod);
if(c==1)
{
printf(“ingrese el año de cumpleaños en día/mes/año”);
scanf(“%d %d %d”,&diac, & mesc, & anoc);
e=edad(anoa, mesa, anoc,mesc);
printf(“ingrese la cantidad de productos”);
scanf(“%d”, &cam);
for(i=1;i<=cam;i+1)
{
printf(“ingrese 1 si el producto es perededero o 2 si noes perecedero”);
scanf(“%d”, & tp);
printf(“ingrese el valor de el producto:”);
scanf(“%f”, & vp);
if(tp==1)
{
vev=fvuytp(vp,tp);
}
else
{
vev=fvuytp(vp,tp);
}
tot=tot+vev;
if(e==25)
{
desa= tot*0.10;
h=h+des;
}
valvdia=tot+h;
}
}
}while(cc!=0);