En aquest tema, explorarem les operacions d'entrada i sortida (I/O) en Ada. Aprendrem com llegir dades des de l'entrada estàndard (teclat) i escriure dades a la sortida estàndard (pantalla). També veurem com treballar amb fitxers per a operacions d'entrada i sortida.

Continguts

  1. Entrada i Sortida Bàsiques
  2. Lectura i Escriptura de Fitxers
  3. Formatació de la Sortida
  4. Exercicis Pràctics

  1. Entrada i Sortida Bàsiques

Entrada Estàndard

Per llegir dades des de l'entrada estàndard, utilitzem el paquet Ada.Text_IO. Aquí teniu un exemple de com llegir una cadena de text des del teclat:

with Ada.Text_IO; use Ada.Text_IO;

procedure Read_Input is
   Input : String (1 .. 100);
   Last  : Natural;
begin
   Put("Introdueix una cadena de text: ");
   Get_Line(Input, Last);
   Put_Line("Has introduït: " & Input(1 .. Last));
end Read_Input;

Sortida Estàndard

Per escriure dades a la sortida estàndard, també utilitzem el paquet Ada.Text_IO. Aquí teniu un exemple de com escriure una cadena de text a la pantalla:

with Ada.Text_IO; use Ada.Text_IO;

procedure Write_Output is
begin
   Put_Line("Hola, món!");
end Write_Output;

  1. Lectura i Escriptura de Fitxers

Obrir i Tancar Fitxers

Per treballar amb fitxers, utilitzem el paquet Ada.Text_IO. Aquí teniu un exemple de com obrir i tancar un fitxer:

with Ada.Text_IO; use Ada.Text_IO;

procedure File_IO is
   File : File_Type;
begin
   -- Obrir el fitxer en mode d'escriptura
   Create(File, Out_File, "output.txt");
   
   -- Escriure al fitxer
   Put_Line(File, "Aquesta és una línia de text.");
   
   -- Tancar el fitxer
   Close(File);
end File_IO;

Lectura de Fitxers

Per llegir dades des d'un fitxer, utilitzem el procediment Get_Line. Aquí teniu un exemple de com llegir una línia de text des d'un fitxer:

with Ada.Text_IO; use Ada.Text_IO;

procedure Read_File is
   File  : File_Type;
   Line  : String (1 .. 100);
   Last  : Natural;
begin
   -- Obrir el fitxer en mode de lectura
   Open(File, In_File, "input.txt");
   
   -- Llegir una línia de text
   Get_Line(File, Line, Last);
   Put_Line("Línia llegida: " & Line(1 .. Last));
   
   -- Tancar el fitxer
   Close(File);
end Read_File;

  1. Formatació de la Sortida

Ada permet formatar la sortida de manera precisa. Aquí teniu un exemple de com formatar números amb decimals:

with Ada.Text_IO; use Ada.Text_IO;
with Ada.Float_Text_IO; use Ada.Float_Text_IO;

procedure Format_Output is
   Number : Float := 123.456;
begin
   Put("El número formatat és: ");
   Put(Number, Fore => 7, Aft => 2, Exp => 0);
   New_Line;
end Format_Output;

  1. Exercicis Pràctics

Exercici 1: Lectura i Escriptura de Text

Escriu un programa que llegeixi una línia de text des del teclat i l'escrigui a un fitxer anomenat output.txt.

Solució

with Ada.Text_IO; use Ada.Text_IO;

procedure Exercise_1 is
   Input : String (1 .. 100);
   Last  : Natural;
   File  : File_Type;
begin
   -- Llegir una línia de text des del teclat
   Put("Introdueix una cadena de text: ");
   Get_Line(Input, Last);
   
   -- Obrir el fitxer en mode d'escriptura
   Create(File, Out_File, "output.txt");
   
   -- Escriure la línia de text al fitxer
   Put_Line(File, Input(1 .. Last));
   
   -- Tancar el fitxer
   Close(File);
   
   Put_Line("La cadena de text s'ha escrit a output.txt");
end Exercise_1;

Exercici 2: Lectura de Fitxer i Formatació

Escriu un programa que llegeixi un número decimal des d'un fitxer anomenat input.txt i el mostri a la pantalla formatat amb 2 decimals.

Solució

with Ada.Text_IO; use Ada.Text_IO;
with Ada.Float_Text_IO; use Ada.Float_Text_IO;

procedure Exercise_2 is
   File   : File_Type;
   Number : Float;
begin
   -- Obrir el fitxer en mode de lectura
   Open(File, In_File, "input.txt");
   
   -- Llegir el número decimal
   Get(File, Number);
   
   -- Tancar el fitxer
   Close(File);
   
   -- Mostrar el número formatat a la pantalla
   Put("El número llegit és: ");
   Put(Number, Fore => 0, Aft => 2, Exp => 0);
   New_Line;
end Exercise_2;

Conclusió

En aquesta secció, hem après com realitzar operacions bàsiques d'entrada i sortida en Ada, incloent la lectura i escriptura de dades des de i cap a la sortida estàndard i fitxers. També hem vist com formatar la sortida per mostrar dades de manera precisa. Aquests conceptes són fonamentals per a qualsevol aplicació que necessiti interactuar amb l'usuari o amb fitxers externs.

© Copyright 2024. Tots els drets reservats