You are on page 1of 7

Ing.

Fernando Romero

Ejercicios Propuestos y Resueltos en SLE


1. Imprimir, sumar y contar los elementos como as la posicin de una lista de 100
elementos, que sean al mismo tiempo mltiplos de 2 y de 3. Generar los nmeros de
manera aleatoria.

2. Generar e imprimir una lista de 10 elementos con la tabla de multiplicar de un nmero


que introduciremos previamente por teclado. Imprimir solo aquellos elementos que se
encuentren en las filas pares de nuestra lista.

3. Crear un vector con 5 frases que se introducirn por teclado.


a. Imprimir el vector
b. Imprimir la frase de mayor longitud y el lugar que ocupa.
c. Imprimir la frase ms pequea y el lugar que ocupa.

4. Crear e imprimir una lista unidimensional de 15 elementos generados con nmeros


aleatorios comprendidos del 1 al 100, de tal forma que ninguno se repita.

5. Imprimir los elementos que sean impares de un vector de N elementos. Imprimir los
elementos en forma de filas. Generar los nmeros con random.

6. Dada una lista numrica V[N], generar a partir de ella otra lista VNUEVO[N], que
contenga los elementos de la lista anterior multiplicados por el nmero 5. Imprimir
ambos vectores.

7. Dada una lista numrica V[N], generar a partir de ella otra lista nueva que contenga los
elementos que se encuentran ubicados en las posiciones pares de V[N].

8. Generar e imprimir una lista de N elementos con nmeros aleatorios entre 1 y 100.
Sumar los que ocupan las posiciones pares. Los elementos situados en las posiciones
impares que sean mltiplos de 4 se elevan al cuadrado. imprimir su suma, as como los
nmeros de elementos que cumplan dicha condicin.

9. Un restaurante guarda la lista de PLATOS [5] los platos que se dispone y en otra lista
paralela PRECIO [5] el valor de cada plato. Sacar la factura de un cliente de la siguiente
forma:

RESTAURANTE: EL BUEN GUSTO


Concepto Cantidad Importe
---------------- ---- ----
---------------- ---- ----
TOTAL: -----

10. Ingresar un nombre y verificar la cantidad de veces que se repiten los caracteres. Tener
en cuenta el abecedario para dicho efecto. Utilizar ORD en SLE.
Ing. Fernando Romero
var
v: vector[100] numerico
i, suma, c: numerico
inicio
cls()
desde i=1 hasta 100{
v[i] = random(100) + 1
si(v[i]%2 == 0 and v[i]%3 == 0){

1 suma = suma + v[i]


c=c+1
beep(0,1000)
imprimir("\n", v[i]," posicion ",i)
}
}
imprimir("\n La suma de los numeros multiplos de 2 y 3 del 1 al 100 son : ",suma)
imprimir("\n La cantidad de numeros multiplos de 2 y 3 del 1 al 100 son : ",c)
fin

var
v: vector[10] numerico
i, numero: numerico
inicio
cls()
imprimir("\n Favor ingrese un numero para hallar su tabla de multiplicar : ")

2
leer(numero)
desde i=1 hasta 10{
v[i] = numero * i
si(i%2 == 0){
beep(0,1000)
imprimir("\n", numero," x ",i," = ",v[i])
}
}
fin

