with Ada.Strings .Unbounded ;
with Text_IO;
use Ada.Strings .Unbounded ;
procedure Coordenates is
function Custom_Binary( letter: Character) return Unbounded_String is
-- Tendrás que "Execute" el programa / "Excecute" me
value, reminder: Integer;
binary: Unbounded_String;
begin
value := Character'Pos( letter) ;
while value /= 0 loop
reminder := value mod 2 ;
value := value / 2 -- (òÓ)
binary := Integer'Image( reminder) & binary;
Delete( binary, 1 , 1 ) ;
end loop ;
if Length( binary) = 6 then
binary := Integer'Image( 0 ) & binary;
Delete( binary, 1 , 1 ) ;
end if ;
return ( binary) ;
end Custom_Binary;
a, b, c: Unbounded_String;
begin
a := To_Unbounded_String( "XXXX" ) ; -- respuesta A / response A
b := To_Unbounded_String( "XXXXXXXXXX" ) ; -- respuesta B / response B
c := To_Unbounded_String( "X" ) ; -- respuesta C / response C
Text_IO.Put ( "El mensaje de Ada a Alan" ) ;
Text_IO.Put ( " / " ) -- \(^-^)/
Text_IO.Put_Line ( "The message from Ada to Alan:" ) ;
Text_IO.Put ( To_String( Custom_Binary( '6 ') ) ) ;
Text_IO.Put ( To_String( Custom_Binary( 'b') ) ) ;
if a = "1815" then
Text_IO.Put ( "000" ) ;
end if ;
Text_IO.Put ( To_String( Custom_Binary( 'a') ) ) ;
Text_IO.Put ( To_String( Custom_Binary( 'H') ) ) ;
if b = "BABBAGE" then
Text_IO.Put ( "111" ) ;
end if ;
Text_IO.Put ( "000" ) ;
Text_IO.Put ( To_String( Custom_Binary( 'M') ) ) ;
if c = "G" then
Text_IO.Put ( "10111101" ) ;
end if ;
end Coordenates;
d2l0aCBBZGEuU3RyaW5ncy5VbmJvdW5kZWQ7CndpdGggVGV4dF9JTzsKCnVzZSBBZGEuU3RyaW5ncy5VbmJvdW5kZWQ7Cgpwcm9jZWR1cmUgQ29vcmRlbmF0ZXMgaXMKICAgIGZ1bmN0aW9uIEN1c3RvbV9CaW5hcnkobGV0dGVyOiBDaGFyYWN0ZXIpIHJldHVybiBVbmJvdW5kZWRfU3RyaW5nIGlzCiAgICAgICAgLS0gVGVuZHLDoXMgcXVlICJFeGVjdXRlIiBlbCBwcm9ncmFtYSAvICJFeGNlY3V0ZSIgbWUKICAgICAgICB2YWx1ZSwgcmVtaW5kZXI6IEludGVnZXI7CiAgICAgICAgYmluYXJ5OiBVbmJvdW5kZWRfU3RyaW5nOwogICAgICAgIGJlZ2luCiAgICAgICAgICAgIHZhbHVlIDo9IENoYXJhY3RlcidQb3MobGV0dGVyKTsKICAgICAgICAgICAgd2hpbGUgdmFsdWUgLz0gMCBsb29wCiAgICAgICAgICAgICAgICByZW1pbmRlciA6PSB2YWx1ZSBtb2QgMjsKICAgICAgICAgICAgICAgIHZhbHVlIDo9IHZhbHVlIC8gMiAgLS0gKMOyw5MpCiAgICAgICAgICAgICAgICBiaW5hcnkgOj0gSW50ZWdlcidJbWFnZShyZW1pbmRlcikgJiBiaW5hcnk7CiAgICAgICAgICAgICAgICBEZWxldGUoYmluYXJ5LCAxLCAxKTsKICAgICAgICAgICAgZW5kIGxvb3A7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiBMZW5ndGgoYmluYXJ5KSA9IDYgdGhlbgogICAgICAgICAgICAgICAgYmluYXJ5IDo9IEludGVnZXInSW1hZ2UoMCkgJiBiaW5hcnk7CiAgICAgICAgICAgICAgICBEZWxldGUoYmluYXJ5LCAxLCAxKTsKICAgICAgICAgICAgZW5kIGlmOwogICAgICAgICAgICAKICAgICAgICAgICAgcmV0dXJuKGJpbmFyeSk7CiAgICAgICAgZW5kIEN1c3RvbV9CaW5hcnk7CgogICAgYSwgYiwgYzogVW5ib3VuZGVkX1N0cmluZzsKICAgIGJlZ2luCiAgICAgICAgYSA6PSBUb19VbmJvdW5kZWRfU3RyaW5nKCJYWFhYIik7ICAtLSByZXNwdWVzdGEgQSAvIHJlc3BvbnNlIEEKICAgICAgICBiIDo9IFRvX1VuYm91bmRlZF9TdHJpbmcoIlhYWFhYWFhYWFgiKTsgIC0tIHJlc3B1ZXN0YSBCIC8gcmVzcG9uc2UgQgogICAgICAgIGMgOj0gVG9fVW5ib3VuZGVkX1N0cmluZygiWCIpOyAgLS0gcmVzcHVlc3RhIEMgLyByZXNwb25zZSBDCiAgICAgICAgCiAgICAgICAgVGV4dF9JTy5QdXQoIkVsIG1lbnNhamUgZGUgQWRhIGEgQWxhbiIpOwogICAgICAgIFRleHRfSU8uUHV0KCIgLyAiKSAgLS0gXCheLV4pLwogICAgICAgIFRleHRfSU8uUHV0X0xpbmUoIlRoZSBtZXNzYWdlIGZyb20gQWRhIHRvIEFsYW46Iik7CiAgICAgICAgCiAgICAgICAgVGV4dF9JTy5QdXQoVG9fU3RyaW5nKEN1c3RvbV9CaW5hcnkoJzYnKSkpOwogICAgICAgIFRleHRfSU8uUHV0KFRvX1N0cmluZyhDdXN0b21fQmluYXJ5KCdiJykpKTsKICAgICAgICBpZiBhID0gIjE4MTUiIHRoZW4KICAgICAgICAgICAgVGV4dF9JTy5QdXQoIjAwMCIpOwogICAgICAgIGVuZCBpZjsKICAgICAgICBUZXh0X0lPLlB1dChUb19TdHJpbmcoQ3VzdG9tX0JpbmFyeSgnYScpKSk7CiAgICAgICAgVGV4dF9JTy5QdXQoVG9fU3RyaW5nKEN1c3RvbV9CaW5hcnkoJ0gnKSkpOwogICAgICAgIGlmIGIgPSAiQkFCQkFHRSIgdGhlbgogICAgICAgICAgICBUZXh0X0lPLlB1dCgiMTExIik7CiAgICAgICAgZW5kIGlmOwogICAgICAgIFRleHRfSU8uUHV0KCIwMDAiKTsKICAgICAgICBUZXh0X0lPLlB1dChUb19TdHJpbmcoQ3VzdG9tX0JpbmFyeSgnTScpKSk7CiAgICAgICAgaWYgYyA9ICJHIiB0aGVuCiAgICAgICAgICAgIFRleHRfSU8uUHV0KCIxMDExMTEwMSIpOwogICAgICAgIGVuZCBpZjsKICAgIGVuZCBDb29yZGVuYXRlczs=
compilation info
x86_64-linux-gnu-gcc-8 -c -pipe -O2 test.adb
test.adb:6:11: warning: file name does not match unit name, should be "coordenates.adb"
test.adb:15:35: missing ";"
test.adb:35:27: missing ";"
x86_64-linux-gnu-gnatmake-8: "test.adb" compilation error
stdout