• Domingo 22 de Diciembre de 2024, 16:54

Autor Tema:  Porke No Me Compila?  (Leído 1391 veces)

MaRRaldo

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Porke No Me Compila?
« en: Domingo 7 de Enero de 2007, 18:14 »
0
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

  • Miembro activo
  • **
  • Mensajes: 97
  • Nacionalidad: gt
    • Ver Perfil
    • http://robertux.wordpress.com
Re: Porke No Me Compila?
« Respuesta #1 en: Domingo 7 de Enero de 2007, 23:20 »
0
proba con este codigo

Código: Text
  1. program EIX_activitat1;
  2. uses
  3. CRT; {le cambié esto para que me corriera, es decir el  SysUtils}
  4.  
  5. type
  6. T_poli = RECORD
  7. grau: integer;
  8. coef: ARRAY [0..15] of real;
  9. end;
  10. var
  11. a,b,PoliGran,PoliPetit,s,m:T_poli;
  12. k:integer;
  13.  
  14.  
  15.  
  16.  
  17. procedure llegir_polinomi (VAR p:T_poli);
  18. var i:integer;
  19.  
  20. begin
  21. write('GRAU MAX POLINOMI: ');
  22. readln(p.grau); writeln;
  23.  
  24. for i:=0 to p.grau do
  25. begin
  26. write('Indrodueix el coeficient per a grau [',i,']: ');
  27. readln(p.coef[i]);
  28. end;
  29. end;
  30.  
  31.  
  32.  
  33.  
  34. procedure sumar_polinomi (VAR a,b,s:T_poli);
  35. var i:integer;
  36.  
  37. begin
  38. if a.grau>b.grau then
  39. begin
  40. PoliGran:= a;
  41. PoliPetit:= b;
  42. end
  43. else
  44. begin
  45. PoliGran:= b;
  46. PoliPetit:= a;
  47. end;
  48. for i:=0 to PoliGran.grau do
  49. begin
  50. s.coef[i] := PoliGran.coef[i] + PoliPetit.coef[i];
  51. end;
  52. writeln; writeln;
  53. write('EL RESULTAT DE LA SUMA ES:'); writeln;
  54. writeln;
  55. for i:=0 to PoliGran.grau do
  56. begin
  57. writeln('GRAU [',i,']: ',s.coef[i]:0:0,'');
  58. end;
  59. end;
  60.  
  61.  
  62.  
  63.  
  64. procedure multiplicar_polinomi (VAR a,b,m:T_poli);
  65. var i,j:integer;
  66. begin
  67. if a.grau>b.grau then
  68. begin
  69. PoliGran:= a;
  70. PoliPetit:= b;
  71. end
  72. else
  73. begin
  74. PoliGran:= b;
  75. PoliPetit:= a;
  76. end;
  77.  
  78. m.coef[i+j]:=0;
  79. for i:=0 to PoliPetit.grau do
  80. for j:=0 to PoliGran.grau do
  81. begin
  82. m.coef[i+j]:=m.coef[i+j]+(PoliPetit.coef[i]*PoliGran.coef[j]);
  83. end;
  84.  
  85. for i:=0 to PoliGran.grau do
  86. begin
  87. writeln('GRAU [',i,']: ',m.coef[i]:0:0,'');
  88. end;
  89. end;
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98. var
  99. opcio:integer;
  100.  
  101. begin
  102. writeln;
  103. writeln('OPERACIONS AMB POLINOMIS');
  104. writeln;
  105. writeln;
  106. {begin}            {le quite el begin que estaba aqui}
  107. repeat
  108. writeln ('MENU:');
  109. writeln ('Llegir polinomi');
  110. writeln ('Sumar polinomi');
  111. writeln ('mulitiplicar polinomi');
  112. writeln ('sortir del programa');
  113. readln (opcio);
  114. case (opcio) of
  115. 1:writeln ('has escollit llegir poli');
  116. 2:writeln ('has escollit sumar poli');
  117. 3:writeln ('has escollit multiplicar poli');
  118. 0:writeln ('has escollit acabar');
  119. else
  120. writeln ('error');
  121. end;
  122. readln;                          {le agrege&#59;}    
  123. until opcio = 0;              {le agrege&#59;}
  124. readln;
  125. end.
  126.  
  127.  
  128.  
Un dia sin sol es como, ya sabes, ... noche

Saiyan1

  • Miembro activo
  • **
  • Mensajes: 54
    • Ver Perfil
    • http://www.anaprog.com.ar
Re: Porke No Me Compila?
« Respuesta #2 en: Lunes 8 de Enero de 2007, 15:43 »
0
Código: Text
  1. else
  2. writeln ('error');
  3. end;
  4. readln
  5. until opcio = 0
  6. readln;
  7. end.
  8.  

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
  1. readln;
  2. until opcio = 0;
  3. readln;
  4. end.
  5.  


Saludos
----------------------
Gustavo Insaurralde
Foro de Analista Programador