¡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
i = i 1
Imprimir Spc(6); n;
Si i Mod 5 = 0 Entonces
Imprimir
Fin si
Fin si
Siguiente n
Imprimir Spc(7);
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 los resultados.
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 lt;gt; b Y b lt;gt; c Y c lt;gt; d Y a lt;gt; c Y a lt;gt; ; d Entonces
Si a lt; b Entonces
t = a: a = b: b = t
Fin
Si a lt; c Entonces
t = a: a = c: c = t
Fin Si
Si b lt;
t = b: b = c: c = t
Fin si
Si d gt a Entonces
t = d: d = a; : a = t
Fin si
Si d gt; Entonces
t = d: d = b: b = t
Finalizar si
Si d gt; c Entonces
t = d: d = c: c = t
Finalizar si
MsgBox "Ordenar de grande a pequeño: " a ", " b ", " c ", " d
Else
MsgBox "Tiene el mismo número"
Finalizar si
Fin Sub
Sub comando privado2_Click()
Fin
Fin Sub
3. Ingrese cualquier valor de x en TextBox y use la función Msgbox para generar el resultado de f(x).
Solución: El código es
Private Sub Command1_Click()
Dim x As Double
x = Val(Text1.Text)
Si x lt; 0 Entonces
Si x = -3 Entonces
MsgBox "f(x)=" amp;
De lo contrario: MsgBox "f(x)=" amp; x ^ 2 x - 6
Finalizar si
Finalizar si
Si x gt;= 0 Entonces
Si x lt; ; x ^ 2 - 5 * x 6
De lo contrario: MsgBox "f(x)=" amp x ^ 2 - x - 1
Fin si
Finalizar si
Fin Sub
Sub Comando privado2_Click()
Fin
Fin Sub
4. Encontrado Todos los números palíndromos del 10000 al 99999 se muestran en el formulario en un formato de 10 seguidos. Por ejemplo, 12321 es un número palíndromo. El dígito de las unidades es el mismo que el dígito de las decenas de miles. igual que el dígito de los miles.
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 lt;gt ; a Y c gt; b Y a lt; b Entonces
Imprimir Spc(5); i Mod 10 = 0 Entonces
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 espacio (2); = 0 Luego Imprimir Fin Si Fin Si Siguiente i Fin Sub
6. Programa para encontrar los cuatro dígitos que cumplan las siguientes condiciones y generarlos en el formulario en forma de 10 seguidos: el primero, La suma de los tres dígitos es 10 y el producto del segundo dígito por los cuatro 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 ) Luego
Imprimir Tab((j Mod 10 1) * 7);
Imprimir i;
j = j 1
Si (j Mod 10 = 0) Entonces Imprimir
Finalizar si
Siguiente
Fin Sub
Escribir un programa en 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 gt 5 Entonces
MsgBox "Sobrepeso"
ElseIf c - b gt 5 Entonces
MsgBox "Sobrepeso"
ElseIf c - b gt 5 O; c - b = 5 Entonces
MsgBox "Peso estándar"
Fin si
Fin Sub
Subcomando privado2_Click( ) p>
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=" amp; Fin Sub
Sub Comando Privado2_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, cyd que cumplen. las condiciones. En Label Output la respuesta anterior.
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 = " amp; a amp; "," amp; "b=" amp; b amp; "," amp; "c=" amp; c amp; "," amp; "d=" amp; d
i = i 1
Else
Label1.Caption = "No existe tal número"
Fin si
Siguiente
Siguiente
Siguiente
Siguiente
End Sub
10. Programa para generar los tres dígitos que cumplen con el siguientes condiciones Entero positivo: es el cuadrado de un número entero, dos de sus tres dígitos son iguales y se genera en el formulario en el formato de 5 seguidos. (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) ) ) Entonces
MsgBox ("Uno de los números de cuatro dígitos es: " amp; i)
j = j 1
End If
Siguiente
Si j = 0 Entonces MsgBox ("Sin resultado")
Fin Sub
Función privada fact(n como entero) Siempre
Atenuar i como entero
f = 1
Para i = 1 To n
f = f * i
Siguiente
fact = f
Fin de función
12. Genera todos los números pares de 4 dígitos mayores que 1010 y los dígitos de este tipo de Los números pares son diferentes. Salida en el formulario en un formato de 5 por línea.
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 lt;gt; b y b lt;gt ; c y c lt;gt; a y a lt;gt; d y b lt;gt; d y c lt;gt; d entonces
Imprimir Spc(5);
i = i 1
Si i Mod 5 = 0 Entonces
Imprimir
Finalizar si
Finalizar si
Siguiente
End Sub
13. ¡Encuentra la secuencia 1-2! -4!... cuando el resultado final supere 2000000, detén el cálculo y suma. la secuencia El resultado final se genera utilizando la función Msgbox.
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 lt; 2000000)
b = b i * m(j)
j = j 1
i = i * (-1)
Loop
MsgBox ("El resultado es: " amp; 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" amp; i amp; "número")) p >
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 p >
MsgBox ("Menos de 60: " & b(1) & ", 60 a 70: " & b(2) & ", 70 a 80: " & b(3) & ", 80 a 90 : " amp; b(4) amp; ", 90 a 100: " amp; b(5))
End Sub
16. Ingrese en el cuadro de texto un número entero positivo n , cuando el valor de n es un número par, encuentra la suma de la secuencia 1-1/2-1/4-...-1/n, cuando n es un número impar, encuentra la suma de 1-1/ 3-1/ 5...-La suma de la secuencia 1/n y 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: " amp; 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, genere a2 y b2 como números superiores a las centenas; de lo contrario, genere 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 gt; 100 Entonces
i = MsgBox("El resultado es: " amp; Int(s / 100))
Si no: i = MsgBox("El resultado es: " amp; n)
End If
End Sub
Private Sub Command2_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("Ingrese un 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!")
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) Entre 18 y 20 años, la altura (talla) es superior a 1,65 metros o la edad (edad) femenina (sexo) está 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 gt; = 18 Y k lt; = 20) Entonces
If (j gt; 165) Then
MsgBox ("Calificado, elegible para el reclutamiento militar")
Else
MsgBox ("No calificado, no elegible para el reclutamiento militar") Condiciones")
End If
Else
MsgBox ("No calificado, no elegible para el servicio militar obligatorio")
Fin Si p>
Caso "femenino"
Si (k gt; = 16 Y k lt; = 18) Entonces
Si (j gt; 160) Then
MsgBox ("Calificado, cumple con los requisitos para el servicio militar obligatorio")
Else
MsgBox ("No calificado, no cumple con los requisitos para el servicio militar obligatorio")
Finalizar si
Else
MsgBox ("No calificado, no apto para borrador")
Finalizar si
Caso más
MsgBox ("¡Entrada incorrecta!")
Fin de selección
Fin Sub
Subcomando privado2_Click() p>
End
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 en al mismo tiempo. En el formulario, siga el patrón de salida de formato 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 lt;gt 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