Array_Index (Duda)
Publicado por Estudiante (2 intervenciones) el 28/11/2007 19:34:42
Hola, necesito ayuda sobre un código ya que me han pasado como ejercicio de practicas el siguiente enunciado:
Implemente una función de tipo Integer, llamada Array_Index, con dos parámetros de tipo Vector_2 (Fuente, Patron). Se debe buscar si el Patrón (el vector completo) está contenido en la Fuente. La función devolverá el índice de la primera aparición del Patrón en la Fuente. Si el Patrón no está contenido en la Fuente la función devolverá un cero.
Ejemplo con vectores de tipo entero:
Fuente: (10..15) ==> (12, 34, 65, 1234, 4, 8)
Patrón: (5..6) ==> (65, 1234)
Resultado: 12;
El código se escribirá en un fichero llamado array_index.adb
Conocimientos de Ada indispensables para realizar el ejercicio.Estructura de un programa/subprogramas, variables/declaraciones, sentencias y tipos ordinales, tipos estructurados.
Descargas y pruebas.El tipo Vector_2 se halla definido en el fichero arrays.ads. Debe descargar este fichero e incorporarlo al proyecto junto con array_index.adb y el procedimiento principal.
Puede usar el siguiente código como punto de partida para desarrollar un procedimiento principal de prueba:
with Arrays, Array_Index;
use Arrays;
procedure Probar is
V1 : Vector_2(1 .. 5); -- Cambie el rango si lo desea
V2 : Vector_2(1 .. 4); -- Cambie el rango si lo desea
R : Integer; -- Resultado que debe dar la búsqueda
begin
-- Escriba el código necesario aquí para dar valores
-- adecuados a V1, V2 y R, de tal manera que R sea el valor
-- que debe devolver la función al buscar B en V1
if R /= Array_Index(V1, V2); then
-- Escriba el código que estime oportuno
-- para señalar el error de la búsqueda
end if;
end Probar;
Implemente una función de tipo Integer, llamada Array_Index, con dos parámetros de tipo Vector_2 (Fuente, Patron). Se debe buscar si el Patrón (el vector completo) está contenido en la Fuente. La función devolverá el índice de la primera aparición del Patrón en la Fuente. Si el Patrón no está contenido en la Fuente la función devolverá un cero.
Ejemplo con vectores de tipo entero:
Fuente: (10..15) ==> (12, 34, 65, 1234, 4, 8)
Patrón: (5..6) ==> (65, 1234)
Resultado: 12;
El código se escribirá en un fichero llamado array_index.adb
Conocimientos de Ada indispensables para realizar el ejercicio.Estructura de un programa/subprogramas, variables/declaraciones, sentencias y tipos ordinales, tipos estructurados.
Descargas y pruebas.El tipo Vector_2 se halla definido en el fichero arrays.ads. Debe descargar este fichero e incorporarlo al proyecto junto con array_index.adb y el procedimiento principal.
Puede usar el siguiente código como punto de partida para desarrollar un procedimiento principal de prueba:
with Arrays, Array_Index;
use Arrays;
procedure Probar is
V1 : Vector_2(1 .. 5); -- Cambie el rango si lo desea
V2 : Vector_2(1 .. 4); -- Cambie el rango si lo desea
R : Integer; -- Resultado que debe dar la búsqueda
begin
-- Escriba el código necesario aquí para dar valores
-- adecuados a V1, V2 y R, de tal manera que R sea el valor
-- que debe devolver la función al buscar B en V1
if R /= Array_Index(V1, V2); then
-- Escriba el código que estime oportuno
-- para señalar el error de la búsqueda
end if;
end Probar;
Valora esta pregunta


0