El primer método que nos permite buscar si existe un valor en el Array es include?
El método include? retorna true si el elemento se encuentra en el Array y false en caso contrario.
Cargar en un arreglo 5 enteros por teclado, luego ingresar otro valor entero y verificar si dicho valor se encuentra en el Array.
arreglo = []
x = 0
while x < 5
print "Ingrese un valor entero:"
valor = gets.to_i
arreglo << valor
x = x + 1
end
puts "Contenido del arreglo: #{arreglo}"
print "Ingrese un valor a buscar en el Array anterior:"
valor = gets.to_i
if arreglo.include?(valor)
puts "El número #{valor} se encuentra contenido en el arreglo"
else
puts "El número #{valor} no se encuentra contenido en el arreglo"
end
Luego de cargar los 5 elementos del Array procedemos a cargar un entero:
print "Ingrese un valor a buscar en el Array anterior:" valor = gets.to_i
Llamamos al método include? y le pasamos como parámetro el valor a buscar, si retorna true significa que lo encontró:
if arreglo.include?(valor)
puts "El número #{valor} se encuentra contenido en el arreglo"
else
puts "El número #{valor} no se encuentra contenido en el arreglo"
end
El segundo método de la clase Array que nos permite verificar si existe un determinado valor se llama index y nos retorna en el caso que lo encuentre la posición que ocupa dentro del Array y si no lo encuentra retorna nil.
Cargar en un arreglo 5 enteros por teclado, luego ingresar otro valor entero y verificar si dicho valor se encuentra en el Array y en que posición se encuentra.
arreglo = []
x = 0
while x < 5
print "Ingrese un valor entero:"
valor = gets.to_i
arreglo << valor
x = x + 1
end
puts "Contenido del arreglo: #{arreglo}"
print "Ingrese un valor a buscar en el Array anterior:"
valor = gets.to_i
posicion = arreglo.index(valor)
if posicion == nil
puts "El número #{valor} no se encuentra contenido en el arreglo"
else
puts "El número #{valor} se encuentra contenido en el arreglo en la posición #{posicion}"
end
Llamamos al método index pasando como parámetro el valor a buscar, en la variable posición guardamos el valor devuelto por el método index:
posicion = arreglo.index(valor)
Si se almacena el valor nil significa que no lo ha encontrado dentro del Array. Si lo encuentra la función index al valor retorna la posición donde se ubica:
if posicion == nil
puts "El número #{valor} no se encuentra contenido en el arreglo"
else
puts "El número #{valor} se encuentra contenido en el arreglo en la posición #{posicion}"
end
ejercicio081.rb
productos = []
precios = []
x = 0
while x < 5
print "Ingrese el nombre del producto:"
nom = gets.chomp
productos << nom
print "Ingrese el precio del producto:"
valor = gets.to_f
precios << valor
x = x + 1
end
print "Ingrese el nombre de un producto a buscar:"
nom = gets.chomp
posicion = productos.index(nom)
if posicion == nil
puts "No existe un producto con dicho nombre"
else
puts "El producto #{nom} tiene un precio de #{precios[posicion]}"
end