viernes, 26 de julio de 2019

Evaluación tipo Pruebas ICFES

En el siguiente formulario se explica como programar una evaluación tipo ICFES, accesando los datos de la hoja de calculo, 


NRO
ASIGNATURA
GRADO
PREGUNTAS
RESPUESTA1
RESPUESTA2
RESPUESTA3
RESPUESTA4
ESTADO
RESPUESTA
IMAGEN
1
Informatica
11
PREGUNA 1 DE INFORMATICA
RESPUESTA A, PREGUNTA 1
RESPUESTA B, PREGUNTA 1
RESPUESTA C, PREGUNTA 1
RESPUESTA D, PREGUNTA 1
OK
1
NO
2
Informatica
11
PREGUNA 2 DE INFORMATICA
RESPUESTA A, PREGUNTA 2
RESPUESTA B, PREGUNTA 2
RESPUESTA C, PREGUNTA 2
RESPUESTA D, PREGUNTA 2
FALSO
2
3.JPG

Copie el siguiente código:
  

Private Sub CommandButton1_Click()
  'BOTÓN BUSCAR
  Dim R As String, F As Integer
  
  F = 2
  R = "S"
  
  Do While R = "S"
    If ComboBox1.Text = Hoja1.Cells(F, 2) And Val(ComboBox2.Text) = Hoja1.Cells(F, 3) Then
      If Hoja1.Cells(F, 9) = "FALSO" Then
        Label1 = Hoja1.Cells(F, 4)
        NROP = Hoja1.Cells(F, 1)
        OptionButton1.Caption = Hoja1.Cells(F, 5)
        OptionButton2.Caption = Hoja1.Cells(F, 6)
        OptionButton3.Caption = Hoja1.Cells(F, 7)
        OptionButton4.Caption = Hoja1.Cells(F, 8)
        
        If Not Hoja1.Cells(F, 11) = "NO" Then
            With ActiveWorkbook
              Image1.Picture = LoadPicture(.Path + "\" + Hoja1.Cells(F, 11))
            End With
        End If
        Exit Sub
      End If
      
      
    End If
    F = F + 1
    If Hoja1.Cells(F, 1) = "" Then
      MsgBox "ESTE GRADO NO POSEE PREGUNTAS"
      R = "N"
    End If
  Loop
End Sub

Private Sub CommandButton2_Click()
   'BOTÓN RESPUESTA
  Dim R As String, F As Integer
  
  F = 2
  R = "S"
  
  Do While R = "S"
    If NROP = Hoja1.Cells(F, 1) Then
      If Hoja1.Cells(F, 9) = "FALSO" Then
        Select Case Hoja1.Cells(F, 10)
          Case 1 'A
            If OptionButton1.Value = True Then
              MsgBox "LA RESPUESTA ES CORRECTA", vbExclamation, "FELICITACIONES"
            Else
              MsgBox "ERROR", vbExclamation, "ERROR"
            End If
          Case 2 'B
            If OptionButton2.Value = True Then
              MsgBox "LA RESPUESTA ES CORRECTA", vbExclamation, "FELICITACIONES"
            Else
              MsgBox "ERROR", vbCritical, "ERROR"
            End If
          Case 3 'C
            If OptionButton3.Value = True Then
              MsgBox "LA RESPUESTA ES CORRECTA", vbExclamation, "FELICITACIONES"
            Else
              MsgBox "ERROR", vbExclamation, "ERROR"
            End If
          Case 4 'D
            If OptionButton4.Value = True Then
              MsgBox "LA RESPUESTA ES CORRECTA", vbExclamation, "FELICITACIONES"
            Else
              MsgBox "ERROR", vbExclamation, "ERROR"
            End If
        End Select
        Hoja1.Cells(F, 9) = "OK"
      End If
      Exit Sub
      End If
      
      
    
    F = F + 1
    If Hoja1.Cells(F, 1) = "" Then
      MsgBox "ESTE GRADO NO POSEE PREGUNTAS"
      R = "N"
    End If
  Loop
End Sub

Private Sub UserForm_Initialize()
  ComboBox1.AddItem "Informatica"
  ComboBox1.AddItem "matematicas"
  ComboBox1.AddItem "Sociales"
  ComboBox2.AddItem "9"
  ComboBox2.AddItem "10"
  ComboBox2.AddItem "11"
End Sub


martes, 28 de mayo de 2019

Registrar Preguntas

Fecha: Mayo 27 de 2019
Asignatura: Tecnología e Informática
Formación en Valor: Honestidad.
Núcleo Integrador: Desarrollo de software didáctico.
Desempeño esperado: Crea software didáctico utilizando Visual Basic.
Exploración Cognitiva
¿Sabes que es un software didáctico ?


El siguiente formulario le permite registrar las preguntas y posibles respuestas en la hoja de calculo, para crear una base de datos de preguntas y respuestas al momento de realizar la evaluación que desee el usuario.


El siguiente código se utiliza en el botón Guardar (CommandButton1_Click()), para reguistar los datos en la hoja de calculo y llenar los datos del formulario antes de ser mostrado (UserForm_Initialize())



Private Sub CommandButton1_Click()
  'BOTÓN GUARDAR
  Dim R As String, F As Integer, _
      Cedula As String, Nombre As String, _
      Direccion As String, Salario As Currency
  
  F = 2
  R = "S"
  Cedula = TextBox1
  Do While R = "S"
    
    If Hoja1.Cells(F, 1) = "" Then
      Hoja1.Cells(F, 1) = F - 1
      Hoja1.Cells(F, 2) = ComboBox2.Text
      Hoja1.Cells(F, 3) = ComboBox1.ListIndex
      Hoja1.Cells(F, 4) = TextBox6
      Hoja1.Cells(F, 5) = TextBox1
      Hoja1.Cells(F, 6) = TextBox2
      Hoja1.Cells(F, 7) = TextBox3
      Hoja1.Cells(F, 8) = TextBox4
      Hoja1.Cells(F, 9) = "FALSO"
      Hoja1.Cells(F, 10) = ComboBox3.ListIndex + 1
      Hoja1.Cells(F, 11) = UCase(TextBox5)
      MsgBox "SE REGISTRARON LOS DATOS"
      Exit Sub
      
    End If
    F = F + 1
  Loop
End Sub

Private Sub UserForm_Initialize()
   'ESTE EVENTO OCURRE CUANDO SE INICIA EL FORMULARIO
  ComboBox1.AddItem "Preescolar"
  ComboBox1.AddItem "Primero"
  ComboBox1.AddItem "Segundo"
  ComboBox1.AddItem "Tercero"
  ComboBox1.AddItem "Cuarto"
  ComboBox1.AddItem "Quinto"
  ComboBox1.AddItem "Sexto"
  ComboBox1.AddItem "Septimo"
  ComboBox1.AddItem "Octavo"
  ComboBox1.AddItem "Noveno"
  ComboBox1.AddItem "Decimo"
  ComboBox1.AddItem "Undecimo"
  
  ComboBox2.AddItem "Informatica"
  ComboBox2.AddItem "Matematicas"
  ComboBox2.AddItem "Lenguaje"
  ComboBox2.AddItem "Quimica"
  
  ComboBox3.AddItem "Pregunta 1"
  ComboBox3.AddItem "Pregunta 2"
  ComboBox3.AddItem "Pregunta 3"
  ComboBox3.AddItem "Pregunta 4"
  
End Sub




lunes, 20 de mayo de 2019

Desarrollo de software didáctico.


Fecha: Mayo 20 de 2019
Asignatura: Tecnología e Informática
Formación en Valor: Honestidad.
Núcleo Integrador: Desarrollo de software didáctico.
Desempeño esperado: Crea software didáctico utilizando Visual Basic.
Exploración Cognitiva
¿Sabes que es un software didáctico ?


NRO
ASIGNATURA
GRADO
PREGUNTAS
RESPUESTA1
RESPUESTA2
RESPUESTA3
RESPUESTA4
ESTADO
RESPUESTA
IMAGEN
1
MATEMATICAS
7





VERDADERO
4
NO
2
LENGUAJE
8





FALSO
2
IMAGEN2.JPG
Desarrolle un software didáctico que permita realizar evaluaciones Saber 11, tipo ICFES.
Realice el ejercicio con dos cursos y dos asignaturas.

El programa debe preguntar el grado, mostrar las asignaturas a evaluar de ese grado y con esa información, mostrar las preguntas del grado en esa asignatura.

TENGA EN CUENTA:
 * Cada pregunta debe tener 4 posibles respuestas (PREGUNTA1, PREGUNTA2, ...). 
 * En la hoja se controla cual es la respuesta correcta (columna RESPUESTA).
 * ESTADO: muestra VERDADERO si la pregunta no se ha realizado, FALSO cuando ya se realizo la pregunta.
 * IMAGEN: Si en la columna aparece NO, es porque no tiene imagen esa pregunta, si aparece un nombre se debe buscar ese nombre en la carpeta donde esta el programa y mostrarlo.

lunes, 29 de abril de 2019

Funciones de Visual Basic Excel.

Realice el siguiente diseño y escriba los datos que aparecen en la hoja de calculo:

Copie el siguiente código:
Private Sub ComboBox1_Click()
  Dim myRange As Range

  If Trim(TextBox1) = "" Or Trim(TextBox2) = "" Then
    MsgBox "Debe escribir una celda", vbExclamation, "Error"
    Exit Sub
  End If
  With Hoja1
  Set myRange = .Range((TextBox1 + ":" + TextBox2))

  Select Case ComboBox1.ListIndex
    Case 0
      TextBox3 = Application.WorksheetFunction.Sum(myRange)
      .Cells(6, 2) = "Suma"
    Case 1
      TextBox3 = Application.WorksheetFunction.Min(myRange)
      .Cells(6, 2) = "Minimo"
    Case 2
      TextBox3 = Application.WorksheetFunction.Max(myRange)
      .Cells(6, 2) = "Maximo"
  End Select

  .Cells(6, 1) = Val(TextBox3)

  End With
End Sub

Private Sub UserForm_Initialize()
  ComboBox1.AddItem "Suma"
  ComboBox1.AddItem "Minimo"
  ComboBox1.AddItem "Maximo"

End Sub

Ejecute el programa, visualice los cambios en la hoja de calculo Hoja1 y en el formulario.

Tenga en cuenta:
La función TRIM, es propia de Visual Basic, lo que hace es eliminar los espacios a la izquierda y derecha de un texto, o de un cuadro de texto.
Esta instrucción:
Trim(TextBox1) = ""
Lo que hace es preguntar si el cuadro de texto está vacío.



martes, 12 de febrero de 2019

Ciclos o bucles.

-1 Actitud de escucha, -1 Orden, -1 Aseo
Asignatura: Tecnología e Informática
Formación en Valor: Gratitud.
Núcleo Integrador: Ciclos o bucles.
Indicador de desempeño: Conoce y aplica los ciclos en Visual Basic.
Exploración Cognitiva
¿Conoces cómo funciona un ciclo?


Ciclos o bucles
Un bucle o ciclo, en programación, es una secuencia que ejecuta repetidas veces un trozo de código, hasta que la condición asignada a dicho bucle deja de cumplirse. Los tres bucles más utilizados en programación el bucle for y el bucle do-while.

Taller:
Desarrollar un formulario que permita:
1. Buscar información en la hoja de calculo, se busca la cédula escrita en el primer cuadro de texto, si existe mostrar la información.

2. Registrar o introducir información en la hoja de calculo. Se busca la cédula si existe no se puede introducir la información en la hoja de calculo.

3. Actualizar la información en la hoja de calculo, buscando por cédula. Solo si existe y el usuario desea es que se actualiza la información.

4. Al dar clic en el botón siguiente, borrar los datos de los cuadros de texto y pasar el cursor al cuadro de texto cédula.

Tenga en cuanta el siguiente diseño de formulario:

Para lo anterior se utiliza el siguiente código. Analice el funcionamiento.

Private Sub CommandButton1_Click()
  'BOTÓN BUSCAR
  Dim R As String, F As Integer, _
      Cedula As String, Nombre As String, _
      Direccion As String, Salario As Currency
  TextBox2 = ""
  TextBox3 = ""
  TextBox4 = ""
  F = 2
  R = "S"
  Cedula = TextBox1
  Do While R = "S"
    If Cedula = Hoja1.Cells(F, 1) Then
      Nombre = Hoja1.Cells(F, 2)
      Direccion = Hoja1.Cells(F, 3)
      Salario = Hoja1.Cells(F, 4)
      
      TextBox2 = Nombre
      TextBox3 = Direccion
      TextBox4 = Salario
      MsgBox "SE ENCONTRO LA CEDULA"
      Exit Sub
      
    End If
    F = F + 1
    If Hoja1.Cells(F, 1) = "" Then
      MsgBox "NO SE ENCONTRO LA CEDULA"
      R = "N"
    End If
  Loop
End Sub


Private Sub CommandButton2_Click()
  'BOTÓN REGISTRAR
  Dim R As String, F As Integer, _
      Cedula As String, Nombre As String, _
      Direccion As String, Salario As Currency
  
  F = 2
  R = "S"
  Cedula = TextBox1
  Do While R = "S"
    
    If Hoja1.Cells(F, 1) = Cedula Then
      MsgBox "La cedula existe, no se puede duplicar los datos!!"
      Exit Sub
    End If
    
    If Hoja1.Cells(F, 1) = "" Then
      Hoja1.Cells(F, 1) = TextBox1
      Hoja1.Cells(F, 2) = TextBox2
      Hoja1.Cells(F, 3) = TextBox3
      Hoja1.Cells(F, 4) = Val(TextBox4)
      MsgBox "SE REGISTRARON LOS DATOS"
      Exit Sub
      
    End If
    F = F + 1
  Loop
End Sub

Private Sub CommandButton3_Click()
  'BOTÓN ACTUALIZAR
  Dim R As String, F As Integer, _
      Cedula As String, Nombre As String, _
      Direccion As String, Salario As Currency
  
  F = 2
  R = "S"
  Cedula = TextBox1
  Do While R = "S"
    
    If Hoja1.Cells(F, 1) = Cedula Then
      If MsgBox("La cedula existe, Desea actualizar sus datos!!", vbYesNo, "PREGUNTA") = vbYes Then
        Hoja1.Cells(F, 1) = TextBox1
        Hoja1.Cells(F, 2) = TextBox2
        Hoja1.Cells(F, 3) = TextBox3
        Hoja1.Cells(F, 4) = Val(TextBox4)
        MsgBox "SE ACTUALIZARON LOS DATOS"
        R = "N"
        Exit Sub
      End If
    End If
    
    If Hoja1.Cells(F, 1) = "" Then
      R = "N"
      Exit Sub
    End If
    F = F + 1
  Loop
End Sub

Private Sub CommandButton4_Click()
    'BOTÓN SIGUIENTE
    TextBox1 = ""
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
    TextBox1.SetFocus
End Sub


Tenga en cuenta:

Do While: Es un tipo de ciclo que se ejecuta siempre y cuando la condición sea verdadera, al ser falsa la condición el ciclo se interrumpe.

Loop: hace parte del ciclo Do While, al encontrar la instrucción Loop el ciclo evalúa si la condición del Do While es verdadera, en caso afirmativo el ciclo continua, en caso falso el ciclo termina.

Exit Sub: Esta instrucción termina la ejecución del código.

MsgBox: Esta instrucción permite mostrar un mensaje en una caja.

Hoja1.Cells(F, 1)
Esta línea de código  hace referencia a la Hoja1 con celda ubicada en fila con valor F y columna 1.

If Hoja1.Cells(F, 1) = "" Then
Aquí se pregunta si la ubicación de la celda no contiene nada o esta vacía.

TextBox1.SetFocus
Pasa el cursor al cuadro de texto TextBox1

F = F + 1
Incrementa en 1 el valor que guarda F.

PLAN DE TRABAJO UNDECIMO - I PERIODO


-1 Actitud de escucha, -1 Orden, -1 Aseo
Asignatura: Tecnología e Informática
Formación en Valor: Gratitud.
Núcleo Integrador: Introducción y diagnóstico.
Indicador de desempeño: Conoce y aplica las normas para la clase de informática.
Exploración Cognitiva
¿Sabes que son las normas?

PLAN DE TRABAJO UNDECIMO  -  I PERIODO
DBA/MA
Comprender y desarrolla habilidades y destrezas que le permitan conocer y aplicar los ciclos y funciones del lenguaje de programación como Visual Basic.
COMPONENTE
Apropiación y uso de la Informática con Lenguajes de programación.
ESTANDAR
Comprendo y aplico las diferentes instrucciones básicas  del lenguaje programación Visual Basic.
EJE CURRICULAR
Estructurar la programación de Visual Basic.
NÚCLEOS
1
Ambientación - conducta de entrada.
2
Ciclos o bucles
3
Funciones de Visual Basic Excel.
4
Desarrollo de software didáctico.