computacion i

Upload: industrialcv

Post on 15-Jul-2015

82 views

Category:

Documents


2 download

TRANSCRIPT

  • 5/13/2018 Computacion I

    1/91

    Nota del editor

    COMPUTACION I. Logica, resolucion de problemas. algoritmos y programas es una obra naci-da de laun i6n de dos tex tos para a tender a las neces idades de la Unive rs idad Nac iona l Abierta .Dichos textos son los siguientes: Tucker, A. B.; Bradley , W. J .; Cupper, R. D., YGarnick , D. K.: Fundamentos de Informatica.Logica, resolucion de problemas, programas y computadoras. Madrid. Mcflraw-Hill. 1994. Joyanes Aguilar, L.:Fundamentos deprogramacion. Algoritmos y estructura de datos. Madrid,McGraw-Hill. 1996.Se ha respe tado e l forma to de ambas obras , de ahf que e l tarna fio y tipos de le tra son d is t in -

    tos. Asimismo, se ha mantenido la numeraci6n de los capftulos de cada libro. Por ello, COMPU-TACION I. Logica, resoluci6n de problemas, algoritmos y programas comienza en elCapitulo 2,con tinua has ta e l Cap itulo 6 (correspond ientes a laobra deTucker y o tros ) y finat iza en los Ca-pitulos 1 a 5 (pertenecientes al texto de Joyanes).

    Madrid. octubre de 1999

    vi

    Contenido~~I~~~l ~dit~;""'"'''''''''''''''''''''''''''''''''''''''''''''''''''''' : .... .~ , ~.,.~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~ .Capitulo ~:I. ~~~:~~C:~.~~~.~~~.~.~.:::::::::::::::::::::::::::::::::::::::::::::::::::::::2.1.1. Relacionesentre conjuntos: los diagramas de Venn ..i:~I6ari:!~f~~~re~ir:~~~~nt~~ ..:::::::.::... ::::::::::::::::::::::::::::::::::::::::::::::::2.1.4. PioPiedades delaso~raciones ent';e'~'~~J':~'~t~~""'''''' ..2.1.5. Conjuntos decadenas de caracteres .

    2.2. ~ ~ ~ f ! ~ ~ ~ ~ ~ ~ ~ : : i : : : : ~ : ~ : : . : : : : : : :: : : : : : : :: : : : : : : :: : : : : : : :: : : : : : : :: : : : : : : :: : : : : : : :: : : : : : : :: : : : : : : :: : : : : : : :: : : : : : : :: : : : : : : :: : : : : : : : :: : : :2.2.2. Funchin~: c o~~f:~a~""d'i'~~"'t~""""""""""""""""""'''''' .2.2.3. Fonnas altemativas d~defi~r ;u~~i-;.;~~~ .. . .Ejercicios ::::::::::::::::::: .2.2.4. Funcionesuno-a-uno y funciones inversas ..2.2.5. Fu~cione~boolean~. enteras, e"ponenciale'~yi~g~~it~i~~..::::::::::::::::::::::::::::::::::~!~~icio~~~~~.~.~.~.~~~~.:..~~.~~.I.~~.~.~.~~~~~~~~~~.~ .

    Cap,... t ~ ~ ' ~ ~ : ~ : ~ ~ I : : . : . : : : : : . : . : . : : : : : . :..:.::: : : : : : : . : . : : : : : : : . : : . : : . : : . : . :: : . . : . : : . : : :3.1.1. Represe!'taciones de frases en castellano utilizandola 16gica'p;~~~i~'i-;';~;i"'"''''''3.1.2. Evaluacion de proposiciones: Tablas de verdad ..~~:cicio~~~~~.I.~~.~~.~.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::3.2. Razonamiento con proposicione .3.2.1. Equivale . s .nCla ..3.2.2. Propiedades de la uivalen ia ..3.2.3. Reglasde inferenc~: La idea d~d~~~~i~~~i6~ ..3 .2 .4 . Est ra te ias de demo tra . . ..3.2.5. Resolu~i6n d e robl~m:: ~~ i~~id . . . ..EL6jerl~ciacidos....d:.....:........~~~~~:::::::::::::::::::: :::::::::::::::::::::::: :::::::::::::::::::::3.3. g e pr icados .3.3.1. Loscuantificadores universaly e~i~t~~~i~i. .3.3.2. Otros cuantificador .3.3.3. Variableslibres lie~d~~. . . . .3.4. Predicado y g , ..s y programas .3.4.1. E I estado de un cal I .3.4.2. Cuantificadores : r~~~i6~~b~.~ . . . ..3.5. Razonamiento c on p redic~J'os:gpruebapor i n~~~ci6~ .. .. ..

    3.6. ~~~~f~s 1 : ; :: : : :: : : :: : : :: : : :~ : : : :: : : :: : : :: : : :: : : :: : : :: : : :: : : :: : : :: : : :Capitulo : ~ l .~: !~: : '~~?i : :=u solucl6n ~ : ~ ..Ejercici ; : ..

    4. 2. De fi ni ci ~~ d~ p~bi~~~~ Yd~ ~~r i i 6~ d~~i ~; i t~~~ :: :: :: :: : .4.2.1. Los estados !nicial y ~niI de un alg~ritmo:entraday..s~iid~.::::::::::::::::::::::::::::::::::4 .2 .2 . Lo s e st ad os i nt ermedios d e un c al cu lo : i nt rod uc ci 6n d ev ar iab le s ..

    vviI2448

    10II13151618202224283433383841414447515254545558616566697176767777788186i'l93939395

    vii

  • 5/13/2018 Computacion I

    2/91

    viii

    4.5.Capitulo 5.5.1.5.2.

    Capitulo 6.6.1.6.2.6.3.6.4.

    Capitulo 1.1.1.

    Contenido

    4.3. t ~ f ~ ~ j ~ ~ ~ ~ ~ ~ t ; ; ~ s ~ : i ~ : i i ~ ~ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ; : : : : : : . : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :4 .3 .2 . R ep et ic i6 n y bucles: inicializacion, invarianza y terminacion .4.3.3. Tres visiones de la misma solucion al problema .~ ~ ~ c ~ ~ ~ h l ~ ~ ~ ~ ~ i g ~ ; i i ~ i ~ ~ ~ : : : : : : : : :: : : : : :: : : : :: : : : : :: : : : : :: : : : :: : : : : :: : : : : :: : : : : :: : : : : :: : : : :: : : : : :: : : : : :: : : : :: : : : : :: : : : :: : : : :4. 4. 1. Calculo de all .4 .4 .2. C on ta r pa la br as d e u n texto .4.4.3. Representacion del problema de Las Tres-en-Raya '" , .~~r~~!~s.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;::::::::::::::::::::::::::::::::::::::::::::::::::Resoluci6n de problemas algoritmicos : ~:; .Necesitamos una rnetodologfa .5 .1 .1 . Gen er al id ad es s ob re e l metodo MAPS .Construccion de software para s u reutilizaci6n: la rutina .5 .2 .1 . Encapsulamiento derutinas para Ia r eu ti li za ci 6n . Abst ra cc i6 n p ro ce dime nt al .5 .2 .2. Identificacion de rutinas nuevas y definicion de s us abstracciones .5.2.3. Funciones recursivas: Una a ltemativa a la repeticion .5 .2 .4 . Aprendizaje de rutinas yaexistentes: Bibliotecas y caracterfsticas de los lenguajes5.2.5. Selecci6n y reutilizacion de t ipos de datos y estructuras ~ .5.2.6. Arrays de cadenas de caracteres , , .5 .2 .7 . T ip if ic ac io n f ue rt e y coerci6n u ~ Ejercicios .Resoluci6n de un problema utilizando la metodologla MAPS .5.3.1. EI dialogo , .5.3.2. Las especificaciones .~j~:ciciO~.~~~~~~~.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::D ef in ic io ne s de a bst ra cc ion es: u ni fi ca ci 6n d e r ut ina s v ie ja s c on i de as n ue va s , .5.4.1. Reutilizaci6n de rutinas .5.4.2. Utilizacion de la creatividad para disefiar nuevas rutinas .5. 4. 3. U ti li za ci on d el c on oc ir ni ent o d el d om ini o e n e l d ise no d e r ut in as n ue va s .Terminaci6n del caso de estudio '" , .5.5.1. Codificacion .5.5.2. Prueba y verificacion .5.5.3. Presentacion .Resumen .Ejercicios .Robustez y prueba de los algeritmos , : .~j~~~i~~~~n.:..~~~~~.~~.~.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::R es oluc io n d e p robl emas d ep r oces amiento d e t exto, u ti li zando MAPS: C riptog ra ff a .R~so~u~ion de problemas graficos utilizando MAPS: el J uego de la Vida .EJerCICIOS , '" , '" '" .Garantfa de la robustez. Disefio de casos de prueba '" , .6 .4 .1 . Ejemplo: Prueba de un procedimiento 0 funcion completes .6.4.2. Ejernplo: Prueba d e un programa completo , .Garantfa de correccion: verificaci6n de program as .6 .5 .1 . Tab leau de demostracion .6.5.2. La regia de inferencia de la asignacion ...................................................................6.5.3. Reutilizacion de las reglas de inferencia de la logica .6.5.4. Reglas para las condicionales .6.5.5. Verificacion de bucles .6.5.6. Verificaci6n formal frente a v erificaci6n informal de programas .Resumen .Ejercicios .Algoritmos y programas , , .Los sistemas de procesamiento de la informacion .

    4.4.

    5.3.

    5.4.

    5.5.

    5.6.

    6.5.

    6.6.

    979810 0103108III112113116121126130131131132134134140144146147149ISO152156156158159161162163166167169169171171173174177178182182187[96196197202203203206209209212216217218221222

    Contenido1.2. Concepto de algoritrno .1.2.1. Caracterfsticas de los algoritmos '" ,'" '" .., .1.3. Los lenguajes de programaci6n .1.3.1. Instrucciones a la computadora , , , ,'" '" .1.3.2. Lenguajes rnaquina .1.3.3. Lenguajes de bajo nivel .1.3.4. Lenguajes de alto nivel .1.3.5. Traductores de lenguaje .1.3.5.1. Interpretes .1.3.5.2. Compiladores ,..., .1.3.6. La compilacion y sus fases .1 .4 . Datos , t ip os d ed a to s y operaciones prirnitivas : :::1.4.1. Datos numericos '" ,. '" ., '" '" ,'" , .1.4.2. Datos logicos (booleanos) .1.4.3. Datos tipo c aracter y tipo cadena ,. '" .,. '" .,. '" ., '" '" '" .

    j : ~ : f i . r ~ : ~ ~ ~ V r ; : : ~ ~ ~ Z : ; ; ~ : ~ ~ ; ~ ~ ~ : :: : : : :: : : : : : : :: : : : : : : :: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ::::::::::::::::::::::::: : : :1.6.1.1. Reglas de prioridad .1.6.2. Expresiones 16gicas (booleanas) .1.6.2. I. Operadores de relaci6n .1.6.2.2. Operadores logicos .1.6.2.3. Prioridad de los o peradores en l as e xpresiones logicas .::~: r~~~~~::i~~t~~:~ig~~~;6~::: ::::::::::::::::::.:.: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::1.8.1. Asignaci6n aritmerica .1.8.2. Asignacion logica .1.8.3. Asignaci6n de cadenas de caracteres .1.8.4. Conversion de tipo .1.9. Entrada y salida de informacion .A.ctiv.id.ades de programacion resueltas .Ejercicios , , , '" .Capitulo 2. La resolaeien deproblemas concomputadoras y lasherramientas deprogramacion .2.1. La resoluci6n de problemas .2.2. Analisis del problema , '" .2.3. D iseiio del algoritmo '"2.3.1. Escritura inicial del algoritmo .2.4. Resolucion del problema mediante computadora .2.5. Representaci6n graflca de los algoritmos .2.5.1. Diagramas de f1ujo .2.6. Diagrarnas d e Nassi-Schneiderman (N-S) .2.7.. . Pseudoc6digo .A.ctlv.ld.ades de prograrnacion resueltas '" '" .Ejercicios : '" .Capitulo 3, Estructura general de un program a :: : :::::::::::::::::::3.1. Concepto de un programa ' .3.2. Partes constitutivas de un programa .3 .3 . Ins trucciones y tipos de instrucciones .3.4. Tipos de instrucciones '" '" .., '" .3.4.1. Instrucciones d e asignacion .3.4.2. Instrucciones de lectura de datos (entrada) .3.4.3. Instrucciones de escritura de resultados (salida) .3.4.4. Instrucciones de bifurcacion .3.5. Elementos basicos de un program a .~ : i : i : ~~~~~f:j~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::~'::::::::::::::::::::::::::::::

    3 .5 .4 . Dec is io n 0seleccion .3.5.5. Interruptores .

    ix224225226227227228229, 23023023123123323323523523623723&24024224224424524624724824924924925125125725926026026126326526626627627827928428728728828929029029129229229329429 629930 0301

  • 5/13/2018 Computacion I

    3/91

    x Contenido3.6. Escritura de algoritmos/programas : , .3. 6. 1. C ab ec er a de l pr og ram a 0algontmo .3.6.2. Declaraci6n de variables : .3.6.3. Declaraci6n de constantes num~flcas ~ ..3 .6.4. Declaraci6n de constantes y van abies caracter .3 6 5 Comentarios ..3:6:6: Estilo de escritura de algoritmosrprogramas .Actividades de programaci6n resueltas .Ejercicios .Capitulo 4. Introdueclona laprogramacion estructurada 1 ' . .! : i : ~~;:~~a~f6~r~~~~i~~ ..:::::::::::::::::::::::::::::::::::::::::::::}~~:::::::::::::::::::::::::::::::::::::::::::::::::::4.2.1. Tamaiio de los m6dulos :.; .4.2.2. Implementaci6n de los modules ..4.3. :~~.1~ama~~~~r~~;Ua~~:a~~o~::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::

    4 .3 .2 . Disef io descendente (lop-down) : .4.3.3. Teorema de la p rogramaci6n estructurada: estructuras basicas ..4.4. E structura secuencial .4.5. Estructuras selectivas ..4 .5 .1 . Altemativa s imple (si-entonces I if-the!l) ..4 .5 .2 . Alt emat iv a dob le (si-entonces-si no Ilf-then-else) ..4 . 5 . 3 . Altemativa multiple (segun-sea, caso de I case) .4.6. Estructuras repetitivas ..4 . 6 . 1 . Estructura mientras (

  • 5/13/2018 Computacion I

    4/91

    2 Computaci6n I. L6gica, resoluci6n de problemas, algoritmos y programas Conjuntos y funcionesres , representan con juntos que son esenc ia le s para la informatica ; todos e llosestan incluidos en los lenguajes de programacion y las computadoras moder-nas. En este capitulo estudiaremos la correspondencia que existe en programa-c ion entre estos con juntos y e lconcep to de tipo, Algunas funciones resul tande v ital importanc ia en programac ion, Entre e lIas se inc luyen las funcionesdiscretas, las funciones exponenciales y logaritmicas, y funciones que se repre-sentan mediante series finitas.Estud ia remos todas e llas en este cap itulo, pon iendo espec ia l interes en des -tacar por que son importantes para la informa tica .

    Norac ion. Observese la u ti lizacion de la coma y los pun tos suspens ivos .Las comas separan elementos individuales del con junto, mientra s que lospuntos suspensivos (...) denotan la repeticion de un patron c1aramente esta-b lecido , como ocurre en las Ecuac iones 2.3 y 2.5.Tambien podemos defin ir un con junto, e stab leciendo las propiedades que de-ben sat is face r todos sus e lementos , por e jemplo :

    {x ]x es en tero y 1 ~ x ~ lOO}2.1. CONJUNTOS Esta notac ion requiere una variable a l comienzo, una barr a vertica l y, al final,una descripcion de los e lementos . Con esta notac ion, la Ecuac ion 2 .6 se lee elconjunto de los x tales que x es un numero entero entre 1 y 100, ambosinc lusive. Cla ramente, e ste e jemplo describe e l mismo conjunto de la Ecua-cion 2 .5. La Ecu acion 2.7 es ot ro ej emplo de est a al ternat iv a pa ra l a de sc rip-cion de conjuntos:En la vida c ot idi ana son c or ri ent es l as co lec ciones d e ob jetos 0 numeros.Podemos pensa r en la coleccion de personas de nuestra c la se , la coleccion dedigi to s y l et ras de l a rnatricula d e un automovil, 0 la coleccion de los nombresde aerol ineas que vue lan a l aeropuerto O'Hare de Chicago . Estas colecciones ,en e l l enguaj e ma temat ico, r ec ibe n el n ombre de conjuntos. Una descripcionmas precisa la podemos rea liza r de la forma s iguien te . { p i p es un po linomio de grado 2}

    Definicion. Un conjunto es cualquier coleccion bien defin ida de objetos . Amenudo, los objetos que forman un con junto comparten a lguna carac te ris-t ica en c omun. Un e lemen to d e un conjunto es cu alqui er a de los objetosque 10 cons ti tu yen . Se d ice que un e lemento de un conjunto pertenece ad icho con junto. S iS esun con junto que con tiene e le lemento x , para expre -sar que x pertenece a S escribiremos XES.

    Ejemp lo s de el ementos d el con jun to def inido por 1a Ecu acion 2.7 son los si -guientes:x2 + 2x + 1 . 01n 2 - lOO n - 3 8000y2 - 67

    Algunos con juntos t ienen un numero fin ito de e lementos , mientra s que o trost ienen un numero infin ite de e llos . Por e jemplo , los con juntos defin idos por lasEcuaciones 2.1 a 2.6 son fin itos , mientra s e l conjunto defin ido por la Ecua-cion 2.7 es infinito.Una de las formas de describ ir un con junto esence rrando los e lementos que 10componen entre corchetes { y } . Por e jemplo , e lconjun to de los d ias laborab lesde la semana se puede describ ir como:

    {Lunes, Martes, Miercoles, Jueves, Viernes} Definicion. Se denomina cardinalidad de un conj unt o al numer o de ele-men tos d el qu e const a. E l conjunto vacio es aquel que no con tiene n ingune lemento y , por tan to , su cardina lidad es O.EI conjunto vacio se simbolizapor {} 0 por .Las Ecuaciones 2.1 a 2.7 son otros ejemplos de definicion de conjuntos:to , 1,2, 3,4, 5, 6, 7,8, 9} e s el c onjunto c uyo s el ementos s on losdigitos decimales.{O,I} ese l con junto de d ig itos que seu til iza para esc ribir numerosbinarios.{a ,b , c, . .., z} es el conjunto de letras minusculas del alfabeto.{+, -, *, I} es e l con junto de las cua tro operaciones a ri tmeticasmas importantes.{I, 2,..., 100} ese l con junto de numeros enteros del l a IIOO, ambosinclusive.

    (2.1)

    (2.2)Por e jemplo , la cardina lidad del con junto defin ido por la Ecuac ion 2.3 es 26.Exi st en cu at ro c onjun tos qu e t ie nen un a impor ta nc ia e spe ci al , t an to para l ainformatica como para las maternaticas:

    to , 1 ,2 , 3, . .. }{ .. -3, ~2, -1,0,1,2,3, ...}

    NZR

    (2.3)(2.4)

    numero naturaleslos enteros

    {xl- infinito < x < + infinito}{ O, I , 2 , ... , n - I}

    los numeros reales(2.s)los enteros modulos n

    3

    (2 .6)

    (2.7)

  • 5/13/2018 Computacion I

    5/91

    4 Computecion I. Logica, resolucion de problemas, algoritmos y programas Conjuntos y funciones 5

    2.1.1. Relaciones entre conjuntos: los diagramas de Venn a)

    Los tres primeros son infinitos, mientras que el.t'dtimo es.fin~to y tiene car?ina-lidad n. Por e jemplo , e l con junto Z2 = {a, I} tiene cardinalidad 2;el conjuntoZlO = {a , 1 , . . ., 9} t iene cardina lidad 10.

    EI o rd en en qu e ap arec en e numerados los el ementos d e un conjun to no t ien eespecial relevancia; adem as, la duplicidad de elementos es.redundante. Es decir,{a , b, c} y {b, a, c, a} representan el mismo conjunt?" " .,.Es bas tante hab itua l que los e lementos de un con junto sean tambien miem-bros d e ot ro d if er en te s. Por ej emplo, t odos los el ementos d el co njun to V =={a, e , i, 0, u} son tambien e lementos del con junto L = {a, b , . .., z}. Ladefin ic ion s iguien te s irve para forma liza r estos concept os:

    Definicion. Si dos conjuntos A y B contienen los mismos elementos, se diceque son iguales y se simboliza escribiendo A = B. Si todos y cada u~ o delos e lementos de A tambien 10 s on d e B, y se simboliza por A cB. Si A esun subconjunto de B, decimos que B esun superconjunto de A y se simbolizapor A ::> B. Si se verifica que A i= B, Yademas A cB, entonces sed ice queA esun subconjunto propio de B. Sitodos los e lementos de un con junto 0 deuna co le cc io n d e c on ju ntos s e obt ien en d e un c on ju nto comun, a es te con-jun to se Ie denomina conjunto universal.Observese la d iferencia que existe entre element a y subconjunto. Por ejemplo,sea A = {a , 1, 2, 3, 4, 5, 6, 7}. Ent onces el digito a es un elemento de A(simbolizado por a EA), Yel conjunto {a} es un subc on ju nto d e A (y se denotapor {a} cA). Seria incorrecto dec ir que 0 es un subconjun to .de A, puesto queno es un conjunt o. De forma analoga, ser ia i ncor recto decir que {a} es une lemento de A.F re cu en temente, se r ep re se nt an los conjun to s u ti li zan do diag rama s d eVenn (ve as e F ig . 2 .1 ). Un diag rama de Venn es un dibu jo en e lq ue los c on ju n-tos se represent an como c ircu los e tiquetados , den tro de una caja rec tangular ,que representa e l con junto unive rsal del que se d ibujan los e lementos .

    b)

    Figura 2.1. Diagramas de Venn. a) Dosconjuntos A y B que puedentener varios elementos comunes. b) Larelaci6n A c8.

    De fini cion. Una va ri abl e es u n s imbolo que s e a soc ia c on un va lor s imple,que de hecho puede ser un el ement o de un conjunto bien definido. A 10l argo d e los p as os que imp li can un c al cu lo , el va lo r d e un a v ar ia bl e p ue decambi ar de ser uno de los miembr os del conjunt o a ser otro distinto, EIconjun to s ob re el qu e se d ef ine una va ri ab le r ec ib e el nombre d e t ip o d e l avariable.

    2.1.2. Variables tipos y estados Par ejemplo, la variable x que seha defin ido anterio rmente es del t ipo L (0 d emanera informal, del t ipo letra ).Otra noc ion fundamental en la informatica es la dees tado . Por e jemplo , unp ro grama que jue gu e al aj ed rez t ie ne muchos est ad os po sibl es -uno p ar cad apos ib le colocac ion de las p iezas sobre e l tab le ro -- . Un programa gra fico debec on trol ar mi ll on es d e pixe ls [puntas d e una pa ntal la de un mon itor , ca dauno de los cua les puede estar i luminado (on) 0 no iluminado (00)]. Su estado,e n c ada momento, e s eI va lo r on u of fq ue t ien en el millen de p ixels. La noc ionde estado se puede defin ir mas formalmente de la forma s iguien te :

    Dos no cion es fundamen ta les d e l a informa ti ca s on l as d e v ar iab le y estado.Una va ri ab le e s un mec an ismo de no ta cion qu e se toma p re st ado de l as mate-maticas , que perrn ite representar ideas complejas mediante un s imple s imbolo ,y que aporta concision y precision. Frecuentemente, leemos frases como: Re-presentemos mediante x una l et ra d el a lf ab eto , A cc nt in ua cion , podemosutilizar el simbolo x y entender de forma precisa 10 que s ignifica , puesto que seha defin ido anterio rmente e l s imbolo , para representar la noc ion de cualqu ie relemento del conjunto L = {a, b , . .. , z}. Cuando se u ti li za de est a forma, xrec ibe e l nombre de variab le, puesto que su valor puede varia r entre d iversasalternativas (26 para ser exactos). Defin ic ion. Supongamos que tenemos una lis ta de variables

    x I' x2 , XIIcuyos t ipos estan defin idos por los con juntos SI' S 2' . .. , S II ' respectivamente.

  • 5/13/2018 Computacion I

    6/91

    6 Computaci6n I. L6gica, resoluci6n de problemas, algoritmos y programas

    Suponga se qu e el v alor de Xl es s, E 5" el valor de X z es S2 E 52' y asisucesivamente, Entonces se dice que la expresion765432

    0-1-10 2 3 4 5 6

    a)

    representa el estado de las variables X 1> X 2 , .. . , XII EI con junto de todos losestados posibles de Xl' X 2 , . . . , x, recibe el nombre espacio de estados de esasvariables.Est a impo rt a nt e n ocion se i lust ra en los Ejemp los del 2.( aI 2.3:

    E jemplo 2 .1. Supongamos qu e un programa de compu tadora t iene dosvariables iy j, u ti li zada s como contado res. Ambas t iene n como t ipo e lcon junto de los numeros naturales . EI estado inicial del p rograma podriaser:

    Conjuntos y tuootonesy

    zb)

    i=O Y j=O Figura 2.2. Representaci6n gratica del estado de un programaa) Dos estados del espacio de estados del Eemplo 2.1. b) U~estado del espacro de estados del Eemplo 2.3.Un e st ad o po st er ior p od r i a se r

    i=5 Y j=6

    7

    Ejempl o 2.2. Si los pixel s control ados por un programa son Xl' X2 , . .. ,X 1000000, un e st ado d e es e programa tend r i a 1 mil le n d e en tr ad as, una pa rcada variable. Por e jemplo , la expresion

    . ~onsi ldere~e un programa can tre s variables rea le s z, x e y (variable rea lsrgmnca 0 m~smo q~~ variable del tipo rea l). Supong ase que el prog ram acontiene una IOstrUCClOnde la forma

    X = on Y X2 = off Y y X 1000000 onx:= 1.0

    describe un posible estado del programa.E.s ta ins trucc~o~ .as igna e l valor de 1 .0 a la variable x. Si no s e ha rea li za donmguna res tncCl?n sobre las o tras dos variables z e y, todo el plano x = 1 e s e lco.nJun t.~ de pos ib le s ~stados de este programa, despues de que se e jecu te laasignacron (vease la FIgura 2.3).E jemplo 2 .3 . Conside rese un program a can tre s variables , las tre s del t ipo

    rea l ( la ana logi a en programacion al co njun to R ). Tres pos ibl es es tad osde este programa son :x = 0 e y 0, junto con z = 0x - 3,1 e y J2 junto con z = 1

    -1 n. 1789e y '2 Junto con z =Frecu ent emen te, es d e g ran a yud a vi sual izar e l es tad o de un programa ,como puntos del espac io . Por e jemplo , los pun tos de la Figura 2 .2 estan repre -sen tados los dos estados del Ejemplo 2 .1 . La gra fica tridimens iona l de la Figu-ra 2.2b r epres ent a e l espa cio e st ad o del EjempJ o 2.3, donde se ha marcado e lpun t o cor respondiente a uno de los estados del programa. Cuando en unprogram a las variables cambian de estado, e le fec to que seproduce escomo s in os d esp laza rarnos de un punta a o tro del esp acio de est ado s.

    z

    y ,, 1" I:IJ

    Figura 2.3. EIestado x :=: 1 en un programacon tres variables reales z, x e y.

  • 5/13/2018 Computacion I

    7/91

    S = {O , I , 01 , 1 0, 1 1 , O O }T = {1, to, 100, 1000, 10000}

    Conjuntos y funciones 9Computaci6n I. L6gica, resoluci6n de problemas, algoritmos y programas

    Considerense los conjuntos siguientes:E s posibl e e scr ibi r alguno s e jemplos adi cion al es , u ti li zan do la no tac i6n d econjuntos. Sean. a = {I, 3, 5, 7, 9}, y B = {- 3, - 1, 1 ,3 , 5} . La s rel acion essiguientes son ciertas:

    2.1.3. Operaciones entre conjuntos

    Los numeros 1 y 10son los unicos e lementos que pertenecen ~ ambos con jun-tos, pero existen entre S y T otros nueve elementos diferentesLos conceptos deintersecci6n, union y diferencia de conjuntos nos ayudan a describir en diferen-tes maneras 1aexistencia de elementos comunes entre conjuntos.

    A nBAuBA \ B

    {l, 3, 5 }{-3, -1,1,3,5,7, 9}{ 7, 9 }

    Como ejemplo adicional , supongase que

    Definicion. Sean A y B dos con juntos . La union de A y B simbolizada porA u B, es aquel conjunto cuyos elementos pertenecen como minimo a unode los dos con juntos , A 0B. La inierseccion de A y B, simbolizada por A n B,esel conjunto que incluye aquellos elementos que pertenecen tanto a A comoa B. La diferencia (0 complemento relativo) de A y B, simbolizado por A \ B, ese lconjun to que con tiene aquellos e lementos que estan en A, pero no en B.La Figura 2.4 representa tres diagramas de Venn, en los que las ar eassombreadas represent an la union, la interseccion y la diferencia.

    A = { p I p esun polinomio de la forma n2 + bn, donde b es una constante real}B { p i p es un polinornio de la forma n2 + c ,donde c es una constan te rea l}Dos posi?les eJementos ~el conjunto.;t s~rian n2 + I~ Y n2 + 4,5n, mientras quedel B senan n - 3 y n + 7. Las sigurentes relaciones son ciertas:A n BAuB

    = {n 2}{ p i p es un poli nor nio de la forma n 2 + bn + c,donde b = 0 0 c = O}{pip es un pol inomio de la forma n2 + bn, donde b = I- O }\ B

    b)

    EI conjunto vacio ! j . l e~ extremadamente util, Por ejemplo, si C es el conjun-to de consonantes (excl~lda la y), y V e l con junto de vocales ( in cl ui da l a y),entonces C n V no contiene elementos.Definicion. Decimos que dos con juntos son disjuntos SI su interseccion esel conjunto vacio.Definici6n. El complementario de un conj unt o S es aque! conjunto S' alque pertenecen todos los e lementos del con junto unive rsal U, que no per -tenecen a S.

    Figura 2.4. Diagramas de Venn: a) Union. b) lnterseccion. c) Diferencia de dosconjuntos A y B.

    ~or e jemplo, s iC y S representan elconjunto de consonantes y vocales, respec-tivamente, y U es el alfabeto completo, entonces C' =V Y V' = C . Es decir,todas las letra s que no son consonantes son vocales y viceversa. (Se ha supues-t~ 9ue la letra y esuna vocal). La Figura 2.5 ilustra los conceptos de conjuntosdisjuntos y complementarios utilizando diagramas de Venn.Ejemplo 2.4. Supongamos que x e y son enteros . Sea S el esp acio d eestados cornpuesto por todos los pos ib le s pares de enteros (x, y). Si defini-rnos los conjuntos A =, {(x, y)lx ~ 0 e y .~ O }, Y B = { (x , y )l x < 0 e y < O },~ntonces A y B son di sjuntos, E sto se i lust ra en l a Figura 2.6, donde lasareas sombreadas representan los conjuntos A y B. Observese que B = I- A'puesto que A' = {r x, y Jj x < 0 0 y < O}.

    c)

  • 5/13/2018 Computacion I

    8/91

    ,10 Computacion I. Logica, resotucion de problemas, algoritmos y programas Conjuntos y funciones 11

    Tabla 2.1. Propiedades y operaciones de los con juntos . (A y B son conjuntos;U es e l con junto universal sabre e l que estan def in idos A y B)

    Conmuta tividadAnB=:BnAAvB=:BvA

    Ley de la contradiccionA n A' =: 4 >

    AsociatividadA n (B n C) = ' (AnB) nCA v (B v C) = ' (A v B) v C

    v-simplificacionA vA =: AAu4>=AAuU=,Ua) b)

    DistributividadFigura 2.5. Representacion mediante diagramas de V~nn de:a) Conjuntos disjuntos, b) Conjuntos complementarios. A n (B u C) = ' (A n 8) u (A n C)A v (B n C) = ' (A u B) n (A v C)

    yLeyes de Morgan

    (A nB)' =: A' uB'(A v BY = = A' n B'

    rv-simphficacienAnA := AAnU=:AA n 4 > = ' 4 >

    Propiedad de la negacilm(AT := A

    x Ley de exclusion del termino medioA u' = = U

    ComplementariedadU == 4 >4 > ' = = u

    2.1.5. Conjuntos de cadenas de caracteres

    Figura 2.6. Conjuntos disjuntos.

    El t ipo st r t ng (cadena de carac te res)* es muy importante en informatica .Informalmente, puede definirse una cadena como una secuenc ia de e lemen-tos con tiguos , pertenecien tes todos a un con junto unive rsal conoc ido comoalfabeto. A con tinuac ion, se pueden ver a lgunos e jemplos de con juntos cuyoselementos son cadenas de caracteres.

    2.1.4. Propiedades de las operaciones entre conjuntos Ejemplo2.5. EI conjunto {aa, ab, ba, bb} es el conjunt o de todasl as pos ibl es c ad ena s de do s el ementos, c ons truida s a pa rt ir de l al fabe to{a, b}.Las operaciones aritrneticas entre numeros tienen determinadas propiedades,como asociat iv idad , conmuta tividad, inversa , y asi suces ivamente . Hacemosu so d e e st as propi eda des , de forma c asi a utomat ic a, cu ando simpl if ic amosecuaciones algebraicas. Los conjuntos y sus operaciones tienen propiedadessimilares, y las podemos utilizar para simplificar operaciones complejas entrecon juntos . Las princ ipales propiedades de 1as operaciones entre con juntos seresumen en la Tab la 2 .1.

    * N. del T.: EI tipo strinq e s u n t ip o c ar ac te ri st ic o de l a m ayo ri a de l os l en gua je s d eprogramacion modernos. S in embargo, al tratarse de un capitulo dedicado a los conjuntos , tradu-c ir emos e l t ermino s tr in g a l c as te ll an o. En cap it ulos pos te ri or es , en los que apa re ce e l t i po comoper teneciente a un lenguaje de programacion, dejaremos el ter rn ino s in tradueir.

  • 5/13/2018 Computacion I

    9/91

    ,12 Computecion I. Logica, resoluci6n de problemas, algoritmos y programas Conjuntos y funciones 13

    Ejemplo 2.6. M = {abc, aeb, bac, bea, cab, cba} es el conjuntoformado por todas las pos ib le s coloeac iones 0 permutaciones de las tresl et ras a , b ye . Obse rv es e qu e e xi st en s ei s p ermu ta eion es d ist in tas .D { p i p es una perrnutacion de la cadena a bed que termina en d}{abed, aebd, baed, bead, eabd, ebad}

    E jemp lo 2.7. S ={O , 1 ,0 1,001, 100, 0 100} es un e on ju nto d e c ad ena s d elalfabeto {O , I}. Existen o tras muchas cadenas obten idas de este a lfabeto,tales como {I, 10, 100, 1000, 10000}, y los propios { O , I}. Es posible estable-cer restricciones a las cadenas. Por ejemplo, el conjunto { O , , L , 01, 10, 11, O O }es e l con junto de todas las cadenas del a lfabeto {O , I} qu~)ienen longitud1 a 2.

    Entonees las ope raciones intersecc ion, union y complemento relat ivo danorigen a las cadenas siguientes:AnDA uD {abed, aebd}{abed, abdc, aebd, aedb, adbe, adeb, baed,bead, eabd, ebad}

    {abde, aedb, adbe, adeb}\ DEjemplo 2.S. F = {abed, abde, aebd, acdb, adbe, adeb, baed,bade, bead, beda, bdae, bdca, eabd, eadb, cbad, cbda,edab, cdba, dabc, dacb, dbae, dbca, deab, dcba} es e l eo~j~n-to de tod as l as p ermutac io ne s d e l as l et ras a, b y c. Esto puede escribirsealternativamente como F = { p i p esuna permutacion de abed}. Observeseque existen 24 permutaciones distintas.

    Observese que tanto A como D tienen seis miembros, mientra s que A ut iene diez miembr os, puest o que abed y acbd son element os de ambosconjuntos.

    Ejemplo 2 .9 . S i A = {sis es una cadena sobre {O , I } qu e comienz a po r I},entonces A' ={e} u {sis es una cadena sobre { O , . I } q ue c omie .n za P? r ~}.En este caso, el simbolo B simboliza la cadena vacla que no con tiene nmguncaracter. La notacion { e} s ignifica el con junto que tiene un solo e1~men-to, que es la cadena vaci a. EI conjunto vacio cP , por el contr ano, no.contiene ninguna cadena.

    Ejercicios

    Ejcmplo 2 .1 0. Se a D el conjun to formado po r toda s l as pe rmutacion es deabed, que termi nan en d. Entonces D = { abed, a ebd, baed, bcad,cabd, cbad}. Si N = { p Ip e s una p er rn ut acion d e ab ed}, e nton ce s D esun subconjun to prop io de N, por 10 que la int er seccion de D y N es elprop io conjunto D y la union en tr e D y N es N.

    2.1. Supongamos que i =1vi = 1es e le stado inicial . Describ ir e le s tado a lque se llega despues de r calizar cada una de las asignaciones de l osapartados a) al c). Hacer una representac ion b id imensional del p lanoxy, y dibujar e lpunto que corresponde a l estado inicial y a los distintosestados a que conducen las asignac iones de los apa rtados a) al c).

    E jemplo 2 .11 . S ea U ={ u l u es cuaJquier cadena. sabre el.alfabeto {O , .1},inc lu ida la cadena vac ia I : : } . Entonces U es e l conjunto universal de vanoscon juntos defin idos sobre e lmismo a lfabeto, tales como S = {e , 0, 1,00,01,10, II} YT = O , 01, 001 , 0001, . ..}. Observese que ~iS es su~conjun to de T,ni T 10 es de S. En la mayori a de los casas, el conjunto unive rsal sobre e lq ue se de finen conjun to s d e c ad en as pa rt icu la res e s t an e vide nt e qu e nosuele mencionarse explicitamente.

    a ) i .- 2,j .-i.,b) ,.-;+ 1;j .-j + 2;c) j .- j + 1;;.-;+ 1;j .- j + ;.,

    2 .2 . Expres ar e n notac ion d e c on ju nto los d esc ri to s med ia nt e l as f ra se s si -guientes:

    A { p Ip es una permuracion de la cadena abed,que comienza par a}{abed, abdc, acbd, aedb,adbc, adcb}

    a) Las cadenas sobre e l a lfabeto {O , I} de longitud menor 0 igual que5 ,q ue contenga n uno 0 dos ceros.b) Los enteros pares.c) EI conjunto de todas las cadenas sobre el al fabeto {a, b, c} queno contengan simbolos duplicados.d) EIc on ju nto de toda s l as p ermutacion es d e l a c ad en a 012 .e) EI conjunto de todos los poli nomios de grado 3 0 menor que ten-gan a x como un fact or.

    E jemplo 2 .1 2. Supong as e qu e t en emos los do s conjun to s d e c ad en as s i-guientes:

  • 5/13/2018 Computacion I

    10/91

    14 Cornputecion I. Logica, resoiucion de problemas, algoritmos y programas

    2 .10. Lo s con jun tos s igu ient es s e han d ef in ido en forma de reglas, Reescribirlas defin ic iones en forma de Iis ta de e lementos .

    Conjuntos y funciones2.3, Sea A = {(x, y)lx ;?; 0 e y ;?; O}y B = {(x, y)lx ~ 1 e y ~ 1}.Identificarcada uno de los con juntos s iguien tes sobre e l p lano xy, sombreando elarea apropiada.

    a) An Bb) A uBc) A \ Bd ) B\Ae) A'

    Escribir e l con junto de e lementos de los con juntos s iguien tes:a) S n Tb) (S v T)'c) (S u T) \ S

    2 .9 . Supongase que :S {I, 2, 3, 4, 5 }T = {xiO < x < 10 y x es impar}U = Z16

    2 . 4 . Supongase que s y t son cadenas sobre e la lfabe to {a, b , . . .,z ] . Es pos ib ledefinir conca t C s st) como la ca den a qu e res ul t a d e poner t a conti-nuacion de s (concatenar). Por e jemplo , s is = abc y t = xy, entoncesconcat (s,t)=abcxy. De l mismo modo, s iS y T son conjuntos deeste tipo de cadenas, podemos definir concat (S, T) como el conjuntode todas las cadenas , que resul tan deconcatenar una cadena a rb itra ria sde S, y otra t de T. Supongamos , po r ej emplo, qu e S = {s, x, xy,xyy}, y T = {e, y, yx, yxx}, Se pi de encontr ar cada uno de losconjuntos siguientes:a) concat

  • 5/13/2018 Computacion I

    11/91

    x

    Conjuntos y funciones 1716 Computaci6n f. L6gica, resoluci6n de problemas, algoritmos y programas

    Puesto que en la columna de la derecha aparecen numeros dup lieados, e statabla no parcce representar una relacion estable y fiable, Parece no ajustar-se a ni nguna regla gracias a la cual, a parti r de un valor de la izq ui erda,pueda calcu la rse e l de la derecha ,

    Ejemplo 2 .15. Sea X =Y = R. Entonces, X x Yes el si st ema y coordena-das xy que semuestra en la Figura 2 .8a . Si I = J = Z, entonees I x J es cJcon junto de todos los pun tos del p lano carte siano, cuyas coordenadas sonenteras . Los pun tos de I x J son las intersecciones de las !ineas verticales yhorizon ta le s de la Figura 2 .8b .Los valores no-ambiguos -e s dec ir , que a cada valor de la primera columna lecorresponda uno de la segunda-s -, son bas icos para la idea de funcion .La Figura 2 .7 muestra dos funciones mas , enes te casou ti lizando un gra ficoen l ugar de una t abl a. Observese que en la Figura 2 .7a cada valor de x secorresponde con uno de y, y de la misma forma , ca da uno de y se correspondecon uno de x. En la Figura 2 .7b cada x se corresponde con uno de y; sinembargo , para un mismo y existen mas de un valor de x, Para poder trabajarcon funciones es necesario definir elconcepto de forma mas precisa. Clarifique-mos al gunas de l as ideas acerca de l a correspondencia pr esentadas en losejemplos.

    y76543

    x 2

    0-1-1 0 2 3 4 5 6

    b)

    y y

    a)

    Figura 2.8. Representaci6n gratica de: a) EI producto cartesianode reales. b) EIproducto cartesiano de enteros.

    a) b)

    Una func ion e s un cas o pa rt ic ul ar d e p roduc to ca rt esi ano, e s un con jun to depares ene l que dos e lementos d is tintos no pueden tener igual e lp rimer e le rnen-to d el par . De una manera forma l, u na func ion pue de d ef ini rse.

    Figura 2.7. Dos representaciones grMicas de funciones: a) Cada x se corres-ponde con un y. b) Cada x se corresponde can una y, pera una misrna y secorresponde can varias x.

    Definicion. Sean X e Y dos con juntos . Una funcion es un subconjunto f deX x Y, tal que cad a x E X se en cue nt ra empa rej ado con uno , y solo unelemento Y E Y. EIcon junto X rec ibe e l nombre de dominio de l a funci6nf , eY e l de rango de f

    Definicion. Sean X e Y c on jun tos . La no tac ion (x, y) donde x E X eyE Y,rec ibe e l nombre de par ordenado. EI producto cartesiano de X e Y, simboli-zado por X x Y, es el conjunto { (x , y )l x E X eYE Y}. Es decir , X x Ye s elconjunto de todos los pares ordenados (x, y) que verif ican que x EX e y s Y .

    En e lcontex to de una representac ion tabular de las funciones podemos pensa ren el domini c c omo en la pr ime ra co lumna d e l a t ab la, y en el r an go como enla segunda . La propia funci6n es la correspondenc ia gue existe entre los nume-ros de las dos columnas, De una forma s imilar , cuando observamos una repre -sen tacion gra fica de una funci6n , sepuede identif icar e l e je x como e l domin ioy el y como el rango, y l a func ion con e l c onjunto de pa res (x, y) que constitu-ye n l a g raf ica (por ej emplo, c omo se muest ra en l a F ig ura 2.7) . En cua lqu ierca so, l a n oc i6n d e que ca d a valor x so lo pu ede t en er un y asociado, resalta elconcept a de dependencia a estabilidad de la correspondencia.

    2.2.1. Conceptos basicosUna funcion s iempre se define u ti lizando dos con juntos .

  • 5/13/2018 Computacion I

    12/91

    Conjuntos y funciones 198 Computaci6n I .L6gica, resolucion de problemas, algoritmos Vprogramas

    Ej emplo 2.16. Supongamos que X = {t, 2, 3, 4} e Y = {2, 4, 6, 8}.Supongamos tambien que t enemos el conj unto de pares J = { (I , 2) ,(2, 4), (3, 6), (4, 8)}. Entonces f e s un a func ion ; e l c on jun to {I , 2, 3 , 4 } es e ldominic; y {2 ,4 , 6, 8} s u rango . Ob servese que p ara cad a x EX existe ununico Y E Yemparejado con el, Observese tambien que esta corresponden-c ia particu la r puede representarse mediante la reg la y = 2x.Supongamos de nuevo que X = {I, 2 ,3 , 4}, y considerese eleonjunto g = {(l,2),(2, 4) , (3, 6 )}. En e st e c aso , g no es una funcion con domi nic X, puesto queexisten e lementos deX para los que g no esta definida. Aquellos conjuntos quet ienen toda s l as p rop ieda des de l as funciones , pero que no est an d ef in ida ssobre todo e ldominio, rec iben e l nombre de funciones parciales. Las funcionesparciales se u ti lizan a menudo en la informatica .Aunque una funcion exige que cada x del dominio tenga un valor delrango, y asociado con e l, no esnecesa rio que cada valor y del rango correspon-da a un x. Por e jemplo , s iX = Y = {I , 2, 3, 4} , Y definimos la funcion y = 4para t odo valor de X, e nton ces los va lores I , 2 y 3 no s e co rr es ponden conn inguno de x. Finalmente, sea h = {(l , 2), (2, 4), (3, 6), (1, 8), (4, 10)}. Elconjunto h no e s t ampoco una fun cion, pue sto qu e ex ist e u n valor d e x que secorresponde con dos valores d is tintos de y.Los terminos siguientes suelen utilizarse al referirnos a funciones.

    Figura 2.9. Grafica de lafunci6n f (x) = 2x ~ 1.

    Defin ic ion.SeaJuna funcion con domin io X y rango Y. Se suele simbolizaresta relacion como f: X - Y . Cuando se han espec if icado e l domin io y elrango, escribimos y = J (x) p ara simbol izar l a r el ac ion que J representaent re ca da el emento de l dominio X, y el correspondiente del rango Y. Enesta notacion, x rec ibe e l nombre de variable independiente. EI conjunto depares { ( x , f ( x )) l x E X Y J (x) E Y) se ut il iza p ara d ef in ir I a qrdfica de lafuncion f

    La Figura 2.10a muestra la gra fica de y = [x]cuando e ldominio y e lrangode la funcion esR (dando origen a una funcion continua). Si X = Y = Z , l afuncion es l igeramente d iferen te , como se muestra en la Figura 2.10b (unafuncion discreta).

    Ejemplo 2.17. S iX = Y = R e y = f(x) = 2x _ 1, x es la variable inde-pendien te , eyes la dependien te , La gra fica def semues tra en la Figura 2 .9 .

    y y

    (~1,1). .(1,1)

    (3,3) (2,2)

    (-3 ,3 ) (-2,2).

    - - - - - - - - - - - - 4 - - - - - - - - - - - - x0,0) (0,0)

    2.2.2. Funciones continuas y discretasa) b)Las funciones suelen caracterizarse dependiendo de si pueden visualizarse me-diante una linea continua 0 no. S i no e s posibl e, l a func i6n t iene hue cos ensu representac ion en e l p lano xy, y recibe el nombre de funci6n discreta.

    Figura 2.10. Grafica de y = Ixl. a) Una funci6n continua. b) Funci6n discreta.

    Ejemplo 2 .IS. Sea X = Y = R. La funcion valor absoluto, dada por y = [x]puede definirse mediante la regia[x] = x cuando x :? 0_ x cuando x < 0

    Ejemplo 2.19. Le func ion sue lo Lx.Jse define-como el mayor entero menoro igu al que x. Es ta func ion t ien e como dominio a R y como rango a Z. Portan to , s i x = n. d1d2d3 (donde n es un entero y d, cualquier digito), enton-ces l _ x _ 1 = n cuando x :? 0, 0 x es un entero, y l _ x _ 1 = n - I en casocon trario . Por tan to , para numeros rea le s pos it ivos , la funcion Lx_1 es el

  • 5/13/2018 Computacion I

    13/91

    20 Computaci6n I. L6gica, resolucion de problemas, algoritmos y programas Conjuntos y funciones 21r es ul tad o de el im in ar l a par te de cima l d e x, y pa ra numeros real es n eg at i-vos que no sean ya enteros , l _ x _ 1 e s e l r esu lt ad o d e e liminar l a pa rt e de ci -ma l y rest ar le u no . La graf ic a de e st a fun cion se mues tr a en l a Figura 2.11.Una funcion muy relac ionada es ui funcion techo I-x_' que sede fine como e lmenor entcro mayor 0 igual que x. Scca lcula e liminando la parte dec imalde x, y s i x no fuera en te ro, s umando le uno. Las fun cione s su elo y t ec hotam bien se conocen como funciones mayo,. entero y menor entero, respecti-vamente. ,.'

    EjempJo 2.20. Supongarnos X = Y = N, Yque la funcion j '(} se define dela forma siguiente:fen) 1 cuando

    3 + fen - 1) cuando n - 0n > 0

    La funcion valor absoluto puede calcu la rse en Pasca l, d irec tamente, u ti li -zando la expresion ab s (x ) . d onde x pue de ser una v ar iab le 0 expresion deltipo rea L0 integer. Sin embargo , las funciones sue lo y techo no tienen unaa na lo gi a e xa ct a en Pas ca l. La fun cion mas proxima es l a func ion t rune (x)que convierte cualquier variable 0 expresion de tipo rea l en integer eliminan-do los dec imales . Por tan to , trunC

  • 5/13/2018 Computacion I

    14/91

    22 Computaci6n I. L6gica, resolucion de problemas, algoritmos y programas

    2 .13. Defin ir las funciones que cum plan 10 siguiente:a) Tome un en tero po si ti vo y calcu le e l res to despues de d iv id ir lopo r 6 7.b) Trunque un nurnero rea l a l a mi tad d e l a d eci rna ma s p rox ima (po rejemplo, 19.567 quedaria 19,5).c ) Asigne verdade ro S 1 e l numero es pos it ivo, y falso si es ceroo negativo.d) Cr ear una secuencia de valor es para cada uno de los cuales es eldoble del an ter ior mas uno. E I pr ime ro e s 1.

    Conjuntos y funciones 23

    Esta funcion rec ibe e Inombre de serie de Fibonacci. Es una funcion de granut il id ad en diver sas a rea s de l as materna ti ca s apl ica das . S in emba rgo , esd if ic il , s in un conoc imiento mas profundo de las matematicas , encon traruna forma d e Ja Iuncion que l a ca lcu le di rec tamen te p ara cu alqui er va lorde n.

    d) {tx, y)lx ~ 0 e y = x}e) {(1 , a), (2, b) , (3, a), (4, b) , (5, c)}f) {(1, a), (2, b) , (1, c), (2, d), (3, e ng) {(l, e), (2, d) , (3, c), (4, b) , (5, a)}

    2 .12. Determina r e ldominio y e lrango de cada una de las funciones s iguien-tes:Ut il iza cion d e un p rog rama para def ini r un a rundon. La s func ion es pu ede ndefinirse tam bien utilizando un program a de computadora e n el cual se descri-ba como puede calcu la rse un valor de rango , u ti lizando un valor prede te rmi-nado del domin io . Formalmente , un programa de estas carac te rist icas rec ibe e lnomb re de alqoritmo. La construcc ion de a lgoritmos computacionales paraun a g ran v ar ieda d d e funcion es es el o bj et iv o d e los Capi tulos 4 al 6.a) h e x ) = x mod 17, para x = 0, 16, 17, 32 Y6 9. (La funcion modcal cul a el r esto en tero qu e resu lt a d e l a divi sion d el pr imer a rgu -mento por e l segundo .)b ) b (x) = (-1 ~ x ~ 10), para x =~2, -1,0,10 Y 15.c) Lx_I para x = 10, n, 0 y -1,5.d) Ix l para x = -1,0,1, -49,5'y ~.Ejemplo 2 .22. Podemos defin ir un a lgoritmo como un con junto b ien defi-nido de pa sos , q ue t rans forman una ent rad a (de un c onjunto d e en tr adasdisponibles) en la salida correspondiente. Es decir, describe como calcularel valor d e una func ion j '( x) para ca d a valor par ti cu lar x d el dominio. Porejemplo, la secuencia siguiente es un algoritmo (escrito en lenguaje Pascal)que calcu la los valores de la funcion n = i-log2n-j, donde x es un numeroreal arbitrario, mayor 0 igual que 1. En este caso, e lva lo r de x es la entradadel algoritmo, y e l de n la sal ida de la funcion .

    readex);n := 0;whil e x >= 1 .0 dobeginx :=x 12.0;n e= n + 1end; 2.14 . Tabular unos pocos valores de las siguientes ecuaciones de recurrencia,y deduc ir una expresion compacta para f.a) f(n) 3 para n 0, y fen) = f(n - 1) + 5 para n > O.b) fen ) = 1 para n = 0, y f(n) = 2 f(n - 1) para n > O .Cuando se u ti liza un a lgoritmo para calcu la r una funcion , el con junto deentradas permit idas (en este caso R) se corr esponde con el dominio de lafunci6n ; e l con junto de sal idas (en este caso N) secorresponde con e l rango ; ylos pasos de que consta definen procedimentalmente la correspondenc ia exis-ten te entre cada valor del domin io y e l correspondien te del rango . Otras for-mas de defin ir funciones (vease Ejemplo 2.21 ) no describen n ingun procesoparticu la r, mediante e l cua l pueda calcu la rse la funcion . Los programas con-trolan el proceso.

    2.15. Marcar un punto e n l a graf ic a (i, j) de la Figura 2 . 8b , para cada uno delos estados marcados con A y B, en el segmento de prograrna siguiente.; :=1;j :=1;{estado A};:=;+1;j:=j+1;{estado B}jercicios

    2.11. i,Cuales de los conjuntos de pares ordenadores siguientes son funciones?a) { (I , 1 ), (1, 1 1 : ) , ( 1, I O O )}b) {(2 , 1 ), (3, 7 ), (5, 13), (4, 19)}c) { ( - 1, 1) , (0, 1 ), (1, 1 ), (2 , 1 ), (3 , I)}

    2 .16. Conside rese la funcion f(x) (x mod 2 = '0).'a) l ,Cua l es e l domin io de esta funcion?b) l ,Cua l es e l rango?c) l .E s una funci6n p arci al 0 total?

  • 5/13/2018 Computacion I

    15/91

    24 Cornputecion I. Logica, resolucion de problemas, algoritmos y programas

    2.17. La funcion Ancestros t iene como entrada un numero de generac ion, yd evue lve e l n umero de an ces tros q ue tuvo en tod as l as g en eracione sp re ced en tes , s upon iendo qu e c ad a pe rso na d e cad a g ene ra cion t ie neexactamente dos padres. Es decir, Ancestros(l) = 2, Ancentros(2) = 4, yasi sucesivamente, En particular, Ancestros(O) = 1,suponiendo que cadap er son a e s an ces tro de s i m ismo 0 s i misma . Enunc ia r una defin ic ionrecursiva para la funcion Ancestros.

    2.2.4. Funciones uno-a-uno V funciones lnversasSupongamos que f es una funcion con dominio X y rang~ Y. Entonces, como ~ev io en l a Figu ra 2.7b, a cada x Ie corresponde uno y solo un valor de y. Sinemba rgo , c ad a va lo r de y pu ed e c or res pond er a mas .de un v alor ~e x: .':Inafuncion de este t ipo se representa en Ia Figura 2 .12. S in embargo , SI qursiera-mos invertir el proceso, comenzando por y, el resul tado obten ido no seria unafuncion correcta, Es decir, alguna y se cor res pond er ia c on mas d e un v alor dex, mient ras que alguna s de e li as n o se c or res pond er ian con n in~un x: Lafun cion de l a F ig ura 2.12b e s d if er ent e - -en est e ca so podemos mvertrr elproceso y se gu imos obteni endo una fun cion= -, E sto es de bido a que a. c ad a xIecorresponde una y distinta. La definicion siguiente formaliza estas Ideas.

    Defin ic ion. Sea f: X ~ Y una funcion , La funcion Is una funcion uno-a-uno si a c ad a x diferente Ie corresponde un y diferente para cada x EX ey E Y. Se dice que dos con juntos x e Yes tan en una correspondenc ia uno-a -uno s i existe una funcion I: X ~ Y que es uno-a-uno.Ejemplo 2 .23. Las funciones resul tantes de permutac~ones son e j~~plosclarificadores de las correspondencias uno-a-uno. Por ejemplo, considerese

    y y

    al b)

    Figura 2.12. a)Funcion no-uno-a-uno. b) Funcion uno-a-uno.

    Conjuntos y funcionesla cadena abed ~.su permutacio.n bdae. Si hacemos X = Y = {a, b, c,d} esta perrnutac ion puede conside ra rs s como una funcion defin ida como:

    p ( a )p ( b )pee)p ( d )

    = c= a= d= b

    Es decir, p ind ica en que pos ic ion se deben colocar los d iferen tes e lementos deun a ca den a a rb it rar ia de a, b, c y d. La funcion p es tambien .una funcionuno-a-uno, puesto que x diferentes se corresponden con y's distintos, y el rangode p = {a,b, e, d} = y.

    Defi~ic i6n. Sea f :. ~ Y una funcion uno-a-uno. Entonces f -1 es unafuncion con dominic Y y rango X, que v er if ic a qu e si y = f(x) entoncesx =1-1(y). La funcion f -1 rec ibe e l nombre de funcion invers~ de fNo todas las funciones t ienen inversa . Por e jemplo , supongamos X = Y =={a, b , e,d}'yf(a) = b,j(b) = e,y/(c) =f(d) = d,comosemuestraenla Figura 2 .13.

    x ya.~ ab b.~ .c

    ~d dfFigura 2.13. Una funci6n fque no es uno-a-uno, por, (0 que no tiene inversa.

    Entonces, si la inversa def existiera.j' -1d)tend ria como valores asociados c yd, 10 . 9ue invalid aria i:[como una funcion leg it ima. Por tan to , para que unafuncion pueda tener inversa ha de ser una relac ion uno-a -uno .

    25

  • 5/13/2018 Computacion I

    16/91

    p-l(a) bp-I(b) dp-l(C) ap-l(d) c

    26 Computaci6n I.L6gica, resolucion de problemas, algoritmos y programas Conjuntos y funciones 27Ejemp lo 2.24. EI Ejemplo 2 .23, p ues to qu e p es una funcion uno-a-uno,tiene inversa. Esta inversa, p - 1, puede definirse de la forma siguiente: Observese que , puesto que ord y chr son inversas, una de la o tra, seve rifica :

    c nr C or -d C x ) = x y o r- d C ch r C n) = nPara cualqui er ent ero en tr e 0 y 127, Ycualquier caracter del teclado.

    ~jemplo 2 .2 .6 . La, ~riptogra fia. ~codificacion de mensa jes sec re tos) es una~ea ~e l a Info~mat lca que u ti li za muchos de los pr in cipios qu e hemosdiscutido, Por ejernplo, el cifrado de Cesar, un esquema de cod ificac ion ene l que cada letra de un rnensaje es reemplazada por o tra letra d iferen te dela lfabeto, la terce ra letra detra s de e lla. Entonces e l mensa je :Observese que p-l(p(a)) = p-I(C) = a . De forma ' ge neral , p ara c ubr ircualquier Iuncion invertible p : X ~ Y, Ycada x EX , p- l {p (X ) = x. Analo-gamente , para cada Y E Y, p ep - I (y)) = y.

    S ER GE AN T P EP PE RS l ON EL Y H EA RT S C LU B B AN DEjemp lo 2.25. La s func ione s uno-a-uno se emplean hab itua lmente e n l acodificacion, EI American Standard Code for Information Interchange (AS-C II ) de fine una equ ival enci a n umer ica ent re 0 y 127 para cada carac te rregular 0 de con trol qu e pue de s er pu lsado en un tec lado es tan dar d e un acomputadora . Esta Iuncion es uno-a -uno , y est a incluida e n l engu aj e deprograrnacion Pasca l con e l nombre de 0rd (por va lor orddinal). Es decir,p ara c ada ca ract er q ue enc ont ramos en el t ec lado , 0rd(x) es un nume roentero entre 0 y 127. Los valores ordinales de algunos caracteres familiaresdel tec lado se pueden ver debajo:

    se cod ifica en e l c ifrado de Cesar como:V HU JH DQ W S H SS H UV O RG HO B K HD UW V F OX E E DQ G

    El ci fr ado de c; esar es una p er rn ut acion de l as l et ras del al fa beto, y port an to un a funcion uno-a-uno , cuyo s dominio y rango s on el al fa beto deletras mayusculas. La descodificacion dellenguaje implica el descubrimien-to d e l a func ion inver sa a l a qu e fue u ti li zada al ci fr ar lo .ord( '0') = 48ord ( , A ' ) =' 65ord( '=) = 61o rd{ ' a' ) =97

    La .gran d esv ent aj a del ci fr ad o de Ce sar es 10 relat ivamente fac il que esdescodificarlo. Podemos construir un metodo mas dificil de descodificar, utili-zando una permutacion a leatoria y hac iendo sus ti tuciones en base a e lla. Uti li -zando la tabla de sustitucion:Una lis ta completa de los carac te res ASCII y sus ordinales correspondien-tes puede encon ta rse en e l Apend ice A.EI proposi to de la funcion 0rd es defin ir un esquema de cod ificac ion uni-forme para representar los carac te res del tec lado . Este esquema 10 utilizantodos los constructores de software y hardware de computadoras. La existen-c ia de este estanda r permite e l intercambio fac il de informacion entre d is tintostipos de computadoras.Observese que, para s er ef ic az, Ja fun cion o rd t iene que s er uno -a-uno; siun cod igo estuv ie ra asignado ados carac te res d is tintos , no exist ir ia una formaconsisten te de descodifica r e l cod igo, Puesto que es una funcion uno-a -uno , lafuncion 0r d t iene en Pasc al su inve rsa, d enomina da c h r (por Cha ract er ). Si nes un e ntero en el int erva lo 0 -127, entonc es ch r Cn) es e lca racter del tec ladocorrespondiente del entero. Por ejemplo:

    ABCDEFGHIJKLMNOPQRSTUVWXYZJSATERNICFHPlUGWVYDZOHXQBK

    Permite codificar el mensaje:S ER GE AN T P EP PE RS L ON EL Y H EA RT S C LU B B AN D comoD EY NE JU Z W EW WE YD P GU EP B I EJ YZ D A PO S S JU T

    chr(48) = '0'chr(65) = 'A'c hr -C e l ) = '= 'chr(97) = 'a'

    Si e l mensa je c ifrado es 10 suficientemente largo, incluso un cifrado aleatoriopue de de scodi fi car se c ontando el nu rne ro d e v eces que apa rece c ad a t et racomparandola con eI numero de veces que aparece cada-le tra en un parra fo encastellano. Algunos esquemas de encriptacion mas sofisticados emplean funcio-nes de descodificacion que encriptan b loques de letra s, La c riptogra fia es uncampo de es tud io ex ci tan te y que en ci er ra g rand es de saf io s. E l con cep to defuncion uno-a -uno aporta un c ri te rio preciso para defin ir la noc ion de con jun-tos que t ienen el m ismo nume ro de el ementos , y l a noc ion de t ama fio de unconjunto.

  • 5/13/2018 Computacion I

    17/91

    28 Computaci6n I .L6gica, resoluci6n deproblemas, afgoritmos Vprogramas Conjuntos V iunciones 29Definicion. Dos conjuntos A y B t ienen e l mismo numero de e lementos , s iest an en una co rr espond enci a uno-a-uno. Un conjunto que est a en unacorrespondencia uno-a-uno con Zn para algun valor n natural , s ed ice quetiene cardinalidad * n. Dicho conjunto tiene n elementos y recibe el nombrede conjunto finito. Los conjuntos que no tienen cardinalidad n para ningunvalor de n, reciben el nombre de conjuntos infinitos.

    La funcion h es un ejemplo sencillo de una cJase de funciones conocidas comofunciones hash", que se suel en ut il izar en p rograma s de c omputadoras quealmacenan y recuperan informacion de archivos rnuy grandes.

    La mayoria de los con juntos que nos encon traremos er F la informa tica sonfin itos , Por e jemplo , e l con junto de carac te res ASCII del ' E jemplo 2 .25 tienecardinalidad 128. Incluso el conjunto de enteros que se utiliza en la informaticaes fini to -pa ra muchas computadoras, suca rd inal idad es 216; es decir, 65.536.Est e es e l t i po int eger que ut il iza el l engu aj e de programacion Pascal , y qu edi fi er e de l a nocion matemat ica del c onjunto Z par r azones evident es. Enresumen, eI r ango d e los ent eros en rnat ema ti cas e s inf ini to, mient ras que elrango de los ; n tege r en programac ion es fin ito. Noc icnes complementa riassab re el t ip o ; n teger se int roducen en el manual de l ab orator io .

    Ejemplo 2.29. O tro t ip o d e funciones que aparece n f reeu ent emen te eninformatica es la c la se de funciones polinomicas , tales como x2, 2x3 + 1,x5 - 5x, y asi suces ivamente . La forma general de una funcion polino-mica es:

    Asi, si n = 3, a3 = 2, a2 = at = 0, yao = 1, entonces p(x) = 2x3 + 1.Las funciones exponenciales y logaritmicas son dos clases de funciones can unaimportancia tal en la informatica, que esnecesario estudiarlas cuidadosamente.Comencemos por la funci6n exponencial.

    2.2.5. Funciones booleanas enteras, exponencialesV logaritmicasDefin ic ion. Sean X = Y =R, y sean f(x) = 2x . La funcion f(x) recibe elnombre de funcion exponencial can bas e 2.

    Pu esto que 2 =1 y 2-x = 1/2\ e s posibl e t abul ar a lgunos valores de l afuncion exponencial y per fi lar s u graf ica, que se mue st ra en Ia Figura 2.14.Existen un con junto de funciones espec ia le s que aparecen con la sufic ientefrecuencia en la informatica como para jus tifica r un breve estud io . y

    Ejemplo 2.27 . Supongamos que X = Z e Y = {verdadero, fa l so}.Sea f(x) = (0 ~ x :E ; 100). Entonees, f(l) = verdadero, f (102) =fa l so, f( - 1) = fa l so, y asi suces ivamente . El domin ic def es el de losenteros y el rango el conjunto {verdadero , fa lso}.x Z'

    -2 1/4-1 1/20 11 2 x2 43 84 16

    Este es un e jemplo de un importante con junto de funciones , conoc idas comobooleanas en honor del maternatico ingles George Boole (1815-1864), que sen-to l as bas es y comenz6 e l desarro llo de la log ica s imbolica , Esta funcionesreciben tambien el nombre de predicados. Estud ia remos deten idamente losp redi cado s y l a logi ca en e ICap itulo 3.Ejemplo 2 .28. Sea b mod pe l resto entero resultante de dividir el entero bpor e l entero p. As i, por ej emplo, 8 mod 3 = 2, 15 mo d 5 = 0, y asisucesivamente. Observese que :E ; b mo d p :E ; p - 1. Si X = N, Y = Z23Yh(b) = b mod 23, entonces h(46) = 0, h(70) = 1, Y as! sucesivamente.

    Figura 2.14. Lafunci6n exponencial y su representaci6n grafica.

    * N. d el T .: En cas te ll an o s e s ue1e u ti li za r e l t ermino car dina li dad 0 simplernente cardinalde un conjunto.* N . d el T .: Es e xt ra or di na ri am ent e d if ic il t ra duc ir al c ast el lan o e l t er mi no " ha sh . Sutraduccion literal seria picadil lo. Mas en consonancia con el concepto ser ia traducir hashtablepor tabla asociativa, hash function por j u n c ian asociativa, hashing por asociatioidad, aunque

    aqui no 10hemos hecho.

  • 5/13/2018 Computacion I

    18/91

    30 Cotnputecion I. Loqice, resotucion de problemas, aigoritmos y programas Conjuntos y funciones 31

    La princ ipal carac te rist icas de la funcion exponencial e s su c recimien torapido . S i l a x se inc rementa en l,f(x) se dob la , puesto que 2x + I = 2 x 2 x.Los dos acer ti jos s igui ent es i lu st ran est a p ropi edad; el p rime ro se d ebe a losfranceses y e l segundo a los persas,

    compromiso. Conside remos los primeros cuadrados . En la cas il la 1habria quedepositar 1 (=2 ) granos de trigo; en la casilla 2, 2 (= 21 ) granos; en la casilla 3,4 (= 2Z ) granos; y asi sucesivamente. Asi , e l di a 64 el individuo tendria querec ib ir 263 granos de trigo del rey . Pero:Ejemplo 2 .30. Supongamos que tenemos un estanque en nuestra propie-da d. En el estanque crecen nenufares, y hemos observado que la superficiede l est anque que recub ren es tes s e dobla cada d ia. A l Jnincipio, el c reci -miento e ra pequefio, puesto que e la rea que cubrian e ra escaso , Sin embar-go, s i l legasen a cubrir todo e l estanque, e limina rian todos los dernas t iposd e v ida en el . Despues d e 29 dias obs ervamos que l a mi tad del e st anqueesta totalmente cub ie rto. i ,CUantos d ias nos quedan para poder salva r e le stanque? (La respues ta , por supuesto, e s 1 d ia l.

    Por tan to :263 = 260 X 23 = (2 1)6 X 2321 0 1 02 4 ~ 1 000 = 10 3263 ~ (10 3)6 X 8 = 8 X 10 1B

    2"'2'" = 2m+n (2.8)2"'/2" 2"'-" (2.9)(2"')" = 2mn (2 .10)2mll1 =# (2 .11)

    Si hacemos una estimacion de 50 gr anos de tr igo por cada gramo, esto esaprox imadamente igual a 1, 6 x 10 1 1 toneladas metricas de trigo, que excedecon creces l a produccion d e ar ro z de todo e l mundo,La funci6n exponenciai e suna funci6n uno-a -uno ; asi , s i Xl I:xz , entonees2 X' I:2 x,. Su rango ese l con junto denurneros rea le s no negativos . Por tan to , s irestringimos el dominio al conjunto {x E R] x > O }, entonees e l domin io de lafunci6n exponencial sera igual al rango (vease de nuevo la Figura 2 .14) . En estecaso, la funci6n es invertible. La f u nc io n i n ve rs a de una exponencial rec ibe e lnombre de funcion loqaritmica.

    Ejemplo 2 .31. Cie rto ind iv iduo ofrec io regalar a l rey un precioso tab le rode a jedrez s i el rey Ie d aba a el un grana de t ri go en Ia p rimera casi ll a, dosgranos sobre la segunda , cua tro sobre la terce ra , y asi suces ivamente has taque el tablero estuviera cubierto completarnente. Pensando de forma super-ficial sobre 10 que le pedian, el rey acepto. E1rey no tard6 mueho encaer enla bancarrota. Definicion. Sea X = R e Y = {x E Rj x > O ], Seaf(x) = 2x . Entonces,f-lrecibe el nombr e de [uncion loqaritmica en base 2 y se representa porlog2(x).Est imemos cuanto a rroz deb ia dar e l rey a l ind iv iduo , Antes de e llo, recorde -mos algunas propiedades algebraicas de las funciones exponenciales. Las cua-tro funciones que necesitamos son las siguientes: Recuerdese que una funcion y su inversa cumplen f(f -1(X) = x yf -1(f(X)) = x. Est a r el ac i6n no s conduce a l as ecua eion es sigui ent es , q uerelacionan entre si ambas funciones:(2 .12 )(2 .13)donde m y n son numeros naturales (estas propiedades se verifican incluso si ny m son reales, aunque nuestras aplicaciones solo requeriran el caso mas s im-ple).No esdificil verificar esas propiedades. En la Ecuacion (2.8), el lado izquier-do e s e l p rodu cto de m doses seguido del de n doses. EI resultado es el pro due-to de m + n doses. La verifieaci6n de la Ecuacion (2.9) se obtiene de formaana loga . La parte izquierda de la Ecuac ion (2 .10) ese l p roducto de n copias de2m ; esdec ir , e lp rodue to de n cop ias de un produeto de m doses . Por tan to , e se lp rodueto de mn doses. Para verificar la Ecuacion (2 .11) , utilizamos la propie-d ad de que l a Ecuac ion (2 .10) pued e ex tende rse al cas o en que m y n seannumeros racionales. Es decir, 2 " ' 1 " puede escribirse como (2m)l /n, por 1 0 qu e se

    obtiene direetamente la Ecuacion (2.11) uti lizando e l hecho de que 2 11n =j2.Podemos ahora est imar l a can tidad d e granos de t ri go que el dona nte d elt abl ero de aj edrez hab ri a r ecibido si el r ey hubier a sido capaz de cumpl ir el

    E jemp lo 2.32. Pue sto qu e 23 = 8, log, 8 = 3 .Es dec ir , 23 = 8 responde ala pregunta: i,Que obtendremos cuando elevamos el numero 2 al cubo?.Por el contrario, log, 8 = 3 responde a la pregunta: i,A que poteneia hayque e leva r 2 para obtener 8? .Del mismo modo, tendremos que log2 16 = 4,y log, 102 4 = 10 .En la Figura 2 .15 se muestra la gra fica de la funcion logaritmica . La princ ipalearac te rist iea de la funcion exponencial e s su rap ido c recimien to . Por e l con-tra rio, la p rinc ipal carac te rist ica de la Iuncion Iogaritmica es su crecimientolento. Observese que log2 8 = 3 Y log, 16 = 4. Es decir, afiadi endo 1 a x sedobla 2\ mientra s que a l dob la r X solo se Ie anade 1 a log, x.Otra forma de comparar l as fun cion es e xpon enci al y log ar itmiea es l a si -guiente: y = 2 X significa que el numero 1 debe ser doblado x veces para

  • 5/13/2018 Computacion I

    19/91

    x

    Conjuntos y funciones 3332 Computaci6n I. L6gica, resolucion de problemas, algoritmos y programas

    yEjernplo 2.33. log , 3 = 1 ,5 85 y log, 5 = 2,322. Podemos u ti liza r estainformacion para calcular las expresiones siguientes:a) log, 6 = log, (2 x 3) =log, 2 + log, 3 = 1 + 1,585 = 2,585b) log, 1,6 = log, (8/5) = log, 8 - log, 5 = 3 - 2,322 = 0,678c) log; 0,5 =log, (1/2) = log, 1 - 1 = - 1Pascal incorpora las funciones exponencial y logaritrnica, pero en base e enl ugar de en base 2. Se simboli zan mediante exp y l n respect ivamente . Esdec ir , d ado x para c al cul ar en Pasc al eX esc ribiremos la expresion exp (x).Conocido x para calcular en Pascal l oge x, escri bir emos Ln ( x ). Par a masdetalles vease el manual de laboratorio.

    Ejercicios

    Figura 2.15. Lafunci6n logarftmica.

    2 .1S. Una aIterna tiva en c riptogra fia para e lc ifrado de Cesar es la u ti lizaciond e una cl ave de codi fi ca cion, q ue consi st e en un pa tron qu e s e re pi te eindi ca al d es cod if icador a qu e di st an ci a a l a de rec ha en el al fabe to seencuentra la letra correcta. Por e jemplo , A s ignifica desp laza 0 letra s ;B significa desplaza 1letra, y asi suces ivamente . Por tan to , s i la c lavede cod ificac ion es ABCDABC. . ., e l mensa je (en ing les) FOURSCO-REANDSEVEN se cod ificaria FPWRTEOSGAOFSFXEO. Inverti r e lp roceso para e l mensa je cod ificado (tambien en ing les) OIVOCGIO-PASPIB. i ,Es este esquema una funcion de carac te res uno-a -uno? i ,Esuna funcion uno-a -uno de cadenas de carac te res?obtener y. Si x es una potencia de 2, y = IOg2 x s ign if ica qu e x d ebe s erd ividido por 2 y veces , para obtener 1 .Por e jemplo , log , 16 = 4 signiflca que16 debe ser d iv id ido por 2 cua tro veces para obtener 1. Las Ecuaciones (2.14) a(2.18) describen algunas propiedades adicionales de la funcion logaritmica.

    2.19.log, 1 = 0 (2.14)log , 2 1 (2.15)log, mn log, m + log, n (2.16)log2 (min) = log, m - log, n (2 .17)log2 (mn) = n log, m (2.18)

    Dibu jen se l as graf ic as de l as func ion es sigui ent es, Supongas e qu e e ldomin io es R (excepto para e l apa rtado e qu e es N) .a) [Zx ]b) ll3Jc) log, (2x )xd) 2 > +e) x mod 7f) [Iog; x]g) r Ixll

    2.20. Simplificar las expresiones siguientes:a) 3" x 3-ab ) (2 2 )3C ) 27"f3d) 23/24e) log, 4f) log, (/27)g) log, 2nh) 3 log, (x + 1)

    La verif icac ion de esas expresiones depende del hecho de que la funcion loga-ritmica es la inversa de la exponenciaJ. Abajo verificamos las Ecuaciones (2.14)a (2.16), dejando para e llec to r la verif icac i6n de las res tantes .Para verif icar la Ecuac ion (2.14) su pongamo s que IOg2 1 = x. Entonces2x = 1, por 10 que x = O . Para verificar la Ecuacion (2.15), sea log, x =x.Entonces 2x = 2, resultando x = 1. Para verif icar la Ecuac ion (2.16), seax = log, m e y = log, n. Entonces m = 2x y n = 2 Y Por tanto, nm = 2 x+)', ypor t anto, x + y = log, (mn). Combinando ambas, obtenemos log, mn = log,m + Iog, n.

  • 5/13/2018 Computacion I

    20/91

    5 + 8 + 11 + ... + (3n - 1) + (3n + 2).

    Conjuntos y funciones 3534 Computaci6n I. L6gica, resolucion de problemas, algoritmos y programas2.2.6. Series finitas y funciones relacionadas De hecho , cua lquier funcion de una variable ind ice i, puede sumarse de estaforma. Considerense las relaciones generales siguientes:Los procesos acumula tivos son frecuen tes en la informatica . Por e jemplo , a l-gunos program as rep iten un determinado calcu lo . Cad a repet ic ion consumeuna e ie rta can tidad de tiempo y memo ri a. E l p rog ramado r t ie ne qu e ser c a-pa z de est ima r l a can tida d de t iempo y es pac io qu e con sumira el programa ,sin nec esidad d e e jecu tar lo. T al es cal culos su el en imp li ca r l a suma de l ar -gas listas de numeros 0 expresiones . Para fac il itar todoe llo, y o tras expresio-nes relacionadas, se ha desarrollado la denominada notacion sigma. Esta nota-c ion u ti liza la letra griega L (sigma) para s imboliza r la suma, un ind ice qued ef in e el i nt ervalo d e va lores p ara los que se real iza l a suma, y l a fun cion quehay que sumar. Supongamos que sequ ie re esc ribir la suma de los 20 primerosen teros, 1 + 2 + 3 + ... + 20, utilizando notacion sigma. Escribiremosentonces:

    nL f{i) = f (m) + [Im + 1) + ... + fen)i=m (2.19)n'\' a = a + a + . ,. + aL. J 1 2 nj= 1 (2.20)

    Observese la u ti lizacion de sub indices en la Ecuac ion (2.20). Este t ipo de nota-c ion sue le u ti liza rse para d iferenciar los e lementos de una lis ta , s iendo a ie lprimero, a2 el segundo, y asi suces ivamente . Uti liza remos a menudo esta ideade l ist a en e l di se fio de program as .Propiedades de las series finitas. Las Ecuaciones (2.21) a (2.24) reflejan algunaspropiedades bas icas de las sumas u ti lizando la notac ion s igma .

    Ejemplo 2 .34. A continuac ion, se muestran varios e jemplos de notac ionsigma:

    1L a a1 (2.21)j ~ 1n nL a, a1 + j~a (2.22)i=1n tJ-1L a an + j~l aj (2.23)i=In m II

    j~ aj L a, + L aj Sl 1 ~m < n (2.24)i=l j=m+ 1

    Esto se lee, calcular la suma de los i e nt eros comprend idos ent re 1 y 20,ambos inclus ive . E l nume ro 20 es e l limite superior y el 1 e l limite inferior,siendo la variable i la variable indice de la sumatoria.

    IIa) L : i= 1 + 2 + 3 + ... + (n - 1) + n.i= 1

    nc) i~ (3i + 2)

    Que se pueden jus tifica r de la forma s iguien te : En la Ecuac ion (2.21)los l imitesinferior y superior son iguales, por 10 que exist ira un unico terrn ino, e lcorres -pondien te a l valor cornun de los Iimites . En la Ecuac ion (2.22) e llado derechode la expresion es simplemente iguaJ al izquierdo, con el primer terrnino escritopor separado. En la Ecuac ion (2.23), e l lado derecho es igua l a l izquierdo , perocon e l ul timo ter rn ino esc ri to p or se parado . En la Ecuac ion (2.24) , el l adode rec ho es igual al I zqu ierdo se parado e n dos sumas ~una h ast a m, y otradesde m + 1 hasta n.Las Ecuac iones (2,25) a (2.29) resumen otras importantes propiedades adi-c iona les de las sumas en serie s fin itas .

    nb) i~ 3i = 0 + 3 + 6 + 9 + ... + 3 (n - 1) + 3n .

    ,,-1d) j~1 = 1 + 2 + 3 + ... + (n - 2) + (n - 1).

    "e) j~ i 2 + 3 + 4 + ... + (n - 1) + n. en donde c es una' constante (2.25)nf) L i(3i + 2) = 5 + 16 + 33 + ... + (n - l)(3n - 1) + n(3n + 2).j=! IIL cfU)j= 1 IIC L fU )j = 1 (2 .26)

  • 5/13/2018 Computacion I

    21/91

    Conjuntos y funciones 3736 Computaci6n I. L6gica, resoluci6n de problemas, algoritmos y programasu n IL (f(i) + g(i) = L f(i) + L g(i)j~l i~1 1=1n 11i~l (f(i) ~ g(i)) = j~ f{i) nL g(i)i 1 (2.28)

    Gauss pudo obser var que el resultado er a la mitad de 101 x 100, 0 5050. E1profeso ,r .de Gauss recono~i6 que e l muchacho te~ia un gran talen to para lasmat~matlcas, y re.comend .o a su padre q~e 10 enviar a a un colegio en el qu epud ie ra sacar mejor partido de su capac idad . De hecho , podemos u ti liza r e1metodo abrev iado de Gauss para sumar serie s en general :

    (2.27)

    nL (f(i + 1) ~ f(i = fen + 1) ~ f(l)j=1

    (2.29).~. + 2 + 3 ++ n + (n 1) + (n 2) +

    (n + 1) + (n + 1) + (n + 1) ++ (n+ 2 1) ++ n1Es posible justificar estas ecuaciones haciendo las consideraciones siguientes:En la Ecuac i6n (2.25), e llado Izquierdo ese l p ropio valor csumado a s imismon veces . En la Ecuac i6n (2.26), e llado derecho es igua l a t izquierdo , tra s sacar cfactor cornun de la suma. En l a Ecuacion (2.27), el l ade derecho es igual al

    izquierdo, pero con los terminos reagrupados. La Ecuacion (2.28) se deja comoe je rc ic io . La Ecuac ion (2.29) se conoce como las s e r ie s t e l es c op i ca s . EI ladeIzquierdo puede escribirse como:

    + (n + 1) + (n + 1)Puesto .q~e hay n t er rninos en l a suma, e l r esul tado de l a suma anter ior pue -de escribirse n(n + 1) .Por t anto, l a suma de l a s er ie a ri tmet ica or iginal esn(n + 1) /2 , pues to qu e s e ha sumado consigo misma para ob tener l a u lt imalinea. La f or ma c om p ac ta de la suma de esta serie, junto can la de ot ras t am-b ien importantes , se muestran en las Ecuac iones (2.30) a (2.33).

    (f(2) ~ f(l)) + (f(3) - f(2 + ... + (f(n + 1) - f en~ " n(n + 1)i~l = (2.30)2II n(n + 1) (2n + 1)i~l

    {2 6 (2.31)" n2(n + 1) 2L j3 4 (2.32)i"" 1"i~l

    2i = 2"+ 1 _ (2.33)

    donde podemos ver que todos los terrn inos entre f(n + 1) Yf(l) se cancelanmutuamente, por 10 que e l resul tado sera fen + 1) - f(l).Algunas series importantes para la informa tica . No sue le ser hab itua lla mode-l izac ion de procesos acumula tivos, como sumas fin itas , u ti lizando notac ions igma. Generalmen te, e s d esea bl e en con tr ar una formula que nos cal eul e e lresul tado en funcion de los l imites inferio r y superio r. Se han obten ido estasformulas para algunas de las series mas comunes, yes conveniente memorizarlas.Una d e t al es ser ies, que se ut il iza f recu ent emente en l a informa ti ca, e s l aserie aritmetica (tambien conocida como proqresion aritmeticat:

    1 + 2 + 3 + ... + (n - 1) + nLas Ecuaciones (2.30)a (2.32)se las conoce con el nombre de p-series p ar ser dela forma:

    Existe una anecdota interesan te sobre esta serie . Carl Friedrich Gaus (1777-1855) fue uno de los matematicos mas des tacados del s ig lo XIX. Cuando erajoven le env ia ron a un internado , mas conoc ido por su estricta d iscipl ina quepor suca lidad academica , Como cas tigo , e l y sus compafieros deberian realizare le jercicio de sumar los 100 primeros enteros . Apenas e l p ro fesor hab ia enun-c iado e l p roblema, Gauss levan to su mano dando la respues ta correeta. Gausshabi a de scub ier to una forma senc il la de s uma r l a ser ie ar itme ti ca pa ra n =100 . Gauss esc ribio la suma horizon ta lmente en orden crecien te , y debajoesc ribio la misma suma, pero en orden dec recien te , hac iendo despues la sumaterrnino a termino:

    para a lgun va lor de p. La Ecu acion (2.32) es un ej emplo d e l a que se con a cecomo serie qeometrica 0 proqresion qeometrica.E jemplo 2.35 . A con tinu acion, se e stud ian dos e jemplos en los que se vecomo pueden u ti liza rse esas propiedades para calcu la r sumas de serie s.

    1 + 2 + 3 ++ 100 + 99 + 98 +10 1 + 10 1 + 101 +

    + 99 + 100+ 2 + 1+ 10 1 + 10 1

    15 15(15 + 1) . ;i~ i = 1202

    20 20 6 20(21) 6(7)i~ i j~1 i~ i = -2- 2 210 - 21 189

  • 5/13/2018 Computacion I

    22/91

    38 Computecion f. Logica, resoluci6n de problemas, algoritmos y programas

    Ejemplo 2.36. Considerese el p rob lema di scu tido e n el E jemplo 2 .31 . Esposible utilizar la Ecuacion (2.33) para calcular eI numero total de granosde ar roz qu e se ac umular ia n e n 64 dias, d e l a forma sigu ien te:

    Observese que 264 = 2 X 263 = 263 + 263, luego 26*':- 1 = 263 + 263 - 1.Recuerdese que e l numero de granos de trigo rec ib idos el dia 64 f ue 263.Por t an to, el n umero d e grano s recibido s e ld ia 6 4 e ra de iuno mas que lasuma de los r ec ibido s en todos los di as a nt er io res ! En general , l as ser iesgeometricas tienen esta caracteristica. Es decir,1 + 2 + 4 7, que es 1 menos que 81 + 2 + 4 + 8 = 15, que es 1 menos que 16

    y asi suces ivarnente, Esto aport a o tro pun to de v is ta sobre e l rap ido c reci-miento de las funciones exponenciales.

    2.3. SUMARIOEn este capitulo se han introducido algunas ideas fundament ales sobre conjun-tos y funciones . Como sesug ir io , la mayoria de estas noc iones t ienen d irec ta s eimportantes aplicac iones en la informatica . En este l ib ro u ti liza remos los con-c eptos de conjunto y fun cion si emp re que sea n ec esa rio. Veremo s que es tanotacion matematica, concisa y exacta, p roduce grandes benefic ios en la solu-c ion de problemas inforrnat icos , sean los propios problemas de naturalezamaternatica 0 no. Las propiedades de los con juntos y las funciones t ienen ung ran pa ral el ismo con las de l a logi ca, como ve remos en el Cap itulo 3, y en eld iseno de computadoras, como severa en eI Capitulo 7 . Por tan to , un conoc i-miento profundo de los con junto y las funciones es de v ital importanc ia en e lestudio de la disciplina informatica.

    Ejercicios2 .21. Desarro llar cada una de las sumatoria s s iguien tes:

    10a) i~1 2 i-1

    Conjuntos y tunciones

    od) i~ a,

    2 .22. Expresa r las serie s s iguien tes en notac ion s igma:a) 17 + 21 + 25 + ... + 65.b) 2 + 5 + 10 + 17 + ... + 101.c ) La s uma de los numeros impares de 0 a 1000, inc lus ive .d) La suma de los enteros pos it ivos menores que 300 y que sean divisi-b les po r 3.e) La suma de l as rai ces cuadr adas de t odos los enteros posit ivosmenores que 1000.

    2.23. a) Justificar la Ecuacion (2.28).b) Jus ti fi car qu e Ja s uma de los n primeros nurne ros impares es n2.

    2 .24. Calcu la r la suma de las expresiones desarro lladas en e l Eje rc ic io 2 .22.2.25. Calcular las sumas siguientes:

    25 na ) .L i e) i~ 2= 113 5

    b) i~ 2i(i + 1) J ) i~ (2 i + 1)12 5c) L 3i 2 g ) .~2i=6 r-=10 0

    d ) L 2k h ) L ak=5 i= I2.26. Un programa de compu tadora o rde na una l ist a L = (ai' a2 .. . , an) en l aforma siguiente. Examina cada elemento de la lista, seIecciona el mayor,y 10 intercambia con an A continuac ion, rep ite e lmisrno proceso para Iasublista (ai' a2' . . ., an- I) ' EIprograma termina cuando solo quede at enla sublista.

    a) Uti li zar no tac ion s igma para es cr ib ir u na expresion que ref le je elnumero de examenes rea lizados por e l p roceso .b) Sumar la expresion.

    2.27. En Nepal, el arr oz se culti va a menudo en ter razas formadas en l asl aderas de l as col ina s. Una colecc ion de e st as t er ra zas , o bse rva das a

    39

  • 5/13/2018 Computacion I

    23/91

    125 275 325

    CAPiTULO 340 Computecion I. Loqics, resolucion de problemas, algoritmos y program asvista de pajar o, se puede ver en l a Fi gur a 2.16. EI cuart o d~, c ir cul oint er ior , cor res pondient e a l a cima , n o es ta cuItivado. Moviendonosbacia abajo por la colina, los parterres se alternan ~on zona~ escarpad~sno cultivadas. Supongamos que , para una determmada colma , e l rad l~del c ircu lo de la c ima esde 75metros , y cada c ircu lo concentrico de ahihac ia aba jo t iene 50 metros. Supongamos que hay 10parte rres p lanta-dos.

    L6GICAa ) Utiliza r la notac ion s igma para esc ribir una 'expresion que refle je e lar ea tot al c ubi er ta p or los p ar ter res de arroz.:Calcu la r e l a rea total cub ie rta por parte rres .)

    75 175 225

    La log ica est a adqu ir ie ndo un pap el ca da vez ma s prepond erant e en l a infor -matica. De hecho , a lgunas personas Ilegan tan lejos como para a firmar que lainformat ica no e s mas qu e log ica apl ica da. En e st e t exto, l a log ica t ien e t resd is tintas e importantes aplicac iones: se u ti liza la log ica en programac ion paraconstruir expresiones logicas (Capitulo 4); seutiliza la Iogica para escribir pre yposcondiciones y otros asertos que describen elcornportamiento de los progra-mas (Capitu los 5 y 6); Yse u ti liza la log ica como fundamento para e ld iseno delas computadoras mismas (Capitu lo 7).En las Sec cione s 3 .1 y 3 .2 s e int roduc e l a log ica propo si cion al , qu e es unsistema para razonar y hacer calculos con proposiciones. La logica proposicio-na l n acio e nt re los af ios 1847 y 1854, f ru to de los t rab ajos de Geo rge Boole.Boole observe que exist ia una gran s imil itud entre las ope raciones log icas andy or, y las operaciones aritmeticas producto y suma. Boole desarrollo un siste-rna pa ra l a man ipu lac ion d e exp res ion es log ica s, que era t an preci so p aramanipular esas expresiones como la a ri tmetica para manipular numeros ,En la Sec cion 3.3 s e ex ti ende l a n ocion d e logi ca propo si cion al a o tr a masamplia, conoc ida como log ica de predicados. Esta extension nos permite u ti li -zar I a logi ca e n informat ica d e una forma muy cons truc t i va. Por ej cmplo, l autilizacion de los denominados cuantificadores Iogicos esta estrechamente rela-c ionada con la idea de buc les en los programas .Tambien se introducen las ideas de tau to logia y dernostracion. Estos con-cep tos scrim rev isados en e l Cap itulo 6 , en yux taposicion con los conceptosparalelos de prueba y verificacion, Logica y dernostracion son tan fundamenta-les para la informatica como para o tras d iscipl inas , tan to a rt is ticas como c ien-t if icas ; por tan to , e ste cap itulo sera u ti l en o tras a reas d iferen tes.

    Metros

    Figura 2.16. Panorarnica a vista de pajarode los parterres de Nepal.

    2.28. Si comenzamo s c on una c elul a d e l eva du ra e l di a 0, y a l f in al de ca dad ia c ad a ce lul a s e d ivide en do s, l .como de grande se ra l a coloni a d es-pues de n dias?

    3.1. LOGICA PROPOSICIONAlLa idea bas ica de Boole fue Ia de ana liza r patrones de a rgumentaciones log i-cas, utilizando simbolos para representar tanto aseveraciones simples como los

  • 5/13/2018 Computacion I

    24/91

    Regia 3:RegIa 4:

    Verdadero (true) y falso (false) son proposiciones.Cua lquier variable cuyo tipo sea {verdadero, falso} (conocidocomo tipo booJeano) es una proposicion,Si p es una proposicion , tambien 10 es (,.."p).Si p Y q son proposiciones, tambien 10 son (p v q), (p 1\ q),(p =;> q), (p ~ q).

    L6gica 4342 Computecion I. Logica, resoiucion de problemas, algoritmos y programas

    propios pat ro nes. E st a par te de la logica se conoee por el nombre d e loqicaproposicional (0 en a lgunos casos /agica simbOlica). En logica proposicionaJ,una frase (0 proposicioni puede tener solo dos valores verdade ro (true ) 0 falso(false). Las oraciones siguientes son ejemplos tipicos de proposiciones:

    Tabla 3 .1 . Los operadores log icosSimboJo Equivalenteen castellano Significado

    El a rea de un triangu lo rec tangulo isosceles , que t iene una h ipotenusa delong itud 2 es 1/2.

    Todos l os element os de la list a (1 3 5 7 6 4) son menores que 10. 3 + 5 = 7. En la f ra se The qu ick b rown fox jumps over the l azy dog estan presen-tes , a l menos una vez , todas las letra s del a lfabeto ing les, Ningun alumno de informatica del Calvin College, alcanzo la calificacionde B+ en el c ur so de 1990 .

    V/\

    nooyirnplicasi y solo s i

    Negaci6nDisyuncionConjuncionImplicacionEquivalencia=

    Despues de ver algunos ejemplos de la aplicacion de estos operadores estudia-remos otras interpretaciones. 'E jemp~o 3.1. Si p, q y r son variables booleanas, entonces las siguientesexpresiones son proposiciones validas:

    Con objeto de expresa r fra ses como las anterio res, de una forma mas preci-sa, u ti lizamos un est ilo forma l para esc ribir p roposiciones . En la Tab la 3 .1 sepresenta una lis ta de los operadores loqicos que se utilizan al escribir proposi-ciones.

    Defin ic ion. Una propos i curn es una expresion que se construye s iguiendolas reglas siguientes:

    pq( - p )(p v q)(p v (q v r (p => (q v (I' =;> (p ~ q)))

    Regla 1 :Regia 2:

    D~ las Reglas 2 y 3 pu ede deduci rs e, d e forma inmediat a, que l as c uat ropnmeras son expresiones. Para la quinta expresion puede aplicarsc reitera-damente la eua rta reg la , s iguiendo los s iguien tes pasos :p, q y r son proposiciones por la segunda reg ia .(q v r) es una proposi cion segun la r egi a 4 .(p y (q v r) e s una proposi cion segun la r egIa 4.

    Observese que la definicion anterior es recursiva, segun se vio en el Capitu-lo 2. Es decir, las reglas 3 y 4 definen una proposicion en terrn inos de una 0mas proposiciones ya existentes, las cuales pueden haber sido construidas utili-zando las reglas 3 y 4, y asi sucesivamente. Sin embargo, debido a que existenproposiciones e lement a le s formadas u ti lizando las reg las 1 y 2 ,que no u ti lizanla palabra propos i cion en l a def ini cion, e l proces o para de terminar si algo esuna proposicion, utilizando estas reglas, no es infinito; es decir, la definicion noes circular.Por el momento, cuando trabajcmos con el calculo proposicional, manipu-laremos solo variables y no inten ta remos s imboliza r n inguna proposicion enparticular. Mas adelante introducirernos forrnas de interpretacion de las varia-b le s, que son de gran u ti lidad en e lmundo de la prograrnacion y del d isefio delas computadoras.

    Una linea de razonamiento s imilar s irve para demos trar que e lsexto e je rn -plo es una proposicion:p, q y r son proposiciones por la segunda reg ia .(p ;> q) es una proposicion segun Ja reg la 4 .(r =;> (p ;> q)) es un a p ropo si cion s egun la r egIa 4.(q v (I' = - (p ?>q)}) es una proposi cion segun la r eg ia 4.(p = - (q v (1 ' => (p ~ q)) e s una proposi cion segun la r eg ia 4.Ejemplo 3.2. Las cxpresiones siguientes no son proposiciones:, ..(p)(p q) p). .. . ( p )

  • 5/13/2018 Computacion I

    25/91

    a b ien,

    L6gica 4544 Computaci6n I. L6gica, resolucion de problemas, afgoritmos y programas

    Observando e l Ejemplo 3 .2 ,s i somas estrictos en la aplicac ion de las reg las,los paren tesis juegan un papel c rucial en lade te rminac ion de s iuna expresion esuna proposicion, Sin embargo, podemos prescindir de ellos siempre que el signi-f icado de la expresion este c la ro . Por e jemplo , podemos esc ribir ' " p en lugar de( "' " p ) , p v q e n lug ar de (p v q), y asi sucesivamente.S in embargo , la e liminacion descu idada de los paren tesis puede conducir-n os a ambigued ades . Por ej emplo, n o e st a cl aro s i p vq A r significa

    El numero n es un numero pr imo menor que 100 .10 ::( x ::( 100Henry Higgins e ra un solte ro recalci tran te , pero Eliza Dooli tte conqu is tosu corazon.Aunque hab ia s ido un tra ficante de escJavos, John Newton termino s iendoun decidido oponente a la esclavitud.

    ( p v p ) A r)(p v (q 1\ r

    La p rime ra de l as oraciones ant er ior es pu ede desc omponer se en dos f ras es-nes un nume ro pr imo y /1 esmenor que 100~ aunque estan condensa-das en una utilizando, segun escostumbre en el Ienguaje coloquial. La segundatambien con tiene dos fra ses ocu ltas , aunque en este caso e l metodo de s in te siscorresponde a las matematicas . En la terce ra , e l adverbio pero tiene en logicasignificado de la operacion y; introduce un matiz en la [ra se que no es necesa-rio para la construccion de las proposiciones, En la cuarta frase, la proposicionaunque ind ica la presenc ia de una y, a l a vez que si rve para remarcar el co n-traste.Podemos simbolizar la frase:

    P ara ev it ar e st as amb igl iedad es, se a sign an p rior idad es a los operadores:'" t ien e l a p rior idad mas al ta ; 1\ t iene la s iguien te mas e levada ; y v, ~ y .>t iene n su s pr ior id ades por est e mi smo o rden . De est a forma, l a expresionp v q 1\ r s iempre se debe interpretar como (p v (q 1\ 1 ' .

    3.1.1. Representacion de frases en castellanoutilizando la 16gica proposicional Algunos han nacido para la gr andeza, algunos alcanzan l a grandeza ya lgunos soportan sabre s i la g randezaNo siempre es posible representar cualquier frase arbitraria, de forma simboli-ca, utilizando proposiciones 0 predicados. Es dec ir , muchas fra ses no son de-c la ra tivas y , por tan to , no puede a firmarse que sean verdade ras 0 falsas. Pore jemplo , jc ie rra la pue rta! es una orden , Yl.fuiste a la c la se de ana tomia deayer, del p ro fesor Davidson? esuna pregunta. S in embargo , existen gran can ti-dad de frases que pueden representarse como proposiciones y, mas aun, quepueden representarse como predicados. En informatica, la mayoria de las cosasque solem os quere r representar s imbolicamente, no son ambiguas, t ienen unvalor verdadero 0 falso, tambien no ambiguo y son expresables en forma deproposicion 0de predicado.Observese que en la log ica proposicional existen c inco operadores. De he-c ho, so lamente es nec esar io uno; el r esto pued en ob tene rse a par ti r de est e(veanse los e je rc ic ios de la Seccion 3 .2 ). La lengua cas te llana ofrece una granc ant id ad de formas para expresar l a mi sma idea ; as i, al r epresent ar f rasesmediante proposiciones evitaremos muchos matices del significado, centrandonuest ra at enc ion en l a est ructura logi ca de l as oraciones. De l m ismo modo,utilizaremos la misma estructura Iogica para expresar diferentes giros en caste-l lano . Par e jemplo , s i representamos la fra se Phogbound quiere ser senadormediante la variable p, las oraciones siguientes pueden representarse ambasmediante la proposicion ' " p:

    tanto por (p A q) A r) como mediante (p 1\ (q 1\ r . En la Seccion 3 .2 seve ra queambas expresiones logicas son equivalentes, y que pueden eliminarse los paren-tesis , quedando, por tanto, la expresion p 1\ q 1\ 1'. En la fra se anterio r, la p rime-ra coma equivale a l ope rador A.El operador v puede tener en cas te llano dos s ignificados l igeramente d ife-rentes, por 10 que es necesario d is tinguirlo. En la fra se :Este banco proporc iona ra c redito a todo e lque mantenga un saldo medio de500 dolares a que tenga un certi ficado de depos ito de mas de 5000 dolares .

    E l banco ,