Hace unos días vi un vídeo en internet, en el que se mostraba como hacer una calculadora rápidamente en Python. Era un ejemplo muy sencillo. Lo que me llamó la atención es que cuando el usuario introducía datos, no se tenía en cuenta si eran números o no.
Así que me pregunté como sería ese programa escrito en Free Pascal, y pero de una manera robusta
El código que se mostraba en el vídeo, consistía en cuatro funciones, una para cada operación básica: sumar, restar, dividir, y multiplicar.
Y la parte principal para del programa pedía dos valores al usuario y llamaba a las cuatro funciones con estos valores y mostraba el resultado por pantalla. Así que dicho y hecho. Me puse manos a la obra, y este es el código
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
program calculador; uses SysUtils; function Sumar(a, b: integer): integer; begin Result := a + b; end; function Restar(a, b: integer): integer; begin Result := a - b; end; function Multiplicar(a, b: integer): integer; begin Result := a * b; end; function Dividir(a, b: integer): integer; begin Result := a div b; end; var Valor1, Valor2: integer; begin WriteLn('Introduce dos números'); try try Write('Primer número: '); Readln(Valor1); Write('Segundo número: '); Readln(Valor2); Writeln('Suma:' +IntToStr(Sumar(Valor1, Valor2))); Writeln('Resta: ' + IntToStr(Restar(Valor1, Valor2))); Writeln('Multiplicar: ' + IntToStr(Multiplicar(Valor1, Valor2))); Writeln('Dividir: ' + IntToStr(Dividir(Valor1, Valor2))); except on E: Exception do Writeln(E.Message); end; finally Writeln('Pulsa una tecla para continuar'); Readln(); end; end. |
En este código que programé, usé las estructuras Try Finally y Try Excepcion una dentro de la otra. De manera que con la primera estructura me aseguro que pase lo que pase en mi código siempre se ejecute la parte contenida debajo de Finally.
Y con la segunda estructura, lo que busco es atrapar o gestionar cualquier error en tiempo de ejecución que pueda producirse en el código contenido entre las palabras claves Try y Except.
En este vídeo se puede ver como funciona este ejemplo.
Saludos