PROGRAM valor (input,output);
(*Programa que sirve para utilizar un string como un entero*)
TYPE
Tnumero=string(40);
VAR
Numero:Tnumero;
Numeroi:integer;
Acumulador:integer VALUE (0);
Resultado:integer;
Resultado2:integer;
PROCEDURE pedir_numero;
BEGIN
Write('Escribe el número: ');
Readln(Numero);
END;
PROCEDURE saber_cifras;
VAR
i:integer VALUE (1);
BEGIN
i:=1;
WHILE i<=length(Numero) DO
BEGIN
Acumulador:=Acumulador+1;
i:=i+1;
END;
Writeln('El número tiene ',Acumulador:0,' cifras');
END;
PROCEDURE valor;
VAR
i:integer VALUE (1);
Resultado3:integer VALUE (1);
BEGIN
Resultado:=0;
i:=1;
WHILE i<=length(Numero) DO
BEGIN
Resultado3:=ord(Numero[i])-ord('0');
Resultado3:=(Resultado3*(10 pow (Acumulador-1)));
Acumulador:=Acumulador-1;
Resultado:=Resultado+Resultado3;
i:=i+1;
END;
(*Writeln(Resultado:0);*)
END;
PROCEDURE sumar;
BEGIN
Resultado2:=Resultado*3;
Writeln('El número por 3 es ',Resultado2:0);
END;
BEGIN
REPEAT
pedir_numero;
saber_cifras;
valor;
sumar;
UNTIL Numero='janocrack';
END.
Ejemplo de ejecucion
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario