Pascal/Turbo Pascal - Triangulo relleno y hueco

 
Vista:

Triangulo relleno y hueco

Publicado por Vanessa (1 intervención) el 29/10/2008 14:11:18
Tengo que crear un programa que cree un triángulo rectangulo, con un numero de filas y columnas introducido por usuario. Pero además, el usuario decide si el triángulo debe estar relleno o hueco. La cosa sería algo así:
Triángulo de 5 x 5 relleno
*****
****
***
**
*

Triángulo de 5 x 5 hueco, los espacios los represento ahora con barra baja
*****
*__*
*_*
**
*

No sé si hacerlo con 'for to' o con 'go to'.
Acabo de empezar con Pascal, cuanta más ayuda mejor.
Cuando sepais algo... Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Triangulo relleno y hueco

Publicado por Newman (1 intervención) el 08/01/2023 17:51:19
Me dio flojera traducir mi código, pero le hice comentarios para hacerlo más entendible.

Edit: Ouh... Espera, código equivocado. Mi programa solo hace un rectángulo de areriscos hueco, no un triangulo rectángulo.

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
program Rectangulo;¨
var
  Height, Width, i: word;  {Altura, anchura}
 
  Line_Hollow, Line_Filled: string;
 
{=====================}
Function Hollow_String(Width:word):string; {Función que devuelve una string que forma una linea hueca de "*" de la anchura especificada}
var i: word;
 
begin
  Hollow_String:='*';
 
  for i:=2 to width-1 do
    Hollow_String:= Hollow_String+ ' ';
 
  Hollow_String:= Hollow_String+'*';
 
  Hollow_String:=Hollow_String;
end;
 
 
Function Filled_String(Width:word):string;   {Función que devuelve una string de "*" de la anchura especificada}
var i:word;
begin
  Filled_String:='';
  for i:=1 to width do
  Filled_String:= Filled_String+'*';
end;
 
{=====================}
 
begin
 
  write('Height: '); readln(Height);
  write('Width: '); readln(Width);     {Pregunta la altura y anchura}
 
  Line_Hollow:= Hollow_String(Width);
  Line_Filled:= Filled_String(width);    {Asigna las strings de lineas completas y huecas a las variables
 
  Writeln(Line_Filled);     {Escribe una linea de "*")
  for i:=2 to height-1 do
    Writeln(Line_Hollow);  {Escribe las lineas huecas (altura -2) veces}
  Writeln(Line_Filled);     {Escribe una linea de "*")
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar