Οι ακέραιοι αριθμοί είναι αριθμοί χωρίς δεκαδικό μέρος που ανήκουν στο σύνολο {..., -2, -1, 0, 1, 2, ...}.
Η μέγιστη και η ελάχιστη τιμή ενός ακέραιου καθορίζονται από το σύστημα στο οποίο εκτελείται η PHP.
Συνήθως, στα περισσότερα σύγχρονα συστήματα, ο ακέραιος είναι μια τιμή 64 bit, που σημαίνει ότι μπορεί να αναπαραστήσει αριθμούς από -9_223_372_036_854_775_808 έως 9_223_372_036_854_775_807 συμπεριλαμβανομένων.
<?php
$a = 1234;
$a = 1_234_567;
Μπορείς να γράψεις ακέραιες τιμές και σε βάση διαφορετική από το 10, χρησιμοποιώντας ένα πρόθεμα βάσης:
<?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)
Από την τεκμηρίωση της PHP
Οι αριθμοί κινητής υποδιαστολής χρησιμοποιούνται στην PHP για να αναπαραστήσουν ένα υποσύνολο των πραγματικών αριθμών. Ξεκινούν με ένα ή περισσότερα ψηφία που χωρίζονται από έναν δεκαδικό διαχωριστή.
<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
$d = 1_234.567; // as of PHP 7.4.0
Δεν μπορούν να αναπαρασταθούν όλοι οι αριθμοί ούτε να εκτελεστούν όλες οι αριθμητικές πράξεις με αριθμούς κινητής υποδιαστολής. Η χρήση αριθμών κινητής υποδιαστολής για την αναπαράσταση δολαρίων και λεπτών μπορεί να οδηγήσει σε σφάλματα στρογγυλοποίησης.
<?php
$result = 0.1 + 0.2; // => 0.30000000000000004
Η PHP παρέχει αρκετούς τελεστές για την εκτέλεση αριθμητικών πράξεων. Η PHP ακολουθεί την καθιερωμένη μαθηματική σειρά των πράξεων για τους αριθμητικούς τελεστές της. Οι τελεστές που παρέχει η PHP είναι οι εξής:
$moles = +'10';
$aLotOfMoles = 6.022 * 10**23 * $moles;
Η Lilly λατρεύει τη μαγειρική. Θέλει να κάνει ένα πάρτι πίτσας με τους φίλους της. Για να αξιοποιήσει στο έπακρο τα υλικά της, πρέπει να ξέρει πόση ποσότητα από το καθένα χρειάζεται πριν ξεκινήσει.
Για να το λύσει αυτό, η Lilly έχει σχεδιάσει ένα πρόγραμμα που αυτοματοποιεί μέρος του σχεδιασμού, αλλά χρειάζεται τη βοήθειά σου για να το ολοκληρώσει. Θα βοηθήσεις τη Lilly να κάνει το αναλογικά τέλειο πάρτι πίτσας;
Η Lilly λατρεύει τις λεπτές, τραγανές πίτσες με πιο λεπτή κόρα. Η ζύμη που χρειάζεται για το κέντρο είναι το λιγότερο 200g, αλλά κάθε άτομο που σερβίρεται χρειάζεται άλλα 20g ζύμης.
grams = pizzas * ((persons * 20) + 200)
Η Lilly χρειάζεται μια συνάρτηση που:
Για παράδειγμα, για να φτιάξεις 4 πίτσες που ταΐζουν 8 άτομα:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateDoughRequirement(4, 8);
// => 1440
Η Lilly είναι σχολαστική όταν απλώνει τη σάλτσα της, αλλά το μέγεθος των πιτσών της μπορεί να μην είναι σταθερό. Από την εμπειρία της, ξέρει ότι χρειάζονται 125mL σάλτσας ανά πίτσα. Η Lilly χρειάζεται μια συνάρτηση που υπολογίζει πόσα κουτάκια σάλτσας πρέπει να αγοράσει.
cans of sauce = pizzas * sauce per pizza / sauce can volume
Για παράδειγμα, αν η Lilly χρειάζεται να φτιάξει 8 πίτσες και κάθε κουτάκι είναι 250mL:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateSauceRequirement(8, 250);
// => 4
Το τυρί έρχεται σε τέλειους κύβους και πωλείται ανά μέγεθος.
Ο τύπος που χρησιμοποιεί η Lily δεν είναι ο τύπος για το εμβαδόν της πίτσας, αφού δεν θέλει το τυρί να καλύπτει ολόκληρη την επιφάνεια.
Αποφάσισε να χρησιμοποιήσει τον παρακάτω τύπο για να προσδιορίσει πόσες πίτσες με κάποια διάμετρο (diameter) μπορούν να φτιαχτούν από έναν κύβο τυριού με κάποιο μήκος πλευράς (cheese_dimension):
pizzas = (cheese_dimension³) / (thickness * PI * diameter)
Δημιούργησε μια συνάρτηση που:
Για παράδειγμα, με έναν κύβο τυριού 25x25x25cm, στρώση τυριού πάχους 0,5cm και πίτσες διαμέτρου 30cm:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateCheeseCubeCoverage(25, 0.5, 30);
// => 331
Τέλος, η Lilly θέλει οι πίτσες της να κόβονται σε 8 κομμάτια η καθεμία και να μοιράζονται δίκαια στους φίλους της.
Δημιούργησε μια συνάρτηση που:
Για παράδειγμα:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateLeftOverSlices(2, 4);
// => 0
$pizza_pi->calculateLeftOverSlices(4, 3);
// => 2
Γράψου στο Exercism για να μάθεις και να κατακτήσεις PHP με 11 έννοιες122 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.