{$mode objfpc}{$H-}{$R+}{$T+}{$Q+}{$V+}{$D+}{$X-}{$warnings on}

program area_triangulo_fichero;

function area_triangulo(base,altura:real):real;
begin
    result := base * altura;
end;

procedure escribe_area_pantalla(base, altura, area: real);
begin
    write('Base:');
    write(Base:0:3);
    write(' altura: ');
    writeln( Altura:0:3);
    write('Área del triángulo: ');
    writeln(area:0:3);
end;


procedure escribe_area_fichero(base, altura, area: real; nombre_fichero:string);
var
    fichero : text;
begin
    assign(fichero, nombre_fichero);   // Ponemos nombre al fichero
    rewrite(fichero);               // Apertura en modo escritura

    write(fichero, 'Base:');
    write(fichero, Base:0:3);
    write(fichero, ' altura: ');
    writeln(fichero, Altura:0:3);
    write(fichero, 'Área del triángulo: ');
    writeln(fichero, area:0:3);

    close(fichero)
end;


const
    Base = 12.43;
    Altura = 5.91;
    NombreFichero = 'area_triangulo.txt';
var
    area : real;

begin
    area := area_triangulo(base, altura);
    escribe_area_pantalla(base, altura, area);
    escribe_area_fichero(base, altura, area, NombreFichero);
end.
