Sei sulla pagina 1di 8

Guía de ejemplos resueltos Algoritmos semana 13

CONTENIDO ARREGLOS
ARREGLOS UNIDIMENSIONALES........................................................................................................2
Declaración de vectores.....................................................................................................................2
Leer e Imprimir un vector...................................................................................................................3
Modo 1:..........................................................................................................................................3
Modo 2:..........................................................................................................................................3
Asignaciones de valor.........................................................................................................................4
Ejemplos:............................................................................................................................................4
Enunciado 1....................................................................................................................................4
Enunciado 2....................................................................................................................................4
Enunciado 3....................................................................................................................................5
Enunciado 4....................................................................................................................................6
Enunciado 5....................................................................................................................................8

Página 1 de 8
Guía de ejemplos resueltos Algoritmos semana 13

ARREGLOS UNIDIMENSIONALES
Los arreglos son estructuras de datos que consisten en la agrupación de varios datos de
un mismo tipo. De esta forma tenemos los arreglos unidimensionales (vectores) y los
arreglos bidimensionales (matrices). Se debe definir claramente cual es su tamaño.

Pero ¿Cuál es su funcionalidad? Supongamos que tenemos que realizar un programa


que calcule la nota promedio de diez estudiantes. La solución sería finalmente declarando
diez variables de tipo float, solicitando los datos y realizando la operación
correspondiente, pero ¿y si fueran doscientas o cincuenta. Sería bastante dispendioso
declarar mil variables y luego solicitar los datos; lo ideal sería tener algo que nos agrupara
todas las variables de un mismo tipo y que se pudieran referenciar con un solo nombre;
esta tarea la cumplen los arreglos. Por esta razón son de mucha utilidad.

Ejemplo: un vector de tamaño 5

0 1 2 3 4
Nombre_vector

Declaración de vectores
El modo de declarar un vector es semejante al utilizado para declarar variables, con la
diferencia que el vector debe llevar un rango de posiciones según las necesidades del
problema; este rango se debe colocar en los siguientes corchetes "[ ]".

#vector con datos cadena de 3 posiciones


vector_1 = ["" for x in range(3)]

#vector real de 3 posiciones


vector_2 = [0.0 for x in range(3)]

#vector entero de 3 posiciones


vector_3 = [0 for x in range(3)]

Por lo tanto cuando se declara un vector se debe seguir la siguiente sintaxis

Nombre_del_vector = [tipo de dato rango del vector]

Cada casilla del vector está identificada por un número dentro del rango declarado,
comenzando desde la casilla cero y terminando en la casilla del rango menos uno

Página 2 de 8
Guía de ejemplos resueltos Algoritmos semana 13

0 1 … n-2 n-1

De esa forma si deseamos manipular cualquier casilla del vector, basta con referenciar el
vector en el número de casilla correspondiente

Leer e Imprimir un vector


Modo 1:

#PROCEDIMIENTO PARA LEER E IMPRIMIR UN VECTOR DE TAMAÑO n


n=int(input("tamanio del vector "))

#inicializar los vectores según el tipo de datos


vec = [0 for i in range (0,n)]

# leer el vector posición por posición


for i in range (0,n):
vec[i]=int(input("dato"+str(i+1)+ ":"))

#Se muestran en pantalla los valores almacenados en el vector


for i in range(0,n):
print "vec(",i,")=",vec[i]

Modo 2:
#PROCEDIMIENTO PARA LEER E IMPRIMIR UN VECTOR DE TAMAÑO n con
#append
n = int (input("tamanio del vector"))

#Se declara v con un tamaño 0


v = []

#Leer el vector posición por posición, desde 0 hasta n que es el


#limite
for i in range (0,n):
#leer primero el dato en una variable simple
num = int (input("dato: "))
#añade al final del vector el numero leido
v.append(num)

#Imprimir el vector en forma de lista


print v

Página 3 de 8
Guía de ejemplos resueltos Algoritmos semana 13

Asignaciones de valor
Para asignar un valor a un vector se trabaja de la misma manera que se hace con una
variable normal. La única diferencia es que se debe colocar el número de la posición entre
corchetes cuadrados donde se desea almacenar el valor.

Ejemplos:
Enunciado 1
Si deseamos que en la quinta posición del vector quede asignado un 8, solo tenemos que
escribir la instrucción:

Vec[4]=8

Enunciado 2
Realizar un programa que calcule la sumatoria de cada una de las casillas de un vector de
5 posiciones.
Estructura de datos

Descripción de variables Variable Tipo

Vector en el cual se van almacenar los datos vec float

Sumatoria suma float

Contador posiciones i entero

Requerimiento funcional
RF: Imprimir la suma de los elementos del arreglo vec

print "la suma del vector es: ", suma

