Está en la página 1de 6

 

Facultad de Ingeniería 
Programa de Ingeniería de Sistemas 
Algoritmos 
2014 
 

CASO DE ESTUDIO: Aplicación los 
arreglos en la evaluación de los 
estudiantes
 

EC2: Solucionar  casos  matemáticos,  estadísticos y financieros  por medio de programas, 


teniendo  en  cuenta  estructuras  de  datos  básicas que  permitan  almacenar  secuencias  de 
valores. 
 
Semana  Saber  Hacer  Ser 

8  ● Fundamentos  ● Analiza el caso 5 de estudio  ● Proactivo al analizar 


de  propuesto.  el caso 
estructuras  ● Crea y utiliza estructuras de datos  ● Ordenado al realizar 
de datos.  simples  la abstracción del 
● Técnicas  ● Realiza la abstracción del caso y su  caso. 
iterativas.  posible solución  ● Propositivo al diseñar 
● Validación de  ● Selecciona las instrucciones de  la posible solución. 
datos de  control.  ● Creativo al resolver el 
entrada.  ● Resuelve el caso con estructuras de  caso. 
datos, técnicas iterativas, procesos  ● Creativo al 
y validación de datos.  seleccionar las 
técnicas iterativas. 

 
CE7:  Utiliza  las  estructuras  de  datos  estáticas  con  valores  numéricos  o  alfanuméricos 
como elementos para la solución a problemas. 
 

CE8:  Utiliza  las  estructuras  de  datos  variables  con  valores  numéricos  o  alfanuméricos 
como elementos para la solución a problemas. 

   
 
Facultad de Ingeniería 
Programa de Ingeniería de Sistemas 
Algoritmos 
2014 
 

1. ENUNCIADO 
Escriba un algoritmo que para un grupo de n estudiantes,  almacene la nota y el código 
del estudiante en 2 arreglos como se muestra en la figura.  

Codigo Notas
T000410 3.0
T000350 2.5
… ...
… ...
… ...
T000357 4.8
 

Se  requiere elaborar un algoritmo que imprima las siguientes consideraciones. 

1. Obtener la mayor nota y la menor nota 
2. Imprimir la nota promedio del curso 
3. Cuántos estudiantes aprobaron y cuántos reprobaron 
4. Teniendo  en   cuenta  la  definitiva,  imprima  el  código  y  un  mensaje  de  acuerdo 
con la nota: 
❖ Cuántos obtuvieron una nota Muy bien [ 4.0 ­ 5.0] 
❖ Cuántos obtuvieron una nota Bien [ 3.0 ­ 4.0 ) 
❖ Cuántos obtuvieron una nota suficiente [ 2.0 ­ 3.0 ) 
❖ Cuántos obtuvieron una nota Insuficiente [ 0,5 ­ 2.0 ) 
5. Diga cuántos estudiantes quedaron en cada una de las categorías anteriores. 
6. Cuál fue el porcentaje de estudiantes aprobados y reprobados. 
7. Imprima  un  listado  con  los  códigos  de  los  estudiantes  que  obtuvieron  la  más 
alta nota 

Contexto del caso: 
La  evaluación  con  arreglos  puede  resultar  especialmente  útil  cuando  hay  que  analizar 
aspectos  imprecisos   o  subjetivos.  Consiste  en  preparar  unos  arreglos  de valoración que 
recoja los  elementos que queremos evaluar y fije, para cada uno de ellos, los criterios que 
usaremos para darles un valor u otro. 

Puede  servir  para  valorar  el  grado  de  aprendizaje  alcanzado  por  el  alumno  en 
conocimientos  y  competencias,  y  también  para  poder  juzgar de un  modo  más ecuánime 
 
Facultad de Ingeniería 
Programa de Ingeniería de Sistemas 
Algoritmos 
2014 
 
el proceso que  supone  todo  aprendizaje,  el nivel de  logro  del  mismo  y/o  la  calidad  del 
trabajo llevado a cabo por los alumnos. 
Escala  de calificación: categorías  que  definen  la calidad del  trabajo del estudiante. Sirve 
como  herramienta  de  evaluación pero a la  vez  puede ser una  herramienta formativa para 
el  alumno.  Por  medio  de  ese  conjunto  de  criterios  específicos,  se  hace una  descripción 
detallada  del  tipo  de  desempeño   esperado  y  los  criterios  para  su  análisis;  así,  los 
alumnos  conocen  con  todo  detalle  qué  es  lo  que  tienen  que  hacer  y  cómo  para  ser 
valorados positivamente. 
 

