¡Respuestas a preguntas sobre vb! (interno)
1. Programa para generar en el formulario todos los números impares entre 101 y 500 que pueden ser divisibles por 3 o 7, y generar la suma de los números que cumplen los requisitos en una fila de 5.
Solución: El código es
Private Sub form_load()
Mostrar
Dim n, suma como entero
Print Spc(6); "Todos los números impares entre 101 y 500 que son divisibles por 3 o 7, y la suma de cada número"
i = 0
sum = 0
Para n = 101 a 500 Paso 2
Si n Mod 3 = 0 O n Mod 7 = 0 Entonces
suma = suma + n p >
i = i + 1
Imprimir Spc(6); n;
Si i Mod 5 = 0 Entonces
Imprimir
Finalizar si
Finalizar si
Siguiente n
Imprimir Spc(7); "suma="; End Sub
2. Ingrese 4 números de diferentes tamaños en 4 cuadros de texto, ordénelos de mayor a menor y use la función Msgbox para generar el resultado.
Solución: El código es
Private Sub Command1_Click()
Atenuar a!, b!, c!, d!
a = Val(Texto1.Texto)
b = Val(Texto2.Texto)
c = Val(Texto3.Texto)
d = Val(Texto4 . Texto)
Si a <> b Y b <> c Y c <> d Y a <> c Y a <> d Y b <> d Entonces
Si a < b Entonces
t = a: a = b: b = t
Fin si
Si a < c Entonces
t = a: a = c: c = t
Fin si
Si b < c Entonces
t = b: b = c: c = t
Finalizar si
Si d > a Entonces
t = d: d = a: a = t
Finalizar si
Si d > b Entonces
t = d: d = b: b = t
Fin Si
Si d > c Entonces p >
t = d: d = c: c = t
End If
MsgBox "Ordenar de grande a pequeño:" & a & "," & b & " ," & c & "," & d
Else
MsgBox "Tiene el mismo número"
Fin si
Fin Sub
Private Sub Command2_Click()
End
End Sub
3 Ingrese cualquier valor de x en el cuadro de texto y cambie f. (x) El resultado de salida se genera utilizando la función Msgbox.
Solución: El código es
Private Sub Command1_Click()
Dim x As Double
x = Val(Text1.Text)
Si x < 0 Entonces
Si x = -3 Entonces
MsgBox "f(x)=" & x ^ 2 - x - 1 p >
De lo contrario: MsgBox "f(x)=" & x ^ 2 + x - 6
Finalizar si
Finalizar si
Si x > = 0 Entonces
Si x < 10 Y x <> 2 Y x <> 3 Entonces
MsgBox "f(x)=" & x ^ 2 - 5 * x + 6
De lo contrario: MsgBox "f(x)=" & x ^ 2 - x - 1
Finalizar si
Finalizar si
End Sub
Private Sub Command2_Click()
End
End Sub
4. Encuentra todos los números palíndromos del 10000 al 99999, y envíelo en el formulario en el formato de 10 seguidos. Por ejemplo, 12321 es un número palíndromo, el dígito de las unidades es el mismo que el de las decenas de miles y el dígito de las decenas es el mismo que el de los millares.
Solución: El código es
Private Sub Form_Load()
Mostrar
Dim x, a, b, c, d, e Como entero
Imprimir Spc(25); "Todos los palíndromos de cinco dígitos:"
Imprimir
i = 0
Para x = 10000 A 99999
a = x \ 10000
b = (x - (a * 10000)) \ 1000
c = (x - ( a * 10000) - (b * 1000)) \ 100
d = (x - (a * 10000) - (b * 1000) - (c * 100)) \ 10
e = x - (a * 10000) - (b * 1000) - (c * 100) - (d * 10)
Si a = e Y b = d Y c <> a Y c <> b Y a <> b Entonces
Imprimir Spc(5);
i = i + 1
Si i Mod 10 = 0 Luego
Imprimir
Finalizar si
Finalizar si
Siguiente
Fin Sub
5. Genere todos los "Números de Narciso" en el formulario y envíelos en el formato de 5 por línea. El llamado "número narciso" se refiere a un número de tres dígitos cuya suma cúbica es igual al número mismo. Por ejemplo: 153 es un "número narciso" porque 153=1*1*1+5*5*5+3*3*3.
Solución: El código es
Sub privado form_load() Mostrar Dim a, b, c, i como entero Imprimir Spc(10); "Número de Narciso" para i = 100 A 999 a = i Mod 10 b = i \ 100 c = (i - b * 100) \ 10 Si a ^ 3 + b ^ 3 + c ^ 3 = i Entonces imprime i; 1 ) Mod 5 = 0 Luego Imprimir Fin Si Fin Si Siguiente i Fin Sub
6. una fila: la suma del primer y los tres dígitos es 10, y el producto del segundo y el cuarto dígitos es 12.
Solución: El código es
Private Sub Form_Load()
Dim i como entero, a(1 a 4) como entero, j como entero p >
j = 0
Mostrar
Para i = 1000 a 9999
a(1) = i Mod 10
a(2) = ((i - a(1)) / 10) Mod 10
a(3) = ((i - i Mod 100) / 100) Mod 10
a(4) = ((i - i Mod 1000) / 1000) Mod 10
Si (a(4) + a(2) = 10 Y a(1) * a(3) = 12) Entonces
Imprimir Tab((j Mod 10 + 1) * 7);
Imprimir i;
j = j + 1
Si (j Mod 10 = 0) Entonces Imprimir
Finalizar si
Siguiente
Fin Sub
7. un programa, ingrese la altura (cm) y el peso (kg) de alguien en dos cuadros de texto, presione la fórmula para determinar si su peso es estándar, demasiado gordo o demasiado delgado, y genere los resultados usando Msgbox. (1) Peso estándar = altura -110; (2) 5 kg por encima del peso estándar es sobrepeso (3) 5 kg por debajo del peso estándar es demasiado delgado;
Solución: El código es
Private Sub Command1_Click()
Atenuar a, b, c como único
a = Val( Texto1 .Texto)
b = Val(Texto2.Texto)
c = a - 110
Si b - c > 5 Entonces
MsgBox "Sobrepeso"
ElseIf c - b > 5 Entonces
MsgBox "Sobrepeso"
ElseIf c - b <> 5 O c - b = 5 Entonces
MsgBox "Peso estándar"
Finalizar si
End Sub
Subcomando privado2_Click()
End
End Sub
8. Ingrese un número entero positivo n en el cuadro de texto, calcule el valor y envíe el resultado en el formulario.
Solución: El código es
Private Sub Command1_Click()
Dim n, f, s, i As Integer
n = Val (Texto1.Texto)
f = 1
s = 0
Para i = 1 To n
f = f * i
s = s + f / (i + 2)
Siguiente i
Label2.Caption = "S=" & s
Fin Sub
Sub privado Command2_Click()
Fin
Fin Sub
Sub privado Form_Load()
End Sub
9. Se sabe que abcd+dcba=3456, donde a, b, cyd son todos números enteros positivos. Programa para encontrar todas las combinaciones de a, b, cy. d que cumplen las condiciones, genera la respuesta en la etiqueta.
Solución: El código es
Private Sub Command1_Click()
Atenuar a, b, c, d, i como entero
i = 0
Para a = 0 a 9
Para b = 0 a 9
Para c = 0 a 9
Para d = 0 A 9
Si (a * 1000 + b * 100 + c * 10 + d + d * 1000 + c * 100 + b * 10 + a = 3456) Entonces
Label1.Caption = "a=" & a & "," & "b=" & b & "," & "c=" & c & "," & "d=" & d
i = i + 1
Else
Label1.Caption = "No existe tal número"
Fin si
Siguiente p>
Siguiente
Siguiente
Siguiente
End Sub
10. números que cumplen las siguientes condiciones Entero: Es el cuadrado de un número entero. Dos de sus tres dígitos son iguales. Se genera en forma de 5 dígitos por línea. (Por ejemplo, 100 es 10 al cuadrado, que tiene dos 0, y 225 es 15 al cuadrado, que tiene dos 2).
Solución: El código es
Private Sub Form_Load()
Mostrar
Dim x, a, b, c, m As Entero
Imprimir Tab(10); "Los tres dígitos:"
Imprimir
i = 0
Para x = 100 A 999
Para m = 10 A 32
a = x \ 100
b = (x - (a * 100)) \ 10
c = x - (a * 100) - (b * 10)
Si a = b O b = c O c = a Entonces
Si x = m * m Entonces
Imprimir Spc(5); x;
i = i + 1
Si i Mod 5 = 0 Entonces
Imprimir
Finalizar si
Finalizar si
Finalizar si
Siguiente m
Siguiente x
End Sub
11. Encuentre un número de cuatro dígitos que sea igual a la suma de los factoriales de cada dígito y genere el número. Es decir:
abcd = a! + b! + c! + d!, y genera el resultado usando la función Msgbox.
Solución: El código es
Private Sub Command1_Click()
Atenuar i como entero, a(1 a 4) como entero, j como entero p >
j = 0
Para i = 1000 a 9999
a(1) = i Mod 10
a(2) = (( i - a(1)) / 10) Mod 10
a(3) = ((i - i Mod 100) / 100) Mod 10
a(4) = ( ( i - i Mod 1000) / 1000) Mod 10
Si (i = hecho(a(1)) + hecho(a(2)) + hecho(a(3)) + hecho(a ( 4))) Then
MsgBox ("Uno de los números de cuatro dígitos es: " & i)
j = j + 1
End If
Siguiente
Si j = 0 Entonces MsgBox ("Sin resultado")
End Sub
Función privada fact(n como entero ) Siempre que
Atenúe i como un número entero
f = 1
Para i = 1 To n
f = f * i
Siguiente
fact = f
Función final
12. Genera todos los números pares de 4 dígitos mayores que 1010 y cada dígito de este tipo de número par debe estar en pares. No es lo mismo, el resultado tiene el formato de 5 por línea en el formulario.
Solución: El código es
Private Sub form_load()
Mostrar
Dim a, b, c, d As Integer
p>Imprimir Tab(20); "Los cuatro dígitos:"
i = 0
Para x = 1010 a 9999 Paso 2
a = x \ 1000
b = (x - (a * 1000)) \ 100
c = (x - (a * 1000) - (b * 100) ) \ 10
d = x - (a * 1000) - (b * 100) - (c * 10)
Si a <> b y b <> c y c < > a Y a <> d Y b <> d Y c <> d Entonces
Imprimir Spc(5;
i = i + 1
;Si i Mod 5 = 0 Entonces
Imprimir
Finalizar si
Finalizar si
Siguiente
End Sub
13. Encuentre la secuencia 1-2!+3!-4!... y detenga el cálculo cuando el resultado final supere 2000000. Utilice la función Msgbox para generar el resultado final del secuencia.
Solución: El código es
Función privada m(n como doble) como doble
Dim i como doble
f = 1
Para i = 1 A n
f = f * i
Siguiente
m = f
Función final
Subcomando privado1_Click()
Atenuar i como entero, b como doble, j como doble
b = 0
i = 1
j = 1
Hacer mientras (b < 2000000)
b = b + i * m(j)
j = j + 1
i = i * (-1)
Loop
MsgBox ("El resultado es: " & b)
End Sub
14. Un conductor ebrio atropelló a alguien y se dio a la fuga. Tres personas en el lugar presenciaron el incidente, pero ninguna recordaba el número del auto, solo algunas características del número del auto. A dijo: los dos primeros dígitos de la matrícula son iguales; B dijo: los dos últimos dígitos de la matrícula son iguales; C es matemático, dijo: el número de coche de cuatro dígitos es exactamente el cuadrado de un entero. Utilice las pistas anteriores para averiguar el número del vehículo.
(El número del vehículo es un entero positivo de 4 dígitos y el resultado se muestra en TextBox)
Solución: el código es
Private Sub Form_Load()
Atenuar i como entero, j como entero, a(1 a 4) como entero
j = 0
Mostrar
Para i = 1000 a 9999
a(1) = i Mod 10
a(2) = ((i - a(1)) / 10) Mod 10
a(3 ) = ((i - i Mod 100) / 100) Mod 10
a(4) = ((i - i Mod 1000) / 1000) Mod 10
Si (Sqr (i) - Fijar( Sqr(i)) = 0) Entonces
Si (a(1) = a(2) y a(3) = a(4)) Entonces
Texto1.Text = i
Finalizar si
Finalizar si
Siguiente
Fin Sub
15 El usuario utiliza la función InputBox para ingresar aleatoriamente 12 números enteros entre 0 y 100. Cuente cuántos números enteros son menores de 60, 60 a 70, 70 a 80, 80 a 90 y 90 a 100. Utilice la función Msgbox para mostrar los resultados de salida.
Solución: El código es
Private Sub Command1_Click()
Atenuar a(1 a 12) como entero, b(1 a 5) como entero, i como entero
Para i = 1 a 12
a(i) = Val(InputBox("Ingrese el número "& i & ""))
Siguiente
Para i = 1 a 12
Seleccione el caso a(i)
Caso 0 a 59
b(1 ) = b(1) + 1
Caso 60 A 69
b(2) = b(2) + 1
Caso 70 A 79 p>
b(3) = b(3) + 1
Caso 80 A 90
b(4) = b(4) + 1
Caso 90 a 100
b(5) = b(5) + 1
Caso más
Finalizar selección
Siguiente
MsgBox ("Menos de 60: " & b(1) & ", 60 a 70: " & b(2) & ", 70 a 80: " & b(3) & ", 80 a 90: " & b(4) & ", 90 a 100: " & b(5))
End Sub
16. Ingrese un entero positivo n en el cuadro de texto. Cuando Cuando el valor de n es un número par, encuentre la suma de la secuencia 1-1/2-1/4-...-1/n Cuando n es un número impar, encuentre la suma de la secuencia 1-. 1/3-1/5...-1 /nSuma de secuencia, genera el resultado usando la función Msgbox.
Solución: El código es
Private Sub Command1_Click()
Atenuar a como entero, b como doble, x como doble
a = Val(Text1.Text)
x = 1
Seleccione Caso a Mod 2
Caso 0
Para b = 2 A un Paso 2
x = x - 1 / b
Siguiente
Caso 1
Para b = 3 A un Paso 2
x = x - 1 / b
Siguiente
Caso más
Fin Seleccionar
MsgBox (" El resultado es: " & Format(x, "0.#####"))
End Sub
17. El programa requiere la entrada de números enteros a y b, si a2 +b2 Si es mayor que 100, genera a2+b2 con cien o más dígitos; de lo contrario, genera la suma de los dos números. El resultado se genera utilizando la función Msgbox.
Solución: El código es
Private Sub Command1_Click()
Atenuar a Mientras, b Mientras, s Mientras, n Mientras
a = Val(Texto1.Texto)
b = Val(Texto2.Texto)
s = a ^ 2 + b ^ 2
n = a + b
Si s > 100 Entonces
i = MsgBox("El resultado es: " & Int(s / 100))
De lo contrario : i = MsgBox("El resultado es: " & n)
Finalizar si
End Sub
Subcomando privado2_Click()
Fin
End Sub
18. Juego de adivinanzas de números: la computadora genera aleatoriamente un número entero positivo de 2 dígitos para que las personas adivinen. Solo pueden adivinar 8 veces. correctamente, use Msgbox La función muestra el número entero positivo de 2 dígitos generado aleatoriamente por la computadora y muestra "Eres tan inteligente. De lo contrario, la función Msgbox se usa para dar una pista y decirle a la persona si el número adivinado es demasiado grande o". demasiado pequeño hasta que la persona adivine correctamente, u 8 veces si nadie adivina correctamente, se le indicará "Juego terminado".
Solución: El código es
Private Sub Command1_Click()
Atenuar a como entero, b como entero, i como entero
Aleatorizar
a = Fix(Rnd(Time) * 90) + 10
For i = 1 To 8
b = Val(InputBox("Por favor, introduzca a Número"))
Seleccione Caso b
Caso 0 a - 1
MsgBox ("¡Demasiado pequeño!")
Caso a + 1 a 100
MsgBox ("¡Demasiado grande!")
Caso a
MsgBox ("¡Eres tan inteligente!") p >
Salir para
Caso más
MsgBox ("¡Error de entrada!")
Finalizar selección
Si (i = 8) Luego MsgBox ("¡JUEGO TERMINADO!")
Siguiente
End Sub
19. Las condiciones para el reclutamiento son: masculino (sexo) edad (edad). ) tiene entre 18 y 20 años, y la altura (talla) es superior a 1,65 metros o la edad (edad) femenina (sexo) tiene entre 16 y 18 años, y la altura (talla) es superior a 1,60 metros;
Utilice tres controles de cuadro de texto para ingresar información de género, edad y altura respectivamente, use esta información para determinar si cumple con las condiciones para el reclutamiento militar y use la función Msgbox para generar los resultados.
Solución: El código es
Private Sub Command1_Click()
Dim i como cadena, j como simple, k como entero
i = Texto1.Texto
j = Val(Texto2.Texto)
k = Val(Texto3.Texto)
Mostrar
Imprimir i
Seleccione Caso i
Caso "masculino"
Si (k >= 18 y k <= 20) Entonces
If (j > 165) Then
MsgBox ("Calificado, cumple con las condiciones para el reclutamiento militar")
Else
MsgBox ("No calificado, no cumple las condiciones para el reclutamiento militar")
End If
Else
MsgBox ("No calificado, no elegible para el servicio militar obligatorio")
End Si
Caso "Mujer"
Si (k >= 16 y k <= 18) Entonces
Si (j > 160) Entonces
MsgBox ("Calificado, cumple con las condiciones para el servicio militar obligatorio")
Else
MsgBox ("No calificado, no cumple con las condiciones para el servicio militar obligatorio")
Terminar si
Else
MsgBox ("No calificado, no elegible para borrador")
Terminar si
Caso Else
MsgBox ("¡Error de entrada! ")
Fin Seleccionar
Fin Sub
Subcomando privado2_Click()
Fin
End Sub
20. Encuentra todos los números enteros entre 1 y 1000 que pueden ser divisibles por 5 o 13, pero que no pueden ser divisibles por 5 y 13 al mismo tiempo, y genera. colóquelos en el formulario en formato de 5 seguidos.
Solución: El código es
Private Sub Form_Load()
Mostrar
Dim n As Integer
Print Spc(10); "Todos los números enteros entre 1 y 1000 que son divisibles por 5 o 13, pero no por 5 y 13:"
i = 0
Para n = 1 Hasta 1000
Si n Mod 5 = 0 O n Mod 13 = 0 Entonces
Si n Mod 65 <> 0 Entonces
i = i + 1
Imprimir Spc(6); Format(n, "!@@@@");
Si Mod 5 = 0 Entonces
Imprimir p >
Finalizar si
Finalizar si
Finalizar si
Siguiente
Fin Sub