Sunteți pe pagina 1din 15

EJERCICIOS VECTORES

1) Calcular el promedio de 50 valores almacenados en un vector. Determinar adems cuantos son mayores que el
promedio, imprimir el promedio, el nmero de datos mayores que el promedio y una lista de valores mayores que el
promedio.
Proceso ejercicio1
dimension valores[50]
suma1<-0;
suma2<-0
para i<-1 hasta 50 Hacer
Escribir "Digite un numero",i
Leer valores[i]
suma1<-suma1+valores[i]
prom<-suma1/i
Escribir "hasta ahora el promedio es de ",prom; Escribir "------------------"
FinPara
Escribir "-------------------------------"
Escribir "el promedio fue de ",prom
para i<-1 hasta 50 Hacer
mayores<-0
si valores[i]>prom Entonces
mayores<-1
FinSi
suma2<-suma2+mayores
FinPara
Escribir "la cantidad de datos mayores que el promedio fue ",suma2, " y dichos datos fueron"
Para i<-1 hasta 50 Hacer
Si valores[i]>prom Entonces
Escribir valores[i]
FinSi
FinPara
FinProceso
2) Llenar dos vectores A y B de 45 elementos cada uno, sumar el elemento uno del vector A con el elemento uno del
vector B y as sucesivamente hasta 45, almacenar el resultado en un vector C, e imprimir el vector resultante.
Proceso ejercicio2
dimension vectorA[45]; dimension vectorB[45]; dimension vectorC[45]
para i<-1 hasta 45 Hacer
Escribir "ingrese los numeros A y B, respectivamente, ",i
Leer vectorA[i], vectorB[i]
vectorC[i]<-vectorA[i]+vectorB[i]
Escribir "la suma es ",vectorC[i];
FinPara
Escribir "---------------------"
Para i<-1 hasta 45 hacer
Escribir "la suma de la posicion ",i," es ",vectorC[i]
FinPara
FinProceso

3) Llenar un vector de 20 elementos, imprimir la posicin y el valor del elemento mayor almacenado en el vector.
Suponga que todos los elementos del vector son diferentes.
Proceso a3
Dimension vector[20]
Escribir "Ingrese los 20 datos"
Para i<-1 Hasta 20 Con Paso 1 Hacer
Leer vector[i]
Fin Para
vm<-vector[1]
pm<-1
Para i<-1 Hasta 20 Con Paso 1 Hacer
Si vm<vector[i] Entonces
vm<-vector[i]
pm<-i
Fin Si
Fin Para
Escribir "El valor mayor es: ",vm, "Y su posicin es: ",pm
FinProceso
4) Almacenar 500 nmeros en un vector, elevar al cuadrado cada valor almacenado en el vector, almacenar el resultado
en otro vector. Imprimir el vector original y el vector resultante.
Proceso ejercicio4
Dimension vectorA[500]
Dimension vectorB[500]
Para i<-1 Hasta 500 Con Paso 1 Hacer
leer v
vectorA[i]<-v
Fin Para
Para i<-1 Hasta 500 Con Paso 1 Hacer
vectorB[i]<-vectorA[i]^2
Fin Para
Para i<-1 Hasta 500 Con Paso 1 Hacer
Escribir vectorA[i],"al cuadrado = ",vectorB[i]
Fin Para

5) Almacenar 300 nmeros en un vector, imprimir cuantos son ceros, cuntos son negativos, cuantos positivos. Imprimir adems
la suma de los negativos y la suma de los positivos.
Proceso ejercicio5
Dimension vectorA[300];Dimension vectorB[300]
sumcero<-0
sumnega<-0
sumpos<-0
nega<-0
posi<-0
Para i<-1 Hasta 300 Con Paso 1 Hacer
Escribir "Ingrese los valores para el vector A"
Leer v
vectorA[i]<-v
Fin Para
Para i<-1 Hasta 300 Con Paso 1 Hacer
Si vectorA[i]=0 Entonces
sumcero<-sumcero+1
Fin Si
Si vectorA[i]<0 Entonces
sumnega<-sumnega+1
nega<-nega+vectorA[i]
Fin Si
Si vectorA[i]>0 Entonces
sumpos<-sumpos+1
posi<-posi+vectorA[i]
Fin Si
Fin Para
Escribir "Total de ceros es: ",sumcero
Escribir "Total de nmeros positivos es: ", sumpos
Escribir "La suma de los nmeros positivos es: ", posi
Escribir "Total de nmeros negativos es: ", sumnega
Escribir "La suma de los nmeros negativos es: ",nega
FinProceso

