EL CONOCIMIENTO ES DE LA HUMANIDAD
1.-En una universidad se pueden llevar hasta 22 créditos en un ciclo. Escriba un algoritmo que permita a un alumno matricularse, sin pasarse del límite de créditos permitidos.
#include<iostream.h>
void main(void)
{int c,tc ;
tc=0;
do
{ cout<<endl<<"INGRESAR CREDITOS DEL CURSO: ";
cin>> c;
tc=tc+c;
if (tc>22)
{tc=tc-c;
cout<<" curso no matriculado"<<" !!! sobrepaso el limite de los 22 creditos"<<endl<<endl;}
else
{cout<<" curso matriculado"<<endl<<endl;
cout<<"total de creditos acumulados: " <<tc<<endl;
}
}
while (tc<22 );
}
2.- Una vendedora de pan tiene n unidades de pan al comenzar el día. Si cada cliente le pide m panes, ¿Cuántos clientes son atendidos completamente? ¿Cuántos panes queda para el último cliente?
#include <iostream.h>
void main (void)
{int n,m,i ;
i=1;
cout<<endl<<"INGRESE EL TOTAL DE PANES: ";cin>>n;
cout<<"CANTIDAD DE PANES QUE PIDE CADA CLIENTE: ";cin>>m;
do
{ n=n-m;
if(n>=m)
i=i+1;
else if (n==0)
cout<<endl<<"* El ultimo no recibio ningun pan: "<<endl;
else if(n==1)
cout<<endl<<"* El ultimo recibio 1 pan"<<endl;
else
cout<<endl<<"* EL ultimo recibio "<<n<<" panes"<<endl;
}
while(n>=m);
if(i==1)
cout<<"* Solo 1 cliente fue atendido completamente "<<endl<<endl;
else
cout<<"* Los clientes que fueron atendidos completamente fueron: "<<i<<endl<<endl;
}
3.- Un cliente de un banco realiza sucesivos retiros desde un cajero, si posee 1000 al inicio de las operaciones, escriba un programa que le permita retirar dinero mientras tenga fondos.
#include<iostream.h>
void main(void)
{double r,s ;
s=1000;
do
{ do
{cout<<"Ingrese la cantidad de su retiro: ";cin>>r;
if (r>s)
{do {cout<<"Su retiro es mayor que su saldo"<<endl;
cout<<"Ingrese la cantidad de su retiro: ";cin>>r;}
while(r>s);
}
}
while (r<0);
s=s-r;
cout<<"Su saldo es: "<<s<<endl<<endl;
}
while (s>0 );
cout<<"Su saldo ya no tiene fondos para hacer otro retiro: "<<endl;
}
4.- En un cajero se muestra un menú de opciones retiro, saldo, depósito y salir. Escriba un algoritmo que efectúe dichas operaciones.
#include<iostream.h>
void main(void)
{int r,s,d,opc ;
s=1000;
do
{cout<<endl<<" ***MENU***"<<endl<<endl
<<" 1 = Retiro"<<endl<<" 2 = Saldo"<<endl
<<" 3 = Deposito"<<endl<<" 4 = Salir"<<endl;
cout<<"Ingresar opcion: ";cin>>opc;
switch(opc)
{case 1:
if(s==0)
cout<<endl<<"Su saldo ya no tiene fondos para hacer retiros"<<endl;
else
{ do
{cout<<endl<<"Ingrese la cantidad de su retiro: ";cin>>r;
if (r>s)
{do {cout<<endl<<"!!! Su retiro es mayor que su saldo"<<endl;
cout<<endl<<"Ingrese la cantidad de su retiro: ";cin>>r;}
while(r>s);
}
}
while (r<0);
s=s-r;
cout<<"Su saldo es: "<<s<<endl<<endl;
break;}
case 2:
cout<<endl<<"Su saldo es: "<<s<<endl;
break;
case 3:
do
{cout<<endl<<"Ingrese su deposito: ";cin>>d;}
while(d<=0);
s=s+d;
cout<<"Su deposito fue de: "<<d<<endl;
cout<<"Su saldo es de: "<<s<<endl;
break;
}
}
while (opc!=4 );
cout<<endl<<"Gracias por utilizar nuestro servicio "<<endl<<endl;
}
5.- A una fista ingresan personas de diferentes edades, no se permite el ingreso a personas menores de edad. Se pide la edad menor, la edad mayor, y el promedio de edades. El ingreso debe terminar cuando la edad ingresada sea cero.
#include<iostream.h>
void main(void )
{int m;
double M,P;
do
{cout<<"Ingresar la edad menor: "<<endl;cin>>m;
if(m!=0)
{cout<<"Ingresar la edad mayor: "<<endl;cin>>M;
cout<<"Ingresar el promedio de edades: "<<endl;cin>>P;
}
}
while(m!=0);
}
6.- Calcule la suma de 1/ x, si x varia desde 1 hasta 2 con incrementos muy pequeños, por ejemplo 0.0001, luego multiplique la suma por el incremento y demuestre que el resultado se aproxima a ln 2= 0.6931
#include <iostream.h>
void main (void)
{double x,r,s;
x=1;
s=0;
do
{
x=x+0.0001;
r=1/x;
s=s+r;
}
while(x<2);
s=s*0.0001;
cout<<endl<<"El resultado es = "<<s<<endl<<endl<<" !!! Demostrado"<<endl;
}
7.- Lea un número positivo y pártalo en dos sumandos de modo que su producto tenga un valor máximo.
#include<iostream.h>
void main (void)
{int n,i,j,m,a,b,p;
cout<<"Ingrese el numero: ";cin>>n;
i=0;
j=n;
m=0;
do
{i=i+1;
j=j-1;
p=i*j;
if(p>=m)
{m=p;
a=i;
b=j;}
}
while (j>1);
cout<<"Sumando 1:"<<endl<< a<<endl<<"Sumando 2:"<<endl<<b<<endl<<"Su producto es"<<m<<endl;
}
8.- ¿Qué rectángulo con perímetro igual a 50 tiene área máxima?
#include<iostream.h>
void main (void)
{int a,b,P,M,i,j;
a=0;
b=25;
M=0;
i=0;
j=0;
do
{a=a+1;
b=b-1;
P=a*b;
if(P>=M)
{M=P;
i=a;
j=b;}
}
while (b>1);
cout<<"EL largo= " <<i<<endl<<"El ancho= "<<j<<endl<<" Su area maxima es= "<< M<<endl;
}
9.- Una ventana tiene forma de rectángulo culminado por un semicírculo. El perímetro de la ventana es 6m . ¿Cuáles son sus dimensiones si debe dejar pasar al máximo la luz?
#include<iostream.h>
void main (void)
{double r,A,L,p,M,l;
int n;
p=3.1416;
r=0;
M=0;
n=0;
do
{r=r+0.00001;
L=(6-((2*r)+(p*r)/2))/2;
A=L*2*p* (p*r*r )/2;
if(A>M)
{M=A;
n=n+1;}
}
while (L>0);
l=n;
l=l*0.00001;
cout<<"La medida de los lados del rectangulo son:"<<endl<<endl<<" LADO 1= "
<<2*l<<endl<<" LADO 2= "<<(6-(2*l)-(3.1416*l)/2)/2<<endl<<" La longitud del semicirculo es= "
<<(3.1416*l)/2<<endl<<" La maxima area de la ventana es= "<<M<<endl<<endl;
}
10.- La función sen(x) va en aumento a partir del punto x=0. Encuentre el valor positivo de x para el cual la función comienza a disminuir.
#include<iostream.h>
#include<math.h>
void main(void)
{int x,y;
double a,b;
x=0;
y=1;
do
{x=x+1;
y=y+1;
a=sin(x);
b=sin(y);
}
while(b>a);
cout<<endl<<"El valor positivo de x para el cual la funcion comienza a disminuir es= "<<x<<endl<<endl;
}
11.- La ecuación de la parábola es y=ax*x+bx+c. Si a>0 la parábola esta dirigida hacia arriba y tiene un mínimo, si a<0 la parábola esta dirigida hacia abajo y tiene un máximo. Lea a, b y c y determine el mínimo o el máximo según corresponda. Considere x>=0.
#include<iostream.h>
void main (void)
{double a,b,c,x,y;
int n;
do
{cout<<endl;
cout<<"Se sale con 0 y se intruduce valores con 1: "<<endl;cin>>n;
switch(n)
case 1:
{cout<<"INTRODUCIR EL VALOR DE a: ";cin>>a;
cout<<"INTRODUCIR EL VALOR DE b: ";cin>>b;
cout<<"INTRODUCIR EL VALOR DE c: ";cin>>c;
if(a>0)
{x=-b/(2*a);
y=c-((b*b)/(4*a));
cout<<endl<<"La parabola esta dirigida hacia arriba y tiene un minimo de :"<<"("<<x<<";"<<y<<")"<<endl<<endl;
}
else
{x=-b/(2*a);
y=c-((b*b)/(4*a));
cout<<endl<<"La parabola esta dirigida hacia abajo y tiene un maximo de :"<<"("<<x<<";"<<y<<")"<<endl<<endl;
}
break;
}
}
while(n!=0);
}
#include<iostream.h>
void main(void)
{int c,tc ;
tc=0;
do
{ cout<<endl<<"INGRESAR CREDITOS DEL CURSO: ";
cin>> c;
tc=tc+c;
if (tc>22)
{tc=tc-c;
cout<<" curso no matriculado"<<" !!! sobrepaso el limite de los 22 creditos"<<endl<<endl;}
else
{cout<<" curso matriculado"<<endl<<endl;
cout<<"total de creditos acumulados: " <<tc<<endl;
}
}
while (tc<22 );
}
2.- Una vendedora de pan tiene n unidades de pan al comenzar el día. Si cada cliente le pide m panes, ¿Cuántos clientes son atendidos completamente? ¿Cuántos panes queda para el último cliente?
#include <iostream.h>
void main (void)
{int n,m,i ;
i=1;
cout<<endl<<"INGRESE EL TOTAL DE PANES: ";cin>>n;
cout<<"CANTIDAD DE PANES QUE PIDE CADA CLIENTE: ";cin>>m;
do
{ n=n-m;
if(n>=m)
i=i+1;
else if (n==0)
cout<<endl<<"* El ultimo no recibio ningun pan: "<<endl;
else if(n==1)
cout<<endl<<"* El ultimo recibio 1 pan"<<endl;
else
cout<<endl<<"* EL ultimo recibio "<<n<<" panes"<<endl;
}
while(n>=m);
if(i==1)
cout<<"* Solo 1 cliente fue atendido completamente "<<endl<<endl;
else
cout<<"* Los clientes que fueron atendidos completamente fueron: "<<i<<endl<<endl;
}
3.- Un cliente de un banco realiza sucesivos retiros desde un cajero, si posee 1000 al inicio de las operaciones, escriba un programa que le permita retirar dinero mientras tenga fondos.
#include<iostream.h>
void main(void)
{double r,s ;
s=1000;
do
{ do
{cout<<"Ingrese la cantidad de su retiro: ";cin>>r;
if (r>s)
{do {cout<<"Su retiro es mayor que su saldo"<<endl;
cout<<"Ingrese la cantidad de su retiro: ";cin>>r;}
while(r>s);
}
}
while (r<0);
s=s-r;
cout<<"Su saldo es: "<<s<<endl<<endl;
}
while (s>0 );
cout<<"Su saldo ya no tiene fondos para hacer otro retiro: "<<endl;
}
4.- En un cajero se muestra un menú de opciones retiro, saldo, depósito y salir. Escriba un algoritmo que efectúe dichas operaciones.
#include<iostream.h>
void main(void)
{int r,s,d,opc ;
s=1000;
do
{cout<<endl<<" ***MENU***"<<endl<<endl
<<" 1 = Retiro"<<endl<<" 2 = Saldo"<<endl
<<" 3 = Deposito"<<endl<<" 4 = Salir"<<endl;
cout<<"Ingresar opcion: ";cin>>opc;
switch(opc)
{case 1:
if(s==0)
cout<<endl<<"Su saldo ya no tiene fondos para hacer retiros"<<endl;
else
{ do
{cout<<endl<<"Ingrese la cantidad de su retiro: ";cin>>r;
if (r>s)
{do {cout<<endl<<"!!! Su retiro es mayor que su saldo"<<endl;
cout<<endl<<"Ingrese la cantidad de su retiro: ";cin>>r;}
while(r>s);
}
}
while (r<0);
s=s-r;
cout<<"Su saldo es: "<<s<<endl<<endl;
break;}
case 2:
cout<<endl<<"Su saldo es: "<<s<<endl;
break;
case 3:
do
{cout<<endl<<"Ingrese su deposito: ";cin>>d;}
while(d<=0);
s=s+d;
cout<<"Su deposito fue de: "<<d<<endl;
cout<<"Su saldo es de: "<<s<<endl;
break;
}
}
while (opc!=4 );
cout<<endl<<"Gracias por utilizar nuestro servicio "<<endl<<endl;
}
5.- A una fista ingresan personas de diferentes edades, no se permite el ingreso a personas menores de edad. Se pide la edad menor, la edad mayor, y el promedio de edades. El ingreso debe terminar cuando la edad ingresada sea cero.
#include<iostream.h>
void main(void )
{int m;
double M,P;
do
{cout<<"Ingresar la edad menor: "<<endl;cin>>m;
if(m!=0)
{cout<<"Ingresar la edad mayor: "<<endl;cin>>M;
cout<<"Ingresar el promedio de edades: "<<endl;cin>>P;
}
}
while(m!=0);
}
6.- Calcule la suma de 1/ x, si x varia desde 1 hasta 2 con incrementos muy pequeños, por ejemplo 0.0001, luego multiplique la suma por el incremento y demuestre que el resultado se aproxima a ln 2= 0.6931
#include <iostream.h>
void main (void)
{double x,r,s;
x=1;
s=0;
do
{
x=x+0.0001;
r=1/x;
s=s+r;
}
while(x<2);
s=s*0.0001;
cout<<endl<<"El resultado es = "<<s<<endl<<endl<<" !!! Demostrado"<<endl;
}
7.- Lea un número positivo y pártalo en dos sumandos de modo que su producto tenga un valor máximo.
#include<iostream.h>
void main (void)
{int n,i,j,m,a,b,p;
cout<<"Ingrese el numero: ";cin>>n;
i=0;
j=n;
m=0;
do
{i=i+1;
j=j-1;
p=i*j;
if(p>=m)
{m=p;
a=i;
b=j;}
}
while (j>1);
cout<<"Sumando 1:"<<endl<< a<<endl<<"Sumando 2:"<<endl<<b<<endl<<"Su producto es"<<m<<endl;
}
8.- ¿Qué rectángulo con perímetro igual a 50 tiene área máxima?
#include<iostream.h>
void main (void)
{int a,b,P,M,i,j;
a=0;
b=25;
M=0;
i=0;
j=0;
do
{a=a+1;
b=b-1;
P=a*b;
if(P>=M)
{M=P;
i=a;
j=b;}
}
while (b>1);
cout<<"EL largo= " <<i<<endl<<"El ancho= "<<j<<endl<<" Su area maxima es= "<< M<<endl;
}
9.- Una ventana tiene forma de rectángulo culminado por un semicírculo. El perímetro de la ventana es 6m . ¿Cuáles son sus dimensiones si debe dejar pasar al máximo la luz?
#include<iostream.h>
void main (void)
{double r,A,L,p,M,l;
int n;
p=3.1416;
r=0;
M=0;
n=0;
do
{r=r+0.00001;
L=(6-((2*r)+(p*r)/2))/2;
A=L*2*p* (p*r*r )/2;
if(A>M)
{M=A;
n=n+1;}
}
while (L>0);
l=n;
l=l*0.00001;
cout<<"La medida de los lados del rectangulo son:"<<endl<<endl<<" LADO 1= "
<<2*l<<endl<<" LADO 2= "<<(6-(2*l)-(3.1416*l)/2)/2<<endl<<" La longitud del semicirculo es= "
<<(3.1416*l)/2<<endl<<" La maxima area de la ventana es= "<<M<<endl<<endl;
}
10.- La función sen(x) va en aumento a partir del punto x=0. Encuentre el valor positivo de x para el cual la función comienza a disminuir.
#include<iostream.h>
#include<math.h>
void main(void)
{int x,y;
double a,b;
x=0;
y=1;
do
{x=x+1;
y=y+1;
a=sin(x);
b=sin(y);
}
while(b>a);
cout<<endl<<"El valor positivo de x para el cual la funcion comienza a disminuir es= "<<x<<endl<<endl;
}
11.- La ecuación de la parábola es y=ax*x+bx+c. Si a>0 la parábola esta dirigida hacia arriba y tiene un mínimo, si a<0 la parábola esta dirigida hacia abajo y tiene un máximo. Lea a, b y c y determine el mínimo o el máximo según corresponda. Considere x>=0.
#include<iostream.h>
void main (void)
{double a,b,c,x,y;
int n;
do
{cout<<endl;
cout<<"Se sale con 0 y se intruduce valores con 1: "<<endl;cin>>n;
switch(n)
case 1:
{cout<<"INTRODUCIR EL VALOR DE a: ";cin>>a;
cout<<"INTRODUCIR EL VALOR DE b: ";cin>>b;
cout<<"INTRODUCIR EL VALOR DE c: ";cin>>c;
if(a>0)
{x=-b/(2*a);
y=c-((b*b)/(4*a));
cout<<endl<<"La parabola esta dirigida hacia arriba y tiene un minimo de :"<<"("<<x<<";"<<y<<")"<<endl<<endl;
}
else
{x=-b/(2*a);
y=c-((b*b)/(4*a));
cout<<endl<<"La parabola esta dirigida hacia abajo y tiene un maximo de :"<<"("<<x<<";"<<y<<")"<<endl<<endl;
}
break;
}
}
while(n!=0);
}
