Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Trabajo Final
Presentación
Sustentantes
Alexander Cabrera
A00058760
FELIX GERARDO LARA
A00054388
CARLOS CASTRO
A00133890
Docente:
LIC. VICTORIANO PEREZ MEDINA
Asignatura:
PROGRAMACION ESTRUCTURADA
Tema:
TRABAJO FINAL
PROGRAMACION ESTRUCTURADA
1 Grupo # 3
Programación Estructurada. Trabajo Final
Índice
Presentación .............................................................................................................. 1
Índice.......................................................................................................................... 2
Introducción................................................................................................................ 3
Justificación................................................................................................................ 4
Explicación de la Programación del Sistema ............................................................. 5
Propósito ................................................................................................................ 5
¿El programa tiene entrada de datos? ................................................................... 5
Funciones ............................................................................................................... 5
Lista de variables .................................................................................................... 8
Explicación .......................................................................................................... 9
Conclusión ............................................................................................................... 12
Bibliografía ............................................................................................................... 13
Anexos ..................................................................................................................... 14
2 Grupo # 3
Programación Estructurada. Trabajo Final
Introducción
Aquí veremos de modo explicativo el desarrollo de un programa que tiene como final
que los estudiantes de primer ciclo (primaria) aprendan a multiplicar, y como objetivo
el poder mostrar como se usan los bloques, funciones, arreglos y tipos de datos.
3 Grupo # 3
Programación Estructurada. Trabajo Final
Justificación
4 Grupo # 3
Programación Estructurada. Trabajo Final
Propósito
Incentivar al estudiante para que se interese por aprender a multiplicar. Se motiva
con mensajes recurrentes de felicitaciones impulsando asi que el estudiante avance.
Y en los en que estos fallen en sus respuestas se incentivan y animan a seguir
intentando.
Funciones
Se usaron múltiples funciones en este desarrollo, las mismas fuero las siguientes:
int main() dentro de esta función está definido el cuerpo del programa. En esta se
desarrolla todas las funcionalidades que el programa va a realizar.
5 Grupo # 3
Programación Estructurada. Trabajo Final
Aquí se realizan los llamados a las funciones de obtener Preguntas y verificar Respuesta,
Lista de variables
struct Preguntas {
string pregunta;
string mensajeRespuesta;
int respuestaCorrecta;
int intentosMaximos;
bool siguientePregunta;
int intentoActual;
int maximoPreguntas;
};
Como se puede notar en esta clase se encuentran las variables que ayudan al
programa a realizar su función, como son las preguntas, los mensajes que salen, los
intentos, entre otros.
7 Grupo # 3
Programación Estructurada. Trabajo Final
int main() {
int intentos = 0;
int maxPreg = 0;
float cantRespuestasCorrectas = 0;
float cantRespuestasIncorrectas = 0;
do
{
int respuestaUsuario;
cin >> respuestaUsuario;
if (preg.siguientePregunta) {
intentos = 0;
maxPreg = maxPreg + 1;
cantRespuestasCorrectas = cantRespuestasCorrectas + 1;
preg.intentoActual = 0;
}
else {
intentos = intentos + 1;
}
preg.intentoActual = intentos;
preg = obtenerPreguntas();
preg.intentoActual = 0;
}
8 Grupo # 3
Programación Estructurada. Trabajo Final
Explicación
Tenemos int intentos = 0; donde se van registrando las respuestas incorrectas del
estudiante. Por cada pregunta tiene un total de 4 intentos.
int maxPreg = 0; un contador donde se van acumulando las preguntas que van
apareciendo y tiene como función evitar que pasen el máximo de 15 preguntas.
float rendimiento Correcto con esta variable se hacen los cálculos de las respuestas
correctas del estudiante y así sacar el rendimiento de este.
Y un grupo de variables que, al leer y analizar el código, sabremos cuáles son sus
funcionalidades.
9 Grupo # 3
Programación Estructurada. Trabajo Final
struct Preguntas {
string pregunta;
string mensajeRespuesta;
int respuestaCorrecta;
int intentosMaximos;
bool siguientePregunta;
int intentoActual;
int maximoPreguntas;
};
Preguntas obtenerPreguntas();
Preguntas verificarRespuesta(int respuestaUsuario, Preguntas preg);
int numeralPreguntas;
int main() {
cout << " \t ***Bienvenido al sistema de calculadora v1.0*** " << endl << endl;
int intentos = 0;
int maxPreg = 0;
float cantRespuestasCorrectas = 0;
float cantRespuestasIncorrectas = 0;
do
{
cout << preg.pregunta << endl;
int respuestaUsuario;
cin >> respuestaUsuario;
preg = verificarRespuesta(respuestaUsuario, preg);
if (preg.siguientePregunta) {
intentos = 0;
maxPreg = maxPreg + 1;
cantRespuestasCorrectas = cantRespuestasCorrectas + 1;
preg = obtenerPreguntas();
preg.intentoActual = 0;
}
else {
intentos = intentos + 1;
}
preg.intentoActual = intentos;
}
Programación Estructurada. Trabajo Final
Preguntas obtenerPreguntas() {
srand(time(0));
Preguntas preguntaActual;
preguntaActual.intentosMaximos = 4;
preguntaActual.pregunta = std::to_string(numeralPreguntas) + " - Cuanto es " +
std::to_string(multiplicando) + " por " + std::to_string(multiplicador) + "?";
preguntaActual.respuestaCorrecta = (multiplicando * multiplicador);
preguntaActual.maximoPreguntas = 15;
return preguntaActual;
}
if (preg.respuestaCorrecta == respuestaUsuario) {
preg.mensajeRespuesta = respuestaCorrecta[intentoActual];
preg.siguientePregunta = true;
}
else {
preg.mensajeRespuesta = respuestaInCorrecta[intentoActual];
preg.siguientePregunta = false;
}
11 Grupo # 2
return preg;
Programación Estructurada. Trabajo Final
}
Programación Estructurada. Trabajo Final
Conclusión
12 Grupo # 2
Programación Estructurada. Trabajo Final
Bibliografía
1. Microsoft Visual
Studio.
2. La Web del
Programador
13 Grupo # 2
Programación Estructurada. Trabajo Final
Anexos
14 Grupo # 2
Programación Estructurada. Trabajo Final
Este estudiante obtuvo un porcentaje muy bueno por ende puede pasar al siguiente
nivel.
15 Grupo # 2
Programación Estructurada. Trabajo Final
16 Grupo # 2
Programación Estructurada. Trabajo Final
#include <iostream>
#include <time.h>
#include <cstdlib>
#include <string>
struct Preguntas {
string pregunta;
string mensajeRespuesta;
int respuestaCorrecta;
int intentosMaximos;
bool siguientePregunta;
int intentoActual;
int maximoPreguntas;
};
Preguntas obtenerPreguntas();
Preguntas verificarRespuesta(int respuestaUsuario, Preguntas preg);
int numeralPreguntas;
int main() {
cout << " \t ***Bienvenido al sistema de calculadora v1.0*** " << endl <<
endl;
int intentos = 0;
int maxPreg = 0;
float cantRespuestasCorrectas = 0;
float cantRespuestasIncorrectas = 0;
do
{
cout << preg.pregunta << endl;
int respuestaUsuario;
cin >> respuestaUsuario;
preg = verificarRespuesta(respuestaUsuario, preg);
if (preg.siguientePregunta) {
17 Grupo # 2
Programación Estructurada. Trabajo Final
intentos = 0;
maxPreg = maxPreg + 1;
cantRespuestasCorrectas = cantRespuestasCorrectas + 1;
preg = obtenerPreguntas();
preg.intentoActual = 0;
}
else {
intentos = intentos + 1;
}
preg.intentoActual = intentos;
preg = obtenerPreguntas();
preg.intentoActual = 0;
}
18 Grupo # 2
Programación Estructurada. Trabajo Final
}
else {
int _rendimientoInCorrecto = rendimientoInCorrecto;
Preguntas obtenerPreguntas() {
srand(time(0));
Preguntas preguntaActual;
preguntaActual.intentosMaximos = 4;
preguntaActual.pregunta = std::to_string(numeralPreguntas) + " - Cuanto es
" + std::to_string(multiplicando) + " por " + std::to_string(multiplicador) +
"?";
preguntaActual.respuestaCorrecta = (multiplicando * multiplicador);
preguntaActual.maximoPreguntas = 15;
return preguntaActual;
}
if (preg.respuestaCorrecta == respuestaUsuario) {
preg.mensajeRespuesta = respuestaCorrecta[intentoActual];
preg.siguientePregunta = true;
}
else {
preg.mensajeRespuesta = respuestaInCorrecta[intentoActual];
preg.siguientePregunta = false;
}
19 Grupo # 2
Programación Estructurada. Trabajo Final
return preg;
}
20 Grupo # 2