En esta parte de la serie sobre ejemplos de código PHP se verán ejemplos de estructuras repetitivas, que forman parte de las estructuras de control, como se ha visto en esta entrada anterior.
Cada uno de los códigos aquí mostrados como ejemplo se refieren a una situación hipotética a la que son útiles, pero eso no significa que no haya otros códigos PHP que resuelvan igualmente tales situaciones.
Los códigos aquí mostrados han sido probados y funcionan sin ningún problema.
El siguiente programa obtiene la cantidad de números pares de un rango de números enteros dados.
<?php
$r1 = 5;
$r2 = 10;
$c = 0;
$n = 5;
if ($r1 <= $r2) {
while ($r1 <= $r2) {
if ($r1 % 2 == 0) {
$c++;
}
$r1++;
}
echo "La cantidad de números pares del rango " . $n . " - " . $r2 . " es " . $c . ".";
} else {
echo "Rango incorrecto.";
}
?>
_________________________________________________________________________________
Este algoritmo obtiene la cantidad de los primeros N números múltiplos de 5 de un número N dado.
<?php
$N = 60;
$n = 1;
$c = 0;
do {
if($n % 5 == 0){
$c = $c + 1;
}
$n = $n + 1;
} while ($n < $N);
echo "La cantidad de múltiplos de 5 es ". $c. "." ;
?>
________________________________________________________________________
El siguiente programa determina la cantidad de dígitos total, la cantidad de dígitos pares que contiene, y el dígito mayor de un número dado.
<?php
$n = 8765;
$n1 = $n;
$c1 = 0;
$p = 0;
$r1 = 0;
while ($n <> 0) {
$r = $n % 10;
$n = floor ($n / 10);
if ($r % 2 == 0) {
$p++;
}
if ($r1 <= $r) {
$max = $r;
}
$r1 = $r;
$c1++;
}
echo $n1 . " tiene " . $c1 . " dígitos.</br>";
echo $n1 . " tiene " . $p . " dígitos pares.</br>";
echo "El dígito mayor de ". $n1. " es ". $max. ".";
?>
________________________________________________________________________
Este algortimo devuelve el inverso de un número.
<?php
$n = 1785;
$i = 0;
$n1 = $n;
while ($n <> 0) {
$r = $n % 10;
$n = floor ($n / 10);
$i = ($i * 10) + $r;
}
echo "El inverso de ". $n1 . " es " . $i. ".";
?>
________________________________________________________________________
Este algoritmo indica si un número dado es o no un cubo perfecto (la suma de los cubos de sus dígitos dan el mismo número).
<?php
$n = 64;
$n1 = $n;
while ($n <> 0) {
$r = $n % 10;
$n = floor ($n / 10);
$cubo = pow($r, 3);
$cubosuma = $cubosuma + $cubo;
}
if ($n1 == $cubosuma) {
echo $n1 . " es un cubo perfecto.";
} else {
echo $n1 . " no es un cubo perfecto.";
}
?>
________________________________________________________________________
El siguiente programa obtiene la suma de pares e impares de los primeros N números enteros de un número N dado.
<?php
$N = 20;
$n = 1;
$p = 0;
$imp = 0;
for ($i = $n; $i <= $N; $i++) {
if ($n % 2 == 0) {
$p = $p + $n;
} else {
$imp = $imp + $n;
}
$n = $n + 1;
}
echo "La cantidad de pares es: ". $p. ".</br>";
echo "La cantidad de impares es: ". $imp. ".</br>";
?>
________________________________________________________________________
El siguiente algoritmo determina el número de múltiplos de un número M dado en un rango de números enteros dado.
<?php
$M = 4;
$r1 = 1;
$r2 = 20;
$c = 0;
if ($r1 <= $r2) {
for($i = $r1; $i <= $r2 ;$i++){
if($i % $M == 0){
$c = $c + 1;
}
}
echo "En el rango entre ". $r1. " y ". $r2. ", hay ". $c. " múltiplos de ". $M. ".";
}
?>
________________________________________________________________________
El programa de este ejemplo determina si un número dado es o no un número primo (número mayor que 1 que sólo es divisible por 1 y por sí mismo).
<?php
function Primo($n){
$div = 2;
while($div < $n) {
if(($n % $div) == 0) {
$boolean = True;
break;
} else {
$div++;
}
}
if ($boolean) {
echo "El número ". $n . " no es primo.";
} else {
echo "El número ". $n . " es primo.";
}
}
Primo (23)
?>
Otro modo de hacer lo mismo:
function Primo($n){
$cont = 0;
for($i = 1; $i <= $n; $i++){
if($n % $i == 0){
$cont++;
}
}
if($cont == 2){
echo "El número ". $n . " es primo.";
} else{
echo "El número ". $n . " no es primo.";
}
}
Primo (3)
?>
________________________________________________________________________
El algoritmo siguiente muestra todas las letras desde "a" a la "z" en minúsculas.
<?php
for ($i=97;$i<=122;$i++) {
echo chr($i);
}
?>
________________________________________________________________________
Este programa determina si dos números dados son amigos (la suma de los divisores de uno son iguales al otro y al revés) o no.
<?php
$n1 = 220;
$n2 = 284;
$suma = 0;
$suma2 =0;
for ($c = 1; $c < $n1; $c++) {
if ($n1 % $c == 0) {
$suma = $suma + $c;
}
}
for ($d = 1; $d < $n2; $d++) {
if ($n2 % $d == 0) {
$suma2 = $suma2 + $d;
}
}
if ($suma == $n2){
if ($suma2 == $n1){
echo $n1." y ".$n2." son amigos.";
}
}else{
echo $n1." y ".$n2." no son amigos.";
}
?>
________________________________________________________________________
El siguiente algoritmo determina si un número dado es o no capicúa.
<?php
$n = 4554;
$nstring = (string)$n;
$result = "";
for ($i = strlen($n) - 1; $i >= 0; $i--) {
$result.=$nstring[$i];
}
$inv = (int)$result;
if ($n == $inv) {
echo $n." es capicúa.";
} else {
echo $n." no es capicúa.";
}
?>
________________________________________________________________________
Este programa determina si un número dado es perfecto (la suma de sus divisores da ese mismo número) o no.
<?php
$n = 55;
$suma = 0;
for ($c = 1; $c < $n; $c++) {
if ($n % $c == 0) {
$suma = $suma + $c;
}
}
if ($suma == $n){
echo $n." es perfecto.";
}else {
echo $n." no es perfecto.";
}
?>
________________________________________________________________________
Algoritmo que muestra la tabla de multiplicar completa desde el 1 al 10.
<?php
for($tabla=1; $tabla<=10; $tabla++) {
echo "<h3>Tabla del $tabla </h3>";
for($n=1; $n<=10; $n++) {
echo "$tabla x $n = ". ($tabla * $n) . "<br/>";
}
}
?>
________________________________________________________________________
Espero que esta entrada de la bitácora haya sido interesante y/o útil al lector. De ser así, aguardo que la comnete y/o la comparta, por favor.
Cada uno de los códigos aquí mostrados como ejemplo se refieren a una situación hipotética a la que son útiles, pero eso no significa que no haya otros códigos PHP que resuelvan igualmente tales situaciones.
Los códigos aquí mostrados han sido probados y funcionan sin ningún problema.
El siguiente programa obtiene la cantidad de números pares de un rango de números enteros dados.
<?php
$r1 = 5;
$r2 = 10;
$c = 0;
$n = 5;
if ($r1 <= $r2) {
while ($r1 <= $r2) {
if ($r1 % 2 == 0) {
$c++;
}
$r1++;
}
echo "La cantidad de números pares del rango " . $n . " - " . $r2 . " es " . $c . ".";
} else {
echo "Rango incorrecto.";
}
?>
_________________________________________________________________________________
Este algoritmo obtiene la cantidad de los primeros N números múltiplos de 5 de un número N dado.
<?php
$N = 60;
$n = 1;
$c = 0;
do {
if($n % 5 == 0){
$c = $c + 1;
}
$n = $n + 1;
} while ($n < $N);
echo "La cantidad de múltiplos de 5 es ". $c. "." ;
?>
________________________________________________________________________
El siguiente programa determina la cantidad de dígitos total, la cantidad de dígitos pares que contiene, y el dígito mayor de un número dado.
<?php
$n = 8765;
$n1 = $n;
$c1 = 0;
$p = 0;
$r1 = 0;
while ($n <> 0) {
$r = $n % 10;
$n = floor ($n / 10);
if ($r % 2 == 0) {
$p++;
}
if ($r1 <= $r) {
$max = $r;
}
$r1 = $r;
$c1++;
}
echo $n1 . " tiene " . $c1 . " dígitos.</br>";
echo $n1 . " tiene " . $p . " dígitos pares.</br>";
echo "El dígito mayor de ". $n1. " es ". $max. ".";
?>
________________________________________________________________________
Este algortimo devuelve el inverso de un número.
<?php
$n = 1785;
$i = 0;
$n1 = $n;
while ($n <> 0) {
$r = $n % 10;
$n = floor ($n / 10);
$i = ($i * 10) + $r;
}
echo "El inverso de ". $n1 . " es " . $i. ".";
?>
________________________________________________________________________
Este algoritmo indica si un número dado es o no un cubo perfecto (la suma de los cubos de sus dígitos dan el mismo número).
<?php
$n = 64;
$n1 = $n;
while ($n <> 0) {
$r = $n % 10;
$n = floor ($n / 10);
$cubo = pow($r, 3);
$cubosuma = $cubosuma + $cubo;
}
if ($n1 == $cubosuma) {
echo $n1 . " es un cubo perfecto.";
} else {
echo $n1 . " no es un cubo perfecto.";
}
?>
________________________________________________________________________
El siguiente programa obtiene la suma de pares e impares de los primeros N números enteros de un número N dado.
<?php
$N = 20;
$n = 1;
$p = 0;
$imp = 0;
for ($i = $n; $i <= $N; $i++) {
if ($n % 2 == 0) {
$p = $p + $n;
} else {
$imp = $imp + $n;
}
$n = $n + 1;
}
echo "La cantidad de pares es: ". $p. ".</br>";
echo "La cantidad de impares es: ". $imp. ".</br>";
?>
________________________________________________________________________
El siguiente algoritmo determina el número de múltiplos de un número M dado en un rango de números enteros dado.
<?php
$M = 4;
$r1 = 1;
$r2 = 20;
$c = 0;
if ($r1 <= $r2) {
for($i = $r1; $i <= $r2 ;$i++){
if($i % $M == 0){
$c = $c + 1;
}
}
echo "En el rango entre ". $r1. " y ". $r2. ", hay ". $c. " múltiplos de ". $M. ".";
}
?>
________________________________________________________________________
El programa de este ejemplo determina si un número dado es o no un número primo (número mayor que 1 que sólo es divisible por 1 y por sí mismo).
<?php
function Primo($n){
$div = 2;
while($div < $n) {
if(($n % $div) == 0) {
$boolean = True;
break;
} else {
$div++;
}
}
if ($boolean) {
echo "El número ". $n . " no es primo.";
} else {
echo "El número ". $n . " es primo.";
}
}
Primo (23)
?>
Otro modo de hacer lo mismo:
function Primo($n){
$cont = 0;
for($i = 1; $i <= $n; $i++){
if($n % $i == 0){
$cont++;
}
}
if($cont == 2){
echo "El número ". $n . " es primo.";
} else{
echo "El número ". $n . " no es primo.";
}
}
Primo (3)
?>
________________________________________________________________________
El algoritmo siguiente muestra todas las letras desde "a" a la "z" en minúsculas.
<?php
for ($i=97;$i<=122;$i++) {
echo chr($i);
}
?>
________________________________________________________________________
Este programa determina si dos números dados son amigos (la suma de los divisores de uno son iguales al otro y al revés) o no.
<?php
$n1 = 220;
$n2 = 284;
$suma = 0;
$suma2 =0;
for ($c = 1; $c < $n1; $c++) {
if ($n1 % $c == 0) {
$suma = $suma + $c;
}
}
for ($d = 1; $d < $n2; $d++) {
if ($n2 % $d == 0) {
$suma2 = $suma2 + $d;
}
}
if ($suma == $n2){
if ($suma2 == $n1){
echo $n1." y ".$n2." son amigos.";
}
}else{
echo $n1." y ".$n2." no son amigos.";
}
?>
________________________________________________________________________
El siguiente algoritmo determina si un número dado es o no capicúa.
<?php
$n = 4554;
$nstring = (string)$n;
$result = "";
for ($i = strlen($n) - 1; $i >= 0; $i--) {
$result.=$nstring[$i];
}
$inv = (int)$result;
if ($n == $inv) {
echo $n." es capicúa.";
} else {
echo $n." no es capicúa.";
}
?>
________________________________________________________________________
Este programa determina si un número dado es perfecto (la suma de sus divisores da ese mismo número) o no.
<?php
$n = 55;
$suma = 0;
for ($c = 1; $c < $n; $c++) {
if ($n % $c == 0) {
$suma = $suma + $c;
}
}
if ($suma == $n){
echo $n." es perfecto.";
}else {
echo $n." no es perfecto.";
}
?>
________________________________________________________________________
Algoritmo que muestra la tabla de multiplicar completa desde el 1 al 10.
<?php
for($tabla=1; $tabla<=10; $tabla++) {
echo "<h3>Tabla del $tabla </h3>";
for($n=1; $n<=10; $n++) {
echo "$tabla x $n = ". ($tabla * $n) . "<br/>";
}
}
?>
________________________________________________________________________
Espero que esta entrada de la bitácora haya sido interesante y/o útil al lector. De ser así, aguardo que la comnete y/o la comparta, por favor.
No hay comentarios:
Publicar un comentario
Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.