VB escribe problemas aleatorios de cuatro operaciones aritméticas. Haga clic en la etiqueta de la izquierda para mostrar las preguntas y las marcas de verificación o cruces para determinar si son correctas o incorrectas. El bloque de resultados de la derecha puede mostrar la cantidad de preguntas.
Funcionamiento del programa: Haga clic en "Pregunta" y se mostrará la pregunta.
Haga clic en "Finalizar" para guardar las preguntas y respuestas actuales.
Haga clic en el control de etiqueta a la izquierda para mostrar todas las preguntas que ha realizado. Haga clic en el control de etiqueta a la derecha para mostrar datos relevantes.
Después de cada finalización, se borrará el control de etiqueta que muestra la pregunta.
Si quieres volver a intentar la pregunta, haz clic en "Reproducir".
Si hace clic en "Finalizar" pero no completa ninguna respuesta ni hace ninguna pregunta, el programa no hará nada y no le dará ninguna indicación.
Se puede hacer clic varias veces en el control de etiqueta de la izquierda.
¿Opción?Explicit?'Las variables deben definirse antes de poder usarse
Dim?QuestionCount?As?Integer?'El número de preguntas completadas
Dim ?Correcto? Como?Entero?'Número de preguntas respondidas correctamente
Dim?strQuestions(19)?As?String?'Guardar 20 preguntas
Dim?strOpr?As?String? 'Guardar Operador
Dim?X,?Y?As?Integer?'Guardar los 2 números a calcular
Dim?bHecho?As?Boolean?'Si hacer una pregunta
¿Privado?Sub?CmdEnd_Click() If?QuestionCount?20?Then?'Máximo de 20 preguntas
If?TxtAnswer.Text?And?bHecho?Then?'Fill en la respuesta y fuera de la pregunta antes de enviar la respuesta Dim?result?As?Integer Select?Case?strOpr
Case?"+"
Result=?X?+?Y
Caso?"-"
Resultado=?X?"+?"
Resultado?=?X?-?Y
Caso? ChrW(215)
Resultado?=?X?*?Y
Caso?ChrW(247)
Resultado?=?X?/ ?Y Fin ??"TxtAnswer.Text Si Val(TxtAnswer.Text) = resultado Entonces
strQuestions(QuestionCount) = strQuestions(QuestionCount)??√"
¿Correcto?=? ¿Correcto?+ ?1
bAnswer(QuestionCount)? =?Verdadero
strQuestions(QuestionCount)? =?strQuestions(QuestionCount)? =?strQuestions(QuestionCount)?? p>
BAnswer(QuestionCount)? =?False End?If QuestionCount?=?QuestionCount?+?1 LabShowQuestion.Caption?=?"" TxtAnswer.Text?=?"" TxtAnswer.Left?=?LabShowQuestion.Left ?+? LabShowQuestion.Width?+?100 bMade?=?False
End?If Else
MsgBox?"Máximo 20 preguntas".
,?vbOKOnly,?" Preguntar" ¿Fin?Si
Fin?Sub
Privado?Sub?CmdShowQuestion_Click() LabShowQuestion.Caption?=?MakeQuestion TxtAnswer.=?LabShowQuestion.Left? +?LabShowQuestion.Width?+?100 TxtAnswer.SetFocus
End?Sub
¿Privado?Función?MakeQuestion()?As?Dim?opr?As?Integer '¿Rango de valores? Del 0 al 3, representan suma, resta, multiplicación y división respectivamente. bMade?=?True ?100?'Rnd()?*?1000 genera un número aleatorio opr?=?Rnd()?*?1000?Mod?4?' genera un operador aleatorio If?opr?=?3?Then
Y?=?IIf(Y?=?0,?1,?Y)?Evitar que el divisor sea 0 End?+"
Caso?1
strOpr?=? "-"
Caso?2
strOpr?=?ChrW(215)
Caso?3
strOpr?=?ChrW (247) ¿Fin?Seleccione MakeQuestion?=?X??"?&?strOpr?&?"