var
v: vector[5] cadena
i, mayor, menor, pos_may, pos_men: numerico
inicio
cls()
menor = 9999999
desde i=1 hasta 5{
imprimir("\n Favor ingrese su frase : ")
leer(v[i])

3 si(strlen(v[i]) >= mayor){

}
mayor = strlen(v[i])
pos_may = i

si(strlen(v[i]) <= menor){


menor = strlen(v[i])
pos_men = i
}
}
imprimir("\n La Frase mas larga es : ", v[pos_may], " y se encuentra en la posicion ",pos_may)
imprimir("\n La Frase de mas corta es : ", v[pos_men], " y se encuentra en la posicion ",pos_men)
fin
Ing. Fernando Romero
var
v: vector[15] numerico
i,j,repetido: numerico
inicio
cls()
desde i=1 hasta 15{
v[i] = random(100) + 1

}
repetido = 1
mientras(repetido == 1){
repetido = 0
desde i=1 hasta 15{
desde j=i+1 hasta 15{
si(v[i]==v[j] and v[i]<> 100){

4
imprimir("\n Hay repetidos cambio ",v[i]," por ", v[i] + 1)
v[i] = v[i] + 1
repetido = 1
}
si(v[i]==v[j] and v[i]== 100){
v[i] = random(99) + 1
imprimir("\n Hay repetidos cambio de 100 por ", v[i])
v[i] = v[i] + 1
repetido = 1
}
}
}
}
imprimir("\n")
desde i=1 hasta 15{
imprimir("\n",v[i])
}
fin

var
v: vector[*] numerico
i,n: numerico
inicio
cls()
mientras(n <= 0){
imprimir("Favor ingrese un valor para dimensionar el vector : ")
leer(n)

5
}
dim(v,n)
desde i=1 hasta n{
v[i] = random(100) + 1
}
desde i=1 hasta n{
si(v[i]% 2 <> 0){
imprimir("\n",v[i])
}
}
fin
Ing. Fernando Romero
var
v, vnuevo: vector[*] numerico
i,n: numerico
inicio
cls()
mientras(n <= 0){
imprimir("Favor ingrese un valor para dimensionar el vector : ")
leer(n)
}
dim(v,n)
dim(vnuevo,n)
desde i=1 hasta n{
v[i] = random(30) + 1

6 }
imprimir("\n VECTOR ORIGINAL \n")
imprimir("------------------\n")
desde i=1 hasta n{
imprimir("\t",v[i])
}
desde i=1 hasta n{
vnuevo[i] = v[i] * 5
}
imprimir("\n VECTOR NUEVO MULTIPLICADO POR 5 \n")
imprimir("--------------------------------\n")
desde i=1 hasta n{
imprimir("\t",vnuevo[i])
}
fin

