Guía de Ejercicios de Arreglos 1. Escribe el código en Visual Basic para declarar y crear los siguientes arreglos: + Un arreglo A1 de 100000 reales. + Un arreglo A2 de 1 valor booleano. + Un arreglo A3 de 450 enteros. + Un arreglo A4 de 150 String. 2. Escribe el valor final de las variables: a) Dim A( ) As Double A = new double(3) Dim x as Integer For i as Integer=0 To i<A.length() A(i) = i*3 Next x=A(0)+A(1)+A(2) El valor de x es ____ El valor de A(0) es ____ El valor de A(1) es ____ El valor de A(2) es ____ b) int B( ) B = new Integer(5) B(4)=1 B(B(4))=2 B(B(B(4)))=0 B(B(B(B(4))))=3 B(B(B(B(B(4)))))=4 El valor de B(0) es ____ El valor de B(1) es ____ El valor de B(2) es ____ El valor de B(3) es ____ El valor de B(4) es ____ c) Dim C( ) as Integer C = new int(4) Dim y as Integer For i as Integer=C.length()-1 To 0 step -1 C(i) = i/2 Next y=C(0)+C(1)+C(2)+C(3) El valor de y es ____ El valor de C(0) es ____ El valor de C(1) es ____ El valor de C(2) es ____ El valor de C(3) es ____ 3. Escribe el código en Visual Basic de los siguientes procedimientos: a) El procedimiento: public sub inicia1 ( byval Arr( ) as Integer) que recibe un arreglo de enteros y le asigna a cada localidad los valores 0,3,6,..,3*n donde n es la longitud del arreglo. Por ejemplo, si definimos el siguiente arreglo: Dim A( ) as Integer A= new Integer(6) Y después ejecutamos la instrucción... inicia1( A ) ...las localidades de A deben ser A(0)=0, A(1)=3, A(2)=6, A(3)=9, A(4)=12 y A(5)=15. b) El procedimiento: public sub inicia2( ByVal Arr( ) as Integer ) que recibe un arreglo de enteros y le asigna a cada localidad los valores n-1, n-2,...,2,1,0 donde n es la longitud del arreglo. Por ejemplo, si definimos el siguiente arreglo: Dim B( ) as Integer B= new Integer(6) y después ejecutamos la instrucción... inicia2( B ) las localidades de B deben ser B(0)=5, B(1)=4, B(2)=3, B(3)=2, B(4)=1 y B(5)=0. c) El procedimiento: public sub inicia3 ( ByVal Arr( ) as Boolean ) que recibe un arreglo de valores booleanos y le asigna de manera intercalada los valores true y false. Por ejemplo, si definimos el siguiente arreglo: Dim C( ) as Boolean C= new boolean(6) y después ejecutamos la instrucción... inicia3( C ) las localidades de C deben ser C(0)=false, C(1)=true, C(2)=false, C(3)=true, C(4)=false y C(5=true. 4.- Escribe el código en Visual Basic de las siguientes funciones: a) La función... public Function cuentaCeros ( ByVal Arr( ) as Integer ) as Integer que recibe un arreglo de enteros y regresa el número de ceros que se encuentran dentro del arreglo. Por ejemplo, si el arreglo A tuviera los valores A(0)=0, A(1)=1, A(2)=4, A(3)=2, A(4)=5 y A(5)=0, el resultado de cuentaCeros(A) debe ser 2. b) La función... public Function sumaPares ( ByVal Arr( ) as Integer ) as Integer que recibe un arreglo de enteros y regresa el resultado de sumar sólo los números pares que hay dentro del arreglo. Por ejemplo, si el arreglo A tuviera los valores A(0)=8, A(1)=1, A(2)=4, A(3)=2, A(4)=5 y A(5)=10, el resultado de sumaPares(A) debe ser 8+4+2+10 es decir 24. c) La función... public Function cuentaRepeticiones ( ByVal Arr( ) as Integer, ByVal x as Integer ) as Integer que recibe un arreglo de enteros y un valor entero x. La función regresa el número de veces que se repite el valor de x en el arreglo. Por ejemplo, si el arreglo A tuviera los valores A(0)=8, A(1)=2, A(2)=4, A(3)=2, A(4)=5 y A(5)=2, el resultado de cuentaRepeticiones(A,2) debe ser 3. d) El procedimiento... public sub sustituye (ByVal Arr( ) as Integer, ByVal old as Integer, ByVal new as Integer) que recibe un arreglo de enteros y dos valores enteros old y new. El procedimiento debe reemplazar todos los valores old del arreglo por el valor de new. Por ejemplo, si el arreglo A tuviera los valores A(0)=8, A(1)=2, A(2)=4, A(3)=2, A(4)=5 y A(5)=2, el resultado de sustituye(A,2,7) debe ser A(0)=8, A(1)=7, A(2)=4, A(3)=7, A(4)=5 y A(5)=7. Operaciones con Arreglos 1. Escribe el código en Visual Basic del procedimiento public sub intercambia(ByVal A( ) as Integer, ByVal i as Integer,ByVal j as Integer), que recibe un arreglo de enteros y dos valores enteros que corresponden a dos localidades del arreglo. El procedimiento intercambia los valores de las localidades i y j del arreglo. Por ejemplo, si el arreglo A tuviera los valores A = (8 1 4 7 5 10 6 3 9), la operación intercambia(A, 2, 5) intercambia los valores A(2) y A(5), modificando el arreglo de la siguiente forma A = (8 1 10 7 5 4 6 3 9). 2. Escribe el código en Visual Basic del procedimiento public sub invierte(ByVal Arr( ) as Integer), que recibe un arreglo de enteros. El procedimiento invierte la secuencia de valores del arreglo. Por ejemplo, si el arreglo A tuviera los valores A = (10 3 5 2 3 9 10 4 7 1), la operación invierte(A) intercambia los valores del arreglo invirtiendo la secuencia del arreglo: A = (1 7 4 10 9 3 2 5 3 10). 3. Escribe el código en Visual Basic del procedimiento public sub rotaDerecha(ByVal A( ) as Integer ), que recibe un arreglo de enteros. El procedimiento mueve a cada elemento una posición adelante, colocando el último valor del arreglo en la primera localidad del arreglo resultante. Por ejemplo, si el arreglo A tuviera los valores A = (0 1 2 3 4 5 6 7) , después de evaluar rotaDerecha(A) el arreglo se modifica de la siguiente manera: A = (7 0 1 2 3 4 5 6). 4. Escribe el código en Visual Basic de la función public Function mayor(ByVal A( ) as Integer ,ByVal inf as Integer, ByVal sup as Integer) as Integer, que recibe un arreglo de enteros y dos valores enteros inf y sup. La función regresa el mayor valor del arreglo dentro del rango definido por inf y sup. Por ejemplo, si tenemos el siguiente arreglo: A = (10 12 2 0 4 35 24), la instrucción mayor(A, 0, 3) regresa 12 y mayor(A, 0, 6) regresa 35. 5. Escribe el código en Visual Basic de la función public Function posMayor(intA( ), inf as Integer, ByVal sup as Integer) as Integer que recibe un arreglo de enteros y dos valores enteros inf y sup. La función regresa la posición de la localidad que contiene al mayor valor del arreglo. Por ejemplo, si tenemos el arreglo: A = (10 12 2 0 4 35 24), la instrucción posMayor(A,0,3) regresa 1 y posMayor(A, 0, 6) regresa 5. 6. Escribe el código en Visual Basic del procedimiento public sub ordena2(ByVal A( ) as Integer ), que recibe un arreglo de enteros y el procedimiento ordena los valores del arreglo de mayor a menor. Por ejemplo, si tenemos el arreglo A = (10 29 4 23 31 24 15 6), después de evaluar ordena2(A), el arreglo se modifica de la siguiente manera: A = (31 29 24 23 15 10 6 4). 7. Escribe el código en Visual Basic de la función public Function iguales(ByVal A1( ) as integer, ByVal A2( ) as Integer) as Boolean, que recibe dos arreglos de enteros y el procedimiento regresa true si los dos arreglos contienen la misma secuencia de valores y false de otra manera. Por ejemplo, si tenemos los arreglos... A1 = (31 24 23 15 10 6 4) A2 = (31 24 23 15 10 6 4) A3 = (10 4 23 31 24 6 8) ... la evaluación de iguales(A1, A2) es true y la evaluación de iguales(A1, A3) es false.