Requerimiento instruccional
#Inicializar los vectores según el tipo de datos
vec = [2.3, 3.2, 1.5, 4.8, 3.7]

#inicializar el acumulador en 0
suma = 0

#Se requiere el ciclo para recorrer el vector según sus posiciones


for i in range(0,5):
suma = suma + vec[i]

#Se imprime el acumulador que contiene la suma


print "la suma de los elementos del vector es: ", suma

Pruebas

Página 4 de 8
Guía de ejemplos resueltos Algoritmos semana 13

la suma de los elementos del vector es: 15.5

Enunciado 3
Elaborar un programa que halle el menor elemento de un vector de enteros, de tamaño
constante
Estructura de datos

  Variables:

Descripción de variables Variables Tipo

Contador de posiciones (variable de control) i entero

Menor elemento min entero

Vector en el cual se van almacenar los datos vec entero

Requerimiento funcional

RF: Imprimir el menor elemento contenido en el vector

print “El menor número del vector es. “,min

Requerimientos instruccionales
#PROCEDIMIENTO PARA ENCONTRAR EL MENOR

#inicializar los vectores según el tipo de datos


vec = [12,5,8,3,9,7,11,8]

#inicializar min con el valor que se encuentra en la


#posición cero
min = vec[0]

#Se compara cada elemento del vector comenzando desde la


#posición cero, con el min
for i in range(0,8):
if vec[i]<min:
min = vec[i]

#Se imprime el menor elemento del vector


print "El menor número del vector es. ",min

Página 5 de 8
Guía de ejemplos resueltos Algoritmos semana 13

Enunciado 4
Escriba un programa que lea 10 números enteros, se le debe pedir un número al usuario y
mostrar por pantalla la cantidad de veces que se repite este número en la estructura y
en qué posición se encuentra. Si no lo encuentra imprimir un mensaje que diga que el
valor X no fue encontrado. Utilice el concepto de contador para llevar la cuenta, cada
vez que el número dado X es encontrado en el arreglo.

Ejemplo

X 25
Entrad
vec 10 25 30 25 50 25 60 45 70 25
a
pos 0 1 2 3 4 5 6 7 8 9

cuenta 4
Salidas
posición 1 3 5 9

Nota: Si cuenta es 0 quiere decir que el valor de x no es encontrado en el arreglo, se


debe mandar un mensaje que indique que no se encontró el valor de x.

Estructura de datos

Descripción de variables Variables Tipo

Contador de posiciones i entero

Tamaño del vector n entero

Almacenamiento de datos en el vector vec entero

El valor a buscar X entero

Requerimientos funcionales
RF1: Imprimir el número de veces que fue encontrado el numero

print "El número ",x,"fue encontrado ",cuenta," veces."

RF2: Imprimir las posiciones en que fue encontrado el numero

print "El número se encuentra en las siguientes posiciones: "


for i in range(0,n):
if x==vec[i]:
print " pos:",i

Página 6 de 8
Guía de ejemplos resueltos Algoritmos semana 13

RF3: Imprimir un mensaje si el numero no fue encontrado

print "El número ",x,"NO fue encontrado "

Requerimientos instruccionales
#PROCEDIMIENTO PARA LEER UN DATO X Y BUSCARLO EN UN VECTOR

#Pedir el valor de X
x=int(input("ingrese el numero que desea buscar "))

n=int(input("tamano del vector "))


#inicializar los vectores segun el tipo de datos
vec = [0 for i in range (0,n)]

#Inicializar el contador de números repetidos


cuenta=0

# leer el vector posición por posición


for i in range (0,n):
print "dato--->",i+1, ":",
vec[i]=int(input(""))

#Se muestran los valores almacenados en el vector


for i in range(0,n):
print "vec(",i,")=",vec[i]

#Recorrer el vector para buscar el valor de X


for i in range(0,n):
if x==vec[i]:
cuenta=cuenta+1

#Si cuenta es diferente de 0 entonces el numero fue encontrado e


#imprime
if cuenta !=0:
print "El número ",x,"fue encontrado ",cuenta," veces."
#Imprimir las posiciones donde fue encontrado el numero
print "El número se encuentra en las siguientes posiciones: "
for i in range(0,n):
if x==vec[i]:
print " pos:",i
#Sino, entonces se imprime un mensaje donde indique el numero no
#fue encontrado
else:
print "El número ",x,"NO fue encontrado "

Página 7 de 8
Guía de ejemplos resueltos Algoritmos semana 13

Enunciado 5
Escriba un programa que lea un vector de tamaño m e imprima un mensaje diciendo
“Arreglo ordenado ascendentemente” o el “Arreglo no esta ordenado ascendentemente”

Página 8 de 8

Potrebbero piacerti anche