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


0