Definición de Arreglo(Array)
• Conjunto finito de elementos del mismo tipo de dato.
• A los elementos se puede acceder indicando la posición que ocupan.
• Se numeran consecutivamente O, 1, 2, 3, etc.
• Clasifican en unidimensionales– Vectores y Cadenas
• Bidimensionales– Matrices y Cadenas de cadena
Arreglos Unidimensionales
• Vectores.
– Formado por números (enteros o reales)
• Cadenas.
– Caracteres (letras, símbolos y números)
• Ejemplo. Un arreglo llamado t de N elementos.
Vectores
• La forma de declarar un vector es la siguiente:
Tipo_de_dato identificador[tamaño]
• Donde:– tipo_de_dato es entero o real.
– Identificador es el nombre del vector.
– tamaño es el número de elementos en el vector.
• Ejemplos.ENTERO a[5]
REAL vec[3], x[20]
Vectores
• Asignación de valores.
– Al declarar se puede inicializar el vector.
Ejemplo:
ENTERO vec[4] ← { 23, 5, 34, -4, 6}
ENTERO V[3] ← {0}
ENTERO Z[4] ← {3,6,2}
ENTERO A[2]
Arreglos Vectores
• Asignación de valores.
– Después de declarar se hace elemento por elemento.
Ejemplo:
ENTERO vec[5], x ← 3
vec[0] ← 4
vec[x - 2] ← 8 + 5
vec[x] ← vec[0] + vec[1]
vec[3] ← vec[0] + 6
Vectores
• Ejemplo 1. Escribir un algoritmo que lea 10 valores enteros y los muestre empezando por el ultimo ingresado, en seguida el penúltimo y así sucesivamente hasta el primer valor ingresado.
INICIOENTERO vec[9], kPARA(k ← 0; k < 10; k ←k + 1)
ESCRIBIR(“ingresa un numero entero ”)LEER(vec[k])
FIN PARAESCRIBIR(“El vector en orden inverso es: \n ”)PARA(k ← 0; k < 10; k ←k + 1)
ESCRIBIR( “ “, vec[ 9 - k] )FIN PARA
FIN
Vectores
• Ejemplo 2. Escribir un algoritmo que lea el numero de mes y muestre el numero de días que tiene dicho mes.
INICIO
ENTERO mes[11+ ← ,31,29,31,30,31,30,31,31,30,31,30,31}, m
ESCRIBIR(“Programa que calcula el numero
de días de un mes”)
ESCRIBIR(“Ingresa un numero de mes del año: ”)
LEER( m )
ESCRIBIR(“El numero de días de dicho mes son: ”, mes*m-1] )
FIN
Vectores
• Ejemplo 3. Realizar un algoritmo que llene un vector de N números enteros de forma aleatoria, lo muestre y después elimine los elementos repetidos guardando el resultado en el mismo vector y por ultimo mostrar el nuevo vector. Los elementos deben conservar su orden relativo. Para ello no se puede utilizar ningún vector auxiliar y 0 < N < 100, y los aleatorios van de 1 a 50.
-
INICIOENTERO vec[99], k, x, z,n, r ← 0
ESCRIBIR(“¿De cuántos elementos será tu vector? ”)LEER( n )ESCRIBIR(“El vector es: \n ”)PARA(k ← 0; k < n; k ← k + 1)
vec*k+ ←ALEATORIO(50)ESCRIBIR(“ ”, vec[k])
FIN PARAPARA(k ← 0; k < n -r; k ← k + 1)
PARA(x ← k + 1; x < n ; x ← x + 1)SI( vec[k] = vec[ x ])ENTONCES
PARA(z ← x; z < n ; z ← z + 1)vec[z] ← vec[z+1]
FIN PARAr ← r + 1
FIN SIFIN PARA
FIN PARAESCRIBIR(“El vector sin datos repetidos es: \n ”)
PARA(k ← 0; k < n - r; k ←k + 1)ESCRIBIR(“ ”, vec[k])
FIN PARAFIN
• Ejercicio 1.
Realizar un algoritmo que llene un vector de n elementos con valores aleatorios de 1 a 10 y recorra el primer elemento al segundo y el segundo al tercero, hasta llegar al ultimo, el cual pasara a ser el primero. Mostrar el vector original y el vector resultado. El máximo elementos del vector es 50.
INICIOENTERO vec[50], k, n, auxESCRIBIR(“¿De cuántos elementos será tu vector máximo 50? ”)LEER( n )ESCRIBIR(“El vector es: \n ”)PARA(k ← 0; k < n; k ← k + 1)
vec*k+ ←ALEATORIO(10) + 1ESCRIBIR(“ ”, vec[k])
FIN PARAPARA(k ← 1; k < n ; k ← k + 1)aux ← vec[k]vec*k+ ← vec[0]vec*0+ ← aux
FIN PARAESCRIBIR(“El vector resultado es: \n ”)
PARA(k ← 0; k < n ; k ←k + 1)ESCRIBIR(“ ”, vec[k])
FIN PARAFIN
INICIOENTERO vec[99], k, x, aux,n, r ← 0
ESCRIBIR(“¿De cuántos elementos será tu vector? ”)LEER( n )ESCRIBIR(“El vector es: \n ”)PARA(k ← 0; k < n; k ← k + 1)
vec*k+ ←ALEATORIO(50) + 10 ESCRIBIR(“ ”, vec[k])
FIN PARAPARA(k ← 0; k < n ; k ← k + 1)
SI( vec*k+ MOD 2 ≠ 0 ) ENTONCES //si un numero es imparPARA(x ← k; x > 0 + r ; x ← x - 1)
aux ← vec[x -1]vec[x-1+ ← vec[x]vec*x+ ← aux
FIN PARAr ← r + 1
FIN SIFIN PARAESCRIBIR(“El vector resultado es: \n ”)
PARA(k ← 0; k < n ; k ←k + 1)ESCRIBIR(“ ”, vec[k])
FIN PARAFIN
Ejercicio 4
Diseñar un algoritmo para jugar al Mastermind. En dicho juego, un jugador A escribe un número de 4 cifras y otro jugador B intenta adivinarlo. No se permite que haya repeticiones en las cifras del número. Con cada intento de B, A debe decirle cuántas cifras ha acertado y, de éstas, cuántas están correctamente colocadas.
Ejemplo: Número secreto: 1234Intento 1: 4321 4 correctas, 0 colocadasIntento 2: 2143 4 correctas, 0 colocadasIntento 3: 1243 4 correctas, 2 colocadasIntento 4: 1234 4 correctas, 4 colocadas
Top Related