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
- Entrada i Sortida Bàsiques
- Lectura i Escriptura de Fitxers
- Formatació de la Sortida
- Exercicis Pràctics
- 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;
- 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;
- 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;
- 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.
Curs de Programació en Ada
Mòdul 1: Introducció a Ada
Mòdul 2: Conceptes Bàsics
- Variables i Tipus de Dades
- Operadors i Expressions
- Estructures de Control
- Bucles en Ada
- Subprogrames: Procediments i Funcions
Mòdul 3: Tipus de Dades Avançats
Mòdul 4: Programació Modular
Mòdul 5: Concurrència i Programació en Temps Real
Mòdul 6: Temes Avançats
Mòdul 7: Millors Pràctiques i Optimització
- Estil de Codi i Millors Pràctiques
- Depuració i Proves
- Optimització del Rendiment
- Consideracions de Seguretat