AD

¿Ya dominas lo básico? Un curso estructurado de Objective-C es la vía rápida para dar el salto.

Ver cursos de Objective-C en Udemy

Enlace de afiliado. No te cuesta nada extra.

🍎Lecciones de Objective-C
Lección 68 / 68

[Aplicado] Un programa que resume notas

En esta lección juntarás lo aprendido en un programa que calcula un total y una media.

Se recorre el array con la enumeración rápida, se acumula el total y se divide entre el número de elementos.

El código de ejemplo suma cinco notas y muestra el total y la media.

La línea de la media esconde lo más instructivo del ejemplo. total es NSInteger y scores.count es NSUInteger: dividir dos enteros da un entero, y los decimales se perderían. El (float) delante fuerza que la división sea decimal. Sin esa conversión, una media de 83,0 podría salir como 83 y una de 82,6 saldría como 82, sin ningún aviso.

Y hay un detalle peor escondido: count no tiene signo, así que en una división entre un entero con signo y uno sin él, C convierte el primero al segundo. Con un total negativo eso da un número enorme. Aquí no ocurre porque las notas son positivas, pero es exactamente la clase de suposición que se rompe cuando los datos cambian.

Falta además la comprobación del array vacío, que produciría una división por cero.

Un programa real leería las notas de un archivo o de una base de datos, y usaría NSNumberFormatter para mostrar la media con el separador decimal del país.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Objective-C directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)