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.
Calcular el sueldo de un operario conociendo la cantidad de horas trabajadas y el pago por hora.
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:
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.
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}
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.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.
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:
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.