4 - Codificación del diagrama de flujo en Delphi

Vimos en el concepto anterior los pasos para crear un proyecto, en este concepto veremos los pasos para codificar un diagrama de flujo con Pascal en el entorno de Delphi.

Problema:

Calcular el sueldo de un operario conociendo la cantidad de horas trabajadas y el pago por hora.

Diagrama de flujo:

calculo sueldo operario en pascal delphi

Lo primero será crear un nuevo proyecto dando los mismos pasos que el concepto anterior, podemos cerrar el anterior con la opción: File -> Close All

La codificación en Pascal del problema es:

Proyecto2

program Proyecto2;

{$APPTYPE CONSOLE}

var
  horasTrabajadas: Integer;
  costoHora: Double;
  sueldo: Double;

begin
  Write('Ingrese la cantidad de horas trabajadas:');
  ReadLn(horasTrabajadas);
  Write('Ingrese el costo por hora:');
  ReadLn(costoHora);
  sueldo := horasTrabajadas * costoHora;
  Write('El sueldo del operario es de :');
  Write(sueldo:0:2);
  ReadLn;
end.

Conceptos básicos para codificar un programa

:

Todo programa en Pascal comienza con la palabra clave program seguida por el nombre del programa:

program Proyecto2;

Entre llaves se define una directiva para indicar a Delphi que se trata de una aplicación de consola:

{$APPTYPE CONSOLE}

Variable

Es un depósito donde hay un valor.
Consta de un nombre y pertenece a un tipo.

Para el ejemplo la variable horasTrabajadas almacena la cantidad de horas trabajadas por el operario. La variable costoHora almacena el precio de una hora de trabajo. La variable sueldo almacena el sueldo a abonar al operario.

En el ejemplo tenemos tres variables.

Tipos de variable:
Una variable puede almacenar:

 Valores Enteros (100, 260, etc.).
 Valores Flotantes (1.24, 2.90, 5.00, etc.).
 Cadenas de caracteres ('Juan', 'Compras', 'Listado', etc.)

Elección del nombre de una variable:

Debemos elegir nombres de variables representativas. En el ejemplo el nombre horasTrabajadas es lo suficientemente claro para darnos una idea acabada sobre su contenido. Podemos darle otros buenos nombres. Otros no son tan representativos, por ejemplo hTr. Posiblemente cuando estemos resolviendo un problema dicho nombre nos recuerde que almacenamos las horas trabajadas por el operario pero cuando pase el tiempo y leamos el diagrama probablemente no recordemos ni entendamos qué significa hTr.

Restricciones de un nombre de variable:

No puede llevar espacios en blanco.
No puede comenzar con un número.
No puede incluir símbolos especiales.
Los caracteres válidos son las letras (mayúsculas y minúsculas) y los números siempre y cuando no estén en el primer lugar.

En este programa hay tres variables, una de tipo entera (Integer) y dos de tipo flotantes (Double), las variables se definen luego de la palabra clave var:

var
  horasTrabajadas: Integer;
  costoHora: Double;
  sueldo: Double;

Cada vez que definimos una variable después de los dos puntos indicamos su tipo (Integer, Double, String)

Tipos de variable:

Una variable puede almacenar:

Integer - Valores Enteros (100, 260, etc.)
Double - Valores flotantes (1.24, 2.90, 5.00, etc.)
String - Cadenas de caracteres ('Juan', 'Compras', 'Listado', etc.)

El algoritmo indicado en el diagrama de flujo se codifica entre las palabras claves begin y end:

begin
  Write('Ingrese la cantidad de horas trabajadas:');
  ReadLn(horasTrabajadas);
  Write('Ingrese el costo por hora:');
  ReadLn(costoHora);
  sueldo := horasTrabajadas * costoHora;
  Write('El sueldo del operario es de :');
  Write(sueldo:0:2);
  ReadLn;
end.

Cada símbolo del diagrama de flujo representa una instrucción en el lenguaje Pascal, pero generalmente debemos introducir otras instrucciones además de las del diagrama.

calculo sueldo operario en pascal delphi

Para hacer la entrada de datos por teclado utilizamos el procedeimiento ReadLn que se detiene hasta que el operador ingresa por teclado un dato y se almacena en la variable que le pasamos:

  ReadLn(horasTrabajadas);

Previo a la entrada por teclado mediante el procedimiento Write mostramos un mensaje por pantalla para que el operador sepa que tipo de dato cargar por teclado:

  Write('Ingrese la cantidad de horas trabajadas:');

Los mensajes que se muestran con el procedimiento Write deben ir encerrados entre simple comillas.

Luego de cargar la variable horasTrabajadas se procede de la misma manera para ingresar el costo por hora:

  Write('Ingrese el costo por hora:');
  ReadLn(costoHora);

Las operaciones se codifican en forma idéntica a como la escribimos en el diagrama de flujo:

  sueldo := horasTrabajadas * costoHora;

Finalmente debemos mostrar por pantalla el sueldo a pagar al operario:

  Write('El sueldo del operario es de :');
  Write(sueldo:0:2);

Cuando imprimimos una variable Double con el procedimento Write no la debemos disponer con simple comillas y le agregamos 0:2 para que muestre solo dos decimales.

Todo programa en Pascal finaliza con el comando end y un punto final:

end.

Si ejecutamos el programa tenemos una salida por pantalla similar a esta:

ejecución programa Delphi Pascal

La mayoría de las líneas en Pascal finaliza con un punto y coma. El lenguaje pascal podemos escribir las palabras claves tanto con mayúsculas o minúsculas y no habrá problemas, de todos modos hay algunas reglas que todos los programadores respetan y que iremos viendo a lo largo del curso.