UNIDAD 2: INSTRUCCIONES DE CONTROL DE PROGRAMA

TEMA PERL 6: Condiciones Compuestas

En muchas ocasiones es necesario presentar mas de una condicion para su evaluacion al computador.

Por ejemplo que el computador muestre la boleta de un alumno si este estudia la carrera de medicina y su promedio de calificaciones es mayor de 70.

Una condicion compuesta se define como dos o mas condiciones simples unidas por los llamados operadores logicos.

Los operadores logicos que perl reconoce son;

Operador Significado

And —>&&—> y

Or —→||—> o

Not —>!—→ no

Sorpresa perl tiene dos simbolos para cada operador logico, la diferencia esta la precedencia que (&&,||,!) tienen sobre (and, or, not), para proposito del curso usaremos los primeros (and, or, not).

Para que el computador evalue como CIERTA una condicion compuesta que contiene el operador logico “and” las dos condiciones simples deben ser ciertas.

Para que el computador evalue como CIERTA una condicion compuesta que contiene el operador logico “or” basta con que una de las condiciones simples sea cierta.

La cantidad total de casos posibles cuando se unen dos o mas condiciones simples esta dada por la relacion image86.jpgdonde n = cantidad de condiciones, la primera mitad de ellos empieza en cierto y la segunda mitad en falso.

Ejemplo, si formamos una condicion compuesta con dos condiciones simples y el operador logico “y” la cantidad total de casos posibles serian image87.jpgy se puede construir la siguiente tabla de verdad.

Tabla de verdad con “y”

1ra CS 2da CS Eval

C C C

C F F

F C F

F F F

La evaluacion final se obtiene usando la regla anteriormente descrita para una condicion compuesta que contiene el operador “and”.

Esta tabla significa lo siguiente:

1.- Cualquiera que sean la cantidad de datos procesados, siempre caera en uno de estos cuatro posibles casos.

La tabla de verdad para una condicion compuesta con “O” es la sig.;

1ra Cond 2da Cond Eval

C C C

C F C

F C C

F F F

Como se observa, una condicion compuesta con “O” es menos restrictiva, o el 75% de los casos terminarian ejecutando el grupo CIERTO de instrucciones de la instruccion condicional.

Programa4.pl

#! /usr/bin/perl -w
# usando modulo o libreria CGI
use CGI;
# creando el OBJETO de tipo CGI
$q = new CGI;
if ($q->param('OK')){
$muni= $q->param('MUNICIPIO');
$num= $q->param('NUMERO');
if ( $muni eq 'ENSENADA' and $num >20 )
{ $respuesta = 'Ensenada y mayor de veinte'; }
else { $respuesta = 'no cumple condicion'; };
$q->param('T1', $respuesta);
};
# mandando servidor los encabezados de la pagina html
print $q->header;
print $q->start_html();
print $q->hr();
print $q->startform();
print "DAME MUNICIPIO :";
print $q->textfield('MUNICIPIO','0',10);
print $q->br();
print "DAME NUMERO :";
print $q->textfield('NUMERO','0',5);
print $q->br();
$q->param('T1', $respuesta);
print $q->textfield('T1','',30);
print $q->submit('OK');
print $q->endform();
print $q->hr();
#cerrando html
print $q->end_html;
corrida:

image241.jpg

Construir una tabla de verdad para una condicion compuesta de tres o mas condiciones simples, es tambien tarea sencilla, solo recordar que:

1.- La cantidad posible de casos es image88.jpgcasos posibles la mitad empiezan con Cierto y la otra mitad empiezan con Falso.

2.- Para evaluar esta condicion triple primero se evaluan las dos primeras incluyendo su operador bajo las reglas ya descritas y luego se evalua el resultado parcial contra la ultima condicion y ultimo operador para obtener la evaluacion final.

Ejemplo una condicion compuesta de tres condiciones simples donde el primer operador logico es el “y” y el segundo operador logico es el “O”, daria la siguiente tabla de verdad.

1ra 'y' 2da Eva Parcial 'o' 3ra Eva final

C C c C c

C C c F c

C F f C c

C F f F f

F C f C c

F C f F f

F F f C c

F F f F f

TAREAS PROGRAMACION PERL

1.- Construir un programa que capture un numero cualesquiera e informe si es o no es mayor de 50 y multiplo de tres. ( solo escribir el mensaje de respuesta de manera muy clara y esto resuelve el problema )

2.- Construir un programa que indique si un numero es un par positivo.

3.- Capturar los datos de un producto incluyendo su cantidad en existencia, construir una pagina que despliegue una orden de compra si la cantidad en existencia del producto es menor que el punto de reorden o si el origen del producto es nacional.

4.- Construir un programa que capture los datos de un empleado, desplegar en una pagina su cheque semanal si gana mas de $500.00 y si esta en el departamento de produccion, en caso contrario desplegarle en otra pagina un bono de despensa del 25% de su sueldo semanal.

Politica de Privacidad