Pascal/Turbo Pascal - Como crear una estrella(figura) en pascal.
Necesito hacer figuras geoometricas hechas en pascal, especificamente utilizando el signo asterisco. El problema es que no entiendo como crear lineas en forma diagonal.Me pueden ayudar pronto, es para un trabajo de la universidad.gracias También te puede interesar...
{El modo de testo para representar figuras es un poquito chungo por la resolución que posee como podrás ver los espacios son grandes y no puede unirse las figuras ano ser que lo realizaras con los símbolos pero eso es bastante complicado lo de verías de realizar en modo gráfico para una mejor visión pero te dejo estos procedimientos para que puedas practicar lo que quieres son dos formas de hacer un dibujo} program estrella; uses crt; const estrellacon : array[1..7] of string[11] = ( '00*00000*00', '000*000*000', '0000*0*0000', '****000****', {Otra forma de dibujo} '0000*0*0000', '000*000*000', '00*00000*00'); var x, y : integer; procedure linea(xl, xxl, yl : integer); {Dibujamos una linea recta} begin for x := 0 to xxl do begin gotoxy(xl + x,yl);write('*'); end; end; procedure diagonal_i_d(xd, yd, xxd, yyd : integer); {dibujamos una linea} var {inclinada de izq. a} cx, cy : integer; {derecha} begin x := 0; y := 0; repeat gotoxy(xd + x,yd + y);write('*'); x := x + 1; if x > xxd then x := xxd; y := y + 1; if y > yyd then y := yyd; until (x = xxd) and (y = yyd); end; procedure diagonal_d_i(xd, yd, xxd, yyd : integer); {dibujamos una linea} var {inclinada de derecha} cx, cy : integer; {a izquierda} begin x := xxd; y := 0; repeat gotoxy(xd + x,yd + y);write('*'); x := x - 1; if x < 0 then x := 0; y := y + 1; if y > yyd then y := yyd; until (x = 0) and (y = yyd); end; procedure cuadro(xc, yc, xxc, yyc : integer); var canx, cany : integer; begin x := 0; y := 0; if xc > xxc then begin canx := xxc; xxc := xc; xc := canx; end; if yc > yyc then begin cany := yyc; yyc := yc; yc := cany; end; repeat gotoxy(xc + x,yc);write('*'); gotoxy(xc + x,yyc);write('*'); x := x + 1; until x > (xxc - xc); repeat gotoxy(xc,yc + y);write('*'); gotoxy(xxc,yc + y);write('*'); y := y + 1; until y > (yyc - yc); end; procedure prestre(xs, ys : integer); {Otra forma de dibujar} begin for x := 1 to 11 do for y := 1 to 7 do begin if estrellacon[y][x] <> '0' then begin gotoxy(xs + x,ys + y);write('*'); end; end; end; begin clrscr; linea(10,20,12); diagonal_i_d(10,12,10,10); diagonal_d_i(20,12,10,10); cuadro(40,10,50,20); prestre(60,5); readln; end.
necesito ayuda para crear una X con el Ciclo For solo utilizando una variable ayuda por favor Planilla academica Ayuda con ejercicio Pascal |