Skip to content

Instantly share code, notes, and snippets.

@HiroNakamura
Created September 29, 2024 02:14
Show Gist options
  • Save HiroNakamura/3b472b5d8909e6528e5ace8d3fd96de3 to your computer and use it in GitHub Desktop.
Save HiroNakamura/3b472b5d8909e6528e5ace8d3fd96de3 to your computer and use it in GitHub Desktop.
Programando en ADA

ADA

Programando en ADA

Comandos

gprbuild --version
gprbuild programa.adb
programa.exe
with Ada.Text_IO; -- Librería para entrada/salida de texto
with Ada.Command_Line; -- Librería para manejar argumentos de línea de comandos
with Ada.Directories; -- Librería para manejar archivos y directorios
procedure Cargar_Archivo is
Archivo : String := "datos.txt";
Existe : Boolean;
-- Procedimiento para cargar el archivo (simulación)
procedure CargaArchivo(File : String) is
begin
Ada.Text_IO.Put_Line("Archivo cargado a la ruta temporal: " & File);
end CargaArchivo;
-- Procedimiento para validar la carga del archivo (simulación)
procedure ValidarCarga(File : String) is
begin
Ada.Text_IO.Put_Line("Validación exitosa del archivo: " & File);
end ValidarCarga;
begin
-- Verifica si hay argumentos de línea de comandos
if Ada.Command_Line.Argument_Count < 1 then
Ada.Text_IO.Put_Line("Archivo NULL!!");
return;
end if;
-- Obtiene el nombre del archivo de la línea de comandos
Archivo := Ada.Command_Line.Argument(1);
-- Verifica si el archivo existe
Existe := Ada.Directories.Exists(Archivo);
if Existe then
Ada.Text_IO.Put_Line("Subiendo archivo...");
CargaArchivo(Archivo);
Ada.Text_IO.Put_Line("Validando...");
ValidarCarga(Archivo);
else
Ada.Text_IO.Put_Line("El archivo no existe");
end if;
end Cargar_Archivo;
with Ada.Text_IO;
procedure Holamundo is
begin
-- Imprime "Hola, mundo!" en pantalla
Ada.Text_IO.Put_Line ("Hola, mundo!");
end Holamundo;
with Ada.Text_IO;
with Ada.Command_Line;
procedure My_Hola_Mundo is
begin
-- Toma valores de la línea de comandos
for Next in 1 .. Ada.Command_Line.Argument_Count loop
Ada.Text_IO.Put_Line(Ada.Command_Line.Argument(Next));
end loop;
Ada.Text_IO.Put_Line("Hola, mundo desde Ada Lang!!");
end My_Hola_Mundo;
with Ada.Text_IO; -- Librería para entrada/salida estándar
with Ada.Integer_Text_IO; -- Librería para entrada/salida de enteros
with Ada.Float_Text_IO; -- Librería para entrada/salida de números de punto flotante
procedure Pulsaciones is
Edad : Integer := 0;
Genero : Character := ' ';
Pulsaciones : Float := 0.0;
begin
-- Entrada de datos
Ada.Text_IO.Put_Line("Introduce tu edad: ");
Ada.Integer_Text_IO.Get(Edad);
Ada.Text_IO.Put_Line("Introduce tu genero [M o F]: ");
Ada.Text_IO.Get(Genero);
-- Cálculo de pulsaciones según el género
if Genero = 'F' or Genero = 'f' then
Pulsaciones := Float(220 - Edad) / 10.0;
elsif Genero = 'M' or Genero = 'm' then
Pulsaciones := Float(210 - Edad) / 10.0;
else
Ada.Text_IO.Put_Line("Genero no valido.");
return; -- Termina el programa si el género no es válido
end if;
-- Mostrar resultados
Ada.Text_IO.Put("Tu genero es: ");
Ada.Text_IO.Put(Genero);
Ada.Text_IO.New_Line;
Ada.Text_IO.Put("No. de pulsaciones: ");
Ada.Float_Text_IO.Put(Pulsaciones, Aft => 2); -- Muestra el valor con 2 decimales
Ada.Text_IO.New_Line;
end Pulsaciones;
with Ada.Text_IO; use Ada.Text_IO;
procedure Verificar_Votacion is
edad : Integer := 16;
begin
if edad > 18 then
Put_Line("Puedes votar");
else
Put_Line("No puedes votar");
end if;
end Verificar_Votacion;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment