Pascal/Turbo Pascal - Ayuda, Ejercicio Dibujar un Rombo

 
Vista:
sin imagen de perfil

Ayuda, Ejercicio Dibujar un Rombo

Publicado por Esteban (1 intervención) el 28/09/2022 15:29:57
El programa me indica que en la linea 62/63 tengo el siguiente error: "Error: Variable identifier expected"
El código debe mostrar los caracteres y espacios mediante mensajes al usuario, de manera que se forme un rombo que tenga como linea central la cantidad de caracteres ingresadas por el usuario.

program Rombo;

Procedure LineaCentral(Var anchoRombo: integer;Var c1: char);
Var
i: integer;
begin
For i:=1 to anchoRombo do
Write(c1,' ');
end;

Procedure EnteroEnRango(Var msg: string;Var n: integer);
begin
Repeat
Writeln(msg);
Readln(n);
Until (n>=2) and (n<=14)
end;

Procedure CaracterEnRango(Var msg: string;Var m: char);
begin
Repeat
Writeln(msg);
Readln(m);
Until (ord(m)>=33) and (ord(m)<=254)
end;

Procedure dibujarEspacio(dim: integer);
begin
If dim>0 then
Write(' ');
dibujarEspacio(dim-1);
end;

Procedure dibujarCaracter(renglon: integer;Var c1: char);
begin
If renglon>0 then
Write(' ', c1);
dibujarCaracter(renglon-1, c1);
end;

Procedure TrianguloSuperior(i, dimension: integer;Var c: char);
begin
If i<dimension then
dibujarEspacio(dimension-1);
dibujarCaracter(i, c);
TrianguloSuperior(i+1, dimension, c);
end;

Procedure TrianguloInferior(dimension, i:integer;Var c: char);
begin
If i<dimension then
dibujarEspacio(dimension-1);
dibujarCaracter(i, c);
TrianguloInferior(i+1, dimension, c);
end;

Var
anchoRombo, i: integer;
carc: char;
begin
i:= 1;
EnteroEnRango('Ingrese la base del rombo, minimo 2 y maximo 14', anchoRombo);
CaracterEnRango('Ingrese el simbolo que formara el rombo', carc);
TrianguloSuperior(i, anchoRombo, carc);
LineaCentral(anchoRombo, carc);
i:=1;
TrianguloInferior(anchoRombo, i, carc);
end.
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
sin imagen de perfil

Ayuda, Ejercicio Dibujar un Rombo

Publicado por joack (4 intervenciones) el 19/10/2022 05:08:49
Por lo que veo el procedure no puede recibir literalmente un string como parametro, es decir:

ejemplo:

1
CaracterEnRango('Ingrese el simbolo que formara el rombo', carc);

El string pasado de ese modo no funciona, pero si se lo asigna a una variable y se lo pasa como parametro si funciona.

Saludos.
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