Programacion I

90
Estructuras Discretas ogica Objetivos Al terminar el estudio de este capítulo el alumno será capaz de: 1. Establecer el valor de verdad de los enunciados lógicos. 2. Utilizar las reglas de inferencia, para determinar la conclusión o la consistencia interna del razonamiento. 3. Manipular algebraicamente expresiones lógicas que permitan su aplicación tecnológica. 4. Conocer las propiedades formales de la lógica y sus manipulaciones.

description

Introduccion a la programacion para BTPI Honduras

Transcript of Programacion I

  • Estructuras Discretas

    ogica

    Objetivos

    Al terminar el estudio de este captulo el alumno ser capaz de:

    1. Establecer el valor de verdad de los enunciados lgicos.2. Utilizar las reglas de inferencia, para determinar la conclusin o la consistencia

    interna del razonamiento.3. Manipular algebraicamente expresiones lgicas que permitan su aplicacin

    tecnolgica.4. Conocer las propiedades formales de la lgica y sus manipulaciones.

  • Estructuras Discretas

    Objetivos Especficos

    1. Aprender las operaciones o conectivas lgicas: conjuncin, disyuncin,disyuncin exclusiva, implicacin y equivalencia.

    2. Elaborar tablas de verdad de enunciados o expresiones lgicas.3. Tener fluidez en el uso de formalismos lgicos y la manipulacin de formulas.

    Esto es de gran inters, tanto en cuanto a los lenguajes de programacin puedenconsiderarse sistemas formales y sus instrucciones formales.

    4. Determinar la conclusin de un grupo dado de premisas observando las leyes deinferencia lgica.

    5. Utilizar los conceptos y reglas de la teora para resolver problemas lgicos reales.6. Utilizar las propiedades de los operadores lgicos para trasformar los enunciados

    en expresiones lgicas adecuadas para el diseo y programacin decomputadores, esto es, transformar las sentencias en solo conjunciones o solodisyunciones:

    LGICA

    Las personas constantemente tomamos decisiones acerca de lo que creemos que esverdadero en distintos aspectos de nuestras vidas. Aunque todo el mundo est deacuerdo en preferir creer lo que es verdad, confrecuencia discrepamos sobre lo que es verdadero encasos particulares. Si bien muchas de nuestrasconvicciones fundamentales sobre el mundo que nosrodea las adquirimos de cualquier manera en lugar demediante el uso de la razn, todos reconocemos quenuestras creencias sobre el mundo y los hechos queacaecen en el mismo mundo estn de algn modoligadas.

    Por ejemplo, si yo creo que todos los perros sonmamferos y que todos los mamferos son seresracionales, entonces tendra sentido para m suponerque todos los perros son seres racionales. En este caso, incluso quien (acertadamente)

    La Lgica es un trmino quederiva del griego logos, quesignifica razn.

    La razn es la facultad envirtud de la cual el serhumano es capaz deidentificar conceptos,cuestionarlos, hallarcoherencia o contradiccinentre ellos y as inducir odeducir otros distintos de losque ya conoce.

  • Estructuras Discretas

    discrepara con mi comprensin de las clasificaciones biolgicas podra apreciar laforma consistente y razonable en que he utilizado mis creencias errneas como basesobre la que establecer nuevas creencias. Por otra parte, si llego a la conclusin de queAlonso Quijano es espaol porque creo que Alonso Quijano es un personaje de JosZorrilla, y que algunos espaoles son personajes de Jos Zorrilla, entonces inclusoalguien que est de acuerdo con mi conclusin me reprochar (de nuevoacertadamente) no haber dado buenas razones para apoyarla.

    En conclusin, podemos estar de acuerdo con el camino que sigue un razonamientoaunque discrepemos de sus puntos de partida y de llegada. Es decir, es posibledistinguir los razonamientos vlidos de los invlidos independientemente de queestemos o no de acuerdo con el contenido que expresen dichos razonamientos. Dichode forma muy simple, la lgica es la disciplina que estudia esta distincindeterminando las condiciones bajo las cuales la verdad de ciertas creencias conducecon certeza a la verdad de alguna otra creencia. La lgica estudia, pues, los principiosde los razonamientos correctos.

    Hay que apresurarse a sealar que la lgica no garantiza que siempre lleguemos aconclusiones verdaderas, ya que algunas veces las creencias de las que partimos sonerrneas (como suponer que todos los mamferos son seres racionales, en el ejemploanterior). Lo que s garantiza la lgica es que siguiendo los principios de losrazonamientos correctos, no surjan otros errores aparte de los errores derivados de laposible falsedad de los conocimientos que sustancian nuestros razonamientos.

    PROPOSICIONES O ENUNCIADOS LGICOS

    Una proposicin o enunciado es el significado decualquier frase declarativa (o enunciativa) que pueda ser overdadera (V) o falsa (F). Nos referimos a V o a F como losvalores de verdad del enunciado.

    Algunos enunciados sonenunciados compuestos, esdecir, estn integrados porsubenunciados y variasconectivas.

    A las proposiciones o enunciados se les puede asignar inequvocamente uno de los dosvalores de verdad: " 1 " si es verdadera, o " 0 " si es falsa. Por este motivo se le

  • Estructuras Discretas

    denomina lgica bivalente o lgica binaria, porque solo tiene dos categoras declasificacin: las proposiciones verdaderas (1) y las proposicionesfalsas (0).

    Ejemplos

    /

    /

    /

    La frase "1=1" es un enunciado, puesto que puede ser verdadero o falso. Comoresulta que es un enunciado verdadero, su valor de verdad es V.La frase "1=0" tambin es un enunciado, pero su valor de verdad es F."Llover maana" es una proposicin. Para conocer su valor de verdad habrque esperar hasta maana.El siguiente enunciado podra saiir de la boca de un enfermo mental: "Si soyNapolen, entonces no soy Napolen". Este enunciado, como veremos msadelante, equivale al enunciado "No soy Napolen". Como el hablante no esNapolen, es un enunciado verdadero.

    S "Haz los ejercicios de lgica" no es un enunciado, puesto que no se le puedeasignar ningn valor de verdad (Est en modo imperativo, es una orden, y nouna frase declarativa)"Haz el amor y no la guerra" tampoco es un enunciado, puesto que no se lepuede asignar ningn valor de verdad (Tambin est en modo imperativo, esuna orden, y no una frase declarativa)"El perro" no es una proposicin, puesto que no es ni siquiera una frasecompleta (al menos en este contexto).'las rosas son rojas y las violetas azules", es un enunciado compuesto por lossubenunciados "Las rosas son rojas" y "las violetas azules""El es inteligente o estudia todas las noches" es, implcitamente, un enunciadocompuesto por los subenunciados "El es inteligente" y "estudia todas lasnoches"

    Para dnde va?, no es un enunciado ya que no es verdadero ni falso.15 es divisible por 7, el valor de verdad es "0" , o sea falsoX+ 2 = 5, es una ecuacin que adquiere su valor de verdad o falsedad cuando aXse le asignen diferentes valores; por tal razn se denomina una proposicincondicional.

    Si un triangulo es equiltero, entonces es issceles; es una proposicincompuesta llamada implicacin.

  • Estructuras Discretas

    s ( X+ Y) ( X- Y) = X2 -f Y2, es una identidad que puede considerarse como unaproposicin siempre verdadera. i

    Los enunciados son diferentes de las oraciones que los contienen. As, "Fulanito ama aMenganita" expresa exactamente la misma proposicin que "Menganita es amada porFulanito".

    En los enunciados lo esencial es el significado de la frase enunciativa.

    Las proposiciones pueden ser simples o compuestas. Para designarlas se empleanletras latinas minsculas: p, q, r, s, etc.

    Ejemplo: , (. , ....p: Yo soy un hondurenoq: Las rosas son rojas

    LA NEGACIN (NOT)

    Podemos formar nuevas proposiciones a partir de otras de muchas manerasdiferentes. Por ejemplo, a partir de p: "Yo soy un hondureno", podemos formar lanegacin de p: "No es el caso de que. yo sea hondureno", o ms sencillamente "No soyhondureno".

    Para negar una proposicin simple se emplea el smbolo ~. De tal forma que ~p (quese lee "no p"), y es tal que, si p es verdadera (1), ~p ser falsa (0) y viceversa. Eloperador negacin tambin se denomina NOT.

    ,%'f . i

  • Estructuras Discretas

    Tabla de Verdad

    P ~P0 1

    1 O

    Ejemplo:Escriba la negacin de las siguientes proposiciones

    p: Hay vida en la luna

    ~p: No hay vida en la luna

    p: Los elefantes le temen a los ratones

    ~p: Los elefantes no le temen a los ratones

    p: Frankenstein arrasa en Operacin Triunfo~p: Frankenstein no arrasa en Operacin Triunfo

    La Ley de la Doble Negacin

    Qu es lo que sucedera se nos propusiramos negar una negacin? En formasimblica, qu sucede si nos proponemos negar la expresin ~p? Evidentemente,tendramos la expresin ~(~p), que es lo mismo que p

    Y qu ocurrira si negsemos una doble negacin? Es decir, ~(p), o lo que es lomismo: p. En este caso, simplemente aplicando la definicin de la negacinllegamos a la conclusin de que ~(p)=~p

    Fjese bien en esto:

    Cuando el nmero de negaciones de un enunciado es par, el valor de verdad de dichoenunciado es el original de la proposicin, y cuando es impar, es la negacin delenunciado original, como muestra el siguiente esquema:

  • Estructuras Discretas

    ~~p= p

    rP= P-P= -P^P=P etctera

    PROPOSICIONES COMPUESTAS

    Las proposiciones compuestas bsicas son:

    La conjuncinLa disyuncinLa disyuncin exclusivaLa implicacinLa equivalencia

    LA CONJUNCIN (AND)

    Hay otras maneras de formar nuevas proposiciones a partir de otras. Si tenemos, porejemplo, p: "Soy gordo", y q: "T eres inteligente", podemos formar el siguienteenunciado: "Soy gordo y t eres inteligente". Este nuevo enunciado se puederepresentar con p A q, que se lee "p y q".

    La conjuncin de dos proposiciones simples p A q esverdadera si ambas proposiciones son verdaderas. Laconjuncin (A ), es una conectiva lgica que, se denominaoperador lgico AND y representa el producto lgico.

    ,-. p q pAq

    0 0 0

    p i 0

    1 0 0

    1 i 1

    Para que la expresin p/.qsea verdadera, tanto p como

    q deben ser verdaderas.

  • Estructuras Discretas

    Observe que la tabla de verdad para dosproposiciones simples tiene cuatro renglones quecontienen todas las probabilidades o alternativasde combinacin de los valores de verdad de lasproposiciones simples.

    Ejemplo:

    SI n es el nmero de proposiciones simples, entonces la tabla de verdad de laexpresin lgica tendr 2n renglones, enlos que aparecen todas las posibles ydiferentes combinaciones de valor de

    verdad de las proposiciones simples.

    Desarrolla la tabla de verdad de las siguientes proposiciones compuestas y escrbala enlenguaje natural

    p: Aquiles corre veloz q: La tortuga no corre velozmente

    1. pAq2. ~pAq3. ~p A ~ q

    Aquiles corre veloz y la tortuga no corre velozmente.Ni Aquiles ni la tortuga corren velozmente.Aquiles no corre velozmente y la tortuga corre velozmente.

    P ^ ^P ^q0 0 1 1

    0 11010 0 1

    110 0

    pAq ~pAq ~pA~q0 0 1

    0 1 0

    0 0 0

    1 0 0

    La Disyuncin (OR)

    La disyuncin de las proposiciones simples pVq que se lee: "po q" es falsa si ambasproposiciones son falsas y verdadera en ei resto de los casos. El operador lgicodisyuncin tambin se denomina OR y representa la suma lgica.

    P , q __p Vq0 0 ~0~0 1 1

    10 1

    1 1 1

    Mh

  • Estructuras Discretas

    Ejemplo: ";i1. Sea p: "3 es un numero primo" y q: "12 es divisible por 3"

    p A q: "3 es un numero primo y 12 es divisible por 3"p V q: "3 es numero primo o 12 es divisible por 3"

    2. Sea p: "Hay un error en el programa" y q: "La entrada es errnea"p V q "Hay un error en el programa o la entrada es errnea"

    La Disyuncin exclusiva (XOR)

    La disyuncin exclusiva , llamada XOR: exclusive OR, (que se lee "p o q", pero noambas) es verdadera solo en el caso en que las dos proposiciones tengan diferentevalor de verdad. Es decir si una es verdadera y la otra s falsa y viceversa.

    p q Pq'0 0 0

    0 i 1

    1 0 1

    1 i 0

    La palabra "o" tiene dos significados diferentes. En la oracin "El estudiara en laUniversidad Nacional o en la Universidad Catlica." La presuncin es que puede estaren una u otra pero no en ambas. De este modo el "o" se utiliza en el sentido llamadodisyuncin exclusiva. Por otra parte la afirmacin "Hay un error n l programa o laentrada es errnea" no excluye ninguna de las dos probabilidades un error y unaentrada errnea.

    V

    La Implicacin

    En la implicacin el primer trmino se denomina antecedente o hiptesis y el segundoconsecuente o tesis. La implicacin es falsa si el antecedente es verdadero y elconsecuente es falso. La implicacin no tiene denominacin especial como los casosanteriores (NOT, AND, OR, y XOR) pero puede expresarse en funcin de estos.1

  • Estructuras Discretas

    La implicacin es una conectiva lgica que se notara con una flecha =>

    p => q se lee p implica q, p entonces q, p es suficiente para q, o tambin, q esnecesario para p.

    P q P=>q0 0 1

    0 11

    10 0

    111

    Es natural que de un antecedente verdadero se concluya o derive un consecuenteverdadero y que no se pueda deducir un consecuente falso de un antecedenteverdadero, aunque resulte un poco extrao, resultan implicaciones verdaderaspartiendo de antecedentes falsos.

    Ejemplos:1. Seap: -1 =1 q:(-l)2 =(l)2

    o es un antecedente falsoq es consecuente verdadero

    p => q: -1=1 => (-1)2 = (l)2, es una implicacin verdadera.

    2. Si p: -1 = 1 antecedente falsosi q: -3 = 3 consecuente falso

    p => q: -1 = 1=> -3 = 3, es una implicacin verdadera.

    Las implicaciones tambin reciben el nombre de teoremas, pueden ser de cuatroformas:

    1. Implicacin directa2. Implicacin contraria

    \

    P=>qq=>P

    10

  • Estructuras Discretas

    3. Implicacin reciproca ~p==>~q4. Implicacin contrareciproca ~q => ~p

    ?_ q ~p ~q p=>q i q^p ~P=>~g ~g=~po~ o i i i i i i011010 o i

    i o o, i o i i o110011 i i

    Ejemplo:Sean las proposiciones p: a, p, y son ngulos interiores de un triangulo, entonces a + p+ y = n ( ti es la medida del ngulo plano en radianes) entonces las implicaciones sern:

    Directa: p =* q: Si a, (3, y son ngulos internos de un triangulo, entoncesa + P + y = n.

    Contraria: q => p: Sia+P + y = n,entonces a, P, y son ngulos internos de un triangulo.

    Reciproca: ~p => ~q Si a, P, y h son ngulos internos de un triangulo, entoncesa + p + y *7i.

    Contrareciproca: ~q => ~p Si a + p + y * ti,entonces a, p, y no son ngulos internos de un triangulo.

    Las tablas de verdad de las implicaciones directa y contrareciproca, y de la contraria yreciproca son iguales, por tanto estas implicaciones son equivalentes (); es decir:

    1. (p^q)(~q^-p) - -2. (q=rp)(~p=^q)

    Cuando una implicacin directa es verdadera y lo es adems la implicacin contraria,las proposiciones son equivalentes ().

    Si tanto p => q como qWp, entonces, p q, es decir:

    [(p=*q)A(q=*p)] (p^q)

  • Estructuras Discretas

    La Equivalencia

    La equivalencia es una conectiva lgica, p q, que se lee:p entonces qp si y solo qp es necesario y suficiente para q

    La equivalencia es verdadera si ambas proposiciones son verdaderas o si ambas sonfalsas, es decir:

    p q p q

    0 0 1

    0 i 0

    1 0 0

    1 i 1

    Con estas cinco conectivas lgicas bsicas se construyen proposiciones compuestasque pueden ser tautolgicas, contradicciones o contingencias.

    Si la tabla de verdad de la proposicin es siempre verdadera, independientemente dela verdad o falsedad de las proposiciones simples, entonces la expresin estautolgica. Si la tabla de verdad es siempre falsa, ser una contradiccin; si esverdadera y falsa, la proposicin es una contingencia.

    Las tautologas son identidades lgicas, es decir, siempre verdaderas; mientras que lascontingencias son ecuaciones lgicas, las cuales adquieren su valor de verdad paradeterminadas combinaciones devalores de verdad de las proposiciones simples.

    Ejemplos:

    La siguiente es una tautologa usada para transformar una implicacin en unaexpresin equivalente (p =* q) ~ (pA~q), cuya tabla de verdad es:

    12

  • Estructuras Discretas

    p q ~q p=>q pA~q ~() 0 0 i 1 0 1 1

    0 i 0 1 0 1 1

    1 0 i 0 1 0 1

    1 i 0 1 0 1 1

    El hecho de que esta equivalencia resulte siempre verdadera la hace tautolgica ypuede, para efectos de la operacin del algebra de proposiciones, sustituir laimplicacin por su expresin equivalente.

    Determine que tipo de expresin lgica es la siguiente:

    (p=>q)~(~pvg)

    p q ~p p=>q ~pVq -(,) 0 0 i 1 1 0 0

    O i i 1 1 0 0

    1 0 0 0 0 1 0

    1 i 0 1 1 0 0

    La expresin lgica anterior es una contradiccin.

    Para realizar las tablas de verdad de proposiciones compuestas, de tres simples, sedeben construir ocho renglones para cada una de las combinaciones de verdad yfalsedad.

    Ejemplo:

    IpA-(qVr)]

    Haciendo:

    KpA-/)v(pA^ r)]

    5 = p A ~ qt = p A ~ r

    13

  • Estructuras Discretas

    q Vrp q r ~q ~r q0 0 0 i 1

    0 0 1 i 0

    0 i 0 0 1

    0 i 1 0 0

    1 0 0 i 1

    1 0 1 i 0

    1 1 0 0 1

    1 1 1 0 0

    1

    O

    O

    O

    1

    o

    o

    o

    La proposicin anterior es una tautologa

    Que tipo de proposicin compuesta es la siguiente

    [~p => (-g v ~r )] => [~ (p =* q) v ~(p = r)]Haciendo: s = p =*q

    t = p => r

    0

    0

    0

    o

    1

    1

    o

    o

    o

    o

    o

    o

    1

    o

    1

    o

    A

    o

    o

    o

    o

    1

    1

    1

    o

    p q r ~p ~q ~r V 1= s ~s t ~t V ^>0 0 0 1 i 1 1 1 1 0 1 0 0 00 0 1 1 i 0 1 1 1 0 1 0 0 00 i 0 1 0 1 1 1 1 0 1 0 0 00 i 1 1 0 0 0 0 1 0 1 0 0 11 0 0 0 i 1 1 1 0 1 0 1 1 11 0 1 0 i 0 1 1 0 1 1 0 1 11 1 0 0 0 1 1 1 1 0 0 1 1 11 1 1 0 0 0 0 1 1 0 1 0 0 0

    La proposicin anteriores una contingencia.

    14

  • Estructuras Discretas

    Leyes del lgebra de proposiciones

    1. Leyes de idempotenciaa. p v p pb. p Ap p

    2. Leyes asociativaa. (p Vq) Vr

  • Estructuras Discretas

    Ejemplos:

    1. Demostrar que:a. p Ap pb. p V p p

    a. Partiendo del segundo miembro se llega al primero, as:

    p pAlppA( pV~p)p*(pAp)V(pA~p)p

  • Estructuras Discretas

    l. Utilizando las leyes del lgebra de proposiciones demostrar que:

    ~[(pA'vqAr)V(pAqAr)]

  • Estructuras Discretas

    2. Modus Toilendo Tollens (MTT), mtodo de negando niega.3. Modus Toilendo Ponens (MTP), mtodo de negando afirma.

    Modus Ponendo Ponens (MPP)

    Este mtodo de inferencia establece que si una implicacin es cierta y adems es ciertotambin su antecedente, entonces su consecuente es necesariamente verdadero.

    Simblicamente:[ (p -.=> q ) Ap]

    Modus Toilendo Tollens (MTT)

    Esta regla de inferencia dice que si una implicacin es verdadera y es falso suconsecuente, entonces su antecedente ser necesariamente falso.

    Simblicamente:

    [(p =^q) A~q]

    Modus Toilendo Ponens (MTP)

    Esta ley se enuncia as: si una disyuncin es verdadera y una de sus proposicionessimples es falsa, entonces necesariamente la otra proposicin ser verdadera.

    Simblicamente:

    [(pVq)A~p]=>

  • Estructuras Discretas

    El proceso de demonstracin consiste en combinar apropiadamente las premisasmediante conjunciones, as:

    Las premisas 1 y 3 producen:

    [(p-~r)Ap]-~r (4)MPPLas premisas 2 y 4 producen:

    [(~r-q)A~r]-q (5) MPPPor lo tanto la conclusin es la proposicin q.

    Sean las premisas:1. pVq 2.~r 3.q->rDe 3 y 2 se sigue:

    [ (q -> r) A ~ r] -> ~ qDe 1 y 4 se deduce:

    [(pVq)A~q]->pLa conclusin es p.

    (4) MTT

    (5) MTP

    Observe que un argumento es vlido si de la conjuncin ( A ) de las premisas se implicala conclusin, es decir, siempre que todas las premisas sean verdaderas, la conclusintambin ser verdadera. Un argumento es un raciocinio que se hace con el objeto deaceptar o rechazar un tesis; es la aseveracin de una proposicin, llamada conclusin otesis, obtenida de otros enunciados denominados premisas o hiptesis.Considere los siguientes argumentos:

    p->qP

    2.p~>q

    ~q

    3. p->q

    q

    4. p->q

    Los argumentos 1 y 2 son vlidos y se denominan respectivamente MPP y MTT.Sus expresiones proposicionales son:1. [(p->q)Apj->q 2. [(p^q)A~q]^p V

    19

  • Estructuras Discretas

    Son tautologas, es decir, siempre verdaderas, como se puede ver al realizar sus tablasde verdad. Pero los argumentos 3y4 no son validos, dan contingencias ynotautologas, asi:

    3- [(p - q) Aq] - ~p Contingencia4. [ (p - q) A~pj -> ~q ContingenciaEl argumento denominado silogismo hipottico (SH) se enu5- [ (p -> q) A(q -> r) ] -> (p - r)

    ncia:

    En cada uno de los argumentos 1, 2y5puede verse si la conjuncin de las premisasmplica la conclusin, mientras que en 3y4la conjuncin de las premisas no implica laconclusin, por esto son contingencias 3y4.

    Demostracin y refutacin

    La demostracin es un razonamiento que prueba la validez de un conocimiento; e, elenlace entre el conocimiento recin adquirido ylos conocimientos anteriores losprocedimientos de demostracin permiten establecer la conexin lgica entre lasproposiciones fundamentales de la teora, sus consecuencias sucesivas, hasta deducirla conclusin o tesis que asse demuestra.

    Los principales tipos de demostracin son:

    1. Demostracin directa. La demostracin directa de una proposicin t(teorema)es un conjunto de proposiciones o premisas que son postulados oproposiciones de validez aceptada y de las cuales se infiere t comoconsecuencia inmediata.

    20

  • Estructuras Discretas

    2. Demostracin indirecta. Se realiza cuando se establece la validez de una tesis tprobando que las consecuencias de su contraria son falsas.

    3. Demostracin de recursin. Cuando las tesis se prueban por medio deinduccin matemtica.

    A estos tipos de demostracin se oponen dos mtodos de refutacin.La refutacin es el razonamiento que prueba la falsedad de una hiptesis o lainconsistencia de su supuesta demostracin; los mtodos de refutacin son: refutacinpor contradiccin y refutacin por contraejemplo.

    Ejemplos: , c

    Dadas las siguientes premisas hallar la conclusin:[ (p -> q) A ( q -> r) ] premisa 1

    p ., premisa 2entonces,

    del: [(p^q)A(q-r)]-(p-r) premisa 3 SHde3y2:;UP7>r)Ap] - r MPP

    Conclusin r

    p -> ( q A r) premisa 1qAr-)s premisa 2~ s premisa 3

    entonces,

    del y 2: {[ p -< q A r) ] A [( q A r) -> s ]} - (p -> s) 4SHde4y3: [ ( P->s ) A~s] ^~p MTTConclusin ~p

    ~(pA~q) premisa 1~(r V s) -> ~ q premisa 2

    p premisa 3

    21

  • Estructuras Discretas

    ~r premisa 4

    Entonces

    De 1: ~( p a ~ q) q) A [ q - (r Vs)] -> [ p -(r Vs)] 7 SHDe 7 y 8: {[ p - ( r V s)J A p}--> ( r V s) 8 MPPDe8y4:[(rVs)A~r]->s MTPConclusin s

    Aplicaciones tecnolgicasLa lgica se aplica principalmente a tres aspectos:

    1. Las contingencias se utilizan para hacer circuitos de control y automatismo; lastautologas y contradicciones para probar la consistencia interna de lasargumentaciones.

    2. Las reglas de inferencia lgica se utilizan como test de prueba de laconsistencia lgica interna de los algoritmos de computacin.

    3. Las propiedades algebraicas y las transformaciones de las sentencias igicas enfuncin de solo una u otra conectiva, se utilizan como una ventana en laconstruccin de los circuitos integrados (Cl) comerciales, pues estos solo utilizanNOT, AND y OR.

    Para referirse a las aplicaciones tecnolgicas de la lgica matemtica hay que definir,adems, otra dos conectivas lgicas, la anticonjuncin NAND y la antidisyuncin OR.Estas operaciones se denominan de Sheffery de Pierce, respectivamente.

    22

  • Estructuras Discretas

    Anticonjuncin NAND

    Se define como la negacin de un conjuncin, es decir: NAND = NOT AND quesimblicamente significa:

    ( p NAND q) ~ ( p A q )Su tabla de verdad:

    p q pNANDq

    0 0 1

    0 i 1

    1 0 1

    1 i 0

    Antidisyuncin OR

    Se define como la negacin de una disyuncin, es decir, OR = NOT OR, quesimblicamente se expresa:

    ( p OR q) ~ ( p V q )Su tabla de verdad:

    p q p NORq

    0 0 1

    0 i 0

    1 0 0

    1 i 0

    Antidisyuncin exclusiva XNOR

    Tambin se emplea y define de manera similar: XNOR = NOT XOR, simblicamente:( p XNOR q)

  • Estructuras Discretas /\

    1.

    p q pXNORq0 0 1

    0 i 0

    1 0 0

    1 i 1

    -iDebe observarse que la tabla de verdad de la antidisyuncin exclusiva es igual a latabla de verdad de la equivalencia, por tanto, se puede incluir que estas dos conectivaslgicas son equivalentes y que una operacin puede ser sustituida por otra. Con losoperadores XNOR se representan las equivalencias en los circuitos lgicos.

    Ejercicios propuestos

    Clasificar mediante una tabla deverdad las siguientes proposiciones:a. ~(p Aq) ~q)e. (~q - ~p) O ~(p - q)f. (p -> q) A (~q V p)g. (p -> q) A (~q -> p)h. (pAq)^(~qVp)

    :

    R/ a. tautologa b. c. d. f. g. contingencias h. tautologa

    Si p es verdadero (1), q es falso (0) y r es verdadero (1), determinar el valor deverdad de las siguientes proposiciones:

    a. pA(qVr)b. (pAq)V(qVr)c. p -> ~(q - r)d. (p Aq)-> (~q V p)

    24

  • Estructuras Discretas

    e. (pA~q)V(p-r)f. (p O q) ^ (~q A r)g. ~[(~pA~q)A(pVr)]h. "-q^[pH(pV-q)]i. ~[(~PVq)A~(qA~p)]^

    >

    "p V ~q)

    R/a. 1 b. 1 c. 0 d.O e. 1 f. 0 g. 1 h. 1 i. 1^

    3. Determine el tipo de proposicina. p O ~[(p -> r) A (q -> r)]b. [(PAq)Vr]0[(pVr)A(qVr)]c. [(pAq)Ar]e[(pAr)V~r)]d. ~[(~p V q) A ~( q A ~p)] ~[(~p A r) > q]e. 1pAq)e[pA(q->r)f. ~{[(PVq)^q]A[(p->r)^(qH>r)]

    R/ a. contingencia b. tautologa c. tautologa d. contingencia e. contingenciaf. contingencia, ,

    4. Concluir del siguiente grupo de premisasa. p->~r (1) b. p->(qAr) (1)

    ~r->q (2) p (2)P (3) (qAr)-)s (3)

    d. q->~p (1)P (2)

    e. pVq (1)~r (2)

    q-> r (3)

    R/a. q b. s c. r d. ~q e. p f. p

    k

    Ai mm^m

    c. ~q (1)P -q (2)~p->r (3)

    f. t-(pVq) (1)~(~t) (2)~q (3)

    25

  • Estructuras Discretas

    5. Mediante una tabla deverdad demostrar que:(p@q)

  • Estructuras Discretas

    IgoritmosObjetivos

    Al terminar el estudio de este captulo el alumno ser capaz de:

    1. Conocer la terminologa relacionada con los algoritmos; as como laimportancia de aplicar tcnicas adecuadas de programacin.

    2. Conocer las reglas para cambiar formulas matemticas a expresionesvalidas para la computadora, adems de diferenciar constantes eidentificadores y tipos de datos simples.

    3. Ser capaz de diferenciar los mtodos de representacin y formulacin dealgoritmos, as como de conocer las caractersticas ms importantes de cadatcnica.

    4. Conocer las diferentes estructuras algortmicas como componentes

    55

  • Estructuras Discretas

    bsicos de los programas y aplicar la combinacin de ellas para eldesarrollo de algoritmos mas complejos.

    5. Ser capaz de utilizar los datos de tipo arreglo para plantear la solucin deproblemas que requieran de esta estructura.

    6. Crear y manejar funciones y procedimientos.

    Definicin de Algoritmo

    La palabra algoritmo se deriva de la traduccin al latn de la palabra rabealkhowarizmi, nombre de un matemtico y astrnomo rabe que escribi untratado sobre manipulacin de nmeros y ecuaciones en el siglo IX.

    Un algoritmo es una serie de pasos organizados que describe-^ptjfewseguir, paralar sqjucip^un probfema especfico. ?

    Tipos de Algoritmos

    1. Cualitativos: Son aquellos en los que se describen los pasos utilizandopalabras.

    2. Cuantitativos: Son aquellos en los que se utilizan clculos numricos paradefinir los pasos del proceso.

    Lenguajes Algortmicos

    Es una serie de smbolos y reglas que se utilizan para describir de manera explcita unproceso.

    Tipos de Lenguajes Algortmicos

    1. Grficos: Es la representacin grfica de fas operaciones que realiza unalgoritmo (diagrama de flujo).

    2. No Grficos: Representa en forma descriptiva las operaciones que deberealizar un algoritmo (pseudocdigo).

    56

  • Estructuras Discretas

    Metodologa para la solucin de problemas por medio de computadora .:>

    1. Definicin del Problema

    Esta fase est dada por el enunciado del problema, el cual requiere una definicinclara y precisa. Es importante que se conozca lo que se desea que realice lacomputadora; mientras esto no se conozca del todo no tiene mucho caso continuar conla siguiente etapa.

    . . .*

    2. Anlisis del Problema

    Una vez que se ha comprendido lo que se desea de la computadora, es necesariodefinir:

    1. Los datos de entrada.

    2. Cul es la informacin que se desea producir (salida)3. Los mtodos y frmulas que se necesitan para procesar los datos.

    Una recomendacin muy practica es el que nos pongamos en el lugar de. lacomputadora y analicemos que es lo que necesitamos que nos ordenen y en quesecuencia para producir los resultados esperados.

    3. Diseo del Algoritmo

    Las caractersticas de un buen algoritmo son:

    1. Debe tener un punto particular de inicio.2. Debe ser definido, no debe permitir dobles interpretaciones.3. Debe ser general, es decir, soportar la mayora de las variantes que se

    puedan presentar en la definicin del problema.4. Debe ser finito en tamao y tiempo de ejecucin.

    57

  • Estructuras Discretas

    4. Codificacin

    La codificacin es la operacin de escribir la solucin del problema (de acuerdo a lalgica del diagrama de flujo o pseudocdigo), en una serie de instruccionesdetalladas, en un cdigo reconocible por la computadora, la serie de instruccionesdetalladas se le conoce como cdigo fuente, el cual se escribe en un lenguaje deprogramacin o lenguaje de alto nivel.

    5. Prueba y Depuracin

    Los errores humanos dentro de la programacin de computadoras son muchos yaumentan considerablemente con la complejidad del problema. El proceso deidentificar y eliminar errores, para dar paso a una solucin sin errores se le llamadepuracin.

    La depuracin o prueba resulta una tarea tan creativa como el mismo desarrollo de lasolucin, por ello se debe considerar con el mismo inters y entusiasmo.

    Resulta conveniente observar los siguientes principios al realizar una depuracin, yaque de este trabajo depende el xito de nuestra solucin.

    6. Documentacin

    Es la gua o comunicacin escrita en sus variadas formas, ya sea en enunciados,procedimientos, dibujos o diagramas.

    A menudo un programa escrito por una persona, es usado por otra. Por ello ladocumentacin sirve para ayudar a comprender o usar un programa o para facilitarfuturas modificaciones (mantenimiento).

    La documentacin se divide en tres partes:

    Documentacin Interna: Son los comentarios o mensaje que se aaden al cdigofuente para hacer ms claro el entendimiento de un proceso.

    58

  • Estructuras Discretas

    Documentacin Externa: Se define en un documento escrito los siguientes puntos:

    Descripcin del ProblemaNombre del Autor

    Algoritmo (diagrama de flujo o pseudocdigo)Diccionario de Datos

    Cdigo Fuente (programa)

    Manual del Usuario: Describe paso a paso la manera como funciona elprograma, con el fin de que el usuario obtenga el resultado deseado.

    7. Mantenimiento

    Se lleva a cabo despus de terminado el programa, cuando se detecta que esnecesario hacer algn cambio, ajuste o complementados al programa paraque siga trabajando de manera correcta: Para poder realizar ste trabajo se requiereque el programa este correctamente documentado.

    Los Datos

    Tipos De Datos

    Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simplecarcter, tal como 'b', un valor entero tal como 35. El tipo de dato determina lanaturaleza del conjunto de valores que puede tomar una variable.

    Tipos de Datos:

    1. Simplesa. Numricos

    b. Lgicosc. Alfanumricos (string)

    2. Estructurados (Definidos por el usuario)a. Arreglos (vectores, matrices)

    59

  • Estructuras Discretas

    b. Registrosc. Archivosd. Apuntadores

    Tipos de Datos Simples

    Datos Numricos: Permiten representar valores escalares de forma numrica,esto incluye a los nmeros enteros y los reales. Este tipo de datos permiten realizaroperaciones aritmticas comunes.

    Datos Lgicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya querepresentan el resultado de una comparacin entre otros datos (numricos oalfanumricos).

    Datos Alfanumricos (String): Es una secuencia de caracteres alfanumricosque permiten representar valores identificabas de forma descriptiva, esto incluyenombres de personas, direcciones, etc. Es posible representar nmeros comoalfanumricos, pero estos pierden su propiedad matemtica, es decir no es posiblehacer operaciones con ellos. Este tipo de datos se representan encerrados entrecomillas.

    Ejemplo:

    "Universidad Pedaggica Nacional", "2008"

    Expresiones

    Las expresiones son combinaciones de constantes, variables, smbolos de operacin,parntesis y nombres de funciones especiales.

    Ejemplo:

    a+(b + 3)/c

    60

  • Estructuras Discretas

    Cada expresin toma un valor que se determina tomando los valores de las variables yconstantes implicadas y la ejecucin de las operaciones indicadas.

    Una expresin consta de operadores y operandos. Segn sea el tipo de datos quemanipulan, se clasifican las expresiones en:

    Aritmticas

    Relacinales

    Lgicas

    Operadores y Operandos

    Operadores: Son elementos que relacionan de forma diferente, los valores de una oms variables y/o constantes. Es decir, los operadores nos permiten manipularvalores.

    Tipos de Operadores

    Aritmticos

    Relacinales

    Lgicos

    Operadores Aritmticos: Los operadores aritmticos permiten la realizacinde operaciones matemticas con los valores (variables y constantes).

    Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o reales.

    Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado esreal.

    Operando (Operador) Operando

    Valor J

    61

  • Estructuras Discretas

    Operadores Aritmticos

    + Suma

    - Resta

    * Multiplicacin / Divisin Mod Modulo (residuo de 1;a divisin entera)

    s:

    Expresin7/2

    12 mod 7

    4 + 2*5

    Resultado

    3.5

    5

    14

    Ejemplos

    Prioridad de los Operadores Aritmticos

    S Todas las expresiones entre parntesis se evalan primero. Lasexpresiones con parntesis anidados se evalan de dentro a fuera, elparntesis mas interno se evala primero.

    S Dentro de una misma expresin los operadores se evalan en el siguienteorden.

    1. A Exponenciacin2. *, /, mod Multiplicacin, divisin, modulo.3. +, -Suma y resta.

    S Los operadores en una misma expresin con igual nivel de prioridad seevalan de izquierda a derecha.

    Ejercicios:

    4 + 2 * 5 = 1423*2/5 = 9.23 + 5* (10 -(2 + 4)) = 233.5 + 5.09-14.0/40 = 5.092.1* (1.5+ 3.0* 4.1) = 28.98

    46/5 = 9.23 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 233.5 + 5.09-3.5 = 8.59-3.5 = 5.092.1 * (1.5 + 12.3) a 2.1 * 13.8 = 28.98

    62

  • Estructuras Discretas

    Operadores Relacinales:

    S Se utilizan para establecer una relacin entre dos valores.S Compara estos valores entre si y esta comparacin produce un resultado de

    certeza o falsedad (verdadero o falso).S Los operadores relacinales comparan valores del mismo tipo (numricos o

    cadenas)S Tienen el mismo nivel de prioridad en su evaluacin.S Los operadores relacinales tiene menor prioridad que los aritmticos.

    Operadores Relacinales

    Ejemplos:

    Si a = 10

    a + b > c

    a - b< ca - b = c

    a * b c

    > Mayor que < Menor que > = Mayor o igual que < = Menor o igual que < > Diferente = Igual

    b = 20 c = 30

    Falso

    Verdadero

    Falso

    Verdadero

    Operadores Lgicos:

    Btos operadores se utilizan para establecer relaciones entre valores lgicos. Estosvalores pueden ser resultado de una expresin relacional.

    And Y

    Or O

    Not Negacin

    63

  • Estructuras Discretas

    Ejemplos:

    (a< b)and(b= b)F T F F

    T F

    ((a >= b) or (a =d)and (c > d))F F T T

    F TF

    64

  • Estructuras Discretas

    not (a = c) and (o b) ; ' rr-not F T

    T T

    T

    Identificadores

    Los identificadores representan los datos de un programa (constantes,variables, tipos de datos). Un identficador es una secuencia de caracteres quesirve para identificar una posicin en la memoria de la computadora, que nospermite accesar a su contenido.

    Ejemplo:Nombre

    Num_hrsCalif2

    Reglas para formar un Identificador

    Debe comenzar con una letra (A a Z, maysculas o minsculas) y no debencontener espacios en blanco. ,, ,:w ;-

    Letras, dgitos y caracteres como la subraya ( _ ) estn permitidos despusdel primer carcter.

    La longitud de identificadores puede ser de hasta 8 caracteres.

    Constantes y Variables

    Constante: Una constante es un dato numrico o alf^nu/riricp. AMf^-l^o.^^in^iadurante la ejecucin del programa. ,> r.Ejemplo:

    P = 3.1416 . ... ;,: .*vv- *n,r**)r- ^invariable: Es un espacio en la memoria de la computadora que permitealmacenar temporalmente un dato durante la ejecucin de un proceso, sucontenido puede cambia durante la ejecucin del programa. Para poder reconocer

    65

  • Estructuras Discretas

    una variable en la memoria de la computadora, es necesario darle un nombre conel cual podamos identificarla dentro de un algoritmo.

    Ejemplo:rea = pi * radio A 2

    Las variables son: el radio, el rea y la constate es pi

    Clasificacin de las Variables

    1. Por su contenidoa. Numricas

    b. Lgicasc. Alfanumricas (String)

    2. Por su uso

    a. De trabajob. Contadoresc. Acumuladores

    Por su Contenido

    Variable Numricas: Son aquellas en las cuales se almacenan valores numricos,positivos o negativos, es decir almacenan nmeros del 0 al 9, signos (+ y -} y elpunto decimal.

    Ejemplo:impuesto=0.12 pi=3.1416 costo=2500

    Variables Lgicas; Son aquellas que solo pueden tener dos valores (cierto o falso) estosrepresentan el resultado de una comparacin entre otros datos.

    Variables Alfanumiricas: Esta formada por caracteres alfanumricos (letras, nmerosy caracteres especiales).

    66

  • Estructuras Discretas

    Ejemplo:Letra = 'a' apellido = 'Lpez' direccin = 'Av. Libertad #190'

    Por su Uso

    Variables de Trabajo; Variables que reciben el resultado de una operacinmatemtica completa y que se usan normalmente dentro de un programa.

    Ejemplo:Suma = a + b/c

    Contadores: Se utilizan para llevar el control del nmero de ocasiones en que serealiza una operacin o se cumple una condicin. Con los incrementosgeneralmente de uno en uno.

    Acumuladores: Forma que toma una variable y que sirve para llevar la $umaacumulativa de una serie de valores que se van leyendo o calculandoprogresivamente.

    Tcnicas para la formacin de algoritmos

    1. Diagrama de flujo2. Pseudocdigo3. Diagrama estructurado (nassi-schneiderman)

    Las dos herramientas utilizadas comnmente para disear algoritmos'son:Diagrama de FlujoPseudocdigo

    Diagrama de Flujo

    Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin sepuede decir que es la representacin detallada en forma grfica de como debenrealizarse los pasos en la computadora para producir resultados.

    Esta representacin grfica se da cuando varios smbolos (que indican diferentes

    67

  • Estructuras Discretas

    procesos en la computadora), se relacionan entre s mediante lneas que indican elorden en que se deben ejecutar los procesos.

    Los smbolos utilizados han sido normalizados por el instituto norteamericano denormalizacin (ANS).

    SMBOLO

    (_)

    o

    DESCRIPCIN

    Indica el inicio y el final de nuestrodiagrama de flujo.

    Indica la entrada y salida de datos.

    Smbolo de proceso y nos indica laasignacin de un valor en lamemoria y/o la ejecucin de unaoperacin aritmtica.

    Smbolo de decisin indica larealizacin de una comparacin devalores.

    Se utiliza para representar lossubprogramas.

    Conector dentro de pgina.Representa la continuidad deldiagrama dentro de la misma pgina.

    Conector fuera de pgina. Representala continuidad del diagrama en otrapgina.

    68

  • Estructuras Discretas

    it

    Indica la salida de informacin porimpresora.

    Indica la salida de informacin en lapantalla o monitor.

    Lneas de flujo o direccin. Indican lasecuencia en que se realizan lasoperaciones.

    Recomendaciones para el diseo de Diagramas de Flujo

    S Se deben se usar solamente lneas de flujo horizontales y/o verticales.S Se debe evitar el cruce de lneas utilizando los conectores.S Se deben usar conectores solo cuando sea necesario.S No deben quedar lneas de flujo sin conectar.S Se deben trazar los smbolos de manera que se puedan leer de arriba hacia

    abajo y de izquierda a derecha.S Todo texto escrito dentro de un smbolo deber ser escrito claramente,

    evitando el uso de muchas palabras.

    Pseudocdigo

    Mezcla de lenguaje de programacin y espaol (o ingls o cualquier otro idioma)que se emplea, dentro de la programacin estructurada, para realizar el diseode un programa. En esencial, el pseudocdigo se puede definir como unlenguaje de especificaciones de algoritmos.Es la representacin narrativa de los pasos que debe seguir un algoritmo para darsolucin a un problema determinado. El pseudocdigo utiliza palabras queindican el proceso a realizar.

    69

  • Estructuras Discretas

    Ventajas de utilizar un Pseudocdigo a un Diagrama de Flujo

    Ocupa menos espacio en una hoja de papelPermite representar en forma fcil operaciones repetitivas complejasEs muy fcil pasar de pseudocdigo a un programa en algn lenguaje deprogramacin.Si se siguen las reglas se puede observar claramente los niveles quetiene cada operacin.

    Diagramas estructurados (Nassi-Schneiderman)

    El diagrama estructurado N-S tambin conocido como diagrama de chapn es como undiagrama de flujo en el que se omiten las flechas de unin y las cajas son contiguas. Lasacciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas deflujo, se pueden escribir diferentes acciones en una caja. Un algoritmo se representeen la siguiente forma: o

    INICIOACCIN 1ACCIN 2

    FIN

    70

  • Estructuras Discretas

    Ejemplo:

    Inicio

    Leer

    Nombre,Hrs,Precio

    CalcularSalario = Hrs * Precio

    Calcularlmp = Salario* 0.12CalcularNeto = Salario + Imp

    EscribirNombre, Imp, SNeto

    Fin

    ESTRUCTURAS ALGORTMICAS

    Las estructuras de operacin de programas son un grupo de formas de trabajo,que permiten, mediante la manipulacin de variables, realizar ciertos procesosespecficos que nos lleven a la solucin de problemas. Estas estructuras seclasifican de acuerdo con su complejidad en:

    3.

    Secuenciales

    a. Asignacinb. Entrada

    c. Salida

    Condicionales

    a. Simplesb. Mltiples

    Cclicas

    a. Hacer para

    71

  • Estructuras Discretas

    b. Hacer mientrasc. Repetir hasta

    Estructuras Secuenciales

    La estructura secuencia! es aquella en la que una accin (instruccin) sigue a otra ensecuencia. Las tareas se suceden de tal modo que la salida de una es laentrada de la siguiente y as sucesivamente hasta el fin del proceso. Unaestructura secuencial se representa de la siguiente forma:

    Inicio

    Accionl

    Accion2

    AccionN

    Fin

    Q^ Inicio J

    c J

    Asignacin: La asignacin consiste, en el paso de valores o resultados a una zonade la memoria. Dicha zona ser reconocida con el nombre de la variable que recibeel valor. La asignacin se puede clasificar de la siguiente forma:

    S Simples: Consiste en pasar un valor constate a una variable (a=15)S Contador: Consiste en usarla como un verificador del nmero de veces que

    se realiza un proceso (a=a+l)S Acumulador: Consiste en usarla como un sumadoren un proceso (a=a+b)S De trabajo: Donde puede recibir el resultado de una operacin matemtica

    que involucre muchas variables (a=c+b*2/4).S Lectura: La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el

    teclado) un valor. Esta operacin se representa en un pseudocdigo comosigue:Leer a,b

    Donde "a" y "b" son las variables que recibirn los valoresS Escritura: Consiste en mandar por un dispositivo de salida (p.ej.. monitor o

    impresora) un resultado o mensaje. Este proceso se representa en un

    72

  • Estructuras Discretas

    pseudocdigo como sigue:

    Escribe "El resultado es:", RDonde "El resultado es:" es un mensaje que se desea aparezca y R es unavariable que contiene un valor.

    Problemas Secuenciales

    1. Suponga que un individuo desea invertir su capital en un banco y desea sabercunto dinero ganara despus de un mes si el banco paga a razn de 2% mensual.

    Inicio

    Leer capjnvgan = capjnv * 0.02Imprimir gan

    Fin

    2. Un vendedor recibe un sueldo base ms un 10% extra por comisin de susventas, el vendedor desea saber cuanto dinero obtendr por concepto decomisiones por las tres ventas que realiza en el mes y el total que recibir en elmes tomando en cuenta su sueldo base y comisiones.

    Inicio ;h >>Leer sb, vi, v2, v3totj/ta = vi + v2 + v3com = tot_vta * 0.10tpag = sb + comImprimir tpag, com

    Fin

    3. Una tienda ofrece un descuento del 15% sobre el total de la compra y un clientedesea saber cunto deber pagar finalmente por su compra.

  • Estructuras Discretas

    Inicio

    Leer te

    d = te* 0.15

    tp = tc-dImprimir tp

    Fin

    4. Un alumno desea saber cul ser su calificacin final en la materia de Algoritmos.Dicha calificacin se compone de los siguientes porcentajes:

    55% del promedio de sus tres calificaciones parciales.30% de la calificacin del examen final.15% de la calificacin de un trabajo final.

    Inicio

    Leer el, c2, c3, ef, tfprom = (el + c2 + c3)/3ppar = prom * 0.55pef=ef *0.30ptf = tf *0.15cf = ppar + pef + ptfImprimir cf

    Fin

    5. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujereshay en un grupo de estudiantes.

    Inicio

    Leer nh, nmta = nh + nm

    ph = nh* 100/tapm = nm * 100/taImprimir ph, pm

    Fin

    74

  • Estructuras Discretas

    6. Realizar un algoritmo que calcule la edad de una persona.Inicio

    Leer fnac, factedad = fact - fnacImprimir edad

    Fin

    Problemas Propuestos

    1. Dada una cantidad en pesos, obtener la equivalencia en dlares, asumiendo que launidad cambiara es un dato desconocido.

    2. Leer un nmero y escribir el valor absoluto del mismo.

    3. La presin, el volumen y la temperatura de una masa de aire se relacionan porla formula:

    masa = (presin * volumen)/(0.37 * (temperatura + 460))

    4. Calcular el nmero de pulsaciones que una persona debe tener por cada 10segundos de ejercicio, si la formula es:

    num. pulsaciones = (220 - edad)/10

    5. Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre susalario anterior.

    . ;. i -.

    6. En un hospital existen tres reas: Ginecologa, Pediatra, Traumatologa. Elpresupuesto anual del hospital se reparte conforme a la siguiente tabla:

    reaGinecologaTraumatologaPediatra

    Porcentaje del presupuesto40%

    30%

    30%

    Obtener la cantidad de dinero que recibir cada rea, para cualquier montopresupuestal.

  • Estructuras Discretas

    7. El dueo de una tienda compra un artculo a un precio determinado. Obtener elprecio en que lo debe vender para obtener una ganancia del 30%.

    8. Todos los lunes, mircoles y viernes, una persona corre la misma ruta ycronometra los tiempos obtenidos. Determinar el tiempo promedio que la personatarda en recorrer la ruta en una semana cualquiera.

    9. Tres personas deciden invertir su dinero para fundar una empresa. Cada una deellas invierte una cantidad distinta. Obtener el porcentaje que cada quieninvierte con respecto a la cantidad total invertida.

    10. Un alumno desea saber cul ser su promedio general en las tres materias masdifciles que cursa y cu ser el promedio que obtendr en cada una de ellas. Estasmaterias se evalan como se muestra a continuacin:

    La calificacin de Matemticas se obtiene de la siguiente manera:Examen 90%

    Promedio de tareas 10%En esta materia se pidi un total de tres tareas.

    La calificacin de Fsica se obtiene de la siguiente manera:Examen 80%Promedio de tareas 20%En esta materia se pidi un totai de dos tareas.

    La calificacin de Qumica se obtiene de la siguiente manera:Examen 85%

    Promedio de tareas 15%En esta materia se pidi un promedio de tres tareas.

    76

  • Estructuras Discretas

    Estructuras de Condicionales

    Las estructuras condicionales comparan una variable contra otro(s) valor(es), paraque en base al resultado de esta comparacin, se siga un curso de accindentro del programa. Cabe mencionar que la comparacin se puede hacer contraotra variable o contra una constante, segn se necesite.

    Simples: Las estructuras condicionales simples se les conoce como "Tomas dedecisin". Estas tomas de decisin tienen la siguiente forma:

    Si entonces

    Accin(es)Fin-si

    Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones oalternativas posibles en funcin del cumplimiento o no de una determinadacondicin. Se representa de la siguiente forma:

    Si entoncesAccin(es)

    Si no

    Accin(es)Fin-si

    Donde:

    Si Indica el comando de comparacinCondicin Indica la condicin a evaluarentonces Precede a las acciones a realizar cuando se cumple la condicinaccin(es) Son las acciones a realizar cuando se cumple o no la condicinsi no Precede a las acciones a realizar cuando no se cumple la condicin

    Dependiendo de si la comparacin es cierta o falsa, se pueden realizar una o msacciones.

    77

  • Estructuras Discretas

    Mltiples: Las estructuras de comparacin mltiples, son tomas de decisinespecializadas que permiten comparar una variable contra distintos posiblesresultados, ejecutando para cada caso una serie de instrucciones especificas. Laforma comn es la siguiente:

    Si entoncesAccin(es)

    si no

    Si entoncesAccin(es)

    si no

    Forma General

    Casos VariableOpl: Accin(es)Op2: Accin(es)

    Varias condiciones

    OpN: accinFin-casos

    Problemas Condicionales

    a. Problemas Selectivos Simples

    1. Un hombre desea saber cunto dinero se genera por concepto de interesessobre la cantidad que tiene en inversin en el banco. El decidir reinvertir losintereses siempre y cuando estos excedan a L. 7000, y en ese caso desea sabercunto dinero tendr finalmente en su cuenta.

    78

  • Estructuras Discretas

    Inicio

    fin

    Leer pjnt, capint = cap * pjntsi int > 7000 entonces

    capf = cap + intfin-si

    Imprimir capf

    2. Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobarasi su promedio de tres calificaciones es mayor o igual a 60; reprueba en caso contrario.

    Inicio

    Leer califl, calif2, calif3prom = (califl + calif2 + calif3)/3Si prom >= 60 entonces

    Imprimir "alumno aprobado"si no

    Imprimir "alumno reprobado"Fin-si

    Fin : nr

    3. En un almacn se hace un 20% de descuento a los clientes cuya compra supere losL1000 Cul ser la cantidad que pagara una persona por su compra?

    Inicio

    Leer compraSi compra > 1000 entonces

    desc = compra * 0.20 si nodesc = 0

    fin-si

    tot_pag = compra - descimprimir tot_pag

    fin ! : '1:") ' :

    79

  • Estructuras Discretas

    4. Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguientemanera:

    Si trabaja 40 horas o menos se le paga L.16 por horaSi trabaja ms de 40 horas se le paga L.16 por cada una de las primeras 40horas y L.20 por cada hora extra.

    Inicio

    Leer ht

    Si ht >40 entonceshe = ht- 40ss = he * 20 + 40 * 16

    si no

    ss = ht * 16Fin-si

    Imprimir ssFin

    5. Un hombre desea saber cunto dinero se genera por concepto de interesessobre la cantidad que tiene en inversin en el banco. El decidir reinvertir losintereses siempre y cuando estos excedan a L.7000, y en ese caso desea sabercunto dinero tendr finalmente en su cuenta.

    Inicio

    Leer pjnt, capint = cap * pjntsi int > 7000 entonces c

    apf = cap + intfin-si

    Imprimir capffin

    6. Una persona enferma, que pesa 70 kg, se encuentra en reposo y desea sabercuntas caloras consume su cuerpo durante todo el tiempo que realice unamisma actividad. Las actividades que tiene permitido realizar son nicamentedormir o estar sentado en reposo. Los datos que tiene son que estando dormido

    SO

  • Estructuras Discretas

    consume 1.08 caloras por minuto y estando sentado en reposo consume 1.66caloras por minuto.

    Inicio

    Leer act$, tiempSi act$ = "dormido" entonces

    cg= 1.08 * tiempsi no

    cg= 1.66 * tiempfin-si

    Imprimir cgFin

    7. Que lea dos nmeros y los imprima en forma ascendente

    Inicio

    Leer numl, num2Si numl < num2 entonces

    Imprimir numl, num2si no

    Imprimir num2, numlfin-si

    fin

    8. Hacer un algoritmo que imprima el nombre de un articulo, clave, precio original ysu precio con descuento. El descuento lo hace en base a la clave, si la clave es 01 eldescuento es del 10% y si la clave es 02 el descuento en del 20% (solo existen dosclaves).

    Inicio

    Leer nomb, cve, prec_origSi cve = 01 entonces

    precdese = prec_orig - prec_prig * 0.10si no

    prec_desc = prec_orig - prec_orig * 0.20

    81

  • Estructuras Discretas

    fin-si

    Imprimir nomb, cve, precjxig, prec_descFin

    9. Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si secompran tres camisas o mas se aplica un descuento del 20% sobre el total de lacompra y si son menos de tres camisas un descuento del 10%

    Inicio

    Leer num_camisas, prectot_comp = num_camisas * prec ?Si num^camisas > = 3 entonces

    tot_pag = tot_comp - tot^comp * 0.20si no

    tot_pag = tot_comp - tot_comp * 0.10fin-si

    Imprimir tot__pagFin

    10. Una empresa quiere hacer una compra de varias piezas de la misma clase a unafbrica de refacciones. La empresa, dependiendo del monto total de la compra,decidir que hacer para pagar al fabricante.

    Si el monto total de la compra excede de L.500000 la empresa tendr la capacidadde invertir de su propio dinero un 55% del monto de la compra, pedir prestado albanco un 30% y el resto lo pagara solicitando un crdito al fabricante.

    Si el monto total de la compra no excede de L.500000 la empresa tendr capacidadde invertir de su propio dinero un 70% y el restante 30% lo pagara solicitandocrdito al fabricante.

    El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se lepague a crdito.

    82

  • Estructuras Discretas

    Inicio

    Fin

    Leer costopza, numpzatotcomp = costopza * numpzaSi totcomp > 500 000 entonces

    cantinv = totcomp * 0.55prstamo = totcomp * 0.30crdito = totcomp * 0.15

    si no

    cantinv = totcomp * 0.70crdito = totcomp * 0.30prstamo = 0

    fin-si

    int = crdito * 0.20

    Imprimir cantinv, prstamo, crdito, int

    Problemas Propuestos

    Ti)Calcular el total que una persona debe pagar en una llantera, si el precio de cadallanta es de L.800si se compran menos de 5 llantas y de L.700 si se compran 5 o ms.

    2. En un supermercado se hace una promocin, mediante la cual el clienteobtiene un descuento dependiendo de un numero que se escoge al azar. Si elnumero escogido es menor que 74 el descuento es del 15% sobre el total de lacompra, si es mayor o igual a 74 el descuento es del 20%. Obtener cunto dinero se ledescuenta.

    3. Calcular el nmero de pulsaciones que debe tener una persona por cada 10segundos de ejercicio aerbico; la formula que sp aplica cuando el sexo es femeninoes: num. pulsaciones = (220 - edad)/10

  • Estructuras Discretas

    y si el sexo es masculino: num. pulsaciones = (210 - edad)/10

    4. Una compaa de seguros est abriendo un departamento de finanzas yestableci un programa para captar clientes, que consiste en lo siguiente: Si el montopor el que se efecta la fianza es menor que L.50000 la cuota a pagar ser por el3% del monto, y si el monto es mayor que L.50000 la cuota a pagar ser el 2% delmonto. La afianzadora desea determinar cul ser la cuota que debe pagar uncliente.

    5. En una escuela la colegiatura de los alumnos se determina segn el nmero dematerias que cursan. El costo de todas las materias es el mismo.Se ha establecido un programa para estimular a los alumnos, el cual consiste en losiguiente: si el promedio obtenido por un alumno en el ltimo periodo es mayor oigual que 90, se le har un descuento del 30% sobre la colegiatura y no se lecobrara impuesto; si el promedio obtenido es menor que 90 deber pagar lacolegiatura completa, la cual incluye el 10% de impuesto.Obtener cuanto debe pagar un alumino.

    6. Una empresa de bienes races ofrece casas de inters social, bajo lassiguientes condiciones: Si los ingresos del comprador son de L. 8000 o menos laprima ser del 15% del costo de la casa y el resto se distribuir en pagosmensuales, a pagar en diez aos. Si los ingresos del comprador son mas de L.8000la prima ser del 30% del costo de la casa y el resto se distribuir en pagosmensuales a pagar en 7 aos.La empresa quiere obtener cuanto debe pagar un comprador por concepto deprima y cuanto por cada pago parcial.

    7. El gobierno ha establecido el programa SAR (Sistema de Ahorro para el Retiro)que consiste en que los dueos de la empresa deben obligatoriamente depositar enuna cuenta bancaria un porcentaje del salario de los trabajadores;

    -41

    84

  • Estructuras Discretas

    adicionalmente los trabajadores pueden solicitar a la empresa que depositedirectamente una cuota fija o un porcentaje de su salario en la cuenta del SAR, la cualle ser descontada de su pago.Un trabajador que ha decidido aportar a su cuenta del SAR desea saber la cantidadtotal de dinero que estar depositado a esa cuenta cada mes, y el pago mensual querecibir. . .

    8. Una persona desea iniciar un negocio, para lo cual piensa verificar cuntodinero le prestara el banco por hipotecar su casa. Tiene una cuenta bancaria, perono quiere disponer de ella amenos que el monto por hipotecar su casa sea muypequeo. Si el monto de la hipoteca es menor que L. 1000 000 entonces invertir el50% de la inversin total y un socio invertir el otro 50%. Si el monto de la hipoteca esde L. 1 000 000 o ms, entonces invertir el monto total de la hipoteca y el resto deldinero que se necesite para cubrir la inversin total se repartir a partes igualesentre el socio y el.

    9. El gobierno del pas desea reforestar un bosque que mide determinado nmerode hectreas. Si la.superficie del terreno excede a 1 milln de metros cuadrados,entonces decidir sembrar de la siguiente manera:

    je de la superficie del bosque Tipo de rbol70% pino

    20% caoba

    10% cedro

    Si la superficie del terreno es menor o igual a un milln de metros cuadrados,entonces decidir sembrar de la siguiente manera:

    Porcentaje de la superficie del bosque Tipo de rbol50% Pino30% caoba20% cedro

  • Estructuras Discretas

    El gobierno desea saber el nmero de pinos, caobas y cedros que tendr quesembrar en el bosque, si se sabe que en 10 metros cuadrados caben 8 pinos, en 15metros cuadrados caben 15 caobas y en 18 metros cuadrados caben 10 cedros.Tambin se sabe que una hectrea equivale a 10 mil metros cuadrados.

    10. Una fabrica ha sido sometida a un programa de control de contaminacin paralo cual se efecta una revisin de los puntos IMECA generados por la fabrica. Elprograma de control de contaminacin consiste en medir los puntos IMECA queemite la fabrica en cinco das de una semana y si el promedio es superior a los 170puntos entonces tendr la sancin de parar su produccin por una semana y unamulta del 50% de las ganancias diarias cuando no se detiene la produccin. Si elpromedio obtenido de puntos IMECA es de 170 o menor entonces no tendr nisancin ni multa. El dueo de la fbrica desea saber cunto dinero perder despusde ser sometido a la revisin.

    11. Una persona se encuentra con un problema de comprar un automvil o unterreno, los cuales cuestan exactamente lo mismo. Sabe que mientras el automvilse devala, con el terreno sucede lo contrario. Esta persona comprara el automvilsi al cabo de tres aos la devaluacin de este no es mayor que la mitad delincremento del valor del terreno. Aydale a esta persona a determinar si debe o nocomprar el automvil.

    Problemas Selectivos Compuestos

    1. Leer 2 nmeros; si son iguales que los multiplique, si el primero es mayorque el segundo que los reste y si no que los sume.

    Inicio

    Leer numl, num2

    si numl = num2 entonces

    86

  • Estructuras Discretas

    si no

    fin-si

    fin

    resul = numl * num2

    si numl > num2 entonces

    resul = numl - num2

    si no

    resul = numl + num2

    fin-si

    2. Leer tres nmeros diferentes e imprimir el nmero mayor de los tres.

    Inicio

    Fin

    Leer numl, num2, num3

    Si (numl > num2) and (numl > num3) entoncesmayor = numl

    si no

    Si (num2 > numl) and (num2 > num3) entoncesmayor = num2

    si no

    mayor = num3fin-si

    . - ir y--fin-si

    Imprimir mayor

    3. Determinar la cantidad de dinero que recibir un trabajador por concepto de lashoras extras trabajadas en una empresa, sabiendo que cuando las horas de trabajoexceden de 40, el resto se consideran horas extras y que estas se pagan al doble de

    87

  • Estructuras Discretas

    una hora norma! cuando no exceden de 8; si las horas extras exceden de 8 se paganlas primeras 8 al doble de lo que se pagan las horas normales y el resto al triple.

    Inicio

    Fin

    Leer ht, pphSi ht < = 40 entonces

    tp = ht * pphsi no

    he = ht-40

    Si he < = 8 entonces

    pe = he * pph * 2si no

    pd = 8 * pph * 2pt = (he - 8) * pph * 3pe = pd + pt

    fin-si

    tp = 40 * pph + pefin-si

    Imprimir tp

    4. Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades sieste se le asigna como un porcentaje de su salario mensual que depende de suantigedad en la empresa de acuerdo con la siguiente tabla:TiempoMenos de 1 ao

    1 ao o ms y menos de 2 aos2 aos o ms y menos de 5 aos5 aos o ms y menos de 10 aos10 aos o ms 20% del salario

    Utilidad

    5 % del salario

    7% del salario

    10% del salario

    15% del salario

    88

  • Estructuras Discretas

    Inicio

    Fin

    Leer sm, antigSi antig < 1 entonces

    til = sm * 0.05

    si no

    Si (antig > = 1) and (antig < 2) entoncestil = sm * 0.07

    si no

    Si (antig > = 2) and (antig < 5) entoncestil = sm* 0.10

    si no

    Si (antig > = 5) and (antig < 10) entoncestil = sm * 0.15

    si no

    til = sm * 0.20

    fin si

    fin si

    fin si

    fin si

    Imprimir til

    5. En una tienda de descuento se efecta una promocin en la cual se hace undescuento sobre el valor de la compra total segn el color de la bolita que el clientesaque al pagar en caja. Si la bolita es de color blanco no se le har descuento alguno,si es verde se le har un 10% de descuento, si es amarilla un 25%, si es azul un50% y si es roja un 100%. Determinar la cantidad final que el cliente deberpagar por su compra. Se sabe que solo haybolitas de los colores mencionados.

  • Estructuras Discretas

    Inicio

    fin

    leer te, b$si b$ = 'blanca' entonces

    d=0

    si no

    si b$ = 'verde' entoncesd=tc*0.10

    si no

    si b$ = 'amarilla' entoncesd=tc*0.25

    si no

    si b$ = 'azul' entoncesd=tc*0.50

    si no

    d=tc fin-si fin-si

    fin-si

    fin-si

    fin-si

    fin-si

    6. El Instituto de Jubilaciones requiere clasificar a las personas que se jubilaran en elao de 2008. Existen tres tipos de jubilaciones: por edad, por antigedad joven ypor antigedad adulta. Las personas adscritas a la jubilacin por edad deben tener 60aos o ms y una antigedad en su empleo de menos de 25 aos. Las personasadscritas a la jubilacin por antigedad joven deben tener menos de 60 aos y unaantigedad en su empleo de 25 aos o ms.Las personas adscritas a la jubilacin por antigedad adulta deben tener 60 aos o masy una antigedad en su empleo de 25 aos o ms.Determinar en qu tipo de jubilacin, quedara adscrita una persona.

    90

  • Estructuras Discretas

    Inicio

    fin

    leer edad,antsi edad >= 60 and ant < 25 entonces

    imprimir "la jubilacin es por edad"si no

    si edad >= 60 and ant > 25 entonces

    imprimir "la jubilacin es por edad adulta"si no

    si edad < 60 and ant > 25 entonces

    imprimir "la jubilacin es por antigedad joven'Jsi no

    imprimir "no tiene por que jubilarse"fin-si

    fin-si

    fin-si

    Problemas Propuestos

    1. En una fbrica de computadoras se planea ofrecer a los clientes un descuentoque depender del numero de computadoras que compre. Si las computadoras sonmenos de cinco se les dar un 10% de descuento sobre el total de la compra;si el numero de computadoras es mayor o igual a cinco pero menos de diez sele otorga un 20% de descuento; ysi son 10o ms se les da un 40% de descuento. Elprecio de cada computadora es de L.11,000

    2. En una llantera se ha establecido una promocin de las llantas marca "Ponchadas",dicha promocin consiste en lo siguiente:Si se compran menos de cinco llantas el precio es de L.300 cada una, de L.250 si secompran de cinco a 10 y de L.200 si se compran ms de 10.

  • Estructuras Discretas

    Obtener la cantidad de dinero que una persona tiene que pagar por cada una de lasllantas que compra yla que tiene que pagar por el total de la compra.

    3. En un juego de preguntas a las que se responde "Si" o "No" gana quienresponda correctamente las tres preguntas. Si se responde mal a cualquiera de ellasya no se pregunta la siguiente ytermina el juego. Las preguntas son:1. Colon descubri Amrica?

    2. La independencia de Honduras fue en el ao 1810?3. The Doors fue un grupo de rock Americano?

    4. Un proveedor de estreos ofrece un descuento del 10% sobre el precio sinimpuesto, de algn aparato si este cuesta L.2000 o ms., Adems,independientemente de esto, ofrece un 5% de descuento si la marca es "NOSY".Determinar cunto pagara, con impuesto incluido, un cliente cualquiera por lacompra de su aparato

    5. Una frutera ofrece las manzanas con descuento segn la siguiente tabla:NUM. DE KILOS COMPRADOS % DESCUENTO0- 2 0%2.01-5 io%5.01-10 i5%10.01 en adelante 20%Determinar cunto pagara una persona quecompre manzanas es esa frutera.

    6. El dueo de una empresa desea planificar las decisiones financieras que tomaraen el siguiente ao. La manera de planificarlas depende de lo siguiente:

    Si actualmente su capital se encuentra con saldo negativo, pedir un prstamobancario para que su nuevo saldo sea de L. 10000. Si su capital tiene actualmenteun saldo positivo pedir un prstamo bancario para tener un nuevo saldo de

    92

  • Estructuras Discretas

    L20000, pero si su capital tiene actualmente un saldo superior a los L.20'000 nopedir ningn prstamo.Posteriormente repartir su presupuesto de la siguiente manera.L. 5 000 para equipo de cmputoL. 2 000 para mobiliarioy el resto la mitad ser para la compra de insumos y la otra para otorgarincentivos al personal.Desplegar que cantidades se destinaran para la compra de insumos e incentivos alpersonal y, en caso de que fuera necesario, a cunto ascendera la cantidad que sepedira al banco.

    7. Tomando como base los resultados obtenidos en un laboratorio de anlisisclnicos, un medico determina si una persona tiene anemia o no, lo cualdepende de su nivel de hemoglobina en la sangre, de su edad y de su sexo. Si elnivel de hemoglobina que tiene una persona es menor que el rango que lecorresponde, se determina su resultado como positivo y en caso contrario comonegativo. La tabla en la que el mdico se basa para obtener el resultado es lasiguiente:

    EDAD

    0 -1 mes

    > 1 y< = 6 meses> 6y< = 12 meses> 1 y < = 5 aos> 5y< = 10 aos> 10 y < = 15 aosmujeres > 15 aoshombres > 15 aos

    NIVEL HEMOGLOBINA

    13,-26g%10 -18 g%11 -15 g%

    11.5-15 g%12.6-15.5 g%

    13 -15.5g%12 -16 g%14 - 18 g%

    8. Una institucin educativa estableci un programa para estimular a los alumnos conbuen rendimiento acadmico y que consiste en lo siguiente:

  • Estructuras Discretas

    Si el promedio es de 9.5 o ms y el alumno es de preparatoria, entonces este podrcursar 55 unidades y se le har un 25% de descuento.Si el promedio es mayor o igual a 9 pero menor que 9.5 y el alumno es depreparatoria, entonces este podr cursar 50 unidades y se le har un 10% dedescuento.

    Si el promedio es mayor que 7 y menor que 9 y el alumno es de preparatoria, estepodr cursar 50 unidades y no tendr ningn descuento.Si el promedio es de 7 o menor, el numero de materias reprobadas es de 0 a 3 y elalumno es de preparatoria, entonces podr cursar45 unidades y no tendr descuento.Si el promedio es de 7 o menor, el numero de materias reprobadas es de 4 o mas y elalumno es de preparatoria, entonces podr cursar 40 unidades y no tendrningn descuento.

    Si el promedio es mayor o igual a 9.5 y el alumno es de profesional, entonces podrcursar 55 unidades y se le har un 20% de descuento.Si el promedio es menor de 9.5 yel alumno es de profesional, entonces podr cursar55 unidades y no tendr descuento.Obtener el total que tendr que pagar un alumno si la colegiatura para alumnos deprofesional es de $300 por cada cinco unidades y para alumnos de preparatoria esde $180 por cada cinco unidades.

    9. Que lea tres nmeros diferentes y determine el numero medio del conjunto delos tres nmeros (el nmero medio es aquel numero que no es ni mayor, ni menor).

    Estructuras Cclicas

    Se llaman problemas repetitivos o cclicos a aquellos en cuya solucin es necesarioutilizar un mismo conjunto de acciones que se puedan ejecutar una cantidadespecfica de veces. Esta cantidad puede ser fija (previamente determinada por elprogramador) o puede ser variable (estar en funcin de algn dato dentro delprograma).

    94

  • Estructuras Discretas: v. ?*J

    Los ciclos se clasifican en:

    Ciclos con un Nmero Determinado de Iteraciones (Hacer-Para)Son aquellos en que el nmero de iteraciones se conoce antes de ejecutarse el ciclo.La forma de esta estructura es la siguiente:

    Hacer para V.C = Ll a L.SAccin;L

    Accion2

    AccionN

    Fin-paraDonde:

    V.C Variable de control del ciclo

    Ll Lmite inferir

    L.S Lmite superior

    En este ciclo la variable de control toma el valor inicial del ciclo y el ciclo se repitehasta que la variable de control llegue al lmite superior.

    Problemas Hacer para

    1. Calcular el promedio de un alumno que tiene 7 calificaciones en la materia deDiseo Estructurado de Algoritmos

    Inicio

    Sum=0

    LeerNom

    Hacer para c = 1 a 7Leer calif

    Sum = sum + calif

    95

  • Estructuras Discretas

    Fin

    Fin-paraprom = sum /7Imprimir prom

    2. Leer 10 nmeros y obtener su cubo y su cuarta.

    Inicio

    Fin

    Hacer para n = 1 a 10

    Leer num

    cubo = num * num * num

    cuarta = cubo * num

    Imprimir cubo, cuartaFin-para

    3. Leer 10 nmeros e imprimir solamente los nmeros positivosInicio

    Hacer para n = 1 a 10Leer num

    Si num > 0 entonces

    Imprimir numfin-si

    Fin-paraFin

    4. Leer 15 nmeros negativos yconvertirlos a positivos e imprimir dichos nmeros.

    96

  • Estructuras Discretas

    Inicio

    Fin

    Hacer para x = 1 a 15Leer num

    pos = num * -1Imprimir num, pos

    Fin-para

    5. Leer 20 nmeros e imprimir cuantos son positivos, cuantos negativos y cuantosneutros.

    Inicio

    cn = 0

    cp = 0cneg = 0Hacer para x = 1 a 20

    Leer num

    Sin num = 0 entonces

    en = en + 1

    si no ,r" '" ;i ''' '"' i:' '; 'v-: ',(1,,:Si num > 0 entonces

    cp = cp + 1

    si no

    cneg = cneg+ 1

    Fin-si

    Fin-si

    Fin-paraImprimir en, cp, cneg

    Fin

  • Estructuras Discretas

    6. Suponga que se tiene un conjunto de calificaciones de un grupo de 40 alumnos.Realizar un algoritmo para calcular la calificacin media y la calificacin ms baja detodo el grupo.

    Inicio

    Fin

    sum = 0

    baja = 9999Hacer para a = 1 a 40

    Leer calif

    sum = sum + calif

    Si calif < baja entoncesbaja = calif

    fin-si

    Fin-paramedia = sum/2Imprimir media, baja

    7. Calcular e imprimir la tabla de multiplicar de un numero cualquiera. Imprimirel multiplicando, el multiplicador yel producto.

    Inicio

    Fin

    Leer num

    Hacer para X= 1 a 10resul = num * x

    Imprimir num, " * ", X, " = ", resulFin-para

    98

  • Estructuras Discretas

    8. Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos ysegundos de un da desde las 0:00:00 horas hasta las 23:59:59 horas

    Inicio

    Fin

    Hacer para h = 1 a 23Hacer para m = 1 a 59

    Hacer para s = 1 a 59Imprimir h, m, s

    Fin-para

    Fin-paraFin-para

    Problemas Propuestos

    1. Una persona debe realizar un muestreo con 50 personas para determinar elpromedio de peso de los nios, jvenes, adultos y viejos que existen en suzona habitacional. Se determinan las categoras con base en la siguiente tabla:

    CATEGORA EDADNios 0-12

    Jvenes 13-29

    Adultos 30-59

    Viejos 60 en adelante

    2. Al cerrar un expendio de naranjas, 15 clientes que aun no han pagado recibirnun 15% de descuento si compran ms de 10 kilos. Determinar cunto pagara cadacliente y cuanto percibir la tienda por esas compras.

    99

  • Estructuras Discretas

    3. En un centro de verificacin de automviles se desea saber el promedio depuntos contaminantes de los primeros 25 automviles que lleguen. Asimismo sedesea saber los puntos contaminantes del carro que menos contamino y del que mscontamino.

    4. Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco kilmetrosdurante 10 das, para determinar si es apto para la prueba de 5 Kilmetros odebe buscar otra especialidad. Para considerarlo apto debe cumplir por lo menosuna de las siguientes condiciones:

    - Que en ninguna de las pruebas haga un tiempo mayor a 16 minutos.- Que al menos en una de las pruebas realice un tiempo mayor a 16 minutos.- Que su promedio de tiempos sea menor o igual a 15 minutos.

    5. Un Zologo pretende determinar el porcentaje de animales que hay en lassiguientes tres categoras de edades: de 0 a 1 ao, de ms de 1 ao y menos de 3y de 3 o ms aos. El zoolgico todava no est seguro del animal que va aestudiar. Si se decide por elefantes solo tomara una muestra de 20 de ellos; si sedecide por las jirafas, tomara 15 muestras, y si son chimpancs tomara 40.

    Ciclos con un Nmero Indeterminado de Iteraciones(Hacer-Mientras, Repetir- Hasta)

    Son aquellos en que el numero de iteraciones no se conoce con exactitud, ya queesta dado en funcin de un dato dentro del programa.

    Hacer-Mientras: Esta es una estructura que repetir un proceso durante "N"veces, donde "N" puede ser fijo o variable. Para esto, la instruccin se vale de unacondicin que es la que debe cumplirse para que se siga ejecutando. Cuando lacondicin ya no se cumple, ya no se ejecuta el proceso. La forma de esta estructuraes la siguiente:

    100

  • Estructuras Discretas

    Hacer mientras

    Accionl

    Accion2

    AccionN

    Fin-mientras

    Problemas (Hacer Mientras)

    1. Una compaa de seguros tiene contratados a n vendedores. Cada uno hace tresventas a la semana. Su poltica de pagos es que un vendedor recibe un sueldo base,y un 10% extra por comisiones de sus ventas. El gerente de su compaa deseasaber cunto dinero obtendr en la semana cada vendedor por concepto decomisiones por las tres ventas realizadas, y cuanto tomando en cuenta su sueldobase y sus comisiones.

    2. En una empresa se requiere calcular el salario semanal de cada uno de los nobreros que laboran en ella. El salario se obtiene de la siguiente forma:Si el obrero trabaja 40 horas o menos se le paga L.20 por HoraSi trabaja ms de 40 horas se le paga L.20 por cada una de las primeras 40 horas yL.25 por cada hora extra. .>: j :-

    3. Determinar cuntos hombres y cuantas mujeres se encuentran en un grupo de npersonas, suponiendo que los datos son extrados alumno por alumno.

    4. El Depto. de Seguridad Publica y Transito desea saber, de los n autos que entran ala ciudad, cuantos entran con calcomana de cada color. Conociendo el ultimo dgitode la placa de cada automvil se puede determinar el color de la calcomanautilizando la siguiente relacin: r: '

    101

  • Estructuras Discretas

    DGITO COLORlo2 amarilla

    3o4 rosa

    5o6 roja7o8 verde

    9oO azul

    5. Obtener el promedio de calificaciones de un grupo de n alumnos.

    6. Una persona desea invertir su dinero en un banco, el cual le otorga un 2% deinters. Cul ser la cantidad de dinero que esta persona tendr al cabo de un ao sila ganancia de cada mes es reinvertida?.

    7. Calcular el promedio de edades de hombres, mujeres y de todo un grupo dealumnos.

    8. Encontrar el menor valor de un conjunto de n nmeros dados.

    9. Encontrar el mayor valor de un conjunto de n nmeros dados.

    10. En un supermercado un cajero captura los precios de los artculos que losclientes compran e indica a cada cliente cual es el monto de lo que deben pagar. Alfinal del da le indica a su supervisor cuanto fue lo que cobro en total a todos losclientes que pasaron por su caja.

    11. Cinco miembros de un club contra la obesidad desean saber cunto han bajado osubido de peso desde la ltima vez que se reunieron. Para esto se debe realizar unritual de pesaje en donde cada uno se pesa en diez bsculas distintas para as tenerel promedio ms exacto de su peso. Si existe diferencia positiva entre este promediode peso y el peso de la ltima vez que se reunieron, significa que subieron de

    102

  • Estructuras Discretas

    peso. Pero si la diferencia es negativa, significa que bajaron. Lo que el problemarequiere es que por cada persona se imprima un letrero que diga: "SUBI" o "BAJO"y la cantidad de kilos que subi o bajo de peso.

    12. Se desea obtener el promedio de g grupos que estn en un mismo ao escolar;siendo que cada grupo puede tener n alumnos que cada alumno puede llevar mmaterias y que en todas las materias se promedian tres calificaciones para obtener elpromedio de la materia. Lo que se desea desplegar es el promedio de los grupos, elpromedio de cada grupo y el promedio de cada alumno.

    Repetir-Hasta: Esta es una estructura similar en algunas caractersticas, a laanterior. Repite un proceso una cantidad de veces, pero a diferencia del Hacer-Mientras, el Repetir-Hasta lo hace hasta que la condicin se cumple y nomientras, como en el Hacer-Mientras. Por otra parte, esta estructura permiterealizar el proceso cuando menos una vez, ya que la condicin se evala al final delproceso, mientras que en el Hacer-Mientras puede ser que nunca llegue a entrar sila condicin no se cumple desde un principio. La forma de esta estructura es lasiguiente:

    Repetir

    Accin 1

    Accion2

    AccionN

    Hasta

    Problemas Repetir - Hasta

    1. En una tienda de descuento las personas que van a pagar el importe de su comprallegan a la caja y sacan una bolita de color, que les dir que descuento tendrn sobreel total de su compra. Determinar la cantidad que pagara cada cliente desde que la

    103

  • Estructuras Discretas

    tienda abre hasta que cierra. Se sabe que si ei color de la bolita es roja el clienteobtendr un 40% de descuento; si es amarilla un 25% y si es blanca no obtendrdescuento.

    2) En un supermercado una ama de casa pone en su carrito los artculos que vatomando de los estantes. La seora quiere asegurarse de que el cajero le cobrebien lo que ella ha comprado, por lo que cada vez que toma un articulo anota suprecio junto con la cantidad de artculos iguales que ha tornado ydetermina cuntodinero gastar en ese artculo; a esto le suma lo que ir gastando en los demsartculos, hasta que decide que ya tomo todo lo que necesitaba. Aydale a estaseora a obtener el total de sus compras.

    3. Un teatro otorga descuentos segn la edad del cliente. Determinar la cantidadde dinero que el teatro deja de percibir por cada una de las categoras. Tomar encuenta que los nios menores de 5 aos no pueden entrar al teatro yque existe unprecio nico en los asientos. Los descuentos se hacen tomando en cuenta el siguientecuadro:

    Edad DescuentoCategora 1 5 -14 35 %Categora 2 15-19 25 %Categora 3 20-45 10 %Categora 4 46-65 25 %Categora 5 66 en adelante 35%

    Problemas Propuestos

    1. La presin, volumen ytemperatura de una masa de aire se relacionan por laformula:

    masayreson*volumen

    0.37*(temperatura+460)

    104

  • Estructuras Discretasunj

    Calcular el promedio de masa de aire de los neumticos de n vehculos que estn encompostura en un servicio de alineacin y balanceo. Los vehculos pueden sermotocicletas o automviles.

    2. Determinar la cantidad semanal de dinero que recibir cada uno de los n obrerosde una empresa. Se sabe que cuando las horas que trabajo un obrero exceden de40, el resto se convierte en horas extras que se pagan al doble de una hora normal,cuando no exceden de 8; cuando las horas extras exceden de 8 se pagan lasprimeras 8 al doble de lo que se paga por una hora normal yel resto al triple.

    3. En una granja se requiere saber alguna informacin para determinar el precio deventa por cada kilo de huevo. Es importante determinar el promedio de calidad delas n gallinas que hay en la granja. La calidad de cada gallina se obtiene segn lafrmula:

    calida =peso de la gallina*altura de la gallina

    numero de huevos que pone

    Finalmente para fijar el precio del kilo de huevo, se toma como base la siguiente tabla:

    PRECIO TOTAL DE CALIDAD

    mayor o igual que 15mayor que 8 y menor que 15menor o igual que 8

    PESO POR KILO DE HUEVO

    1.2 * promedio de calidad(1.00 * promedio de calidad0.80 * promedio de calidad

    4. En la Cmara de Diputados se levanta una encuesta con todos los integrantes conel fin de determinar que porcentaje de los n diputados est a favor delTratado de Libre Comercio, que porcentaje est en contra y que porcentaje seabstiene de opinar. .< . ,.- i;

  • Estructuras Discretas

    5. Una persona que va de compras a la tienda "Enano, S.A.", decide llevar un controlsobre lo que va comprando, para saber la cantidad de dinero que tendr que pagaral llegar a la caja. La tienda tiene una promocin del 20% de descuento sobreaquellos artculos cuya etiqueta sea roja. Determinar la cantidad de dinero que estapersona deber pagar.

    6. Un censador recopila ciertos datos aplicando encuestas para el ltimo CensoNacional de Poblacin y Vivienda. Desea obtener de todas las personas que alcancea encuestar en un da, que porcentaje tiene estudios de primaria, secundaria,carrera tcnica, estudios profesionales y estudios de posgrado.

    7. Un jefe de casilla desea determinar cuntas personas de cada una de lassecciones que componen su zona asisten el da de las votaciones. Las secciones son:norte, sur y centro. Tambin desea determinar cul es la seccin con mayor nmerode votantes.

    8. Un negocio de copias tiene un lmite de produccin diaria de 10 000 copias si eltipo de impresin es offset y de 50 000 si el tipo es estndar. Si hay unasolicitud de un el empleado tiene que verificar que las copias pendientes hastael momento y las copias solicitadas no excedan del lmite de produccin. Si ellmite de produccin se excediera el trabajo solicitado no podra ser aceptado. Elempleado necesita llevar un buen control de las copias solicitadas hasta el momentopara decidir en forma rpida si los trabajos que se soliciten en el da se debenaceptar o no.

    9. Calcular la suma siguiente:100 + 98 + 96 + 94 + . . . +- 0 en este orden

    10. Leer 50 calificaciones de un grupo de alumnos. Calcule y escriba el porcentajede reprobados. Tomando en cuenta que la calificacin mnima aprobatoria es de 60.

    106

  • Estructuras Discretas

    11. Leer por cada alumno de Diseo estructurado de algoritmos su hmero deregistro y su calificacin en cada uno de los 5 exmenes de la materia. Al final queescriba el numero de control del alumno que obtuvo mayor promedio. Suponga quelos alumnos tienen diferentes promedios.

    12. El profesor de una materia desea conocer la cantidad de sus alumnos que notienen derecho al examen de recuperacin.Disee un algoritmo que lea las calificaciones obtenidas en los 5 exmenes por cadauno de los 40 alumnos y escriba la cantidad de ellos que no tienen derecho alexamen de recuperacin.

    13. Leer los 250,000 votos otorgados a los 3 candidatos a gobernador e imprimir elnmero del candidato ganador y su cantidad de votos.

    14. Suponga que tiene usted una tienda y desea registrar las ventas en sucomputadora. Disee un algoritmo que lea por cada cliente, el monto total de sucompra. Al final del da que escriba la cantidad total de ventas y el nmero de clientesatendidos. . ., .

    15. Suponga que tiene una tienda y desea registrar sus ventas por mediode una computadora. Disee un pseudocdigo que lea por cada cliente:

    a. el monto de la venta,

    b. calcule e imprima el impuesto,c. calcule e imprima el total a pagar,,d. lea la cantidad con que paga el cliente,e. calcule e imprime el cambio*, ;

  • Estructuras Discretas

    16. Modificar el pseudocdigo anterior de tal forma que no permita que la cantidadcon la que paga el cliente sea menor a lo que debe pagar.

    17. Se tiene un conjunto de 1,000 tarjetas cada una contiene la informacin delcenso para una persona:

    a. Nmero de censo,b. Sexo

    c. Edad

    d. Estado civil (a.-soltero, b. Casado, c. Viudo, d. Divorciado )

    Disee un pseudocdigo estructurado que lea todos estos datos, e imprima elnmero de censo de todas las jvenes solteras que estn entre 16 y 21 aos.

    18. Un jeep puede viajar 500 km con un tanque lleno de gasolina. Desde unaposicin inicial, conteniendo 'n' tanques de gasolina el mismo jeep puede viajar:

    L= 500 (1 + 1/3 + 1/5 + ...+ 1 / (2n -1) ) kmEstableciendo economa de combustible en una ruta. Disee un pseudocdigo quecalcule el valor de 'L' dado 'n '.

    19. Se ofrece un trabajo que pague un centavo en la primera semana, pero dobla susalario cada semana, es decir , L0.01 la primera semana; LO.02 la segunda semana;L.0.04 la tercera semana; ... etc. Hasta L. (2n_1)/100 la n- sima. Disear elpseudocdigo que determine ( y escriba ) el salario por cada semana y el salariopagado hasta la fecha por espacio de 50 semanas.

    20. Disee un pseudocdigo que calcule e imprima el pago de 102 trabajadores quelaboran en la Ca. GACMAN. Los datos que se leern sern los siguientes:a) Las horas trabajadasb) El sueldo por hora

    108

  • Estructuras Discretas

    DD = Da del mes, 1 a 30 31, segn el mes. Fijar el mes de febrero con 28 das;MM= Mes de la 12

    AA = Dos ltimas cifras del ao.

    24. Un grupo de 100 estudiantes presentan un examen de Fsica. Disee un diagramaque lea porcada estudiante la calificacin obtenida ycalcule e imprima:

    a. La cantidad de estudiantes que obtuvieron una calificacin menor a 50.b. La cantidad de estudiantes que obtuvieron una calificacin de 50 o mspero menor que 80.

    c. La cantidad de estudiantes que obtuvieron una calificacin de 70 o mspero menor que 80.d. La cantidad de estudiantes que obtuvieron una calificacin de 80 o ms.

    25. Una pizzera, vende sus pizzas en tres tamaos:pequea (10 pulg. de dimetro); mediana (12 pulg. de dimetro); y grandes (16pulg. de dimetro); Una pizza puede ser sencilla (con slo salsa y carne), o coningredientes extras, tales como pepinillos, championes o cebolla.Los propietarios desean desarrollar un programa que calcule el precio de ventade una pizza, dndole el tamao y el numero de ingredientes extras. El precio deventa ser 1.5 veces el costo total, que viene determinado por el rea de lapizza, mas el numero de ingredientes.En particular el costo total se calcula sumando:- un cost