Pascal/Turbo Pascal - RECURSIVIDAD (proucto de dos números m y n) BÁSICO

 
Vista:

RECURSIVIDAD (proucto de dos números m y n) BÁSICO

Publicado por Pascual (94 intervenciones) el 01/03/2005 00:11:38
EL enunciado dice:
Diseñar e implementar en Pascal una función recursiva que permita multiplicar dos números enteros m y n.
Yo he hecho esto, pero creo que (aunque funciona) esta mal porque no veo la recursividad por ningún lado.

PROGRAM Producto;
USES Crt;
VAR
m, n, i: integer;
FUNCTION resultado (a, b: integer): integer;
BEGIN
IF (a=0) OR (b=0) THEN
resultado:=0
ELSE
resultado:=a*b
END;
BEGIN
ClrScr;
Writeln ('Introduzca un n£mero entero:');
Readln (m);
Writeln ('Introduzca un n£mero entero:');
Readln (n);
Writeln ('El resultado de multiplicar los dos n£meros es: ',resultado (m,n));
Readkey
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

RE:RECURSIVIDAD (proucto de dos números m y n) BÁS

Publicado por Hurricane (39 intervenciones) el 01/03/2005 00:36:13
La función quedaría así:

Function Multiplica(A :Integer; B :Word) :LongInt;
Begin
If (B<A) then
Multiplica := Multiplica(B, A)
Else
Begin
If (B=0) then
Multiplica := 0
Else
Multiplica := A + Multiplica(A, B-1);
End; {If}
End; {Multiplica}

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