sábado, 19 de febrero de 2022

Katas de programación en C

En esta ocasión haremos un pequeño programa dividido en tres archivos:

  1. Programa principal: main.c
  2. Librería o macro: pulsaciones.h
  3. Implementación de librería: pulsaciones.c

pulsaciones.h

#ifndef PULSACIONES_H
#define PULSACIONES_H


#endif

En este archivo definiremos las cabeceras de la función que calculará el número de pulsaciones. Para esto definiremos un tipo de datos tipo int el que denominaremos Entero y un tipo definido de tipo float llamado Flotante.

pulsaciones.h

#ifndef PULSACIONES_H
#define PULSACIONES_H

typedef int Entero;
typedef float Flotante;

#endif

Además agregaremos un encabezado para poder usar las funciones de E/S (print, puts, etc.) y una constante con valor 10

pulsaciones.h

#ifndef PULSACIONES_H
#define PULSACIONES_H
#define TAM 10
#include<stdio.h>

typedef int Entero;
typedef float Flotante;

Flotante getPulsaciones(Entero, Entero);

#endif

En el siguiente archivo definiremos la implementación de la función getPulsaciones, la cual recibe dos variables tipo Entero (int) y devolverá un tipo Flotante (float).

pulsaciones.c

#include "pulsaciones.h"

Flotante getPulsaciones(Entero edad, Entero sexo){
    Flotante resultado = 0.0f;
    switch(sexo){
        case 1:
        puts("Sexo: Femenino");
        resultado = (220-edad)/TAM;
        break;
        case 2:
        puts("Sexo: Masculino");
        resultado = (210-edad)/TAM;
        break;
        default: 
        puts("Sexo y edad: Undefined");
        resultado = 0.0f;
        break;
    }
    return resultado;
}

Como se puede observar es necesario importar el archivo "pulsaciones.h" para poder implementar la función "getPulsaciones". Los datos de entrada son: sexo y edad. Las fórmulas para obtener las pulsaciones de acuerdo al sexo son las siguientes:

"Sexo: Femenino"
(220-edad)/10
     
"Sexo: Masculino"
(210-edad)/10
        

main.c

#include "pulsaciones.c"

Entero edad = 0;
Entero sexo = 0;

int main(){
    puts("\t ====== [ Pulsaciones ] ======");
    puts("Introduce sexo [1. Femenino   2. Masculino] :");
    scanf("%d",&sexo);
    puts("Introduce edad:");
    scanf("%d",&edad);
    printf("%.3f\n",getPulsaciones(edad, sexo));
    return 0;
}
        

Compilamos y creamos ejecutable:

$ gcc main.c -o ejecutable.exe

Ejecutamos el programa:

$ ./ejecutable.exe
	 ====== [ Pulsaciones ] ======
Introduce sexo [1. Femenino   2. Masculino] :
2
Introduce edad:
45
Sexo: Masculino
16.000

Enlaces:

https://pseudocodigoejemplos.com/calcular-el-numero-de-pulsaciones-que-debe-tener-una-persona/