No módulo "Expressões aritméticas" falamos sobre as características da operação de divisão em Pascal.
Lembre-se que para dados inteiros (tipo integer) você pode usar três operações de divisão:
- divisão normal, retorna um valor do tipo real
div - divisão inteira, quando descartamos a parte fracionária como resultado da operação de divisão
mod - cálculo do resto da divisão

LEMBRE-SE!
Em Pascal o resultado da divisão de um inteiro por um inteiro – é sempre um número real.

Exemplo: var a, b, d, e: inteiro;   c:real; a := 10; b := 3; c:= a/b; // Resposta: s = 3.33333333333333E+000 d := a mod b; // Resposta: d = 1 e := a div b; // Resposta: e = 3 Estas operações são muito importantes na programação. Eles precisam ser entendidos e usados ​​corretamente. E isso requer prática!

 

A necessidade de aplicar a operação de cálculo do resto da divisão é visível quando se trabalha com os dígitos de um número. 

Vamos analisar a seguinte tarefa:
É fornecido um número de três dígitos. Exiba todos os dígitos desse número e obtenha um novo número formado pela permuta de unidades e centenas

A questão mais difícil que surge para iniciantes é como pegar e obter os dígitos de um número.
Na verdade, tudo é resolvido de forma bastante simples, se você se lembrar da matemática. E a matemática nos diz que qualquer número pode ser decomposto em uma soma de termos de dígitos.
Por exemplo: 365=3*100+6*10+5*1 . Vemos que cada dígito é um multiplicador do dígito correspondente do número. 
Mostraremos como obter cada dígito de um número em uma variável separada, usando o exemplo da divisão das colunas pelo número 10. (Pegamos o número 10, porque temos um sistema de numeração decimal e, portanto, temos termos de dígitos 1, 10, 100, etc.)
  

Analisando a figura, você pode ver que  e := n mod 10; // operação n mod 10 - calcula o último dígito do número n (ou seja, as unidades do número) 365 mod 10 = 5 d := n div 10 mod 10; // operação n div 10 - reduz o número em 10 vezes, ou seja, descarta o último dígito do número (365 div 10 = 36), // agora podemos calcular o número de dezenas aplicando a operação familiar ao resultado - calcule o resto após a divisão pelo número 10, 36 mod 10 = 6 s := n div 100; // para obter centenas, basta descartar dois dígitos à direita do número, ou seja, dividir por 10 duas vezes (n div 10 div10 ou o mesmo que n div 100< /strong>) 365 div 100 = 3
Tendo os dígitos do número salvos, podemos fazer qualquer número deles multiplicando o dígito desejado pelo dígito correspondente: 
por exemplo, a linha abaixo obterá um novo número a partir do número original n, com centenas e unidades reorganizadas:
1) o antigo número de uns (armazenado na variável e)  multiplicado por 100 
2) o antigo número de dezenas (armazenado na variável d)  multiplique por 10 
3) podemos simplesmente multiplicar o antigo número de centenas por 1, ou simplesmente pegar o valor armazenado na variável s
Depois é só somar os valores dos pontos 1, 2 e 3 e obter um novo número:

n1 := e * 100 + d * 10 + s;

Todo o programa ficará assim: var n, e, d, s: inteiro; começar ler(n); e := n mod 10; d := n div 10 mod 10; s := n div 100; writeln(e, ' ', d, ' ', s, ' ', e * 100 + d * 10 + s); fim.