CUESTIONARIO

PROYECTO FINAL: CUESTIONARIO EN C#
- Los alumnos:

  • Franco Valladolid Eddie Renzo
  • Olivares Gutierrez Xiomara 
presentaremos a continuación un algoritmo que trabamos en el programa Visual Studio donde podemos crear programas en el lenguaje de programación C#.

Para realizar este proyecto necesitamos de las herramientas dentro del lenguaje como son:

1. Estructuras selectivas simples:

     If-else: Sirve para escoger una de dos caminos en un programa de acuerdo al resultado de una expresion relacional.

2. Estructuras selectivas múltiples:

    Switch: Permite  escoger una de varias opciones,de acuerdo al valor de una expresion.

3. Procesos repetitivos:

While(mientras):
    Las instrucciones se ejecutan mientras la condicion sea verdadera y automaticamente se vuelve a verificar la condicion , y terminan cuando llegue a ser falsa.

Do..while(Hacer..mientras):
   En este proceso primero se realizan las instrucciones y luego se verifica la condición.                        

For(para):
   Es equivalente a un "while",pero se utiliza cuando sabemos exactamente cuantas veces queremos que se repita.

4. Funciones:

    - Permiten modularizar sus programas .
    - Sus variables declaradas son locales, es decir solo se conocen en la función que se definen.
    - Tienen una lista de parámetros que permiten comunicar información entre funciones.

5. Vectores:

    - Su declaracion es igual a como se haria con una variable,  a excepcion de que se especifica la cantidad de elementos en el arreglo encerrado entre [].

6. Cadena de Caracteres:

    - Es una arreglo unidimensional de caracteres, terminados con el caracter nulo.



7. Matrices: 

    - Son arreglos bidimensionales.
    - Es una coleccion finita,homogenea y ordenada de datos.
    - Esta compuesta por filas y columnas 
    - Utiliza el indice para referirse a cada elemento.


Ahora pasaremos a presentar el algoritmo realizado aplicando todos los conocimientos vistos en la teoría presentada:


Para comenzar con nuestro algoritmo primero declaramos las variables :
  • g, opcion y num con dato int, esto quiere decir que será un valor entero de un tamaño de 2 bytes.
  • nombre con dato string, esto quiere decir que serán caracteres.
  • preguntas con dato string[], esto quiere decir que será un vector ( una cadena de caracteres)
  • alternativas con dato string [,], esto quiere decir que será una matriz.
  • respuestas con dato int [], esto quiere decir que será un vector de dato enteros.
Luego abrimos  un bucle do - while, dentro ingresaremos el modelo de nuestro menú que tendrá los siguientes apartados:

  1. Registrar preguntas y respuestas: Donde tendremos 5 preguntas predefinidas y podremos ingresar otras 5 para completar nuestro cuestionario
  2. Realizar cuestionario: Donde de las preguntas que ingresamos se tomarán 5 al azar y el participante podrá responder a su criterio para tener un puntaje.
  3. Claves correctas del cuestionario: Donde nos mostrará las respuestas correctas de las preguntas y así el participante podrá comparar con las que respondió.
  4. Salir: Para cerrar el programa 

Luego hacemos la validación a entero de la variable opción con la herramienta "int.Parse"



A continuación ingresamos una estructura selectiva múltiple (switch) para poder ordenar los apartados y así permitir escogerlos como opciones. 

  1. Nuestra opción 1 se representa como "case 1" donde declararemos nuestra función "registrarpreguntas" cuyos parámetros son preguntas[], alternativas[,] y respuestas []
  2. Nuestra opción 2 se representa como "case 2" donde declararemos la variable "num" para poder luego ingresar el número de participantes, creamos un bucle "for" para que dependiendo de la cantidad de participantes indique cuantas veces se realice el cuestionario y dentro de eso declararemos nuestra función "realizarcuestionario" cuyos parámetros son preguntas[], alternativas[,] y respuestas [].
  3. Nuestra opción 3 se representa como "case 3" donde declararemos nuestra función "clavescorrectas" cuyos parámetros son solo preguntas[] y respuestas[].
  4. Nuestra opción 4 se representa con "case 4" donde al ingresarla nos hará salir de nuestro programa.
  5. Y en el apartado de "default" indicará que es una "opción incorrecta" si se ingresa un número que no esté dentro del rango de nuestras opciones ya declaradas 1- 4
Y luego vemos como cerramos el bucle do - while para hacer una restricción que la opcion no puede ser un valor diferente del rango entre 1 - 4 y sólo se ejecutará todo el "switch" siempre y cuando la opción que se ingrese sea un número entero en ese rango. 





 Ahora empezaremos con nuestra función "registrarpreguntas" cuyos parámetros son preguntas( como cadena de caracteres), alternativas ( como una matriz) y respuestas ( como un vector).





Inicializamos nuestro iterador "i" en 6 ya que ingresaremos a partir de la pregunta número 5.
Abrimos un bucle do - while donde:

  • Empezaremos a llenar nuestro vector "preguntas".
  • Con la ayuda de un bucle "for" empezaremos a llenar nuestra matriz "alternativas", en la filas ingresamos las preguntas y en las columnas al alternativas.
  • Con la ayuda de un bucle "do - while " llenaremos nuestro vector respuestas sólo con los número entre el rango 1 y 4.
  • Haremos que nuestro contador sume 1 para así seguir con la siguiente pregunta.