6) Almacenar 150 nmeros en un vector, almacenarlos en otro vector en orden inverso al vector original e imprimir el
vector resultante.
Proceso ejercicio6
dimension dato1[150];
dimension dato2[150]
para i<-1 hasta 150 Hacer
Escribir "ingrese el numero"
leer dato1[i]; Escribir "------------------"
FinPara
a<-150; b<-1
mientras a>0 Hacer
dato2[b]<-dato1[a]
b<-b+1
a<-a-1
FinMientras
Escribir "el vector inverso es"
para i<-1 hasta 150 Hacer

Escribir dato2[i]
FinPara
FinProceso

7) Se tienen almacenados en la memoria dos vectores M y N de cien elementos cada uno. Hacer un algoritmo que
escriba la palabra Iguales si ambos vectores son iguales y Diferentes si no lo son. Sern iguales cuando en la
misma posicin de ambos vectores se tenga el mismo valor para todos los elementos.
Proceso ejercicio7
Dimension vecm(5)
Dimension vecn(5)
i<-entero
Para i<-1 Hasta 5 Hacer
Escribir "ingrese un numero"
leer vecm(i)
Fin Para
Para i<-1 Hasta 5 Hacer
Escribir "escriba un numero para vector "
leer vecn(i)
Fin Para
Para i<-1 Hasta 5 Hacer
Si vecm(i)=vecn(i) Entonces
Escribir "iguales ",vecm(i)," = ",vecn(i);
Sino
si vecm(i)<>vecn(i) Entonces
Escribir "diferente ",vecm(i)," y ",vecn(i);
FinSi
Fin Si
Fin Para
Fin Proceso
8) Se tiene el vector A con 100 elementos almacenados. Disee un algoritmo que escriba SI si el vector esta ordenado
ascendentemente o NO si el vector no est ordenado
Proceso ejercicio8
dimension vectorA[100]
para i<-1 hasta 100 Hacer
Escribir "ingrese el numero"
Leer vectorA[i]
FinPara
p<-vectorA[1]
v<-1
para i<-2 hasta 100 Hacer
si p<=vectorA[i] entonces
p<-vectorA[i]
v<-v+1
FinSi
FinPara
si v<>100 Entonces

Escribir "El orden NO! es ascendente"


FinSi
si v=100 Entonces
Escribir "El orden SI! es ascendente"
FinSi
FinProceso
9) Disee un algoritmo que lea un nmero cualquiera y lo busque en el vector X, el cual tiene almacenados 80
elementos. Escribir la posicin donde se encuentra almacenado el nmero en el vector o el mensaje NO si no lo
encuentra. Bsqueda secuencial.
Proceso ejercicio9
dimension vector1[80]
para i<-1 hasta 80 Hacer
Escribir "ingrese el nmero"
leer vector1[i]
FinPara
Escribir "-------------------"
Escribir "ingrese el nmero que quiere buscar"
Leer num
v<-0
para i<-1 hasta 80 Hacer
si num=vector1[i] Entonces
Escribir "el numero fue encontrado en la posicion ",i
v<-1
FinSi
FinPara
si v=0 Entonces
Escribir "numero errado"
FinSi
FinProceso

