Ejercicio 05 — Leer el radio y calcular área y perímetro de un círculo

Dificultad: amarillo · Módulo 01 (Variables, tipos y entrada/salida)

Enunciado

Leer el radio y calcular área y perímetro de un círculo.

Diagramas de flujo

Diagrama de flujo (actividad) del ejercicio 05

Diagrama de flujo (grafo) del ejercicio 05

Cómo se resuelve

Geometría sencilla que introduce las constantes y la ausencia de pow en C básico.

  1. const float PI = 3.14159f; — la palabra const le dice al compilador que ese valor no puede cambiar. Si por error escribieras PI = 4; más abajo, el programa ni siquiera compilaría. Es la forma correcta de declarar un valor fijo.
  2. float radio se lee con scanf("%f", &radio).
  3. Área = PI * radio * radio. En C básico no hay operador de potencia ni se usa pow para algo tan simple: elevar al cuadrado es, literalmente, multiplicar el número por sí mismo (radio * radio).
  4. Perímetro = 2.0f * PI * radio.
  5. Ambos resultados se muestran con %.2f (dos decimales).

Idea que se queda: C te da lo mínimo. Operaciones que en otros lenguajes son un símbolo (**), aquí las construyes tú con multiplicaciones.

Para practicar — cópialo y complétalo

Pega este esqueleto y completa los TODO. Es la mejor forma de aprender: inténtalo antes de mirar la solución.

/*
 * Curso de C — Modulo 01: Variables, tipos y entrada/salida
 * Ejercicio 05 — PRACTICA (rellena los TODO)
 * Enunciado: Leer el radio y calcular área y perímetro de un círculo.
 * Dificultad: amarillo
 * Stdin: 5
 * Compilar: gcc -std=c11 -Wall ej05_practica.c -o ej05 && ./ej05
 */
#include <stdio.h>
 
int main(void) {
    // TODO: declara una constante float llamada PI con valor 3.14159f
    //       Usa la palabra clave 'const' antes del tipo
 
    // TODO: declara una variable float 'radio', inicializada a 0.0f
 
    // TODO: muestra "Radio: " y lee el radio con scanf
 
    // TODO: calcula el area: PI * radio * radio
    //       (en C basico no hay funcion pow, multiplica directamente)
 
    // TODO: calcula el perimetro: 2.0f * PI * radio
 
    // TODO: muestra "Area: %.2f\n" con el valor del area
 
    // TODO: muestra "Perimetro: %.2f\n" con el valor del perimetro
 
    return 0;
}

Solución — cópiala y ejecútala

/*
 * Curso de C — Modulo 01: Variables, tipos y entrada/salida
 * Ejercicio 05 — MODELO (resuelto)
 * Enunciado: Leer el radio y calcular área y perímetro de un círculo.
 * Dificultad: amarillo
 * Stdin: 5
 * Compilar: gcc -std=c11 -Wall ej05_modelo.c -o ej05 && ./ej05
 */
#include <stdio.h>
 
int main(void) {
    const float PI = 3.14159f;
    float radio = 0.0f;
 
    printf("Radio: ");
    scanf("%f", &radio);
 
    // Area = PI * r^2   (r*r es lo mismo que r al cuadrado)
    float area = PI * radio * radio;
 
    // Perimetro = 2 * PI * r
    float perimetro = 2.0f * PI * radio;
 
    printf("Area: %.2f\n",      area);
    printf("Perimetro: %.2f\n", perimetro);
 
    return 0;
}

Ejecútalo en el navegador

▶ Abrir y ejecutar en Compiler Explorer

Se abre con la solución ya cargada; pulsa el botón de ejecutar (Run) para ver la salida. No hay que instalar nada.

Cómo usarlo

Pega el código en un fichero y ejecútalo con tu toolchain habitual (o el botón de Ejecutar de tu editor). Antes de mirar la solución, intenta completar tú el esqueleto: es la mejor forma de aprender.

Conexiones