Pascal/Turbo Pascal - Ayuda con un ejercicios de subprogramas

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 46 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Ayuda con un ejercicios de subprogramas

Publicado por Andres Chavarri (15 intervenciones) el 17/06/2021 16:23:25
- Elabore un programa en Pascal, UTILIZANDO SUBPROGRAMAS (por lo menos
una 2 funciones y 2 procedimientos), para determinar si un número dado por
pantalla es automórfico. Un número automórfico es aquel que al elevarlo
sistemáticamente a una potencia mayor que cero, las últimas cifras del resultado
corresponden al mismo número. Hacer el programa, para probar que un número es
automórfico con un máximo de una potencia N dada. Ejemplo: 76 es automorfico
para una potencia N= 4 porque: 761
= 76; 762
= 5776; 763
= 438976; 764
=
33362176. Fíjese que al elevar el 76 a las 4 potencias sucesivas su resultado
teminan en 76.
Nota :Los números deben leerse en el programa principal y pasarlo al
subprograma quien debe hacer los cálculos y devolver los resultados, para que
el programa principal los muestre.
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

Ayuda con un ejercicios de subprogramas

Publicado por ramon (2158 intervenciones) el 22/06/2021 22:14:07
Espero esto te sirva.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
program automorfico;
  uses
    crt;
  const
     num : longint = 0;
 
  var
    nuto, nx, ny : longint;
    tecla : char;
    elnu : longint;
    potec : integer;
    sal : boolean;
 
  procedure entrada;
  begin
     writeln('****** Entre Numero y Las Potencias ******');
     writeln;
     write(' Numero    : ');
     readln(elnu);
     write(' Potencias : ');
     readln(potec);
     clrscr;
  end;
 
  function numautomorfico(nn : longint; nu : longint) : boolean;
  var
    da : longint;
  begin
     da := nu mod 100;
     if da = (nn mod 100) then
     numautomorfico  := true
   else
     numautomorfico := false;
  end;
 
  procedure resultados(re : longint);
  begin
     writeln(' Resultado N§ : ',re);
  end;
 
  function eleva(nu : longint; pot : integer) : boolean;
  begin
     num := 1;
     nuto := 0;
     for nx := 1 to pot do
     begin
     num := (num * nu);
     if numautomorfico(nu, num) then
     begin
     nuto := nu;
     resultados(num);
     end
  else
     begin
     nuto := 0;
     break;
     end;
     end;
     if nuto = 0 then
     eleva := false
  else
     eleva := true;
     writeln;
  end;
 
 
 
  begin
     sal := false;
   repeat
     clrscr;
     entrada;
     writeln('   Es automorfico ');
     writeln;
     if eleva(elnu,potec) then
     writeln(' Si Es automorfico')
   else
     writeln(' No Es automorfico');
     writeln;
     writeln(' Desea Entrar Otro Numero [S/N]');
     tecla := upcase(readkey);
     if tecla = 'N' then
     sal := true;
   until sal = true;
  end.
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