• Lenguaje

    Pascal

  • Descripción

    Dado un entero positivo N con 6 dígitos, que representa el número de tarjeta de crédito de un cliente en Internet, y otro par de enteros que representan el día y mes de una compra en particular, es decir:
    N = n1n2n3n4n5n6
    D = dd
    M = mm
    Se quiere que elabore un programa que genere un nuevo número R siguiendo las reglas que a continuación se describen:
    Separe N en tres grupos de dos dígitos.
    Intercambie los dígitos de cada par.
    Construya R con los tres nuevos pares en orden inverso, pero incluyendo entre ellos el día D y el mes M.
    Ejemplo: N = 123456, D = 12, M = 4.
    R = 6512430421

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program TarjetaDeCreditoEnOrdenInverso;
uses crt;

var D, M, N, R : integer;
begin
    write ('Ingresa el valor de D: ');
    readln (D);
    write ('Ingresa el valor de M: ');
    readln (M);
    write ('Ingresa el valor de N: ');
    readln (N);
    R := (N mod 10)*1000000000+(N mod 100-N mod 10)*10000000+D*1000000+(N mod 1000-N mod 100)*1000+(N mod 10000-N mod 1000)*10+M*100+(N mod 100000-N mod 10000) div 1000+(N mod 1000000-N mod 100000) div 100000;
    writeln ('Valor de R: ', R);
    writeln;
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.