10) Disee un algoritmo que lea dos vectores A y B de 20 elementos cada uno y multiplique el primer elemento de A con
el ltimo elemento de B y luego el segundo elemento de A por el diecinueveavo elemento de B y as sucesivamente
hasta llegar al veinteavo elemento de A por el primer elemento de B. El resultado de la multiplicacin almacenarlo
en un vector C.
Proceso ejercicio10
dimension vectorA[20]; dimension vectorB[20]; dimension vectorBinv[20]; dimension vectorC[20]
para i<-1 hasta 20 Hacer
Escribir "ingrese el elemento ",i," del vector A"
Leer vectorA[i]
FinPara
Escribir "-----------------"
para i<-1 hasta 20 Hacer
Escribir "ingrese el elemento ",i," del vector B"
Leer vectorB[i]
FinPara
a<-20; b<-1
mientras a>0 Hacer
vectorBinv[b]<-vectorB[a]
b<-b+1
a<-a-1
FinMientras
para i<-1 hasta 20 Hacer
n<-21-i
vectorC[i]<-vectorA[i]*vectorBinv[i]
Escribir "posicion ",i," vector A X posicion ",n," vector B----->",vectorA[i],"X",vectorBinv[i],"=",
vectorC[i]
FinPara
FinProceso

11) Disee un algoritmo que almacene en un vector llamado FIB[100] los 100 primeros nmeros de la serie fibonacci.
Proceso ejercicio11
dimension FIB[100]
x<-0
z<-1
para i<-1 hasta 100 Hacer
FIB[i]<-x
r<-x+z
z<-x
x<-r
FinPara
para i<-1 hasta 100 Hacer
Escribir FIB[i]
FinPara
FinProceso

12) Desarrollar un algoritmo que permita almacenar la cedula y el nombre de 10 estudiantes. 2. El usuario puede ingresar
un numero de cedula a buscar en el vector y el algoritmo debe mostrar el nombre que corresponde al nmero de
documento ingresado, siempre y cuando haya sido almacenado previamente.
Proceso ejercicio12
dimension cedula[10];
dimension nombre[10]
para i<-1 hasta 10 Hacer
Escribir "ingrese la cedula y el nombre, respectivamente"
Leer cedula[i], nombre[i]
FinPara
Escribir "-------------------------------------"
Escribir "ingrese la cedula del nombre que quiere buscar"
Leer ced
v<-0
para i<-1 hasta 10 Hacer
si ced=cedula[i] Entonces
Escribir "el nombre correspondiente a la cedula ",ced," es ",nombre[i]
v<-1
FinSi
FinPara
si v=0 Entonces
Escribir "la cedula no se encontro"
FinSi
FinProceso
EJERCICIOS MATRIZ
1) Hacer un algoritmo que almacene nmeros en una matriz de 5 * 6. Imprimir la suma de los nmeros almacenados en
la matriz.
Proceso ejercicio1
dimension matriz[5,6]
suma<-0
para i<-1 hasta 5 Hacer
para j<-1 hasta 6 Hacer
Escribir "ingrese el numero de la fila ",i," columna ",j
Leer matriz[i,j]
suma<-suma+matriz[i,j]
Escribir "hasta ahora la suma es ",suma
Escribir "---------------------"
FinPara
FinPara
Escribir "la suma total es ",suma
FinProceso
2) Hacer un algoritmo que llene una matriz de 10 * 10 y determine la posicin [rengln,columna] del nmero mayor
almacenado en la matriz. Los nmeros son diferentes.
Proceso ejercicio2

