domingo, 30 de octubre de 2022

Java: suma de dos números enteros

Siendo Java un lenguaje tan polifacético se me ocurren, como mínimo, unas cinco formas de sumar dos números. La siguiente es, a mi parecer, la más sencilla.

import java.util.Scanner;

public class Suma {
    public static void main( String[] args ) {
        int n1, n2, suma;
        Scanner teclado = new Scanner( System.in );
        System.out.print( "Dime primer numero: " );
        n1 = teclado.nextInt();
        System.out.print( "Dime segundo numero: " );
        n2 = teclado.nextInt();
        suma = n1 + n2;
        System.out.println( "La suma de " + n1 + " mas " + n2 + " es " + suma + "." );
    }
}

sábado, 29 de octubre de 2022

Prolog: torres de Hanoi

Prolog es un lenguaje de programación no procedimental. La solución al problema de las torres de Hanoi es un excelente ejemplo de la clase de problemas que se pueden resolver usando este lenguaje. El siguiente código muestra la solución para torres con tres discos. El código se probó usando GNU Prolog 1.4.4.

:- initialization(ppal).
ppal :- hanoi(3,1,2,3).

hanoi(0,_,_,_).

hanoi(N,Origen,Auxiliar,Destino):- N1 is N-1,
hanoi(N1,Origen,Destino,Auxiliar),
mostrar_pasos(Origen,Destino),
hanoi(N1,Auxiliar,Origen,Destino).

mostrar_pasos(Origen,Destino):-
write(' desde '),
write(Origen),
write(' hasta '),
write(Destino),
write('\n'). 

miércoles, 26 de octubre de 2022

Logo: curva de Hilbert

Otro lenguaje de programación que tuvo su pico de popularidad hace ya muchos años es Logo. Debido al enfoque del lenguaje no es apropiado mostrar cómo se hace la suma de dos número (es más, creo que no es posible hacer dicho programa en este lenguaje). En vez de ello presento el código fuente de un programa que realiza el interesante dibujo de la curva de Hilbert.

cs 
st

to hilbert :a :p :n
  if n < 1 [ stop ]
  lt p*90
  hilbert (a) (-p) n-1
  fd a
  rt p*90
  hilbert a p n-1
  fd a
  hilbert a p n-1
  rt p*90
  fd a
  hilbert (a) (-p) n-1
  lt p*90
  wait 0.1 ; 100 ms
end

pu 
setpos [200 (-200)] 
pd
hilbert 15 1 5
ht
Curva de Hilbert

martes, 25 de octubre de 2022

Pascal: suma de dos números

Pascal es un lenguaje de programación que tuvo su punto más alto de popularidad hace ya varios años. Para mi fue un poco dificil de programar debido a su rigidez. El siguiente programa suma dos números de tipo entero.

program suma;

uses
 crt; 

Var
 num1, num2, total: Integer;

begin
 writeln('Ingrese el primer numero:');
 readln(num1);
 writeln('Ingrese el segundo numero:');
 readln(num2);
 total:= num1+num2;
 writeln('El total de la suma es: ',total);
end.

lunes, 24 de octubre de 2022

FoxPro: suma de dos números


FoxPro 2.6 for DOS tiene un lugar especial en mi corazón. Si bien ya conocía algo acerca de lenguajes como Logo, BASIC y Pascal, FoxPro fue el lenguaje en el que realicé mis primeros programas. Hace años que no lo usaba, pero hoy he recibido una dosis de nostalgia al crear el programa de suma de dos números en su versión colorida para el sistema DOS.

clear
num1 = 0
num2 = 0
@ 2 , 2 say "Primer número: "
@ 2,20 get num1
@ 6 , 2 say "Segundo número: "
@ 6,20 get num2
read
suma = num1 + num2
@ 8 , 2 say "La suma es: "
@ 8 , 20 say suma