Identificación y aplicación de resolución de problemas del método de transferencia de parámetros VB
Los parámetros utilizados en el proceso VB se dividen en parámetros reales y parámetros formales. En pocas palabras, los parámetros proporcionados en la definición del proceso son parámetros formales y los parámetros proporcionados en la declaración de llamada al procedimiento son parámetros reales. . Cuando se llama a un procedimiento con parámetros, los parámetros formales y los parámetros reales coinciden y se pasan uno por uno. Según los diferentes métodos de transferencia, se pueden dividir en dos tipos: por valor y por dirección. El juicio correcto del método de transferencia de parámetros es una dificultad en el proceso de aprendizaje y un punto de prueba en el examen de calificación.
1. La connotación de los métodos por valor y por dirección
Pasar parámetros por valor es esencialmente copiar el valor del parámetro real al parámetro formal, entonces, ¿cuál es el parámetro formal? obtiene es una copia del parámetro real. Cuando el parámetro formal se cambia durante la ejecución del procedimiento, no afectará el parámetro real en sí. Pasar el parámetro por dirección esencialmente transfiere la dirección de la variable del parámetro real al parámetro formal. por lo tanto, el parámetro formal y el parámetro real apuntarán a la misma unidad de memoria. Cuando los parámetros formales cambian durante la ejecución del proceso, los parámetros reales correspondientes también cambiarán.
2. Cómo juzgar el método de transferencia de parámetros
Para juzgar el método de transferencia de parámetros, no se puede simplemente mirar si hay byval en el calificador modificado antes del parámetro formal en el procedimiento. definición. El método utilizado para pasar parámetros depende no solo de la definición del proceso, sino también de la llamada al procedimiento, es decir, también tiene mucho que ver con la forma específica de los parámetros reales correspondientes. Por lo tanto, los siguientes tres aspectos deben considerarse de manera integral:
1. Si el parámetro formal es una matriz o un control
2. Si hay una modificación byval antes del parámetro formal
3. Si el parámetro real correspondiente es una expresión o un valor
Para conocer el método de identificación específico, consulte el siguiente diagrama de flujo de identificación.
3. Requisitos para los tipos de parámetros en diferentes métodos de transferencia
Si los parámetros se transfieren por dirección, VB requiere que el tipo de datos del parámetro real sea completamente consistente con el tipo de datos de el parámetro formal; si el parámetro se transfiere por dirección Al pasar por valor, no es necesario que el tipo de datos del parámetro real sea exactamente el mismo que el parámetro formal, pero VB debe poder convertirlo de forma predeterminada.
4. Aplicación de resolución de problemas
(1) Tome una pregunta del examen de grado de informática de la provincia de Jiangsu en la primavera de 2001 como ejemplo:
Usado en la aplicación? función privada divertida (x como número entero, y como única)? Las variables i y j en el proceso de llamar a la función divertida se definen como tipo entero. La que puede hacer referencia correctamente a la función divertida es ____.
①fun(i,j) ②llamar fun(i,3.65)
③fun(3.14,234) ④fun(?245?, ?231.5?)
a.①③ b.②③④ c.①②③ d.①②③④
Análisis:
1. De acuerdo con el diagrama de flujo de identificación, haga los siguientes juicios para cada referencia:
Para ①fun(i,j), el parámetro real i coincide con el parámetro formal x. Dado que el parámetro formal x no es una matriz y no tiene modificación byval, y el parámetro real i es una variable, no un valor o expresión, el parámetro se pasará según la dirección; de manera similar, se puede inferir el parámetro real j y el parámetro formal y también se pasará según la dirección. De acuerdo con los requisitos de VB, los tipos de datos de los parámetros reales y los parámetros formales pasados según la dirección deben ser completamente consistentes según el significado de la pregunta, j es un número entero e y es único, por lo que ① es incorrecto para ② llamar a diversión; (i, 3.65), i y x son los siguientes: Se pasa la dirección y el parámetro real 3.65 es un valor. Cuando coincide con el parámetro formal y, se pasa por valor, por lo que ② es correcto para ③fun (3.14). , 234), aunque el parámetro formal x correspondiente al parámetro real 3.14 es un número entero, el parámetro real 234 corresponde El parámetro formal y es único, pero como todos se pasan por valor, 3.14 se convertirá a 3 y 234 se puede asignado directamente a y, por lo que ③ es correcto para ④fun(?245?, ?231.5?), ya que los parámetros reales ?245 y ?231.5? son valores de cadena, por lo que ellos y los parámetros formales correspondientes x e y serán se pasa por valor y las cadenas numéricas se pueden convertir en tipos numéricos, por lo que ④ es correcto.
En resumen, la respuesta correcta es b.
2. Para esta pregunta, dado que el requisito es, ¿cuál puede citar correctamente la función fun? Por lo tanto, aunque ③④ tiene paréntesis y no tiene una guía de llamada, se puede pasar por: print fun(3.14). , 234 ) para ser citado.
Si se cambia a: ?La declaración que puede llamar correctamente a la función divertida es?, entonces ③④ no es opcional en este momento y solo se puede seleccionar ②.
(2) Tome como ejemplo una pregunta del examen de rango informático de la provincia de Jiangsu en la primavera de 2002:
Al llamar al subprocedimiento definido por la declaración subconvento privado ( y como número entero), lo siguiente No es una declaración de paso por valor____.
a.call convent((x)) b.call convent(x*1)
c.convent(x) d.convent x
Análisis :
1. Para las opciones a y b, los parámetros reales son (x) y x*1 respectivamente, ambos son expresiones, por lo que los parámetros reales en las opciones a y b se pasarán por valor para la opción; d, parámetro real En este punto del análisis, se puede concluir que la respuesta es d ya que esta pregunta es de opción múltiple.
2. Considere ahora la instrucción de opción c convent(x) entre paréntesis, pero sin guía de llamada, por lo que parece que no se puede ejecutar correctamente de forma intuitiva. Pero si ingresamos esta oración en el editor de código VB, después de presionar Enter, la oración se ajusta automáticamente a: convento (x). Tenga en cuenta que hay un espacio entre convento y (x) en este momento, por lo que los corchetes en esta oración. son para x, no para convent, por lo que se puede ejecutar aunque no haya un inicio de llamada. En este momento, el parámetro real es (x), por lo que el parámetro se pasará por valor. Por lo tanto, aunque se pueden ejecutar call convent(x) y convent(x), no es porque se pueda omitir la llamada antes de convent(x), sino porque sus parámetros reales son x y (x) respectivamente, y la forma en que pasan Los parámetros son naturales, simplemente diferentes.
(3) Lea el programa y escriba los resultados de ejecución:
private sub form_click()
dim x como entero, y como entero, z como entero p>
x = 1: y = 2: z = 3
llamar a sub1(x, y, y)
imprimir x,y,z
end sub
private sub sub1(x como entero, y como entero, byval z como entero)
dim i como entero
x = 3 * z: y = 2 * z: z = x y
print x, y, z
end sub
Análisis:
Basado en Según el diagrama de flujo de juicio, el primer y segundo parámetro se pasan por dirección y el tercer parámetro se pasa por valor. Por lo tanto, los parámetros reales correspondientes de la participación de la primera y segunda forma apuntan a la misma unidad de memoria, mientras que los valores de los parámetros reales correspondientes de la participación de la tercera forma son los mismos, pero apuntan a diferentes unidades de memoria. Por lo tanto, se puede realizar el siguiente diagrama esquemático de paso de parámetros y llamada a procedimientos.
Aunque los parámetros reales y los parámetros formales son x, y y z, preste atención a la distinción. Tienen alcances diferentes.
Después del análisis, la respuesta final es:
6 4 10
6 4 3
Los parámetros utilizados en el proceso vb son dividido en Parámetros y parámetros formales, en pocas palabras, los parámetros dados en la definición del procedimiento son parámetros formales y los parámetros dados en la declaración de llamada al procedimiento son parámetros reales. Cuando se llama a un procedimiento con parámetros, los parámetros formales y los parámetros reales coinciden y se pasan uno por uno. Según los diferentes métodos de transferencia, se pueden dividir en dos tipos: por valor y por dirección. El juicio correcto del método de transferencia de parámetros es una dificultad en el proceso de aprendizaje y un punto de prueba en el examen de calificación.
1. La connotación de los métodos por valor y por dirección
Pasar parámetros por valor es esencialmente copiar el valor del parámetro real al parámetro formal, entonces, ¿cuál es el parámetro formal? obtiene es una copia del parámetro real. Cuando el parámetro formal se cambia durante la ejecución del procedimiento, no afectará el parámetro real en sí. Pasar el parámetro por dirección esencialmente transfiere la dirección de la variable del parámetro real al parámetro formal. por lo tanto, el parámetro formal y el parámetro real apuntarán a la misma unidad de memoria. Cuando los parámetros formales cambian durante la ejecución del proceso, los parámetros reales correspondientes también cambiarán.
2. Cómo juzgar el método de transferencia de parámetros
Para juzgar el método de transferencia de parámetros, no se puede simplemente mirar si hay byval en el calificador modificado antes del parámetro formal en el procedimiento. definición. El método utilizado para pasar parámetros depende no solo de la definición del proceso, sino también de la llamada al procedimiento, es decir, también tiene mucho que ver con la forma específica de los parámetros reales correspondientes. Por lo tanto, los siguientes tres aspectos deben considerarse de manera integral:
1. Si el parámetro formal es una matriz o un control
2. Si hay una modificación byval antes del parámetro formal
3. Si el parámetro real correspondiente es una expresión o un valor
Para conocer el método de identificación específico, consulte el siguiente diagrama de flujo de identificación.
3. Requisitos para los tipos de parámetros en diferentes métodos de transferencia
Si los parámetros se transfieren por dirección, VB requiere que el tipo de datos del parámetro real sea completamente consistente con el tipo de datos de el parámetro formal; si el parámetro se transfiere por dirección Al pasar por valor, no es necesario que el tipo de datos del parámetro real sea exactamente el mismo que el parámetro formal, pero VB debe poder convertirlo de forma predeterminada.
4. Aplicación de resolución de problemas
(1) Tome una pregunta del examen provincial de informática de la primavera de 2001 como ejemplo:
Usado en la aplicación? función privada divertida (x como número entero, y como única)? Las variables i y j en el proceso de llamar a la función divertida se definen como tipo entero. La que puede hacer referencia correctamente a la función divertida es ____.
①fun(i,j) ②llamar fun(i,3.65)
③fun(3.14,234) ④fun(?245?, ?231.5?)
a.①③ b.②③④ c.①②③ d.①②③④