dimension matriz[10,10]
max<--9999999999999999999
para i<-1 hasta 10 Hacer
para j<-1 hasta 10 Hacer
Escribir "ingrese el numero de la fila ",i," columna ",j
Leer matriz[i,j]
si matriz[i,j]>max Entonces
max<-matriz[i,j]
k<-i; h<-j
FinSi
Escribir "hasta ahora el mayor es ",max," y ocupa la fila ",k," columna ",h
Escribir "------------------------"
FinPara
FinPara
Escribir "el numero mayor fue ",max," y su posicion era fila ",k," columna ",h
FinProceso
3) Hacer un algoritmo que llene una matriz de 7 * 7. Calcular la suma de cada rengln y almacenarla en un vector, la
suma de cada columna y almacenarla en otro vector.
Proceso ejercicio3
dimension matriz[7,7];
dimension sumafilas[7];
dimension sumacolumnas[7]
para i<-1 hasta 7 Hacer
para j<-1 hasta 7 Hacer
Escribir "ingrese el numero de la fila ",i," columna ",j
Leer matriz[i,j]
FinPara
FinPara
Escribir "---------------------------"
para i<-1 hasta 7 Hacer
sumafila<-0
para j<-1 hasta 7 Hacer
sumafila<-sumafila+matriz[i,j]
FinPara
sumafilas[i]<-sumafila
Escribir "la suma de la fila ",i," es ",sumafilas[i]
FinPara
Escribir "---------------------------"
para i<-1 hasta 7 Hacer
sumacolumna<-0
para j<-1 hasta 7 Hacer
sumacolumna<-sumacolumna+matriz[j,i]
FinPara
sumacolumnas[i]<-sumacolumna
Escribir "la suma de la columna ",i," es ",sumacolumnas[i]
FinPara
FinProceso

4) Hacer un algoritmo que llene una matriz de 20 * 20. Sumar las columnas e imprimir que columna tuvo la mxima
suma y la suma de esa columna.
Proceso ejercicio4
dimension matriz[20,20];
dimension sumacolumnas[7]
para i<-1 hasta 20 Hacer
para j<-1 hasta 20 Hacer
Escribir "ingrese el numero de la fila ",i," columna ",j
Leer matriz[i,j]
FinPara
FinPara
Escribir "---------------------------"; max<--99999999999999
para i<-1 hasta 20 Hacer
sumacolumna<-0
para j<-1 hasta 20 Hacer
sumacolumna<-sumacolumna+matriz[j,i]
FinPara
sumacolumnas[i]<-sumacolumna
Escribir "la suma de la columna ",i," es ",sumacolumnas[i]
si sumacolumnas[i]>max Entonces
max<-sumacolumnas[i]
k<-i
FinSi
FinPara
Escribir "------------------------"; Escribir "la columna con mayor suma fue la numero ",k," y su suma dio ",max
FinProceso
5) Hacer un algoritmo que llene una matriz de 5 * 5 y que almacene la diagonal principal en un vector. Imprimir el
vector resultante.
Proceso ejercicio5
dimension matriz[5,5];
dimension sumadiagonal[5]
suma<-0
para i<-1 hasta 5 Hacer
para j<-1 hasta 5 Hacer
Escribir "ingrese el numero de la fila ",i," columna ",j
Leer matriz[i,j]
si i=j Entonces
sumadiagonal[i]<-matriz[i,j]
FinSi
FinPara
FinPara
Escribir "--------------------"
Escribir "la diagonal principal tiene los numeros"
para i<-1 hasta 5 Hacer
Escribir sumadiagonal[i]
suma<-suma+sumadiagonal[i]
FinPara
Escribir "-------------------"
Escribir "y la suma de ellos es ",suma

FinProceso
6) Hacer un algoritmo que llene una matriz de 10 * 10 y que almacene en la diagonal principal unos y en las dems
posiciones ceros.
Proceso ejercicio6
dimension matriz[10,10]
para i<-1 hasta 10 Hacer
para j<-1 hasta 10 Hacer
si i=j Entonces
matriz[i,j]<-1
FinSi
si i<>j Entonces
matriz[i,j]<-0
FinSi
Escribir "el numero asignado en la posicion fila ",i," columna ",j," es ",matriz[i,j]
Esperar 1 segundos
Escribir "---------------------------"
FinPara
FinPara
FinProceso

7) Hacer un algoritmo que llene una matriz de 6 * 8 y que almacene toda la matriz en un vector. Imprimir el vector
resultante.
Proceso ejercicio7
dimension matriz[6,8];
dimension vector[48]
k<-1
para i<-1 hasta 6 Hacer
para j<-1 hasta 8 Hacer
Escribir "ingrese el numero de la fila ",i," columna ",j
Leer matriz[i,j]
vector[k]<-matriz[i,j]
k<-k+1
FinPara
FinPara
Escribir "--------------------"
Escribir "el vector resultante es"
para i<-1 hasta 48 Hacer
Escribir vector[i]
FinPara
FinProceso

8) Hacer un algoritmo que llene una matriz de 8 * 8, que almacene la suma de los renglones y la suma de las columnas
en un vector. Imprimir el vector resultante.
Proceso ejercicio8
dimension matriz[8,8]; dimension sumafilas[8]; dimension sumacolumnas[8]; dimension sumafilacolumnas[16]
para i<-1 hasta 8 Hacer
para j<-1 hasta 8 Hacer
Escribir "ingrese el numero de la fila ",i," columna ",j
Leer matriz[i,j]
FinPara
FinPara
para i<-1 hasta 8 Hacer
sumafila<-0
para j<-1 hasta 8 Hacer
sumafila<-sumafila+matriz[i,j]
FinPara
sumafilas[i]<-sumafila
FinPara
para i<-1 hasta 8 Hacer
sumacolumna<-0
para j<-1 hasta 8 Hacer
sumacolumna<-sumacolumna+matriz[j,i]
FinPara
sumacolumnas[i]<-sumacolumna
FinPara
para i<-1 hasta 8 Hacer
sumafilacolumnas[i]<-sumafilas[i]
FinPara
k<-9
para i<-1 hasta 8 Hacer
sumafilacolumnas[k]<-sumacolumnas[i]
k<-k+1
FinPara
Escribir "-------------------------"
para i<-1 hasta 16 Hacer
si i<=8 Entonces
Escribir "la suma de la fila ",i," es ",sumafilacolumnas[i]
FinSi
si i>8 Entonces
w<-i-8
Escribir "la suma de la columna ",w," es ",sumafilacolumnas[i]
FinSi
FinPara
FinProceso

9) Hacer un algoritmo que llene una matriz de 5 * 6 y que imprima cuantos de los nmeros almacenados son ceros,
cuntos son positivos y cuantos son negativos.
Proceso ejercicio9
dimension matriz[5,6]
sumanulo<-0;
sumapos<-0;
sumaneg<-0
para i<-1 hasta 5 Hacer
para j<-1 hasta 6 Hacer
nulo<-0; pos<-0; neg<-0
Escribir "ingrese el numero de la fila ",i," columna ",j
Leer matriz[i,j]
si matriz[i,j]=0 Entonces
nulo<-1
FinSi
si matriz[i,j]>0 Entonces
pos<-1
FinSi
si matriz[i,j]<0 Entonces
neg<-1
FinSi
sumanulo<-sumanulo+nulo; sumapos<-sumapos+pos; sumaneg<-sumaneg+neg
Escribir "hasta ahora van: ",sumanulo," ceros, ",sumapos," positivos, ",sumaneg," negativos"
Escribir "-----------------------"
FinPara
FinPara
Escribir "de todos los almacenados hubo: ",sumanulo," ceros, ",sumapos," positivos, ",sumaneg," negativos"
FinProceso

10) Disee un pseudocdigo que escriba el nmero de la hilera cuya suma sea mayor que las dems hileras. Suponga que todas las hileras
suman diferente cantidad

