Está en la página 1de 10

Arreglos:

Un arreglo es una estructura homogénea que se caracteriza porque:


-Todos sus elementos tienen el mismo nombre
-Todos sus elementos son del mismo tipo
- Para referirnos a un elemento particular se hace con el nombre del arreglo y con índices
encerrados entre corchetes [ ], los cuales indican la posición del elemento dentro del arreglo.
Arreglos Unidimensionales: vectores o listas
Tienen una dimensión o índice a
En algebra Ejm. aN = [ a1 a2 a3 . . . an ] a[1] a[2] a[3] a[4] a[5]
En algoritmos
a[N] = a[1] . . . a[N] 2 4 6 8 10
Declaración en algoritmos: a[1] . . . a[N] 1 2 3 4 5

1.Escribir un algoritmo para generar un vector de N elementos con los N primeros números
pares, luego imprimirlo.
Análisis del problema
Salida: Un vector de N elementos con los N primeros números pares
Entrada: La cantidad N de elementos
Proceso:
Análisis del problema
Salida: Un vector de N elementos con los N primeros números pares
Entrada: La cantidad N de elementos
Proceso:
Algoritmo
variables ENTERAS: N, posic, par [1] . . . par [ N ]
LEER: N
PARA posic DESDE 1 HASTA N PASO 1 HACER
par [ POSIC ] ← 2 * posic
ESCRIBIR: “Par [”, posic, “]: ”par [ posic ]
FIN_PARA
2.Un número primo es aquel que sólo tiene 2 divisores; así mismo y a la unidad. Escribir un algoritmo para generar
un vector de N elementos con los N primeros números primos, luego imprimir el vector.
Análisis del problema
Salida: Un vector con los N primeros números primos
Entrada: La cantidad N
Proceso:
Algoritmo
variables ENTERAS: N, prim[1] . . .prim[N], cont, num, numNat, cantDiv
// Aquí se pide la cantidad de elementos del vector
LEER: N
num ← 1
// Aquí se almacenan los números en el vector
cont ← 1
MIENTRAS cont <= N HACER
cantDiv ← 0
PARA numNat DESDE 1 HASTA num PASO 1 HACER
SI MODULO (num/numNat) = 0 ENTONCES
cantDiv ← cantDiv + 1
FIN_SI
FIN_PARA
SI cantDiv = 2 ENTONCES
prim [ cont ] ← num
cont ← cont + 1
FIN_SI
num ← num + 1
FIN_MIENTRAS
// Aquí se imprime el vector
PARA cont DESDE 1 HASTA N PASO 1 HACER
ESCRIBIR: “Primo[“, cont, “]: “, prim[ cont ]
FIN_PARA
2.Escribir un algoritmo para ingresar números a un vector de N elementos y determinar ¿Cuál es el
mayor valor ingresado y que posición ocupa en el vector.
Análisis del problema
Salida: El mayor valor ingresado y su posición
Entrada: Los N números y la cantidad N de números
Proceso:
Algoritmo:
variables ENTERAS: N, posic, posmay
variables REALES: num[1] . . . num[N], may
LEER: N
// Ingreso de número al vector
PARA posic DESDE 1 HASTA N PASO 1 HACER
LEER: num [posic]
FIN_FIN
// Comparar los números del vector
PARA posic DESDE 1 HASTA N PASO 1 HACER
SI posic = 1 ENTONCES
mayor ← num [ 1 ]
posmay ← 1
SINO
SI num [ posic] > mayor ENTONCES
mayor ← num [posic]
posmay ← posic
FIN_SI
FIN_SI
FIN_PARA
// Impresión de resultados
ESCRIBIR: “El mayor valor ingresado es:”, mayor, “ y su posición es:”, posmay
Algoritmo
2.Escribir un programa para ingresar N números a un vector de N elementos, luego intercambiar el
elemento de mayor valor con el elemento de menor valor en el vector.
Ejm. Si N=6 y el vector es: [ 2 1.08 -30 22 538 9 ] el resultado debe ser:
[ 2 1.08 538 22 -30 9 ]
Análisis del problema: mayor: 538 posmay: 5 menor: -30 posmen: 3
Salida: El vector con los valores mayor y menor intercambiados
Entrada: El valor de N, y los números
Proceso: SI num[posic] > mayor ENTONCES
Algoritmo: mayor ← num[posic]
variables ENTERAS: N, posic, posmay, posmen, aux posmay ← posic
variables REALES: num[1]…num[N], mayor, menor FIN_SI
LEER: N SI num[posic] < menor ENTONCES
// Ingreso de números al vector menor ← num [posic]
PARA posic DESDE 1 HASTA N HACER posmen ← posic
LEER: num [posic] FIN_SI
FIN_PARA FIN_SI
// Áqui se hallará el mayor, menor y sus posiciones FIN_PARA
PARA posic DESDE 1 HASTA N HACER // Intercambio de elementos del vector
SI posic = 1 ENTONCES num [posmay] ← menor
mayor ← num [1] num [posmen] ← mayor
posmay ← 1 // Impresión del vector intercambiado
menor ← num[1] PARA posic DESDE 1 HASTA N HACER
posmen ← 1 ESCRIBIR: num [posic]
SINO FIN_PARA
Ordenamiento de Vectores:
-Método de selección
-Método de Burbuja simple
-Método de burbuja doble
-Método de Quick Sort
-Método Shell
Método de selección:
Para ordenar un vector de N elementos en forma ascendente o descendente se realizan los
pasos siguientes:
1.Se busca o selecciona el mayor o menor valor dentro de los N elementos del vector
2. Se intercambia el elemento de mayor o menor valor con el elemento de posición N
3.Se repiten los pasos anteriores para los N – 1 elementos del vector, N-2 elementos del vector,
N-3 y así hasta completar todo el vector
Ejm Si N es 6 y el vector es [ 13 0 -4,8 532 94 20 ]
[ 13 0 -4,8 20 94 532 ]
[ -4,8 0 13 20 94 532 ]
variables REALES: num[1]…num[N], may
variables ENTERAS: N, i, posmay, j
LEER: N
// Ingreso de valores al vector
PARA i DESDE 1 HASTA N PASO 1 HACER // Impresión del vector Ordenado
LEER: num [ i ] ESCRIBIR: “Vector Ordenado”
FIN_PARA PARA i DESDE 1 HASTA N PASO 1 HACER
// Ordenamiento del vector ESCRIBIR: num [ i ]
PARA j DESDE N HASTA 1 PASO -1 HACER FIN_PARA
PARA i DESDE 1 HASTA j PASO 1 HACER
SI i = 1 ENTONCES
may ← num [1]
posmay ← 1
SINO
SI num [ i ] < may ENTONCES
may ← num [ i ]
posmay ← i
FIN_SI
FIN_SI
FIN_PARA
num [ posmay ] ← num [ j ]
num [ j ] ← may
FIN_PARA
Método de burbuja simple:
Para ordenar un vector de N elementos en forma ascendente/descendente se realizan los
pasos siguientes:
1.Se compara el primer elemento con el segundo, si el primero es mayor/menor, se
intercambian
2. Se compara el segundo elemento con el tercero, si el segundo es mayor, se intercambian
3.Se continúa con los siguientes elementos hasta llegar al elemento N. Con esto se logra
poner en la posición N, el elemento de mayor/menor valor.
4. Se repiten los pasos anteriores para los N -1 elementos, para los N – 2 elementos, para los
N – 3 elementos y así sucesivamente hasta completar todo el vector.

N:6 [ 12 -4 1.29 56 0 38 ]
-4 12 1.29 56 0 38
-4 1.29 12 56 0 38
-4 1.29 12 0 56 38
-4 1.29 12 0 38 56
-4 1.29 0 12 38 56
-4 0 1.29 12 38 56
1.Se compara el primer elemento con el segundo, si el primero es mayor/menor, se intercambian
2. Se compara el segundo elemento con el tercero, si el segundo es mayor, se intercambian
3.Se continúa con los siguientes elementos hasta llegar al elemento N. Con esto se logra poner en la posición
N, el elemento de mayor/menor valor.
4. Se repiten los pasos anteriores para los N -1 elementos, para los N – 2 elementos, para los N – 3
elementos y así sucesivamente hasta completar todo el vector.
Algoritmo:
variables REALES: num[1]…num[N]
variables ENTERAS: N, i, mayor, j // Impresión del vector Ordenado
LEER: N ESCRIBIR: “ Vector Ordenado”
// Ingreso de los valores al vector PARA i DESDE 1 HASTA n PASO 1 HACER
PARA i DESDE 1 HASTA N PASO 1 HACER ESCRIBIR: “Numero[”, i, “]: ”,
LEER: num [ i ] num [ i ]
FIN_PARA FIN_PARA
// Ordenamiento del vector
PARA j DESDE N-1 HASTA 1 PASO -1 HACER
PARA i DESDE 1 HASTA j PASO 1 HACER
SI num [ i ] > num [ i+1 ] ENTONCES
mayor ← num [ i ]
num [ i ] ← num [ i+1 ]
num [ i+1 ] ← mayor
FIN_SI
FIN_PARA
FIN_PARA

También podría gustarte