2. ESTRUCTURA DE DATOS
En  este  punto  entonces  es  necesario  considerar  qué  información  debe  ser  definida  al 
iniciar  el  algoritmo  y  cuál  debe  ser  introducida  por  el  usuario.  En  la  siguiente  tabla  se 
define  el  uso,  el  nombre  de  la  variable  y  el  valor  inicial  que  debería  tener  cada  una  de 
estas variables: 
 

Explicación de la variable  Tipo  nombre 

Cantidad de estudiantes  entero (int)  n 

Códigos de los estudiantes (arreglo)  cadena  codigo 


(raw_input) 

Notas de los estudiantes (arreglo)  real (float)  nota 

La mayor nota  real (float)  mayor 

La menor nota  real (float)  menor 

La nota promedio del curso   real (float)  promedio 

Acumulador de notas  real (float)  sumaNotas 

Conteo de estudiantes aprobados  entero (int)  contAp 

Conteo de estudiantes reprobados  entero (int)  contRp 

porcentaje de estudiantes aprobados  real (float)  porcentajeAp 

porcentaje de estudiantes reprobados  real (float)  porcentajeRp 

Una nota Muy bien [ 4.0 ­ 5.0]  entero (int)  cont1 


 
Facultad de Ingeniería 
Programa de Ingeniería de Sistemas 
Algoritmos 
2014 
 

Cuántos obtuvieron una nota Bien [ 3.0 ­ 4.0 )  entero (int)  cont2 

Cuántos obtuvieron una nota suficiente [ 2.0 ­ 3.0 )  entero (int)  cont3 

Cuántos obtuvieron una nota Insuficiente [ 0,5 ­ 2.0 )  entero (int)  cont4 

3. REQUERIMIENTOS FUNCIONALES
 

Plantear los requerimientos funcionales necesarios para resolver el problema. 

4. REQUERIMIENTOS INSTRUCCIONALES
A. ANÁLISIS 

En  programación,  un  vector  (llamado  en  inglés  array(exactamente  arreglo 


unidimensional))  es  una  zona  de  almacenamiento  continuo,  que  contiene  una  serie  de 
elementos  del  mismo  tipo.  Estas  estructuras  de  datos  son  adecuadas  para  situaciones en 
las  que  el  acceso  a  los  datos se  realice  de  forma  aleatoria  e impredecible.  Todo  vector  se 
compone  de  un  determinado  número  de  elementos.  Cada  elemento  es  referenciado  por  la  
posición que ocupa dentro del vector. Dichas posiciones son llamadas índice. 

Para  el  caso  en  particular  se  tienen  dos  vectores  uno  con  códigos  de estudiantes  y  el otro 
con notas definitivas. 

Es   necesario   acceder  varias  veces  a  ambos  vectores  para  responder  a  cada uno  de  los 
requerimientos funcionales. 

B. DISEÑO 
# Se solicita el número de estudiantes y el dato entrante se asigna a n: 

n = int(input("Digite cantidad de estudiantes:")) 

# Se declara el arreglo llamadocódigoo asignándole el rango (n): 

codigo = [“” for x in range(n)] 

# Se declara el arreglo llamado nota asignándole el rango (n): 

nota = [0.0 for x in range(n)] 
 
Facultad de Ingeniería 
Programa de Ingeniería de Sistemas 
Algoritmos 
2014 
 
Después  de  solicitar  el  dato  de  cantidad  de  estudiantes  n,  y  con  éste  definir  el  arreglo  de  se  
procede a capturar la información de los vectores  
 
Para n = 10 
 
pos codigo nota
0 T00023 3.5
1 T00035 4.8
2 T00054 2.8
3 T00067 1.3
4 T00056 4.8
5 T00015 3.9
6 T00062 4.3
7 T00024 2.7
8 T00031 4.2
9 T00073 3.0
 
C. IMPLEMENTACIÓN 
 
#inicializar los vectores según el tipo de datos 
n=int(input("Ingrese cantidad de estudiantes")) 
codigo = ["" for x in range(n)] 
nota = [0.0 for x in range(n)] 
 

D. PRUEBAS 

Se ingresa la siguiente información 

 
posicion codigo nota
0 T00023 3.5
1 T00035 4.8
2 T00054 2.8
3 T00067 1.3
4 T00056 4.8
5 T00015 3.9
6 T00062 4.3
7 T00024 2.7
8 T00031 4.2
9 T00073 3.0
 
 
Facultad de Ingeniería 
Programa de Ingeniería de Sistemas 
Algoritmos 
2014 
 
Se obtienen los siguientes resultados: 

5. ENTREGABLES
a. Código fuente (Arreglos_nombre.py) 
El código fuente debe estar documentado.
b. Documento en Word con el análisis del caso, de acuerdo a la metodología vista en el curso.
Completar los requerimientos que aparecen sombreados en rojo.  

También podría gustarte