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

sin imagen de perfil

Ejemplo de recursividadgráfica de visualizaciones


Pascal/Turbo Pascal

Publicado el 12 de Marzo del 2002 por Gonzalo (3 códigos)
19.426 visualizaciones desde el 12 de Marzo del 2002
Utilizando la recursividad, dibuja una estrella.

Versión 1
estrellaestrellaestrellaestrellaestrella(4)

Publicado el 12 de Marzo del 2002gráfica de visualizaciones de la versión: Versión 1
19.427 visualizaciones desde el 12 de Marzo del 2002
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 (4)

14 de Octubre del 2008
estrellaestrellaestrellaestrellaestrella
FALTA LA FUNCION O PROCEDIMIENTO 'DRAW'!!!! no entiendo el codigo!!!
Responder
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
18 de Abril del 2010
estrellaestrellaestrellaestrellaestrella
una pregunta, si el codigo es diferente para usarlo en FreePascal por q me bota error!!!!!...
Responder
13 de Abril del 2019
estrellaestrellaestrellaestrellaestrella
El código fue desarrollado para Turbo Pascal 3.0, un compilador y editor de código vintage. La función draw forma parte del lenguaje de programación y no es necesario importarla. Simplemente dibuja una línea entre dos puntos con un color dado.
Responder

Comentar la versión: Versión 1

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

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s143