You are on page 1of 5

Ejercicios de Algoritmos II

1) Disee un mtodo que cuente la cantidad de dgitos de un nmero



Clase ejercicio1 {

Void numdig(){
Entero n, n1, c
Leer (n)
c=1
Mientras(n>=10 and n<>0) hacer {
n=n/10
c=c+1
}
Mostrar(c)
}

Funcin principal (){
Ejercicio1 obj1 <--- new ejercicio1 ()

obj1.numdig()

}
}

2) Disee un mtodo que calcule la suma de dgitos de un nmero
Clase ejercicio2 {
Void sumadigit(){
Entero num
Entero res
Leer (num)
Entero sum=0

Mientras (num!=0) hacer {
Res =num%10
Num =num/10
Sum =sum+res
}
Mostrar (sum)
}

Funcin principal () {
Ejercicio2 obj1 <--- new ejercicio1 ()

obj1.sumadigit ()
}
}

3) Disee el mtodo que calcule el producto de dgitos de un nmero.

Clase ejercicio3{

Void productodigit(){
Entero numero
Entero res
Leer (num)
Entero producto=1

Mientras (num!=0) hacer {
Res=num%10
Num=num/10
Producto=producto*res
}
Return product;
}

Funcin principal () {
Ejercicio3 obj1 <--- new ejercicio3 ()

obj1.productodigit ()

}
}

4) Disee un mtodo que llame a los mtodos anteriores.

Clase ejercicio4 {

void metodoinvocador(){

numdigit()
sumadigit()
Mostrar (obj1.productodigit ())

}

Funcin principal () {
Ejercicio4 obj1 <--- new ejercicio4 ()

obj1.metodoinvocador ()

}
}


5) En una Universidad los alumnos estn clasificados en cuatro tipos de categoras. Cada categora
tiene una pensin mensual distinta dada en la siguiente tabla:





















Semestralmente la Universidad efecta rebajas en las pensiones de sus estudiantes a
partir del segundo ciclo sobre la base del promedio ponderado del ciclo anterior en
porcentajes dados en la tabla siguiente:

Categora Pensin S/.
A 550
B 500
C 460
D 400

Promedio Descuento
0 a 13.99 No hay descuento
14.00 a 15.99 10 %
16.00 a 17.99 12 %
18.00 a 20.00 15 %


Disee un programa que determine cuanto de rebaja recibir un estudiante sobre su
pensin actual y a cuanto asciende su pensin. Use mtodos tipo void adecuados
considerando todas las variables como globales.

Clase Alumno ( ) {
Entero ciclo
Char categora
Decimal dscto
Decimal Pension

Void leer ( ) {
Escribir(Ingrese ciclo: )
Leer (ciclo)
Esribir (Ingrese categora: )
Leer (categora)
}

Decimal det_pension(){
En caso que categora sea
A: Pension 550
A: Pension 500
A: Pension 460
A: Pension 400
Fin del caso
Retornar (pension)
}



Decimal Ing_promedio(){
Escribir (Ingrese promedio)
Leer(promedio)
}

Decimal det_dscto(){
En caso que promedio sea
[0..13,99]:dscto0
[14,00..15,99]:dscto0.1*pension
[16,00.. 17,99]: dscto0.12*prension
[18,00..20,00]: dscto0.15*pension
Fin del Caso
}

Funcion Principal () {
Alumno A1 new alumno()
A1.leer()

Si alumno.ciclo<> I entonces
A1.ing_promedio()
A1.det_dscto()
Sino
Mostrar(Usted no accede a descuento)
Fin del Si

Decimal total
Total=pension-dscto

Mostrar (dscto)
Mostrar (total)