ayuda ejercicio pascal

rojasu

Estoi haciendo un curso de estos online de iniciacion a la programacion en mis ratos libres.
El tema es que con los recursos que me dan no acabo de resolver el problema y el profesor contesta cuando puede y no puedo estar esperando para preguntarle dudas.
Os dejo el problema:

El siguiente programa realiza la resta de dos números introducidos por el usuario y muestra el valor por pantalla. Encuentre los errores que contiene e indique cuáles son en el apartado de respuesta. Utilice para ello el compilador.
Corrija los errores, recuerde no modificar el número de procedimientos. Una vez corregido, envíelo a su tutor en un fichero llamado Unidad6_1_optativa.pas y adjúntelo al mail.

Program CalculaResta;

Procedure CalculaResta(primer_valor, segundo_valor: Integer):Integer;
Begin
CalculaResta :=primer_valor-segundo_valor;
MuestraPorPantalla(CalculaResta);
End;

Procedure MuestraPorPantalla(resultado: Integer);
Begin
Writeln(‘El resultado es ‘,resultado);
End;

Var
Valor1:integer;
Valor2:integer;
begin
write('Introduzca el primer numero : ');
readln(Valor1);
write('Introduzca la cantidad a restar : ');
readln(Valor2);
CalculaResta(Valor1,Valor2);
end.

====================0

pd: por mucho que intento no consigo que funcione todo , o no me reconoce algunos de los procedimientos o simplemente falla algo , estoi en plan a prueba de fallos como un mono , seguro que es una chorrada , pero acabo de empezar en esto y no consigo verlo .
Los sangrados no se me ponen bien en el post , pero no es el fallo creo.

M

No me acuerdo mucho de pascal, pero asi a simple vista el procedure CalculaResta está devolviendo un integer y los procedures no pueden devolver nada.

garlor

porque no nos dices los errores que has encontrado tu y te diremos si encontramos alguno mas

Fyn4r

sin papa de pascal que tengo, eso de llamar a una variable igual que una función no pinta bien

HIMOTEN

Tio, metelo en el geany y que te diga los fallos, es un programa muy simple este de la resta.

Procedure MuestraPorPantalla(resultado: Integer);
Begin
Writeln(‘El resultado es ‘,resultado);
End;

Var
Valor1:integer;
Valor2:integer;
Res:integer;
begin
write('Introduzca el primer numero : ';
readln(Valor1);
write('Introduzca la cantidad a restar : ';
readln(Valor2);
Res:= (Valor1)-(Valor2)
writeln('el resultado es:'Res,)
end.

10 días después
rojasu

nueva duda:
REUTILIZANDO el procedimiento
procedure linea(longitud:integer;letra:char);
var
x:integer;
begin
for x:= 1 to longitud do
write(letra);
end;

*
**



Observe que el triángulo es una sucesión de líneas cuya longitud se va incrementando, desde 1 hasta la altura del triángulo.
Deberá codificar un procedimiento de nombre pinta_tri, que recibe como parámetros la altura del triángulo y el carácter que formará el triángulo. Este procedimiento deberá usar el procedimiento línea, para pintar cada una de las líneas del triángulo. Fíjese que el número de veces que se llama al procedimiento que pinta la línea es igual a la altura del triángulo, y que en la primera invocación, la línea tiene longitud 1 y en la última, la longitud es igual a la altura del triángulo.

En cuanto al programa principal deberá solicitar la altura y el carácter e invocar a pinta_tri.

Yo tengo hecho esto :

program triangulito;
uses
crt;
var
altura : integer;
letra : char;
longitud: integer;

procedure linea(longitud:integer;letra:char);
	var
		x:integer;
			begin
				for x:= 1 to longitud do
				write(letra);
			end;


procedure pinta_tri(altura:integer;letra:char);
	var
		t:integer;
			begin
				for t:= 1 to altura do
				write(letra);
			
				linea(t,letra);
			end;

begin
clrscr;
write('introduzca Altura : ' );
readln(altura);
write('Introduzca Caracter : ' );
readln(letra);


  pinta_tri(altura,letra);
  readln;

end.


El problema es que solo me representa una linea en horizontal con el caracter que ponga y no el triangulo de arriba escrito.
Supongo que el error viene en la llamada al procedimiento linea pero estoi probando y nada no lo veo.
El geany o dev-pascal no me encuentran errores .

Usuarios habituales

Tags