Você está na página 1de 6

/Separar cada digito de un entero positivo ingresado por //el usuario, empezando por el primero de la derecha.

var n, dig: numerico inicio cls() leer(n) repetir dig=n%10 n=int(n/10) imprimir("\n",dig) hasta (n==0) fin

//Clasificar un carcter ingresado por el usuario en //letra mayscula, letra minscula, dgito o //algn otro. var letra:cadena msg:cadena inicio cls() leer(letra) letra=letra[1] eval { caso (letra>="A" and letra<="Z") msg="Letra mayuscula" caso (letra>="a" and letra<="z") msg="Letra minuscula" caso (letra>="0" and letra <="9") msg="digito" sino msg="algun otro" } imprimir(msg) fin

/* OBJETIVO: Imprimir una tabla con el cuadrado de los primeros 10 numeros enteros. */ var k:numerico inicio desde k=1 hasta 10 { imprimir("\n",k,": ",k^2) } fin

/* tabla de multiplicacion */ var k,n:numerico inicio cls() leer(n) desde k=1 hasta 10 { imprimir("\n",n,"x",k,": ", k*n) } fin

/*Calcular e imprimir la suma de los primeros n numeros enteros. Muestra el uso de subrutinas. */ var n,suma:numerico inicio cls() leer(n) suma=calc_suma(n) imprimir("\n",suma) fin sub calc_suma (n:numerico) retorna numerico var k,suma:numerico inicio suma=0 desde k=1 hasta n { suma=suma+k } retorna suma fin

/*La longitud de una cadena puede determinarse con la funcin predefinida strlen(). */ var car:numerico n:cadena inicio leer(n) car=strlen(n) imprimir("\n",car) fin

/*Mostrar en la pantalla los digitos del 9 al 0 (es decir, en orden inverso) cada uno en una linea independiente. var dig : cadena k : numerico inicio cls() dig ="0123456789" desde k=strlen(dig) hasta 1 paso -1 { imprimir ("\n", dig [k]) } fin /*Reemplazar todas las letras a de una cadena por la por letrab var z: cadena k: numerico inicio cls() leer(z) desde k=1 hasta strlen (z) { si ( z [k] == "a" ) { z [k] = "o" } } imprimir ("\n", z) fin /*Obtener la parte entera de un nmero real. Para el efecto se implementa la funcin entero() var x,n : numerico inicio cls() leer(n) x = entero (n) // x vale 15 imprimir (x) fin subrutina entero (n : numerico) retorna numerico var ent : numerico inicio ent = 0 mientras ( n >= 1 ) { ent = ent + 1 n=n-1 } retorna ent fin

/*Mostrar el uso de los parmetros por referencia, implementando una subrutina que intercambia el contenido de dos variables numricas. */ var a, b: numerico inicio cls() a = 10; b = 20 imprimir(a,b) intercambiar_num (a,b) imprimir ("\n",a,b) // imprimira 20 10 fin subrutina intercambiar_num (ref primera_var, segunda_var : numerico) var aux : numerico inicio aux = primera_var primera_var = segunda_var segunda_var = aux fin

/*COMBINACION*/ var n,m,comb:numerico inicio cls() leer(n,m) comb=(fact(n))/(fact(m)*fact(n-m)) imprimir("\nCombinaciones posibles: ",comb) fin sub fact (n:numerico) retorna numerico var f,p:numerico inicio f=1 desde p=1 hasta n { f=f*p } retorna f fin

/*raices cuadraticas*/ var a,b,c,r1,r2:numerico inicio cls() leer(a,b,c) si (raices_cuad(a,b,c,r1,r2)) { imprimir("\nraices: ",r1," y ",r2) sino imprimir("\nError") } fin sub raices_cuad(a,b,c:numerico; ref r1,r2:numerico) retorna logico var resuelto=NO inicio si (b^2>=4*a*c) { r1=(-b+sqrt(b^2-4*a*c))/(2*a) r2=(-b-sqrt(b^2-4*a*c))/(2*a) resuelto=SI } retorna resuelto fin

/* se desea simular el proceso de tirar 50 veces una moneda y obtener cuantas caras y cruces caen*/ var cant_cara=0 cant_cruz=0 tirada=0 k=0 inicio cls() desde k=1 hasta 50 { /*suponemos cara=0 y cruz=1)*/ tirada=random(2) si (tirada==0) { inc (cant_cara) sino inc (cant_cruz) } } imprimir("\ncaras: ",cant_cara) imprimir("\ncruces: ",cant_cruz) fin

/*Leer una cadena S e imprimir el porcentaje de nmeros que posee (0-9), el porcentaje de caracteres alfabticos minsculas o maysculas(a-z) y el porcentaje de otros caracteres (punto, punto y coma, espacio, etc)*/ var s : cadena t_a, t_n,k : numerico inicio cls() leer(s) desde k=1 hasta strlen(s) { eval { caso ( s[k] >= "0" and s[k] <= "9" ) inc(t_n) caso ( (s[k] >= "A" and s[k] <= "Z") or ( s[k] >= "a" and s[k] <= "z") ) inc(t_a) } } imprimir("\nPorcentaje de caracteres alfabeticos %", t_a/strlen(s)*100) imprimir("\nPorcentaje de caracteres numericos %", t_n/strlen(s)*100) imprimir("\nPorcentaje de caracteres especiales %", (strlen(s)-t_a+t_n)/strlen(s)*100) fin

Você também pode gostar