You are on page 1of 5

http://diasslibres.blogspot.com/ PROBLEMA 1. Disee un algoritmo que permita leer dos nmeros en base 5.

Luego sin realizar cambio de base, determine el producto de dichos nmeros. Ejemplo: Se ingresan los nmeros 3213 y 414 en base 5. Luego el producto en dicha base es: 3213 414 23412 3213 23412 30002242 SOLUCION: Generalicemos nuestro problema para multiplicar ms de dos nmeros y todas estas en una base n (2n<10), adoptaremos una variable que representa la base y otra que representa a la cantidad de nmeros que se desea multiplicar, se representar con el identificador base y cantnum, respectivamente. Algoritmo problema_1 Var cantnum,num,num1,cifra,base,i,fact,fact1,fact2,r,s,t:entero producto,llevar,resto,sumaparc,productparc,productofinal:entero centinela:booleano Inicio repetir leer(base) hasta_que(base>=2^base<10) repetir leer(cantnum) (*en nuestro problema cantnum=2*) hasta_que(cantnum>=2) desde i1 hasta cantnum repetir leer(num) num1num mientras(num10) hacer cifranum1mod10 si(cifra<base) entonces (*en nuestro problema base=5*) num1num1div10 si(num1=0) entonces centinelaV fin_si sino num10 centinelaF fin_si fin_mientras hasta_que(centinela) si(i=1) entonces productofinalnum sumaparc0 productparc0 sino fact1 llevar0 repetir productoproductofinal rnummod10 numnumdiv10 fact11

http://diasslibres.blogspot.com/ mientras(producto0) hacer sproductomod10 productoproductodiv10 tr*s+llevar restotmodbase llevartdivbase sumaparcsumaparc+resto*fact1 fact1fact1*10 si(producto=0) entonces sumaparcsumaparc+llevar*fact1 fin_si fin_mientras productoparcproductoparc+sumaparc*fact factfact*10 hasta_que(num=0) llevar0 productofinal0 fact21 repetir rproductoparcmod10 productoparcproductoparcdiv10 rllevar+r si(r>=base) entonces rrmodbase llevarrdivbase fin_si productofinalproductofinal+r*fact2 factfact2*10 si(productoparc=0) entonces productofinalproductofinal+llevar*fact2 fin_si hasta_que(productparc=0) fin_si fin_desde escribir("el producto de los nmeros es:",productofinal) Fin

http://diasslibres.blogspot.com/ PROBLEMA 2. Disee un algoritmo que permita leer para n alumnos los siguientes datos: cdigo (solo de 3 cifras y no debe repetirse), sexo (F o M) y 4 notas de prcticas, luego realice los siguientes reportes: a) Nmero de alumnos de sexo masculino con promedio de prcticas aprobado. b) Nmero de alumnos de sexo femenino con promedio de prcticas desaprobado. c) Nmero de alumnos de sexo masculino cuyo promedio de prcticas sea igual al mayor promedio. SOLUCION: Algoritmo problema_2 Var n,numaprob,numdesaprob,notarep,s,cdigos:entero codigo,i,j,nota,sumapract,contador:entero mayorpromedio,promediopract:real sexo:caracter Inicio repetir leer(n) hasta_que(n>0) codigos0 numaprob0 numdesaprob0 mayorpromedio(-1.0) desde i1 hasta n notarep0 scodigos repetir leer(codigo) mientras(s0) rsmod1000 ssdiv1000 si(r=codigo) entonces notarep1 fin_si fin_mientras hasta_que(codigo>=100^cdigo=<999^notarep=0) codigoscodigos*1000+codigo repetir leer(sexo) hasta_que(sexo='F'sexo='M') promediopract0 si(sexo='M') entonces desde j1 hasta 4 repetir leer(nota) hasta_que(nota>=0^nota=<20) sumapractsumapract+nota fin_desde promediopractsumapract/4 si(promediopract>=10.0) entonces numaprobnumaprob+1 fin_si si(promediopract>mayorpromedio) entonces mayorpromediopromediopract contador1 sino si(promediopract=mayorpromedio) entonces

http://diasslibres.blogspot.com/ contadorcontador+1 fin_si fin_si sino desde j1 hasta 4 repetir leer(nota) hasta_que(nota>=0^nota=<20) sumapractsumapract+nota fin_desde promediopractsumapract/4 si(promediopract<10.0) entonces numdesaprobnumdesaprob+1 fin_si si(promediopract>mayorpromedio) entonces mayorpromediopromediopract contador1 sino si(promediopract=mayorpromedio) entonces contadorcontador+1 fin_si fin_si fin_si fin_desde escribir(numaprob) (*respuesta a*) escribir(numdesaprob) (*respuesta b*) escribir(contador) (*respuesta c*) Fin

http://diasslibres.blogspot.com/ PROBLEMA 3. Se desea leer un nmero entero de cuatro cifras, hasta encontrar un nmero negativo, luego muestre la cantidad de veces que aparece el dgito 3 en todos los nmeros ledos. Ejemplo: 4123, 5303, 8143, -2 Salida: nmero de veces que aparece el dgito 3 es 4 Se pide que disee un algoritmo que solucione el problema SOLUCIN: Algoritmo problema_3 Var num,cifra,contador:entero centinela:booleano Inicio centinelaV cont0 mientras(centinela) repetir leer(num) hasta_que((num>=1000^num=<9999)(num<0)) si(num>0) entonces Repetir cifranummod10 numnumdiv10 si(cifra=3) entonces contadorcontador+1 fin_si hasta_que(num=0) sino centinelaF fin_si fin_mientras escribir("nmero de veces que aparece el dgito 3 es:",cont) Fin

You might also like