#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;
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;
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);
#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);
for(i=1;i<=num1;i++)
{
if(num1%i==0) //La condición es que el numero dividido entre
num1 de como resto 0
{
printf("%d, es divisor de %d \n",i,num1);
}
}
Desarrolle un algoritmo que permita leer un valor entero positivo N y determinar si es primo o no.
c. Muestre todos los números capicúas o palíndromos dentro de un rango determinado
Un número es capicúa cuando al invertir sus cifras nos da el mismo número
#include<iostream.h>
#include<math.h>
void main (void)
{int n,m,num,a,b,Rf,R,P,e,c;
cout<<"Ingrese el primer numero: ";cin>>n;
cout<<"Ingrese el segundo numero: ";cin>>m;
cout<<endl<<"LOS NUMEROS CAPICUAS SON LOS SIGUENTES: "<<endl<<endl;
for(n=n+1;n<m; n++)
{a=n;
b=n;
Rf=0;
P=0;
while (a>0)
{num=a%10;
a=a/10;
P=P+1;
}
P=P-1;
while (b>0)
{c=b%10;
b=b/10;
e=pow(10,P);
R=c*e;
Rf=Rf+R;
P=P-1;}
if(Rf==n)
cout<<n<<endl;
}
cout<<endl;
}
PROGRAMA contador1
ENTORNO:
c <- 0
ALGORITMO:
Borrar_pantalla( )
ESCRIBIR c
c <- c + 1
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
decreciente.
PROGRAMA contador2
ENTORNO:
c <- 100
ALGORITMO:
Borrar_pantalla( )
c <- c - 1
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
PROGRAMA pares
ENTORNO:
c <- 2
ALGORITMO:
Borrar_pantalla( )
MIENTRAS c < 101 HACER
ESCRIBIR c
c <- c + 2
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
PROGRAMA suma
ENTORNO:
c <- 1
suma <- 0
ALGORITMO:
Borrar_pantalla( )
c <- c + 1
FINMIENTRAS
ESCRIBIR suma
FINPROGRAMA
--------------------------------------------------------------------------
5.-Hacer un pseudocódigo que imprima los numeros impares hasta el 100 y que
ENTORNO:
c <- 1
son <- 0
ALGORITMO:
Borrar_pantalla( )
ESCRIBIR c
c <- c + 2
FINMIENTRAS
ESCRIBIR son
FINPROGRAMA
--------------------------------------------------------------------------
6.-Hacer un pseudocodigo que imprima todos los numeros naturales que hay
PROGRAMA natural
ENTORNO:
i <- 0
n <- 0
ALGORITMO:
Borrar_pantalla( )
LEER n
i <- i + 1
ESCRIBIR i
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
PROGRAMA frases
ENTORNO:
c <- 0
ALGORITMO:
Borrar_pantalla( )
LEER frase
c <- c + 1
LEER res
FINMIENTRAS
ESCRIBIR c
FINPROGRAMA
--------------------------------------------------------------------------
PROGRAMA sn
ENTORNO:
ALGORITMO:
Borrar_pantalla( )
LEER res
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
PROGRAMA signo
ENTORNO:
num <- 0
ALGORITMO:
Borrar_pantalla( )
LEER num
SINO
FINSI
FINPROGRAMA
--------------------------------------------------------------------------
ENTORNO:
num <- 0
ALGORITMO:
Borrar_pantalla( )
LEER num
SINO
FINSI
FINPROGRAMA
--------------------------------------------------------------------------
11.-Imprimir y contar los multiplos de 3 desde la unidad hasta un numero que
PROGRAMA multiplo3
ENTORNO:
i <- 3
n <- 0
c <- 0
ALGORITMO:
Borrar_pantalla( )
SI i = int( i / 3 ) * 3 ENTONCES
ESCRIBIR i
c <- c + 1
FINSI
i <- i + 1
FINMIENTRAS
ESCRIBIR c
FINPROGRAMA
--------------------------------------------------------------------------
12.-Hacer un pseudocodigo que imprima los numeros del 1 al 100. Que calcule la
suma de todos los numeros pares por un lado, y por otro, la de todos los
impares.
PROGRAMA par_impar
ENTORNO:
i <- 1
sumapar <- 0
sumaimp <- 0
ALGORITMO:
Borrar_pantalla( )
SI i = int( i / 2 ) * 2 ENTONCES
SINO
sumaimp <- sumaimp + i
FINSI
i <- i + 1
FINMIENTRAS
ESCRIBIR sumapar
ESCRIBIR sumaimp
FINPROGRAMA
--------------------------------------------------------------------------
13.-Imprimir y contar los numeros que son multiplos de 2 o de 3 que hay entre
1 y 100.
PROGRAMA multiplo_2_3
ENTORNO:
i <- 1
c <- 0
ALGORITMO:
Borrar_pantalla( )
c <- c + 1
ESCRIBIR i
FINSI
i <- i + 1
FINMIENTRAS
ESCRIBIR c
FINPROGRAMA
--------------------------------------------------------------------------
PROGRAMA mayor_menor
ENTORNO:
con <- 0
n <- 0
maximo <- 0
ALGORITMO:
Borrar_pantalla( )
LEER n
maximo = n
FINSI
minimo <- n
FINSI
FINMIENTRAS
ESCRIBIR maximo
ESCRIBIR minimo
FINPROGRAMA
--------------------------------------------------------------------------
15.-Introducir dos numeros por teclado. Imprimir los numeros naturales que
hay entre ambos numeros empezando por el m s pequeño, contar cuantos hay y
PROGRAMA par_impar
ENTORNO:
num1 <- 0
num2 <- 0
aux <- 0
son <- 0
pares <- 0
sumaimpa <- 0
ALGORITMO:
Borrar_pantalla( )
LEER num1
LEER num2
FINSI
ESCRIBIR num1
SINO
FINSI
FINMIENTRAS
ESCRIBIR son
ESCRIBIR pares
ESCRIBIR sumaimpa
FINPROGRAMA
--------------------------------------------------------------------------
TEMA 2
--------------------------------------------------------------------------
--------------------------------------------------------------------------
PROGRAMA diez
ENTORNO:
serie <- 0
ALGORITMO:
Borrar_pantalla( )
numero <- 1
MIENTRAS numero <= 10 HACER
ESCRIBIR numero
FINMIENTRAS
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
17.-Imprimir, contar y sumar los multiplos de 2 que hay entre una serie de
PROGRAMA multiplo2
ENTORNO:
ALGORITMO:
Borrar_pantalla( )
c <- 0
sum <- 0
num1 <- 0
LEER num1
LEER num2
FINMIENTRAS
num1 <- num1 + 1
ESCRIBIR num1
c <- c + 1
FINSI
FINMIENTRAS
ESCRIBIR c
ESCRIBIR sum
LEER res
FINMIENTRAS
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
18.-Hacer un pseudocodigo que cuente las veces que aparece una determinada
PROGRAMA letra
ENTORNO:
frase <- Espacios( 30 )
longitud <- 0
a <- 0
ALGORITMO:
Borrar_pantalla( )
LEER frase
i <- 1
LEER letra
MIENTRAS i <= longitud HACER
a <- a + 1
FINSI
i <- i + 1
FINMIENTRAS
Borrar_pantalla( )
ESCRIBIR letra
ESCRIBIR frase
ESCRIBIR a
LEER res
FINMIENTRAS
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
PROGRAMA reloj
ENTORNO:
horas <- 0
minutos <- 0
segundos <- 0
ALGORITMO:
Borrar_pantalla( )
LEER horas
LEER minutos
LEER segundos
ESCRIBIR horas
ESCRIBIR minutos
ESCRIBIR segundos
FINMIENTRAS
segundos <- 0
FINMIENTRAS
minutos <- 0
FINMIENTRAS
horas <- 0
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
PROGRAMA factorial
ENTORNO:
ALGORITMO:
Borrar_pantalla( )
factorial <- 1
LEER numero
SI numero < 0 ENTONCES
SINO
HACER Calculos
FINSI
HACER Mas
FINMIENTRAS
FINPROGRAMA
------------------------------
SUBPROGRAMA Calculos
FINMIENTRAS
HACER Imprimir
FINSUBPROGRAMA
------------------------------
SUBPROGRAMA Mas
LEER res
FINMIENTRAS
FINSUBPROGRAMA
------------------------------
SUBPROGRAMA Imprimir
ESCRIBIR factorial
FINSUBPROGRAMA
--------------------------------------------------------------------------
21.-Hacer un programa que calcule independientemente la suma de los pares y
PROGRAMA suma
ENTORNO:
par <- 0
impar <- 0
sw <- 0
i <- 1
ALGORITMO:
Borrar_pantalla( )
MIENTRAS i <= 1000 HACER
SI sw = 0 ENTONCES
sw <- 1
SINO
sw <- 0
FINSI
i <- i + 1
FINMIENTRAS
ESCRIBIR par
ESCRIBIR impar
FINPROGRAMA
--------------------------------------------------------------------------
TEMA 3
--------------------------------------------------------------------------
--------------------------------------------------------------------------
derecha.
PROGRAMA frase
ENTORNO:
ALGORITMO:
Borrar_pantalla( )
fi <- 8
co <- 15
veces <- 0
co <- co + 4
fi <- fi + 1
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
PROGRAMA numeros
ENTORNO:
c <- 0
ALGORITMO:
Borrar_pantalla( )
fi <- 7
col <- 5
EN fi,col ESCRIBIR c
c <- c + 1
fi <- fi + 2
col <- 5
FINSI
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
PROGRAMA primo
ENTORNO:
res <- "S"
ALGORITMO:
Borrar_pantalla( )
numero <- 0
sw <- 0
FINMIENTRAS
i <- numero - 1
sw = 1
SINO
i <- i - 1
FINSI
FINMIENTRAS
SI sw = 1 ENTONCES
SINO
FINSI
HACER Mas
FINMIENTRAS
FINPROGRAMA
------------------------------
SUBPROGRAMA Mas
LEER res
FINMIENTRAS
FINSUBPROGRAMA
--------------------------------------------------------------------------
PROGRAMA romano
ENTORNO:
Borrar_pantalla( )
num <- 0
FINMIENTRAS
col <- 15
FINMIENTRAS
FINSI
FINSI
FINMIENTRAS
SI num >= 90 ENTONCES
FINSI
FINSI
FINSI
MIENTRAS num >= 10 HACER
FINMIENTRAS
SI num = 9 ENTONCES
FINSI
FINSI
FINMIENTRAS
HACER Mas
FINMIENTRAS
FINPROGRAMA
------------------------------
SUBPROGRAMA Mas
LEER res
FINMIENTRAS
FINSUBPROGRAMA
--------------------------------------------------------------------------
PROGRAMA centro
ENTORNO:
ALGORITMO:
Borrar_pantalla( )
HACER Mas
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
27.-Realizar la tabla de multiplicar de un numero entre 0 y 10.
PROGRAMA tabla
ENTORNO:
num <- -1
ALGORITMO:
HACER Numero
Borrar_pantalla( )
i <- 0
fi <- 8
EN fi,23 ESCRIBIR i
fi <- fi + 1
i <- i + 1
FINMIENTRAS
FINPROGRAMA
------------------------------
SUBPROGRAMA Numero
Borrar_pantalla( )
FINMIENTRAS
FINSUBPROGRAMA
--------------------------------------------------------------------------
TEMA 4
--------------------------------------------------------------------------
--------------------------------------------------------------------------
o cruz.
PROGRAMA moneda
ENTORNO:
Borrar_pantalla( )
SINO
FINSI
HACER Mas
FINMIENTRAS
FINPROGRAMA
------------------------------
SUBPROGRAMA Mas
FINMIENTRAS
FINSUBPROGRAMA
--------------------------------------------------------------------------
29.-Simular cien tiradas de dos dados y contar las veces que entre los dos
suman 10.
PROGRAMA dado
ENTORNO:
c <- 0
i <- 0
ALGORITMO:
Borrar_pantalla( )
c <- c + 1
FINSI
i <- i + 1
FINMIENTRAS
EN 10,48 ESCRIBIR c
FINPROGRAMA
--------------------------------------------------------------------------
30.-Simular una carrera de dos caballos si cada uno tiene igual probabilidad
de ganar.
PROGRAMA caballos
ENTORNO:
col1 <- 4
col2 <- 4
ALGORITMO:
Borrar_pantalla( )
SINO
FINSI
FINMIENTRAS
SINO
FINSI
FINPROGRAMA
--------------------------------------------------------------------------
PROGRAMA menu1
ENTORNO:
op <- 0
ALGORITMO:
EN 10,29 LEER n1
op <- 0
Borrar_pantalla( )
EN 22,39 LEER op
Borrar_pantalla( )
HACER CASO
CASO op = 1
EN 10,20 ESCRIBIR "Su suma es: "
EN 10,33 ESCRIBIR n1 + n2
Pausa( )
CASO op = 2
EN 10,33 ESCRIBIR n1 - n2
Pausa( )
CASO op = 3
EN 10,33 ESCRIBIR n1 * n2
Pausa( )
CASO op = 4
EN 10,33 ESCRIBIR n1 / n2
Pausa( )
FINCASO
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
32.-Hacer un programa que nos permita introducir un numero por teclado y sobre
PROGRAMA menu2
ENTORNO:
op <- 0
ALGORITMO:
EN 10,20 ESCRIBIR "N£mero: "
EN 10,29 LEER n
op <- 0
Borrar_pantalla( )
EN 22,39 LEER op
HACER CASO
CASO op = 1
HACER Primo
CASO op = 2
HACER Factorial
CASO op = 3
HACER Tabla
FINCASO
FINMIENTRAS
FINPROGRAMA
------------------------------
SUBPROGRAMA Primo
sw <- 0
i <- n - 1
SI n = Int( n / i ) * i ENTONCES
sw <- 1
SINO
i <- i - 1
FINSI
FINMIENTRAS
Borrar_pantalla( )
SI sw = 1 ENTONCES
SINO
FINSI
Pausa( )
FINSUBPROGRAMA
------------------------------
SUBPROGRAMA Factorial
fac <- 1
Borrar_pantalla( )
SI n < 0 ENTONCES
SINO
n <- n - 1
FINMIENTRAS
FINSI
Pausa( )
FINSUBPROGRAMA
------------------------------
SUBPROGRAMA Tabla
i <- 0
fi <- 10
Borrar_pantalla( )
EN fi,10 ESCRIBIR n
EN fi,20 ESCRIBIR i
EN fi,30 ESCRIBIR n * i
i <- i + 1
FINMIENTRAS
Pausa( )
FINSUBPROGRAMA
--------------------------------------------------------------------------
TEMA 4
--------------------------------------------------------------------------
Arrays unidimensionales
--------------------------------------------------------------------------
distinta.
PROGRAMA nombres
ENTORNO:
DIMENSIONA datos[ 20 ]
i <- 1
ALGORITMO:
Borrar_pantalla( )
fi <- 10
i <- i + 1
FINMIENTRAS
Borrar_pantalla( )
i <- 1
fi <- 3
fi <- fi + 1
i <- i + 1
FINMIENTRAS
FINPROGRAMA
--------------------------------------------------------------------------
PROGRAMA notamedia
ENTORNO:
DIMENSIONA notas[ 10 ]
suma <- 0
media <- 0
ALGORITMO:
Borrar_pantalla( )
fi <- 7
EN fi,20 ESCRIBIR i
fi <- fi + 1
FINPARA
FINPARA
media <- suma / 10
FINPROGRAMA
--------------------------------------------------------------------------
vector.
PROGRAMA buscar
ENTORNO:
i <- 0
num <- 0
ALGORITMO:
Borrar_pantalla( )
LEER num
ITERAR
i <- i + 1
SALIR
FINSI
FINITERAR
ESCRIBIR i
SINO
FINPROGRAMA
--------------------------------------------------------------------------
TEMA 5
--------------------------------------------------------------------------
Arrays bidimensionales
--------------------------------------------------------------------------
y 100, e imprimirla.
PROGRAMA matriz
ENTORNO:
DIMENSIONAR A[ 4, 5 ]
i <- 1
fi <- 10
co <- 15<
}
}