Programación General > Pascal

 Porke No Me Compila?

(1/1)

MaRRaldo:
program EIX_activitat1;
{$APPTYPE CONSOLE}
uses
  SysUtils;

type
        T_poli = RECORD
        grau: integer;
        coef: ARRAY [0..15] of real;
        end;
var
        a,b,PoliGran,PoliPetit,s,m:T_poli;
        k:integer;




procedure llegir_polinomi (VAR p:T_poli);
var i:integer;

begin
write('GRAU MAX POLINOMI: ');
readln(p.grau); writeln;

for i:=0 to p.grau do
        begin
        write('Indrodueix el coeficient per a grau [',i,']: ');
        readln(p.coef);
        end;
end;




procedure sumar_polinomi (VAR a,b,s:T_poli);
var i:integer;

begin
if a.grau>b.grau then
                begin
                        PoliGran:= a;
                        PoliPetit:= b;
                        end
                                else
                                        begin
                                        PoliGran:= b;
                                        PoliPetit:= a;
                                        end;
for i:=0 to PoliGran.grau do
        begin
        s.coef := PoliGran.coef + PoliPetit.coef;
        end;
                writeln; writeln;
                write('EL RESULTAT DE LA SUMA ES:'); writeln;
                writeln;
                for i:=0 to PoliGran.grau do
                begin
                writeln('GRAU [',i,']: ',s.coef:0:0,'');
        end;
end;




procedure  multiplicar_polinomi (VAR a,b,m:T_poli);
var i,j:integer;
begin
if a.grau>b.grau then
                begin
                        PoliGran:= a;
                        PoliPetit:= b;
                        end
                                else
                                        begin
                                        PoliGran:= b;
                                        PoliPetit:= a;
                                        end;

        m.coef[i+j]:=0;
        for i:=0 to PoliPetit.grau do
                for j:=0 to PoliGran.grau do
                begin
                m.coef[i+j]:=m.coef[i+j]+(PoliPetit.coef*PoliGran.coef[j]);
                end;

        for i:=0 to PoliGran.grau do
        begin
        writeln('GRAU [',i,']: ',m.coef:0:0,'');
        end;
        end;








var
opcio:integer;

begin
writeln;
writeln('OPERACIONS AMB POLINOMIS');
writeln;
writeln;

begin
    repeat
      writeln ('MENU:');
      writeln ('Llegir polinomi');
      writeln ('Sumar polinomi');
      writeln ('mulitiplicar polinomi');
      writeln ('sortir del programa');
      readln (opcio);
      case (opcio) of
        1:writeln ('has escollit llegir poli');
        2:writeln ('has escollit sumar poli');
        3:writeln ('has escollit multiplicar poli');
        0:writeln ('has escollit acabar');
        else
          writeln ('error');
      end;
      readln
    until opcio = 0
readln;
end.


me da un error en readln; y en el end. final, alguna ayuda plz

robertogt:
proba con este codigo


--- Código: Text ---program EIX_activitat1;usesCRT; {le cambié esto para que me corriera, es decir el  SysUtils} typeT_poli = RECORDgrau: integer;coef: ARRAY [0..15] of real;end;vara,b,PoliGran,PoliPetit,s,m:T_poli;k:integer;    procedure llegir_polinomi (VAR p:T_poli);var i:integer; beginwrite('GRAU MAX POLINOMI: ');readln(p.grau); writeln; for i:=0 to p.grau dobeginwrite('Indrodueix el coeficient per a grau [',i,']: ');readln(p.coef[i]);end;end;    procedure sumar_polinomi (VAR a,b,s:T_poli);var i:integer; beginif a.grau>b.grau thenbeginPoliGran:= a;PoliPetit:= b;endelsebeginPoliGran:= b;PoliPetit:= a;end;for i:=0 to PoliGran.grau dobegins.coef[i] := PoliGran.coef[i] + PoliPetit.coef[i];end;writeln; writeln;write('EL RESULTAT DE LA SUMA ES:'); writeln;writeln;for i:=0 to PoliGran.grau dobeginwriteln('GRAU [',i,']: ',s.coef[i]:0:0,'');end;end;    procedure multiplicar_polinomi (VAR a,b,m:T_poli);var i,j:integer;beginif a.grau>b.grau thenbeginPoliGran:= a;PoliPetit:= b;endelsebeginPoliGran:= b;PoliPetit:= a;end; m.coef[i+j]:=0;for i:=0 to PoliPetit.grau dofor j:=0 to PoliGran.grau dobeginm.coef[i+j]:=m.coef[i+j]+(PoliPetit.coef[i]*PoliGran.coef[j]);end; for i:=0 to PoliGran.grau dobeginwriteln('GRAU [',i,']: ',m.coef[i]:0:0,'');end;end;        varopcio:integer; beginwriteln;writeln('OPERACIONS AMB POLINOMIS');writeln;writeln;{begin}            {le quite el begin que estaba aqui}repeatwriteln ('MENU:');writeln ('Llegir polinomi');writeln ('Sumar polinomi');writeln ('mulitiplicar polinomi');writeln ('sortir del programa');readln (opcio);case (opcio) of1:writeln ('has escollit llegir poli');2:writeln ('has escollit sumar poli');3:writeln ('has escollit multiplicar poli');0:writeln ('has escollit acabar');elsewriteln ('error');end;readln;                          {le agrege&#59;}     until opcio = 0;              {le agrege&#59;}readln;end.   

Saiyan1:

--- Código: Text ---elsewriteln ('error');end;readlnuntil opcio = 0readln;end. 
en esta ultima parte de tu codigo

no lei nada del codigo.. me fie en lo que describiste del error que comentas...

te falta punto y coma despues del readln
y otro punto y coma despues de until opcio = 0

o sea que te quedaría


--- Código: Text ---readln;until opcio = 0;readln;end. 

Saludos

Navegación

[0] Índice de Mensajes

Ir a la versión completa