3 - Codificación del diagrama de flujo en el lenguaje C

Ahora debemos codificar el diagrama de flujo utilizando las instrucciones del lenguaje C.
A medida que avancemos en el curso veremos que significan las palabras claves include, return etc. por el momento nos centraremos donde codificaremos nuestros diagramas de flujo.
La codificación del diagrama de flujo la haremos dentro de la función main (la función main es la primera que se ejecuta al iniciarse un programa en el lejguaje C)

El programa completo para el calculo del sueldo de un operario conociendo la cantidad de horas trabajadas y el costo por hora es (copiemos estas líneas en el editor del Code::Blocks dentro de la ventana archivo1.c que creamos en el concepto anterior):

#include<stdio.h>

int main()
{
    int horasTrabajadas;
    float costoHora;
    float sueldo;
    printf("Ingrese las horas trabajadas por el empleado:");
    scanf("%i",&horasTrabajadas);
    printf("Ingrese el pago por hora:");
    scanf("%f",&costoHora);
    sueldo=horasTrabajadas*costoHora;
    printf("El sueldo total del operario es ");
    printf("%f",sueldo);
    getchar();
    return 0;
}

Para probar el funcionamiento del programa debemos presionar el ícono con un triángulo verde y la rueda dentada (o la tecla F9)

ejecucion programa c en Code::Blocks

Si no se instaló correctamente el entorno del Code::Blocks puede seguir estos pasos para solucionarlo

Como podemos ver se abre una ventana con la ejecución del programa que acabamos de compilar donde debemos ingresar las horas trabajadas por un operario y el costo por hora, dando como resultado el sueldo que debe cobrar:

ejecucion programa c en Code::Blocks

Tener en cuenta que debemos ingresar el caracter «.» en lugar del caracter «,» si ingresamos un costo por hora con decimales.

Cuando lo ejecutamos se crea el programa ejecutable «programa1.exe» que es el resultado de la compilación del código fuente que escribimos en el editor en el archivo «programa1.c».

Conceptos que deben quedar claros:

  1. Por el momento haremos todo el algoritmo dentro de la función main.

  2. Si observamos el diagrama de flujos vemos que debemos definir tres variables: (horasTrabajadas, costoHora, sueldo), aquí es donde debemos definir que tipos de datos se almacenarán en las mismas. La cantidad de horas normalmente será un valor entero (ej. 100 – 150 – 230 etc.), pero el costo de la hora es muy común que sea un valor real (ej. 5.35 – 7.50 etc.) y como el sueldo resulta de multiplicar las horas trabajadas por el costo por hora el mismo deberá ser real.

    La definición de las variables la hacemos en la función main:

        int horasTrabajadas;
        float costoHora;
        float sueldo;
    
    Utilizamos la palabra clave int para definir variables enteras (en C las palabras claves deben ir obligatoriamente en minúsculas, sino se produce un error sintáctico) Luego de la palabra clave debemos indicar el nombre de la variable, por ejemplo: horasTrabajadas. Se propone que el nombre de la variable comience con minúscula y en caso de estar constituida por dos palabras o más deben ir en mayúsculas el primer caracter (un nombre de variable no puede tener espacios en blanco, empezar con un número, ni tampoco utilizar caracteres especiales)
    Debemos buscar siempre nombres de variables que nos indiquen que almacenan (no es conveniente llamar a nombres de variables con letras individuales salvo en casos puntuales que veremos más adelante)
  3. Para mostrar mensajes en la pantalla utilizamos la función «printf»:

        printf("Ingrese las horas trabajadas por el empleado:");
    
    Con esta sintaxis todo lo que se encuentra contenido entre comillas aparecerá exactamente en la pantalla.
    Si necesitamos mostrar el contenido de una variable debemos disponer el caracter %f si mostramos una variable float o %i si mostramos una variable int (luego de la cadena a mostrar disponemos separado por coma la variable a mostrar):
        printf("%f",sueldo);
    
  4. Para hacer la entrada de datos por teclado en C debemos utilizar la función «scanf»

        scanf("%i",&horasTrabajadas);
    

    La función scanf tiene un primer parámetro entre comillas dobles y dentro el caracter % y la letra i si se carga un entero y la letra f si se carga un float.

    El segundo parámetro es el nombre de la variable a cargar antecedida por el caracter &.

  5. Las operaciones que indicamos en el diagrama de flujo mediante la figura rectángulo la codificamos tal cual:

        sueldo=horasTrabajadas*costoHora;
    
  6. Por el momento veremos que siempre nuestro programa finaliza llamando a la función getch() (detiene la ejecución del programa hasta que se presiona una tecla) y la instrucción return 0 (le avisa al sistema operativo que el programa finalizó correctamente):

        getchar();
        return 0;
    

Podemos ver una relación entre las instrucciones que debemos utilizar para cada símbolo del diagrama de flujo:
programa y diagrama de flujo

En el diagrama de flujo no indicamos la definición de variables:

    int horasTrabajadas;
    float costoHora;
    float sueldo;

No representamos con símbolos los mensajes a mostrar previo a la carga de datos por teclado:

    printf("Ingrese las horas trabajadas por el empleado:");

Como hemos visto hasta ahora hay varias partes de nuestro código que no entendemos:

#include<stdio.h>

pero son indispensables para la implementación de nuestros programas, a medida que avancemos con el curso muchos de estos conceptos se irán aclarando (el include permite importar librerías de funciones contenidos en otros archivos)

La líneas:

    getchar();

No permite detener la ejecución del programa para ver el sueldo del operario y esperar a que se pulse una tecla.

Solucionar problemas de instalación del Code::Blocks

Estos pasos son solo si no puede compilar los programas con el Code::Blocks

Dirigirse al menú de opciones: Settings->Compiler:

errores instalacion Code::Blocks

En este diálogo seleccionar la pestaña «Toolchain Executables» y presionar el botón «Auto detect» para que configure correctamente el directorio donde se encuentra el compilador de C:

errores instalacion Code::Blocks