var
v, vnuevo: vector[*] numerico
i,j,n, cont_par: numerico
inicio
cls()
j=1
mientras(n <= 0){
imprimir("Favor ingrese un valor para dimensionar el vector : ")
leer(n)
}
dim(v,n)
desde i=1 hasta n{
v[i] = random(30) + 1
si(i%2 == 0){
cont_par = cont_par + 1
}

7 }
imprimir("\n VECTOR ORIGINAL \n")
imprimir("------------------\n")
desde i=1 hasta n{
imprimir("\t",v[i])
}
dim(vnuevo,cont_par)
desde i=1 hasta n{
si(i%2 == 0){
vnuevo[j] = v[i]
j=j+1
}
}
imprimir("\n VECTOR NUEVO SOLO CON NUMEROS DE UBICACIONES PARES \n")
imprimir("-----------------------------------------------------\n")
desde j=1 hasta cont_par{
imprimir("\t",vnuevo[j])
}
fin
Ing. Fernando Romero
var
v : vector [*] numerico
i,j,aux, n, s_pares, s_imp_c, c_cuad : numerico
inicio
cls()
mientras(n <= 1){
imprimir("Favor Ingrese la Longitud del Vector : ")
leer(n)
}
dim(v,n)
desde i = 1 hasta n{
v[i] = random(100) + 1
}
imprimir("\n\nEL VECTOR GENERADO ALEATORIAMENTE (100)")
imprimir("\n---------------------------------------\n")
desde i = 1 hasta n{
imprimir("\t",v[i])
}
desde i = 1 hasta n{
si(i % 2 == 0){
s_pares = s_pares + v[i]
sino
si(v[i] % 4 == 0){

8 }
v[i] = v[i] * v[i]
s_imp_c = s_imp_c + v[i]
c_cuad = c_cuad + 1

}
}
imprimir("\nVECTOR GENERADO CON NUMEROS ALEATORIOS (100) ")
imprimir("\n-------------------------------------------\n")
desde i = 1 hasta n{
imprimir("\t", v[i])
}
desde i = 1 hasta n-1{
desde j=i+1 hasta n{
si(v[i] > v[j] ){
aux = v[i]
v[i] = v[j]
v[j] = aux
}
}
}
imprimir("\nLa suma de elementos que ocupan posiciones PARES son : ", s_pares)
imprimir("\nLa suma de elementos que ocupan posiciones IMPARES y que sean Mltiplos de 4 son :
", s_imp_c)
imprimir("\nLa cantidad de elementos que ocupan posiciones IMPARES y que sean Mltiplos de 4 son
: ", c_cuad)
fin
Ing. Fernando Romero
var
v_plato : vector [*] numerico
v_precio : vector [*] numerico
res: cadena
racion, total, i : numerico

inicio
cls()
res = "s"
i=1
mientras(res == "s" or res == "S"){
dim(v_plato,i)
dim(v_precio, i)

9
imprimir("\nIngrese el Nmero de Plato del men : ")
leer(v_plato[i])
imprimir("\nIngrese el Nmero de Racin : ")
leer(racion)
imprimir("\nIngrese el Precio del Plato : ")
leer(v_precio[i])
imprimir("\nEl importe es de Gs. : ", v_precio[i] * racion)
total = total + v_precio[i] * racion
imprimir("\n\n\nDesea Ingresar ms Platos? : ")
leer(res)
si(res == "s" or res == "S"){
i=i+1
}
}
imprimir("\nEl Total que debe abonar por las raciones de los platos consumidos es de Gs. : ", total)
fin

var
pos_A = ord ("A")
k =0
z = ""
c = ""
F : vector [26] numerico
inicio
cls()
imprimir ("\nFavor Ingrese una Palabra : ")
leer (z)
F = {0, ...}
desde k=1 hasta strlen (z) {

10 c = upper (z [k])
/* Como la "A" est en la posicin 65 en la tabla ASCII,
convertimos 65 en 1, 66 en 2, etc. usando la expresin
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 carcter ", ascii (pos_A + k - 1),
" aparece ", F [k], " veces.")
}
fin
Ing. Fernando Romero

Ejercicios Propuestos

1. Imprimir los elementos que sean pares de un vector de N elementos. Imprimir los
elementos en forma de columnas. Generar los nmeros con random.

2. Imprimir los elementos de un vector V[10]. Generar los elementos de manera aleatoria.
Formar nuevos vectores VP con los elementos PARES y otro vector VI con los elementos
impares.

3. Supongamos que tenemos en la memoria del ordenador un vector numrico de N


elementos. Los elementos que ocupan las posiciones pares los multiplicamos por 8 y a
los que ocupan las posiciones impares le restamos el valor su posicin. Los nuevos
valores obtenidos cargarlos en otro vector llamado VGENERADO.

4. Crear e imprimir una lista unidimensional de 15 elementos generados con nmeros


aleatorios comprendidos del 1 al 100, de tal forma que ninguno se repita, adems de
ello no puede haber ningn elemento que sea mltiplo de la posicin que ocupa.

5. Un colegio almacena en un vector de 5 elementos los nombres de los estudiantes de un


curso determinado. En otro vector ASIGNATURAS, se almacena los nombres de las tres
asignaturas que se imparten en el curso en cuestin y en otras 4 listas paralelas NOTA1
NOTA2 NOTA3, las notas correspondientes a las asignaturas. Imprimir la media
aritmtica (promedio) de las notas de cada alumno y como as la del curso.

NOTAS ACADMICAS DEL CURSO


Nombre Asignatura 1 Asignatura 2 Asignatura 3 Promedio
---------------- ---- ---- ---- ----
---------------- ---- ---- ---- ----
---------------- ---- ---- ---- ----
---------------- ---- ---- ---- ----
---------------- ---- ---- ---- ----
NOTA MEDIA GLOBAL : -----------