Está en la página 1de 10

PROGRAMACIÓN

SEMANA 3: EXPRESIONES Y OPERADORES

Eric Wuillans Lazo


19-09-2022
Técnico en Automatización y control
DESARROLLO
1. Utilizando operadores de comparación y lógicos, resuelva el siguiente caso, con PHPtester:

A. Declare una variable que guarde la edad de una persona. Luego, si la edad es menor de
18 años, aparecerá el siguiente mensaje: “Eres menor de edad, no podemos
contratarte”.
B. Si es mayor de 18 años y menor o igual de 60 años, le saldrá el mensaje: “Es posible que
usted sea un candidato al cargo”.
C. Si es mayor de 60 años, le saldrá el mensaje: “Lo sentimos, pero usted no cumple el
perfil del cargo”.

a) Se declara el valor en la variable, en este caso un valor numérico 17 que se compara entre las
condiciones con operadores relacionales y operadores logicos, mostrando en pantalla el
mensaje correspondiente a las condiciones. El resultado mostrado en pantalla es “Eres menor
de edad, no podemos contratarte.”
Código fuente ejercicio 1.

<?php

echo "<center><h1>Control Semana 3<br>


Eric Wuillans Lazo.</h1> <h3>Expresiones y operadores</h3></center><br>
";
echo "<h2><u>Ejercicio 1:</u></h2>";

// Se asigan el valor a la variable, para comprobar cada condicion.

$edad = 17;

// Se declaran las 3 condiciones con el comando if, segun en el ejercicio.

if($edad < 18){

echo '<FONT COLOR=#FF0000><b>Eres menor de edad, no podemos contratarte</b>';

}else if($edad >= 18 && $edad <= 60){

echo '<FONT COLOR=#00FF00><b>Es posible que usted sea un candidato al cargo';

}else{

echo '<FONT COLOR=#0000FF><b>


Lo sentimos, pero usted no cumple el perfil del cargo'; }
b) Se asigna un valor mayor a 18 de acuerdo al ejercicio, se evalúa la variable con la función,
mostrando en pantalla el segundo mensaje.

Código fuente

<?php

echo "<center><h1>Control Semana 3<br>


Eric Wuillans Lazo.</h1> <h3>Expresiones y operadores</h3></center><br>
";
echo "<h2><u>Ejercicio 1:</u></h2>";

// Se asigan el valor a la variable, para comprobar cada condicion.

$edad = 59;

// Se declaran las 3 condiciones con el comando if, segun en el ejercicio.

if($edad < 18){

echo '<FONT COLOR=#FF0000><b>Eres menor de edad, no podemos contratarte</b>';

}else if($edad >= 18 && $edad <= 60){

echo '<FONT COLOR=#00FF00><b>Es posible que usted sea un candidato al cargo';

}else{
echo '<FONT COLOR=#0000FF><b>
Lo sentimos, pero usted no cumple el perfil del cargo'; }
c) Se asigna un valor fuera del rango de edades para que sea evaluada por la función, mostrando
en pantalla en mensaje de la última función.

Código fuente
<?php

echo "<center><h1>Control Semana 3<br>


Eric Wuillans Lazo.</h1> <h3>Expresiones y operadores</h3></center><br>
";
echo "<h2><u>Ejercicio 1:</u></h2>";

// Se asigan el valor a la variable, para comprobar cada condicion.

$edad = 61;

// Se declaran las 3 condiciones con el comando if, segun en el ejercicio.

if($edad < 18){

echo '<FONT COLOR=#FF0000><b>Eres menor de edad, no podemos contratarte</b>';

}else if($edad >= 18 && $edad <= 60){

echo '<FONT COLOR=#00FF00><b>Es posible que usted sea un candidato al cargo';

}else{

echo '<FONT COLOR=#0000FF><b> Lo sentimos, pero usted no cumple el perfil del cargo'; }
2. Dada las siguientes expresiones, ingréselas en PHPTester e indique el resultado respectivo.
Considere las siguientes variables:

A = 4; B = 5; C = 10; D = 3; E = 7; F= 9

A partir de lo anterior, determine el valor de:

a) X = (A<B) OR (NOT(A<>C) AND (A+B<D OR A<F))

b) Y = D * B + F – A / B * F

Se utilizan los operadores lógicos, de comparación y aaritméticos para resolver las expresiones.
3. Pruebe los siguientes programas en PHPTester y mencione las diferencias al evaluar las
expresiones:

Programa 1
<?php
$var1 = true;
$var2 = false;
$todo = $var1 && $var2;
if ($todo) {
print "<p>verdadero</p>\n";
} else {
print "<p>falso</p>\n";
}
?>
Programa 2
<?php
$var1 = true;
$var2 = false;
$todo = $var1 and $var2;
if ($todo) {
print "<p>verdadero</p>\n";
} else {
print "<p>falso</p>\n";
}
?>

Revisando ambos programas se puede ver diferentes resultados utilizando el mismo operador lógico Y,
esto se debe a que al ser representado en sus dos formas distintas dentro del código del programa
podemos ver que tienen distinta precedencia, por lo cual en el ejercicio aparentemente similar nos
entrega dos resultados. En el primer código el operador lógico “Y” está escrito con su símbolo &&, lo que
hace al momento de compilar el código analice las variables con el valor booleano que se le asignó a cada
una, el interpretador analiza la línea completa del valor de la variable $todo y de acuerdo a la función nos
entrega el valor correspondiente a la tabla de la verdad del operador lógico Y.
En cambio en el segundo código se escribe la palabra And que también representa el operador lógico Y,
sin embargo tiene la diferencia que el interpretador del código analiza los valores de las variables pero al
ser valores booleanos o también podrían haber sido binarios no considera la otra variable $var2 y
almacena el primer valor de la variable ($var1) en la variable $todo, el cual muestra en pantalla en este
caso Verdadero, lo cual esta errado, ya que la tabla de la verdad Y, nos dice otra cosa.
Tabla de la verdad AND

En conclusión podemos ver que la representación de AND con su símbolo && en el programa 1 tiene
mayor jerarquía y puede resolver la operación de manera correcta, y aunque el segundo programa no
muestre error de sintaxis al momento de compilar nos entrega un valor incorrecto, no obstante se puede
obtener el mismo resultado que el programa 1, agregando operadores aritméticos como los paréntesis, el
cual al ser agregados en la línea que determina el valor de la variable $todo, ayuda a que el compilador
resuelva la operación de esa variable tomando en cuenta todo lo que está dentro de los paréntesis y con
la función muestre el resultado que corresponde a la tabla de la verdad.
REFERENCIAS BIBLIOGRÁFICAS
IACC (2018). Expresiones y Operadores. Programación. Semana 3.

Operadores relacionales (Septiembre-2012). Revisado en:


https://phphomeworks.wordpress.com/tag/operadores-relacionales/?
msclkid=eb62f756baa611ecbd8585b9d65a2692

También podría gustarte