Um número inteiro é um número sem parte decimal que pertence ao conjunto {..., -2, -1, 0, 1, 2, ...}.
Os valores máximo e mínimo de um inteiro dependem do sistema onde o PHP corre.
Tipicamente, na maioria dos sistemas modernos, um inteiro é um valor de 64 bits, ou seja, pode representar desde -9_223_372_036_854_775_808 até 9_223_372_036_854_775_807, inclusive.
<?php
$a = 1234;
$a = 1_234_567;
Podes escrever valores literais inteiros noutra base que não a base 10, usando um prefixo de base:
<?php
$a = 0123; // octal number (equivalent to 83 decimal)
$a = 0o123; // octal number (as of PHP 8.1.0)
$a = 0x1A; // hexadecimal number (equivalent to 26 decimal)
$a = 0b11111111; // binary number (equivalent to 255 decimal)
Retirado da documentação do PHP
Em PHP, os números de vírgula flutuante são usados para representar um subconjunto dos números reais. Começam por um ou mais algarismos separados por um separador decimal.
<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
$d = 1_234.567; // as of PHP 7.4.0
Nem todos os números e operações aritméticas podem ser efetuados com números de vírgula flutuante. Usar números de vírgula flutuante para representar euros e cêntimos pode dar origem a erros de arredondamento.
<?php
$result = 0.1 + 0.2; // => 0.30000000000000004
O PHP disponibiliza vários operadores para efetuar operações aritméticas. O PHP segue a ordem de operações matemática padrão para os seus operadores aritméticos. Os operadores disponibilizados pelo PHP são:
$moles = +'10';
$aLotOfMoles = 6.022 * 10**23 * $moles;
A Lilly adora cozinhar. Quer organizar uma festa de pizza com os amigos. Para aproveitar ao máximo os ingredientes, precisa de saber quanto de cada ingrediente vai precisar antes de começar.
Para resolver isto, a Lilly esboçou um programa para automatizar parte do planeamento, mas precisa da tua ajuda para o terminar. Vais ajudar a Lilly a organizar a festa de pizza proporcionalmente perfeita?
A Lilly é fã de pizzas finas e estaladiças, com uma massa mais fina. A massa necessária para o meio é no mínimo 200 g, mas cada pessoa servida precisa de mais 20 g de massa.
grams = pizzas * ((persons * 20) + 200)
A Lilly precisa de uma função que:
Por exemplo, para fazer 4 pizzas que alimentam 8 pessoas:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateDoughRequirement(4, 8);
// => 1440
A Lilly é meticulosa a aplicar o molho, mas o tamanho das suas pizzas pode ser irregular. Pela sua experiência, sabe que são precisos 125 mL de molho por pizza. A Lilly precisa de uma função que calcule quantas latas de molho deve comprar.
cans of sauce = pizzas * sauce per pizza / sauce can volume
Por exemplo, dado que a Lilly precisa de fazer 8 pizzas e cada lata tem 250 mL:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateSauceRequirement(8, 250);
// => 4
O queijo vem em cubos perfeitos e é vendido por tamanho.
A fórmula que a Lilly usa não é a fórmula da área da pizza, pois ela não quer que o queijo cubra toda a área.
Decidiu usar a seguinte fórmula para determinar quantas pizzas de um determinado diâmetro (diameter) se podem fazer a partir de um cubo de queijo com um determinado comprimento de aresta (cheese_dimension):
pizzas = (cheese_dimension³) / (thickness * PI * diameter)
Cria uma função que:
Por exemplo, dado um cubo de queijo de 25x25x25 cm, uma camada de queijo de 0,5 cm de espessura e pizzas com 30 cm de diâmetro:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateCheeseCubeCoverage(25, 0.5, 30);
// => 331
Por fim, a Lilly quer que cada pizza seja dividida em 8 fatias e distribuída igualmente pelos amigos.
Cria uma função que:
Por exemplo:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateLeftOverSlices(2, 4);
// => 0
$pizza_pi->calculateLeftOverSlices(4, 3);
// => 2
Inscreve-te no Exercism para aprenderes e dominares PHP com 11 conceitos122 exercícios, e mentoria humana real, tudo grátis.