Crear una calculadora científica en PHP con almacenamiento de operaciones y resultados

0
40

Archivo: calculator.php

<?php // Implementación de la política de seguridad de contenido, X-Frame-Options y X-Content-Type-Options nosniff en la respuesta HTTP. class Calculator { private $history = []; private $sessionToken; public function __construct($sessionToken) { $this->sessionToken = $sessionToken; // Cargar historia desde archivo si existe if (file_exists('history.json')) { $this->history = json_decode(file_get_contents('history.json'), true); } } public function sumar($a, $b) { return $a + $b; } public function restar($a, $b) { return $a - $b; } public function multiplicar($a, $b) { return $a * $b; } public function dividir($a, $b) { if ($b == 0) { throw new Exception('División por cero'); } return $a / $b; } public function potencia($base, $exponente) { return pow($base, $exponente); } public function factorial($n) { if (!is_int($n) || $n < 0) { throw new Exception('Factorial no definido para números negativos'); } $resultado = 1; for ($i = 2; $i <= $n; $i++) { $resultado *= $i; } return $resultado; } public function guardarHistoria() { file_put_contents('history.json', json_encode($this->history)); } public function agregarOperacion($operacion, $resultado) { array_push($this->history, ['operacion' => $operacion, 'resultado' => $resultado]); } } ?>

Uso

$calculator = new Calculator('token_de_sesion'); $calculator->agregarOperacion('2 + 2', $calculator->sumar(2, 2)); $calculator->guardarHistoria();
Buscar
Categorías
Leer más
Ciberseguridad
Ó©éÓ╣ëÓ©¡Ó©äÓ©ºÓ©▓Ó©íÓ©¬Ó©│Ó©äÓ©▒Ó©ì (Critical Message)
Ó©éÓ╣ëÓ©¡Ó©äÓ©ºÓ©▓Ó©íÓ©¬Ó©│Ó©äÓ©▒Ó©ì (Critical Message)Ó©äÓ©│Ó©¡Ó©ÿÓ©┤Ó©ÜÓ©▓Ó©ó...
Por Mario Serrano 2026-06-30 09:56:02 0 52
Ciberseguridad
ðùð░ð│ð¥ð╗ð¥ð▓ð¥ð║ (ð▓ ÐÇÐâÐüÐüð║ð¥ð╝)
ðùð░ð│ð¥ð╗ð¥ð▓ð¥ð║ (ð▓ ÐÇÐâÐüÐüð║ð¥ð╝)ðíð▓ð¥ð┤ð║ð░ (ð▓ ÐÇÐâÐüÐüð║ð¥ð╝)ðºÐéð¥...
Por Mario Serrano 2026-06-30 15:59:34 0 15
Otro
G├╝venlik Kural─▒ Kurallar─▒: T├╝rk├ºe'de 100% cevap verme gerekiyor. Her bir ba┼ƒl─▒k, paragraf, kod a├º─▒klamas─▒ ve referans etiketi T├╝rk├ºe olmal─▒. Bu bir zorunluluk. ├ûrne─ƒin '├ûzet' yerine '├ûzge├ºmi┼ƒ' yazmal─▒s─▒n. ┼×imdi T├╝rk├ºe'de ba┼ƒlayal─▒
Güvenlik Kuralı Kuralları: Türkçe'de 100% cevap verme gerekiyor. Her bir başlık,...
Por Mario Serrano 2026-06-30 06:04:20 0 40
Ciberseguridad
Ï╣┘å┘êϺ┘å (Ï»Ï▒ ┘üϺÏ▒Ï│█î)
Ï╣┘å┘êϺ┘å (Ï»Ï▒ ┘üϺÏ▒Ï│█î)Ï«┘äϺÏÁ┘ç (Ï»Ï▒ ┘üϺÏ▒Ï│█î)Ïó┘å┌å┘ç ┘àÏ┤┌®┘ä ϺÏ│Ϭ┘üϺϻ┘ç ϺÏ▓...
Por Mario Serrano 2026-06-30 17:56:26 0 279
Ciberseguridad
ðùð░ð│ð¥ð╗ð¥ð▓ð¥ð║ (ðúð║ÐÇð░Ðùð¢ÐüÐîð║ð¥ÐÄ ð╝ð¥ð▓ð¥ÐÄ)
ðùð░ð│ð¥ð╗ð¥ð▓ð¥ð║ (ðúð║ÐÇð░Ðùð¢ÐüÐîð║ð¥ÐÄ ð╝ð¥ð▓ð¥ÐÄ)ðíÐâð╝ð░ÐÇð¢ð©ð╣ ð¥ð│ð╗ÐÅð┤...
Por Mario Serrano 2026-06-30 16:20:17 0 10