Código de Pascal/Turbo Pascal - Ejemplo de recursividad

Ejemplo de recursividadgráfica de visualizaciones


Pascal/Turbo Pascal

estrellaestrellaestrellaestrellaestrella(3)
Publicado el 12 de Marzo del 2002 por Gonzalo
18.264 visualizaciones desde el 12 de Marzo del 2002. Una media de 28 por semana
Utilizando la recursividad, dibuja una estrella.

Versión 1
estrellaestrellaestrellaestrellaestrella(3)

Publicado el 12 de Marzo del 2002gráfica de visualizaciones de la versión: Versión 1
18.265 visualizaciones desde el 12 de Marzo del 2002. Una media de 28 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
procedure estrella(x,y,n,r,rMin,color:integer; reduc,alfa:real);
var
  i,x2,y2:integer;
  inc:real;
 
  procedure rama(x,y:integer; r,alfa:real);
  var
    i,x2,y2:integer;
    inc:real;
 
  begin
    inc:=alfa;
    for i:=1 to n-1 do
    begin
      x2:=round(x+r*cos(inc));
      y2:=round(y+r*sin(inc));
      draw(x,y,x2,y2,color);
      if r>rMin then rama(x2,y2,r*reduc,inc-(n-2)/n*pi);
      inc:=inc+2*pi/n;
    end;
  end;
 
begin
  inc:=alfa;
  for i:=1 to n do
  begin
    x2:=round(x+r*cos(inc));
    y2:=round(y+r*sin(inc));
    draw(x,y,x2,y2,color);
    rama(x2,y2,r*reduc,inc-(n-2)/n*pi);
    inc:=inc+2*pi/n;
  end;
end;
 
const
  reduc:array[3..6] of real=(0.63,0.5,0.38,0.32);
  rMin:array[3..6] of byte=(1,2,1,1);
var
  i:integer;
  tecla:char;
 
BEGIN
  for i:=3 to 6 do
  begin
    graphColorMode;
    palette(2);
    estrella(160,100,i,45,rMin[i],3,reduc[i],0.1);
    read(kbd,tecla);
  end;
  textMode;
END.



Comentarios sobre la versión: Versión 1 (3)

Javier Medina
14 de Octubre del 2008
estrellaestrellaestrellaestrellaestrella
FALTA LA FUNCION O PROCEDIMIENTO 'DRAW'!!!! no entiendo el codigo!!!
Responder
Juan Velasquez
11 de Noviembre del 2009
estrellaestrellaestrellaestrellaestrella
No se si ese draw es una funtion, procedure o entraria como variable y si entra como varialble, cual seria su determinacion. ?¿?¿? esta muy bien pero que paso hay ?
Responder
Paulo
18 de Abril del 2010
estrellaestrellaestrellaestrellaestrella
una pregunta, si el codigo es diferente para usarlo en FreePascal por q me bota error!!!!!...
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s143