Proceso ejercicio10
Escribir "especifique la cantidad de filas y columnas que quiere, respectivamente"
Leer n1,n2
dimension matriz[n1,n2]; dimension sumafilas[n1]
para i<-1 hasta n1 Hacer
para j<-1 hasta n2 Hacer
Escribir "ingrese el numero de la fila ",i," columna ",j
Leer matriz[i,j]
FinPara
FinPara
para i<-1 hasta n1 Hacer
sumafila<-0
para j<-1 hasta n2 Hacer
sumafila<-sumafila+matriz[i,j]
FinPara
sumafilas[i]<-sumafila
Escribir "la suma de la fila ",i," es ",sumafilas[i]
FinPara
max<--99999999999999999
para i<-1 hasta n1 Hacer
si sumafilas[i]>max Entonces
max<-sumafilas[i]
k<-i
FinSi
FinPara
Escribir "la fila que mas suma es la ",k," la cual suma ",max
FinProceso

11) El dueo de una cadena de tiendas de artculos deportivos desea controlar sus ventas por medio de una computadora. Los datos de entrada son :
a) El nmero de la tienda (1 a 50)
b) Un nmero que indica el deporte del articulo (1 a 20)

c) El costo del artculo.


Hacer un pseudocdigo que escriba al final del da lo siguiente
- Las ventas totales en el da para cada tienda
- Las ventas totales para cada uno de los deportes.
- Las ventas totales de todas las tiendas.

Proceso ejercicio11
dimension matriz[50,20]
Repetir
Escribir "ingrese el costo del articulo, la tienda que se trata (1-50) y el deporte del articulo (1-20),
respectivamente"
Leer c,t,d
matriz[t,d]<-matriz[t,d]+c
Escribir "desea agregar otra compra(1) o salir(2)?"
Leer w
Escribir " "
hasta que w=2
para i<-1 hasta 50 Hacer
sumatienda<-0
para j<-1 hasta 20 Hacer
sumatienda<-sumatienda+matriz[i,j]
FinPara
Escribir "la tienda ",i," tuvo ingresos de ",sumatienda
FinPara
totaldeporte<-0
para i<-1 hasta 20 hacer
sumadep<-0
para j<-1 hasta 50 hacer
sumadep<-sumadep+matriz[j,i]
FinPara
totaldeporte<-totaldeporte+sumadep
Escribir "el deporte ",i," tuvo ingresos de ",sumadep
FinPara
Escribir "-----------------"
Escribir "el total recaudado fue de ",totaldeporte
FinProceso

13) Se tiene almacenada la matriz M (50,5) la cual contiene la informacin sobre las calificaciones de la materia de LENGUAJES ALGORITMICOS. Disee un
pseudocdigo que imprima:
A).- Cantidad de alumnos que aprobaron la materia.
B).- Cantidad de alumnos que tienen derecho a nivelacin.
C).- El (o los) numero (s) de control de lo(s) alumno(s) que haya (n) obtenido la mxima calificacin final.

Proceso ejercicio13
dimension M[50,5]
max<--99999999999999999
para i<-1 hasta 50 Hacer
para j<-1 hasta 5 Hacer
aprobo<-0; nivelacion<-0;
Escribir "ingrese la nota (0-5) de la casilla fila ",i," columna ",j
Leer M[i,j]
si M[i,j]>=3 Entonces
aprobo<-1
FinSi
si M[i,j]<3 Entonces
nivelacion<-1
FinSi
si M[i,j]>max entonces
max<-M[i,j]
FinSi
sumaaprobo<-sumaaprobo+aprobo; sumanivelacion<-sumanivelacion+nivelacion
Escribir "hasta ahora van aprobando ",sumaaprobo," estudiantes y tienen que nivelar ",sumanivelacion
Escribir "la maxima nota hasta hora es ",max
Escribir "-----------------------------"
FinPara
FinPara
sumamaxima<-0
para i<-1 hasta 50 Hacer
para j<-1 hasta 5 hacer
maxima<-0
si M[i,j]=max entonces
maxima<-1
FinSi
sumamaxima<-sumamaxima+maxima
FinPara
FinPara
Escribir "aprobaron ",sumaaprobo, " estudiantes"
Escribir "van a tener que nivelar la materia ",nivelacion," estudiantes"
Escribir "la maxima nota fue ",max," y la obtuvieron ",sumamaxima
FinProceso

S-ar putea să vă placă și