Multivac, Asimov e IA: el futuro que ya vivimos hoy

Imagen
  Multivac vive entre nosotros: una reflexión sobre Asimov, la IA en la actualidad ¿Qué pensaría Isaac Asimov si viera que hoy, en 2025, muchas personas tenemos conversaciones con inteligencias artificiales desde nuestros celulares? Como lectora de sus cuentos, no puedo evitar pensar en Multivac , esa supercomputadora que lo sabía todo y que respondía preguntas humanas durante generaciones. En los relatos de Asimov, solo unos pocos privilegiados podían acceder a ella. Hoy, podemos escribirle a una IA mientras tomamos un café. Y no solo eso:  responde con claridad, empatía, de manera graciosa o hasta reflexiona . ¿Acaso no estamos viviendo una de las visiones de su ciencia ficción? En muchas partes del cuento habla del multivac como un ente y como se conecta entre galaxias y como pueden llamarla desde un dispositivo llamarla desde un dispositivo de 5 cm. Este cuento habla de la historia de la relación de la humanidad con un computadora ,como empieza con que solo ciertos ing...

Como Programar en Pascal y Delphi, ejemplo calculadora en Delphi

Que tal amigos, bienvenidos a otra semana de nuestro blog, les quiero platicar acerca de un lenguaje de programación que se llama Pascal, fue creado por Niklaus Wirth entre 1968 y 1970, es un lenguaje enfocado a la programación estructurada, esto se refiere a que se crean funciones o subrutinas y utilizar criterios de selección con if y switch e iteraciones o ciclos con las sentencias for o while.

Pascal a mi parecer es muy sencillo de aprender yo lo aprendí cuando estaba en la Secundaria y me parece muy bueno, después en la Universidad en la materia de graficación el Académico que me dio clases que es un gran profesor y científico Manuel Martin Ortiz los ejercicios de la materia los realizábamos en Borland Delphi (versión Windows) que es ni mas ni menos que un entorno de desarrollo (programa para escribir programas) para Object Pascal o IDE , que es  entorno de desarrollo para la versión orientada a Objetos de Pascal y que permite generar software con ventanas o pantallas es decir lo hace más gráfico o visual (la explicación de la programación orientada a objetos la pueden ver en la siguiente liga Javascript)

Para este ejemplo vamos hacer una calculadora pero con una pantalla más amigable que el otro ejemplo que vimos con Progress.

Comencemos con el código 


unit Unit1;

interface


uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdNetworkCalculator;

type

  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Label2: TLabel;
    Label3: TLabel;
    Campo2: TEdit;
    Campo1: TEdit;
    Label4: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var

  Form1: TForm1;
  resultado: Double;
implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);

var
  A : Extended;
  B  : Extended;
begin
       try
           A :=   strtofloat(Campo1.Text)   ;
           B :=   strtofloat(Campo2.Text)   ;
           Edit1.Text := floattostr(A + B) ;
       Except
           on Exception : EConvertError do
           ShowMessage(Exception.Message);
       end;
end;

procedure TForm1.Button2Click(Sender: TObject);

var
  A : Extended;
  B  : Extended;
begin
       try
           A :=   strtofloat(Campo1.Text)   ;
           B :=   strtofloat(Campo2.Text)   ;
           Edit1.Text := floattostr(A - B) ;
       Except
           on Exception : EConvertError do
           ShowMessage(Exception.Message);
       end;

end;


procedure TForm1.Button4Click(Sender: TObject);

var
  A : Extended;
  B  : Extended;
begin
       try
           A :=   strtofloat(Campo1.Text)   ;
           B :=   strtofloat(Campo2.Text)   ;
           Edit1.Text := floattostr(A / B) ;
       Except
           on Exception : EConvertError do
           ShowMessage(Exception.Message);
       end;

end;


procedure TForm1.Button3Click(Sender: TObject);

var
  A : Extended;
  B  : Extended;
begin
       try
           A :=   strtofloat(Campo1.Text)   ;
           B :=   strtofloat(Campo2.Text)   ;
           Edit1.Text := floattostr(A * B) ;
       Except
           on Exception : EConvertError do
           ShowMessage(Exception.Message);
       end;

end;



end.

Explicación del código



Para programar en Pascal debemos seguir algunas normas, cada que terminemos una instrucción debemos colocar el signo de punto y coma (;) 
  • Los tipos de variables que podemos utilizar son:

Nombre Rango Bytes Tipo
char 8
ShortString
AnsiStrings
Widestrings
Byte 0 .. 255 1 Enteros
Shortint -128 .. 127 1 Enteros
Smallint -32768 .. 32767 2 Enteros
Word 0 .. 65535 2 Enteros
Integer smallint o longint 2 o 4 Enteros
Cardinal longword 4 Enteros
Longint -2147483648 .. 2147483647 4 Enteros
Longword 0..4294967295 4 Enteros
Int64 -9223372036854775808 .. 9223372036854775807 8 Enteros
QWord 0 .. 18446744073709551615 8 Enteros
Single 1.5E-45 .. 3.4E38 4 Decimales
Double 5.0E-324 .. 1.7E308 8 Decimales
Extended 1.9E-4932 .. 1.1E4932 10 Decimales
Comp -2E64+1 .. 2E63-1 8 Decimales
Currency -9.22337E+14 8 Decimales
Boolean 1 Lógicos
ByteBool 1 Lógicos
WordBool 2 Lógicos
LongBool 4 Lógicos

  • Cada objeto dentro de la pantalla tiene sus propias características por ejemplo un botón le puedes configurar el tamaño, la letra, el fondo y 




  • Cada que terminemos un segmento de programa debemos colocar end; y cuando es fin de un procedimiento o de todo el programa end.

procedure TForm1.Button3Click(Sender: TObject);
var
  A : Extended;
  B  : Extended;
begin
       try
           A :=   strtofloat(Campo1.Text)   ;
           B :=   strtofloat(Campo2.Text)   ;
           Edit1.Text := floattostr(A * B) ;
       Except
           on Exception : EConvertError do
           ShowMessage(Exception.Message);
       end;

end;


end.

Ejecución del Programa





Les dejó la liga para descargarlo


En lo personal creo que es muy buena opción para desarrollo de aplicaciones, porque una vez que terminas tu desarrollo, generas tu programa ejecutable y lo puedes distribuir sin tener que instalar nada más a menos que tu aplicación lo requiera y no entregas tus programas fuentes o códigos, si no solo el sistema. Tiene varias librerías para poder realizar conexiones con otros sistemas o hacer cosas muy complejas, tiene conectores para conexión de bases de datos, para crear WebService, toda la barra superior son las librerías que tiene




No se si sea un lenguaje muy popular, pero se que si hay empresas que lo utiliza, incluso si filtran en OCC también hay trabajos que requieren este software https://www.occ.com.mx/empleos/de-desarrollador-delphi/

Otro ejemplo de programación de Delphi en este blog 
https://www.programacionparatodos.com/2020/01/catalogos-cascada-en-delphi.html

Saludos, espero les haya parecido interesante este post y nos compartan. Hasta el próximo post.

No olvide compartirnos y seguirnos en este blog o en Facebook.

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

📊 Automatiza tu trabajo: Convierte tablas de Word a Excel con una macro

API de banxico para obtener tipo de cambio utilizando Javascript