• Viernes 19 de Abril de 2024, 18:26

Autor Tema:  Tengo Un Problema Con Mi Codigo  (Leído 1338 veces)

althenna

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Tengo Un Problema Con Mi Codigo
« en: Domingo 29 de Mayo de 2005, 22:06 »
0
resultado....

no se por que...

Código: Text
  1.  
  2. procedure THomogeneas.Button1Click(Sender: TObject);
  3. var
  4. f1 :string;
  5.  
  6. begin
  7. p:=1;
  8. Y1:=strtofloat(edit1.Text);
  9. Y2:=strtofloat(edit2.Text);
  10. Y3:=strtofloat(edit3.Text);
  11. Y4:=strtofloat(edit4.Text);
  12. Y5:=strtofloat(edit5.Text);
  13. Y6:=strtofloat(edit6.Text);
  14. Y7:=strtofloat(edit7.Text);
  15.  
  16.  
  17.  
  18.   While not(r6 =0) do
  19.      Begin
  20.        p:=p+1;
  21.          r0:=Y1;
  22.  
  23.         r1:=(p*r0)+y2;
  24.         r2:=(p*r1)+y3;
  25.         r3:=(p*r2)+y4;
  26.         r4:=(p*r3)+y5;
  27.         r5:=(p*r4)+y6;
  28.         r6:=(p*r5)+y7;
  29.  
  30.        if (p=11) then
  31.           Begin
  32.             p:= p-22;
  33.           End;
  34.  
  35.   End; //hile
  36.  
  37. edit8.Text:= floattostr(result);
  38. res.Caption:=floattostr(p);
  39.  
  40.  
  41. end; //botton
  42.  
  43.  

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Tengo Un Problema Con Mi Codigo
« Respuesta #1 en: Lunes 30 de Mayo de 2005, 00:57 »
0
El código es un HORROR, existen Vectores.
Debería ser algo como lo siguiente

Código: Text
  1.  
  2. //Todas las indicaciones vienen basadas en el código de las librerías Estand. de Del.
  3. //pon palabras reservadas con minúsculas, ya se notan por color
  4. //No hagas espacios de más despues de while
  5. var
  6.    i: Integer;  // la agregé yo
  7. while r6 <>0  do
  8. begin
  9.   p:=p+1;
  10.   r0:=Y1;
  11.   for i := 1 to 6 do             //comienza un bucle de 6 ejecuciones
  12.     r[i]:=(p*r[i-1])+y[i+1]; //reemplaza a 6 lineas tuyas
  13.   if (p=11) then p:= p-22;
  14. end; //while
  15.  
  16.  

Corregí usando vectores en lo posible y explica tambien que es lo que hace tu codigo  y que debería devolver

Citar
While not(r6 =0) do
¿Me pregunto si esto se termina en algun momento?
por cierto, da lo mismo pero..... en vez de hacer "not =" se pueda hacer "<>".
Citar
while r6 <> 0 do

 :hola: