lunes, 1 de octubre de 2012

EJERCICIOS RESUELTOS: SLE(PARTE2)


CUANTAS VECES APARECE UNA LETRA

/*
 * Ejemplo de uso de ord().
 */
var
   pos_A = ord ("A")
   k     = 0
   z     = ""
   c     = ""
   F     :  vector [26] numerico
inicio
cls();
   leer (z)
   F = {0, ...}
   desde k=1 hasta strlen (z) {
      c = upper (z [k])
      /*
       * Como la "A" está en la posición 65 en la tabla ASCII,
       * convertimos 65 en 1, 66 en 2, etc. usando la expresión
       *    ord (c) - pos_A + 1
       */
      si ( c >= "A" && c <= "Z" ) {
         inc (F [ord (c) - pos_A + 1])
      }
   }
   desde k=1 hasta alen (F) {
      imprimir ("\nEl carácter ", ascii (pos_A + k - 1),
                " aparece ", F [k], " veces.")
   }
fin

CUBO Y CUADRADO DE 10 NUMEROS

/*
 * Ejemplo de uso de secuencias de escape al imprimir.
 */
var
   n, c2, c3 : numerico
inicio
   imprimir ("\nNúmero\tCubo\tCuadrado")
   desde n=1 hasta 10 {
      imprimir ("\n", n, "\t", n*n*n, "\t", n*n)
   }
fin  

SEPARAR DIGITOS

programa separar_digito
/*separar cada digito de un entero positivo ingresado por el usuario
,empezando por el primero de la derecha.
cada digito de iimprime en una linea independiente*/
var
num,dig,a:numerico
inicio
cls();
imprimir("\nIngrese un numero entero positivo:")
leer(num)
imprimir("\nLos digitos de",num,"son:")
repetir
dig=num%10
imprimir("\n",dig)
num=int(num/10)

hasta(num==0);
fin

USO DE SUB CADENAS

programa sub_cadenas
/*mostrar el uso de subcadenas*/
var
z,subcad:cadena
g,k,p:numerico
inicio
z="123456789ABCDEF"
g=strlen(z)
p=1
k=1
mientras (p<g)
{
subcad=substr(z,p,k)
imprimir("\n", subcad)
p=p+k
k=k+1

}
fin

CALCULAR COCIENTE

programa calcular_cociente
/* calcular el cociente  de  a/b, donde a y b son enteros,
la division se hace por restas sucesivas.*/
var
a,b,cociente:numerico
inicio
cls();
imprimir("\nPrograma para calcular cociente de la division",
          "entera de dos numeros,ambos enteros."
    )
imprimir("\nIngrese dos numeros enteros,separados por comas:")
leer(a,b)
cociente=0
mientras (a>=b)
{
a=a-b
cociente=cociente+1
}
imprimir("\nEl cociente es",a);
fin

HALLAR EL CUADRADO DE UN NUMERO

programa cuadrado
var
n,cuad:numerico;
inicio
cls();
imprimir("Por favor ingrese numero")
leer(n);
cuad=n*n
imprimir("El cuadrado es:",cuad);
fin

FUNCION VAL

programa funcion_val
/*EL VALOR NUMERICO DE INA CADENA PUEDE OBTENERSE USANDO LA FUNCION VAL()
  TODA VEZ QUE DICAH CADENA CONTENGA LA SECUENCIAVALIDA DE CARACTERS PARA UN NUMERO*/
var
n:numerico
z:cadena
inicio
z="300"
n=val(z)+val(substr("415",2,1));
imprimir("el valor sera:",n)
fin

CUADRADO DE LOS 10 PRIMEROS NUMEROS

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

DETERMINAR VALORES DE UN TRIANGULO

programa HallarValores
/*determinar si tre valores numericos ingresados por el uusario
pueden ser los lados de un tringulo(ninguno de  los lados del
triangulo pueden ser mayor a la suma de los otros dos)*/
var
a,b,c:numerico
inicio
cls();
imprimir("\nPor favor introducir primer lado")
leer(a);
imprimir("\nPor favor introducir segundo lado")
leer(b);
imprimir("\nPor favor introducir tercer lado")
leer(c);
/*para no hacer todos los pasos y hallar de forma directa podemos hacer
lo siguiente,despues de cls(); poner leer(a,b,c) y continuar al siguiente paso*/
si((a>b+c)or(b>a+c)or(c>a+b))
{
 imprimir("\nNo pueden ser los lados de  un trinagulo");
sino
 imprimir("\nPueden formar un triangulo")
}
fin

SUMA DE N NUMEROS

programa sumadennumeros

var
n,num,suma:numerico

inicio
cls();
imprimir("ingrsa numeero")
leer(n)
num=1
repetir 
num=(n*(n+1))/2
hasta (n>0)
imprimir("la suma es   :",num)
fin

VER DIGITOS DE UN NUMERO

programa hallar
var
num,dig,a,i:numerico
inicio
cls();
imprimir("\ningrse un num ent pos")
leer(num)
imprimir("\nlos digitos de ",num,"son:")

repetir
dig=num%10
imprimir("\n",dig)
num=int(num/10)
hasta(num==0)

fin

3 comentarios:

  1. Necesito ayuda urgente con este problemita:
    Escribir un algoritmo que dado un vector A de N elementos, elimine del mismo el mayor elemento.
    Si puedes explicarme como saco el minimo tamvien te agradeceria

    ResponderEliminar