PROGRAM PrObli2 (input, output);
VAR
opcion: char;
PROCEDURE Menu;
BEGIN
writeln;
writeln('Introduzca una opcion: ');
writeln('1. Multiplos sinceros ');
writeln('2. Cuadrado de numeros de 2 cifras acabados en 5 ');
writeln('3. Numeros colegas ');
writeln('4. Terminar ');
writeln;
END; {fin menu}
PROCEDURE Cuadrado (num1, k: integer);
BEGIN
writeln('Escribe un numero de dos cifras acabado en 5 para calcular su cuadrado');
readln(num1);
k:= num1 DIV 10;
k:= k * (k + 1);
writeln('El cuadrado es; ', k, '25');
END; {fin cuadrado}
PROCEDURE Colegas (num2, d, i, j, n, temp, acumulador, invertidor: integer);
BEGIN
writeln('Introduzca un numero entero positivo');
readln(num2);
REPEAT
writeln('Introduzca un numero de una cifra');
readln(d);
UNTIL d < 0;
readln(d);
i:= num2 MOD 10;
temp:=n;
acumulador:=0;
WHILE (temp > 0) DO BEGIN
acumulador:= acumulador * 10 + (temp MOD 10);
temp:= temp DIV 10;
END;
invertidor:= acumulador;
j:= acumulador;
IF (i = d) AND (j = d) THEN
writeln ('Los numeros son colegas');
END;
PROCEDURE Multiplos (suma, h, num3, base, limite, conta: integer);
BEGIN
writeln('Escriba un numero base');
readln(base);
writeln('Escriba un numero limite');
readln(limite);
writeln('No soy capaz de hacer esta parte...');
END;
BEGIN {programa principal}
REPEAT
Menu;
readln(opcion);
IF (opcion >= '1') AND (opcion <='4') THEN
BEGIN
CASE opcion OF
'1': Multiplos;
'2': Cuadrado;
'3': Colegas;
END; {case}
END {IF}
ELSE IF opcion = '4' THEN
writeln('finalizando...');
UNTIL opcion = '4';
END. {programa principal}