Antes de cerrar el bucle "do - while " se hace un pregunta si desea seguir ingresando más pregunta con la respuesta Sí (s) o No (n), y por eso mismo si ingresamos el caracter "n" en ese momento será cuando el bucle termine. 




Ahora seguimos con la siguiente función llamada "realizarcuestionario" cuyos parámetros son preguntas [], alternativas[,] y respuestas [].
Dentro de esa función declaramos las variables:

  • nombre, como cadena de caracteres.
  • g, op, p1, p2, p3, p4, p5, suma, x, z como datos enteros.
Inicializamos la variable op en 0 y declaramos la herramienta "Random azar" que nos ayudará a escoger aleatoriamente 5 preguntas de nuestro banco de 10 preguntas ( 5 predeterminadas y 5 ingresadas ).

Luego abrimos un bucle "do - while" donde dentro estarán las variables que indicarán las 5 preguntas aleatorias (p1, p2, p3, p4, p5) ingresado la herramienta ya mencionada "azar.Next(0 , 9) +1" indicando que se escogerá aleatoriamente entre 10 elementos. Y cerramos el bucle indicando todas las restricciones para que no se repita ninguna pregunta al momento de hacer la selección aleatoria.

Luego llamamos a una función que mencionaremos posteriormente llamada "mostrarpreguntas" cuyos parámetros dentro la función "realizarcuestionario" son el el número de pregunta (p1,p2,p3,p4,p5), el vector de preguntas,  la matriz de alternativas y un parámetro por referencia "op"


  • Para la primera pregunta aleatoria llamamos a la función "mostrarpreguntas" pero esta vez que tenga como parámetros a la variable p1, preguntas[], alternativas [,] y el parámetro de referencia "op" (con el que ingresaremos el número de la alternativa que creamos correcta).
  • Luego vamos a inicializar las variables "suma", "x" y "z" en 0, donde "suma" será un contador para encontrar el puntaje del participante, "x "un contador para las respuestas correctas y "z" un contador para las respuestas incorrectas.
  • Después ingresamos una selección simple ( if - else), donde:
    • Si el número ingresado en la variable "op" es igual al dato del primer casillero del vector "respuestas", entonces el contador "suma" aumentará en 4 y el contador "x" aumentará en 1.
    • Pero si no se cumple entonces el contador "z" aumentará en 1.









  • Realizamos el mismo procesos con las preguntas que faltaban y al final de realizar el cuestionario tendremos un reporte de cantidad de preguntas correctas ("x"), la cantidad de preguntas incorrectas("z") y el puntaje total ("suma") del participante cuando cada pregunta vale 4 ptos.

Aquí tenemos la función "mostrarpreguntas" cuyos parámetros son la variable n, preguntas [], alternativas [,] y el parámetro con referencia op (ya que está tomando los mismo valores ingresados en la función anterior)

Con ayuda de la variable "n" podemos recorrer preguntas[] y alternativas[,].
Empezamos un bucle "do - while" donde ingresaremos el valor de "op" que será la respuesta que ingresa el participante al momento de realizar el cuestionario y podrá tomar los valores 1, 2, 3, 4.



Y finalmente en la función "clavescorrectas" cuyos parámetros son la cadena de caracteres "preguntas" y el vector "respuestas".
Declaramos un iterador "i", luego abrimos un bucle "for" para que nos muestre las preguntas y respuestas desde la 1 hasta la 10


A continuación se mostrará la compilación en la aplicación de consola del algoritmo que hemos venido explicando:



Notamos el Menú de nuestro cuestionario, ingresamos la opción número 1 para abrir el apartado de "Registrar preguntas y respuestas"




Nos mostrará la preguntas que ya tenemos predefinidas en el programa ( 5 preguntas)



A continuación ingresaremos la 5 preguntas restantes, cada una con sus respectivas alternativas y la respuesta correcta,  para formar así nuestro banco de 10 preguntas.




Luego de ingresar cada pregunta nos preguntará si deseamos continuar ingresando preguntas, y podremos responder Si (s) ó No (n)







Cuando ingresamos No(n) como respuesta a si deseamos continuar, automáticamente terminará con el apartado de registro y nos enviará al menú principal.



Ahora ingresaremos la opción 2 para poder acceder al segundo apartado que es "Realizar cuestionario"





Primero ingresaremos el número de participantes ( en este caso 2), ingresamos el nombre el primer participante y aleatoria mente selecccionará 5 preguntas de nuestro banco ingresado de 10 preguntas.
Respondemos las preguntas ingresando el número de la respuesta que creamos correcta.



Al final nos mostrará las preguntas respondidas correctamente, las incorrectas y el puntaje de cada participante.


Luego de realizar el cuestionario al último participante nos enviará otra vez al menú principal.



Ahora ingresaremos la opción 3 para poder acceder al segundo apartado que es "Claves correctas del cuestionario", donde simplemente nos mostrará cada pregunta con su clave correcta, para que al final del cuestionario el o los participantes puedan comprobar las respuestas correctas con sus respuestas ingresadas.




Finalmente ingresamos la opción 4 para que finalize el programa y el compilador se cierre.





Gracias por su atención, que tenga un buen día !!! 

Comentarios

  1. Waoooo que chevere tu algoritmo , me encantooo
    Sigue subiendo tua programitaas bendiciones ...

    ResponderEliminar

Publicar un comentario