Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CASO DE ESTUDIO: ESTADÍSTICAS
PROYECTO DE INVESTIGACIÓN
1. ENUNCIADO
En la Universidad Tecnológica de Bolívar, el
GR upo de
I
nvestigación en T
ecnologías
Aplicadas y S
istemas de información GRITAS , analiza, diseña, desarrolla e implementa
un proyecto de investigación que está calculado para ser entregado en M días, en el
proyecto participan N estudiantes pertenecientes al semillero de investigación del
grupo. La labor de cada estudiante es desarrollar tareas propias de la investigación.
Durante el desarrollo del proyecto, al final del día a cada estudiante se le anota en un
registro el código y el número de horas de investigación realizadas (se debe validar que
el dato solo puede estar entre 1 – 10 horas diarias).
Al concluir el proyecto se tendrá la siguiente información:
Ejemplo con datos de prueba. Para (filas)
N = 6 estudiantes, y (columnas) M = 8 días
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
CASO 7
Elabore un algoritmo que lea los datos de los estudiantes teniendo en cuenta lo
siguiente:
● Los códigos de los estudiantes se almacenarán en un arreglo y las horas de
investigación por día se almacenarán en una matriz.
● Por cada estudiante se leerán su código y las horas trabajadas en cada uno de
los M
días del proyecto.
Se debe calcular e imprimir lo siguiente:
● El total de horas de investigación por cada estudiante en orden ascendente
(menor a mayor).
● La lista completa de cada uno de los estudiantes con las horas de
investigación realizadas por día.
● El total de horas de investigación realizadas por el semillero para la
culminación del proyecto.
Contexto del caso:
Grupo de investigación: Se define grupo de investigación científica o tecnológica
como el conjunto de personas que se reúnen para realizar investigación en una
temática dada, formulan uno o varios problemas de su interés, trazan un plan
estratégico de largo o mediano plazo para trabajar en él y producir unos resultados de
conocimiento sobre el tema cuestión. Un grupo existe siempre y cuando demuestre
producción de resultados tangibles y verificables, fruto de proyectos y otras actividades
de investigación convenientemente expresadas en un plan de acción (proyectos)
debidamente formalizado.
Semilleros de Investigación: Se entiende por semillero de investigación: un conjunto
de estudiantes que, orientados por un investigador, se inician en la actividad
investigativa de orden formativa superando las fronteras del proceso académico formal
con el fin de desarrollar competencias y habilidades investigativas que afiancen la
cultura de la investigación en la Universidad, mediante actividades académicas
orientadas a tal fin.
Los semilleros de investigación permiten la participación de los alumnos en el
desarrollo de proyectos de investigación de diferente índole, privilegiando la
participación en el diagnóstico de la realidad social, fortaleciendo las capacidades
investigativas para la toma de decisiones y promoviendo a jóvenes con capacidad de
investigación.
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
CASO 7
2. ESTRUCTURA DE DATOS
//se definen las variables que se necesitan
intN, M, i, j, suma_horas, total_proyecto = 0;
intmenor, aux;
stringaux_cod;
//se solicitan al usuario el número de estudiantes participantes
//y la cantidad de días de duración del proyecto
do
{
cout<<
"\n\tDigite cantidad de estudiantes: ";
cin>>
N;
}
while(N < 1);
do
{
out<<
c "\n\tDigite cantidad de dias: ";
cin>>
M;
}
while(M < 1);
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
CASO 7
//se declaran la matriz Horas_Investigacion N * M
//y los arreglos para Código y Total horas
stringCodigo_Estudiante[N];
intHoras_Investigacion[N][M], Total_Horas[N];
3. REQUERIMIENTOS FUNCIONALES
RF1
. El total de horas de investigación por cada estudiante en orden ascendente
(menor a mayor).
// Se utiliza utiliza ciclos anidados para calcular el arreglo Total_Horas
RF2 . La lista completa de cada uno de los estudiantes con las horas de investigación
realizadas por día.
// Se imprime la matriz todos los estudiantes con horas por día
RF3 . El total de horas de investigación realizadas por el semillero para la culminación
del proyecto. (Solucionado en el RF1.) T otal = Total + Horas_Investigacion[j][i]
dentro del ciclo anidado.
4. REQUERIMIENTOS INSTRUCCIONALES
A. ANÁLISIS Y DISEÑO
En esta etapa se debe comprender de forma detallada cual es la problemática a
resolver, comprobando el dominio o contexto en el cual se encuentra dicho problema.
Al realizar la síntesis de las estructuras de datos y los requerimiento funcionales se
está obteniendo la información necesaria y suficiente para afrontar su respectiva
solución.
Para solicitar los datos de entrada
//se utiliza ciclos anidados para solicitar los valores de entrada
for(i = 0; i < N; i++)
{
cout<<
"\n\n\tDigite el codigo del estudiante ";
cout<<
"\n\t"
<<
i+1
<<
". ";
cin>>
Codigo_Estudiante[i];
cout<<
"\tDigite las horas trabajadas (1 - 10)";
suma_horas = 0;
cin>>
Horas_Investigacion[i][j];
}
while
(Horas_Investigacion[i][j]<1 || Horas_Investigacion[i][j]>10);
//se valida que el dato solo puede estar entre 1 – 10 horas diarias
suma_horas += Horas_Investigacion[i][j];
}
Total_Horas[i] = suma_horas;
total_proyecto += suma_horas;
}
TÉCNICAS DE ORDENAMIENTO
//Se ordenan los arreglos Total_Horas y Codigo_Estudiante
//Segundo método: SELECCIÓN
for(i = 0; i < N-1; i++)
{
menor = i;
for
(j = i+1; j < N; j++)
if
(Total_Horas[menor] > Total_Horas[j]);
menor = j;
aux = Total_Horas[menor];
Total_Horas[menor] = Total_Horas[i];
Total_Horas[i] = aux ;
aux_cod = Codigo_Estudiante[menor];
Codigo_Estudiante[menor] = Codigo_Estudiante[i];
Codigo_Estudiante[i] = aux_cod ;
}
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
CASO 7
B. IMPLEMENTACIÓN
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int N, M, i, j, suma_horas, total_proyecto = 0;
int menor, aux;
string aux_cod;
cout<<"\n\tPROYECTO DE INVESTIGACION - BITACORA DE TIEMPO";
cout<<"\n\tHORAS DE TRABAJO POR DIA - SEMILLERO\n\n";
do
{
cout<<"\n\tDigite cantidad de estudiantes: ";
cin>>N;
}
while (N < 1);
do
{
cout<<"\n\tDigite cantidad de dias: ";
cin>>M;
}
while (M < 1);
string Codigo_Estudiante[N];
int Horas_Investigacion[N][M], Total_Horas[N];
system("cls");
cout<<"\n\tPROYECTO DE INVESTIGACION - BITACORA DE TIEMPO";
cout<<"\n\tHORAS DE TRABAJO POR DIA - SEMILLERO\n\n";
for (i = 0; i < N; i++)
{
cout<<"\n______________________________________________________________\n";
cout<<"\n\tEstudiante "<<Codigo_Estudiante[i]<<" Horas de investigacion:";
cout<<"\n______________________________________________________________\n";
for (j = 0; j < M; j++)
cout<<"\n\tDia ["<<j+1<<"] -> "<<Horas_Investigacion[i][j];
cout<<"\n______________________________________________________________\n";
cout<<"\tTotal horas: "<<Total_Horas[i]<<"\n";
}
cout<<"\n\n\tEnter para continuar...";
system("pause");
aux = Total_Horas[menor];
Total_Horas[menor] = Total_Horas[i];
Total_Horas[i] = aux ;
aux_cod = Codigo_Estudiante[menor];
Codigo_Estudiante[menor] = Codigo_Estudiante[i];
Codigo_Estudiante[i] = aux_cod ;
}
system("cls");
cout<<"\n\tPROYECTO DE INVESTIGACION - BITACORA DE TIEMPO";
cout<<"\n\tHORAS TOTALES DE TRABAJO - SEMILLERO\n\n";
cout<<"\n______________________________________________________________\n";
cout<<"CODIGO ESTUDIANTE\tHORAS TOTALES DE INVESTIGACION";
cout<<"\n______________________________________________________________\n";
for (i = 0; i < N; i++)
cout<<"\n\t"<<Codigo_Estudiante[i]<<"\t\t\t"<<Total_Horas[i];
cout<<"\n______________________________________________________________\n";
cout<<"\tTOTAL HORAS PROYECTO "<<total_proyecto<<"\n\n";
return 0;
}
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
CASO 7
C. PRUEBAS
Después de implementado el programa y con los datos de prueba, los resultados
deberán verse en pantalla de la siguiente manera: