Codificación aprenderaprogramar.com: CU00168A
EJERCICIO
En un fichero tenemos las notas de un grupo de alumnos de una clase en un array Nota(1), Nota(2), ..., Nota(n – 1), establecidas entre 0 y 10. El último dato es un señalero con valor – 50. Se desea desarrollar el pseudocódigo y diagrama de flujo para un programa que determine la nota media.
SOLUCIÓN
Pseudocódigo:
1. Inicio [Media con señalero aprenderaprogramar.com] 2. i = 1 3. Leer Nota(i) 4. Mientras Nota(i) >= 0 Hacer Suma = Suma + Nota(i) i = i + 1 Leer Nota(i) Repetir 5. Media = Suma / (i – 1) 6. Mostrar “La nota media de la clase es”, Media 7. Fin |
Diagrama de flujo:
Comentarios: Si lo comparamos con el programa que calculaba la media para una clase de 35 alumnos encontramos lo siguiente:
· Este programa es mucho más potente por estar enfocado a un caso general (clase de n alumnos) en vez de a un caso particular (clase de 35 alumnos). La potencia es una fortaleza del programa. Por ello, siempre que podamos programaremos pensando en casos generales (número de alumnos n, precio de un producto x, velocidad de un vehículo v, etc.)
· Para el número prefijado de iteraciones usábamos la estructura Desde ... Siguiente por ser cómoda, mientras que para un número no conocido de iteraciones hemos usado Mientras ... Hacer.
Hemos preferido usar la condición Nota(i) >= 0 en vez de Nota(i) <> - 50 . En general trabajar con intervalos es más seguro que hacerlo con igualdades o desigualdades. Si por cualquier circunstancia el valor almacenado fuera – 50,01 el uso de intervalos nos ahorraría problemas, aunque no siempre será posible evitar las referencias a un valor concreto.
Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.