varr: real;
r := 5,0;
O valor 5,0 é um número representado como uma fração decimal (tem um inteiro e uma parte fracionária). Na ciência da computação, esses números são chamados de reais
Número real é um número que possui uma parte inteira e uma parte fracionária. As partes inteiras e fracionárias são separadas umas das outras por um ponto, não por uma vírgula como na matemática.
Mesmo que a parte fracionária do número seja zero, como na variável \(r\) no exemplo, o tradutor ainda criará uma variável real na memória. O ponto é, por assim dizer, um sinal para o tradutor de que é necessário criar uma variável real.
Números muito grandes e muito pequenos são escritos usando "ponto flutuante" (no chamado formato científico).
No formato científico, um número é representado como mantissa(parte significativa do número) e expoente. Quando notados, a mantissa e o expoente são separados um do outro pela letra e (denotando 10 até certo ponto).
Por exemplo, você pode armazenar o valor da carga de um elétron ( \(1.60217662 \times 10^{-19}\) C) em um variável, escrevendo da seguinte forma
var E1: real
El := 1.60217662e-19 #para uma ordem positiva, o sinal + pode ser omitido
Quase todos os números reais não podem ser armazenados na memória do computador com precisão perfeita, pois um número limitado de bits é alocado para seu armazenamento. Portanto, ao calcular com números reais, os erros associados à imprecisão da representação se acumulam. Além disso, quanto menos espaço alocado, maior será esse erro. Para diminuir o erro em Pascal, é utilizado o tipo double , que armazena um número real na memória com maior precisão (ocupa 8 bytes de memória, enquanto o real - 6 bytes)
|
Entre
Você pode inserir várias variáveis reais do fluxo de entrada e escrevê-las em variáveis da maneira padrão:
var x, y: reais;
ler(x, y);
O primeiro número vai para a variável \(x\), o segundo vai para a variável \(y\)
Saída
Ao exibir números reais, o formato científico é selecionado por padrão.
Você pode personalizar a saída conforme necessário de acordo com a condição do problema. Após o número, dois pontos indicam o número total de posições que serão alocadas para o número e, a seguir, outros dois pontos - o número de posições alocadas para a parte fracionária. Se após os primeiros dois pontos houver um número menor que a soma do número de caracteres na parte inteira do número, o espaço alocado para o ponto que separa as partes fracionária e inteira (1 caractere é alocado para isso) e o número de caracteres alocados para a parte fracionária e, em seguida, simplesmente um número com o número de caracteres alocado para a parte fracionária. Caso contrário, espaços adicionais são escritos antes do número. Portanto, se você não sabe quantos caracteres a parte inteira irá ocupar, você pode simplesmente escrever 0 após os primeiros dois pontos, e então o número inteiro será exibido sem espaços antes dele.
Exemplo:
real x := 1,0/6;
writeln(x:12:9); // definido para exibir 9 casas decimais e um total de 12 casas decimais por número, levando em consideração o ponto de separação
A tela exibirá
_0.166666672
|
Ao trabalhar com números reais, você pode usar o já conhecido módulo math , que contém um grande número de funções integradas.
Ao resolver problemas, muitas vezes é necessário arredondar números reais para os valores inteiros mais próximos. Existem três funções para isso.
LEMBRE-SE
1 função Trunc(x) - corta a parte fracionária \(x\) e retorna um valor inteiro.
2 F loor(x) - retorna o maior inteiro menor ou igual a \(x\) (arredondado para baixo)
Função 3 C eil(x) - retorna o menor inteiro maior ou igual a \(x\) (arredondado para cima)
Aqui estão as funções mais úteis. Alguns deles são construídos em Pascal, enquanto o restante está contido no módulo math .
Função |
Descrição |
Arredondamento |
round(x)
incorporado |
Arredonda um número para o inteiro mais próximo. Se a parte fracionária do número for 0,5, o número será arredondado para o número inteiro mais próximo. |
trunc(x)
incorporado |
Descarta a parte fracionária |
andar(x)
em matemática |
Arredonda um número para baixo ("piso"), portanto piso(1.5) == 1 , piso(-1.5) ==  ; -2 |
ceil(x)
em matemática |
Arredonda um número para cima ("ceiling"), enquanto ceil(1.5) == 2 , ceil(-1.5) ==  ; -1 |
abs(x)
incorporado |
Módulo (valor absoluto). |
Raízes, logaritmos |
sqrt(x)
incorporado |
Raiz quadrada. Uso: y := sqrt(x) |
potência(x, y)
em matemática |
Eleva x à potência de y. \(x^y\) |
log2(x)
em matemática |
Log base 2. |
lnxp1(x)
em matemática
|
O logaritmo natural de (x + 1). |
Trigonometria |
sin(x)
incorporado |
Seno de um ângulo especificado em radianos |
cos(x)
incorporado |
Cosseno de um ângulo especificado em radianos |
tan(x)
em matemática |
A tangente de um ângulo especificado em radianos |
arsin(x)
em matemática |
Arcsine, retorna o valor em radianos |
arccos(x)
em matemática |
Arco cosseno, retorna o valor em radianos |
arctan(x)
incorporado |
Arcotangente, retorna valor em radianos |
arctan2(y, x) |
Ângulo polar (em radianos) do ponto (x, y). |
|