Tarea 2 Copia
Escribir un procedimiento recursivo que muestre todos los números pares de enteros positivos que son la suma de un número dado. Por ejemplo:
a) 7=6-1,5-2,4+3
b) No se puedenrepetir las parejas 6+1 y 1+6
Análisis del problema
En primera instancia, se debe tener el número que el usuario prefiera. Cuando se tiene el número, el procedimiento toma ese número y le va restandoun 1, un 2, y así sucesivamente para tener el otro factor de la suma. También va comparando si la variable que va aumentando su valor es menor a la mitad exacta o a la parte entera de la mitad delnúmero dado por el usuario. Si se cumple la condición, el procedimiento se llama a sí mismo, pero el parámetro habrá aumentado su valor en 1. En el momento en que no se cumpla la condición, elprocedimiento se detendrá y el programa continúa su ejecución.
Diccionario de variables
NOMBRE
TIPO
FUNCIÓN
UBICACIÓN DE USO
Num
Integer
Almacena el número que el usuario digita, y que se usará para sacar lasecuencia de sumas
Programa principal, y procedimiento Encontrar
X
Integer
Almacena el resultado del número del usuario, menos la variable que aumenta de valor conforme se ejecuta el procedimientoProcedimiento Encontrar
C
Integer
Aumenta de valor cada vez que se ejecuta el procedimiento Encontrar. Recibe un 1 desde el programa principal
Procedimiento Encontrar
Diagrama de flujo
Código
programsumas;
uses
crt;
var
num,x:integer;
procedure encontrar(c:integer);
begin
x:=num-c;
writeln(num,'=',x,'+',c);
if c<(num div 2) then
begin
encontrar(c+1);end;
end;
begin
clrscr;
write('Digite un número: ');
readln(num);
encontrar(1);
write('Digite una tecla para salir');
readkey;
end.
Resultados
Usuario digitanúmero impar
Usuario digita número par
Conclusiones
El uso de la recursividad cumple la misma función que un ciclo, ahorra variables y espacio en memoria. Co 3 variables, se cumplió el...
Regístrate para leer el documento completo.