Está en la página 1de 18

Introduccin a la programacin

Definicin del Problema Esta fase est dada por el enunciado del problema, el cual requiere una definicin clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa. Anlisis de los Datos

Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de entrada. Cul es la informacin que se desea producir (salida) Los mtodos y frmulas que se necesitan para procesar los datos. Una recomendacin muy practica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados.
Diseo de la Solucin

Las caractersticas de un buen algoritmo son: Debe tener un punto particular de inicio. Debe ser definido, no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayora de las variantes que se puedan presentar en la definicin del problema. Debe ser finito en tamao y tiempo de ejecucin.
Codificacin La codificacin es la operacin de escribir la solucin del problema (de acuerdo a la lgica del diagrama de flujo o pseudocdigo), en una serie de instrucciones detalladas, en un cdigo reconocible por la computadora, la serie de instrucciones detalladas se le conoce como cdigo fuente, el cual se escribe en un lenguaje de programacin o lenguaje de alto nivel. Prueba y Depuracin

Los errores humanos dentro de la programacin de computadoras son muchos y aumentan considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores, para dar paso a una solucin sin errores se le llama depuracin. La prueba consiste en la captura de datos hasta que el programa no presente errores (los ms comunes son los sintcticos y lgicos). Documentacin Es la gua o comunicacin escrita es 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 la documentacin sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).

La documentacin se divide en tres partes: Documentacin Interna Documentacin Externa Manual del Usuario Documentacin Interna: Son los comentarios o mensaje que se aaden al cdigo fuente para hacer ms claro el entendimiento de un proceso. Documentacin Externa: Se define en un documento escrito los siguientes puntos: Descripcin del Problema Nombre del Autor Algoritmo (diagrama de flujo o pseudocdigo) Diccionario de Datos Cdigo Fuente (programa) Manual del Usuario: Describe paso a paso la manera cmo funciona el programa, con el fin de que el usuario obtenga el resultado deseado.
Mantenimiento

Se lleva a cabo despus de terminado el programa, cuando se detecta que es necesario hacer algn cambio, ajuste o complementacin al programa para que siga trabajando de manera correcta. Para poder realizar este trabajo se requiere que el programa este correctamente documentado.

Algoritmos
Algoritmo: Conjunto de operaciones que se utilizan para resolver un problema especfico. En este conjunto de instrucciones se indica la secuencia de operaciones que se deben realizar para, a partir de los datos de entrada, obtener el resultado buscado. El concepto de algoritmo es anterior a los ordenadores, y ampliamente utilizado en el mundo de la ciencia para la resolucin metdica de problemas. Sin embargo, con la aparicin de los ordenadores se comprob que era una herramienta ideal, ya que cualquier algoritmo puede transformarse en un programa informtico. Tiene que ser finito (con un final), preciso (detallar el orden de las operaciones a realizar) y unvoco (al aplicar el algoritmo a los mismos datos de entrada, siempre se obtendr el mismo resultado a la salida). Un Algoritmo es un conjunto ordenado y finito de pasos o instrucciones que conducen a la solucin de un problema. La naturaleza de los problemas varan con el mbito o con el contexto donde estan planteados; as, existen problemas matemticos, qumicos, filosficos, etc. Segn esto la naturaleza de los algoritmos tambin es variada y no todos ellos pueden ser ejecutados por la computadora. En este curso consideramos aquellos algoritmos que expresan soluciones usando reglas cuantitativas cuyas instrucciones pueden ser introducidas en la computadora, a este tipo de algoritmos se denominan Algoritmos Computacionales. En la resolucin de un problema con la computadora la parte pensante esta en el algoritmo. As pues la eficacia de un programador no esta en conocer la herramienta de programacin, cosa necesaria, sino en saber resolver problemas con la computadora para lo cual se requiere conocer un concepto conocido como metodologa de la programacin cuyo eje central es el algoritmo. Una vez que la solucin de un problema ha sido expresada mediante un algoritmo el paso siguiente es convertirlo a programa para lo cual se elige un lenguaje de programacin. De modo que un programa

resulta ser la implementacin de un algoritmo en un determinado lenguaje de programacin. Esto significa, por otro lado, que un algoritmo es independiente del lenguaje de programacin. Reglas para la construccin de algoritmos
Casi siempre el diseo de un algoritmo depende de la experiencia, tus conocimientos y tu habilidad para resolver acertijos (un mtodo muy bsico para principiantes es analizar en detalle qu cosa haces t con el lpiz y el papel para resolver el problema). Tambin hay una serie de tcnicas fundamentales para disear algoritmos que casi siempre funcionan, pero tendrs que estudiar matemticas y tener mucha experiencia en programacin para poder llevarlas a la prctica. Los algoritmos los puedes escribir en espaol, con programas, diagramas de flujo o pseudocdigo; de todos estos solamente los diagramas de flujo estn regidos por un estndar de ISO, aunque casi todos los pseudocdigos son muy similares entre s.

Tipos de algoritmos
Algoritmo de ordenamiento En computacin y matemticas un algoritmo de ordenamiento es un algoritmo que pone elementos de una lista o un vector en una secuencia dada por una relacin de orden, es decir, el resultado de salida ha de ser una permutacin o reordenamiento de la entrada que satisfaga la relacin de orden dada. Las relaciones de orden ms usadas son el orden numrico y el orden lexicogrfico. Ordenamientos eficientes son importantes para optimizar el uso de otros algoritmos (como los de bsqueda y fusin) que requieren listas ordenadas para una ejecucin rpida. Tambin es til para poner datos en forma cannica y para generar resultados legibles por humanos. Clasificacin Los algoritmos de ordenamiento se pueden clasificar de las siguientes maneras: La ms comn es clasificar segn el lugar donde se realice la ordenacin 1) Algoritmos de ordenamiento interno: en la memoria del ordenador. 2) Algoritmos de ordenamiento externo: en un lugar externo como un disco duro. Por el tiempo que tardan en realizar la ordenacin, dadas entradas ya ordenadas o inversamente ordenadas: 3) Algoritmos de ordenacin natural: Tarda lo mnimo posible cuando la entrada est ordenada. 4) Algoritmos de ordenacin no natural: Tarda lo mnimo posible cuando la entrada est inversamente ordenada. 5) Por estabilidad: un ordenamiento estable mantiene el orden relativo que tenan originalmente los elementos con claves iguales. Por ejemplo, si una lista ordenada por fecha se reordena en orden alfabtico con un algoritmo estable, todos los elementos cuya clave alfabtica sea la misma quedarn en orden de fecha. Otro caso sera cuando no interesan las maysculas y minsculas, pero se quiere que si una clave aBC estaba antes que AbC, en el resultado ambas claves aparezcan juntas y en el orden original: aBC, AbC. Cuando los elementos son indistinguibles (porque cada elemento se ordena por la clave completa) la estabilidad no interesa. Los algoritmos de ordenamiento que no son estables se pueden implementar para que s lo sean. Una manera de hacer esto es modificar artificialmente la clave de ordenamiento de modo que la posicin original en la lista participe del ordenamiento en caso de coincidencia. Los algoritmos se distinguen por las siguientes caractersticas:

Complejidad computacional (peor caso, caso promedio y mejor caso) en trminos de n, el tamao de la lista o arreglo. Para esto se usa el concepto de orden de una funcin y se usa la notacin O(n). El mejor comportamiento para ordenar (si no se aprovecha la estructura de las claves) es O(n log n). Los algoritmos ms simples son cuadrticos, es decir O(n). Los algoritmos que aprovechan la estructura de las claves de ordenamiento (p. ej. bucket sort) pueden ordenar en O(kn) donde k es el tamao del espacio de claves. Como dicho tamao es conocido a priori, se puede decir que estos algoritmos tienen un desempeo lineal, es decir O(n). Uso de memoria y otros recursos computacionales. Tambin se usa la notacin O(n). 6) Algoritmo de bsqueda Un algoritmo de bsqueda es aquel que est diseado para localizar un elemento con ciertas propiedades dentro de una estructura de datos; por ejemplo, ubicar el registro correspondiente a cierta persona en una base de datos, o el mejor movimiento en una partida de ajedrez. La variante ms simple del problema es la bsqueda de un nmero en un vector.

Ejercicios con algoritmos


1. A un trabajador le pagan segun sus horas y una tarifa de pago por horas. si la cantidad de horas trabajadas es mayor a 40 horas. la tarifa se incrementa en un 50% para las horas extras. calcular el salario del trabajador dadas las horas trabajadas y la tarifa. variables: horas_trabajadas,tarifa,horas_extras,salario,tarifa_e inicio leer: horas_trabajadas,tarifa si: horas_trabajadas <= 40 entonces salario <-- horas_trabajadas * tarifa si_no tarifa_extra <-- tarifa + 0.50 * tarifa horas_extras <-- horas_trabajadas - 40 salario <-- horas_extras * tarifa_extra + 40 * tarifa fin_si imprimir: salario. fin 2. A un trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000. por encima de 1000 y hasta 2000 el 5% del adicional, y por encima de 2000 el 3% del adicional. calcular el descuento y sueldo neto que recibe el trabajador dado su sueldo. variables: sueldo,sueldo_neto,descuento inicio leer: sueldo si: sueldo <= 1000 entonces descuento <-- sueldo * 0.1 si_no si: sueldo <= 2000 entonces descuento <-- (sueldo - 1000) * 0.05 + 1000 * 0.1 si_no descuento <-- (sueldo - 2000) * 0.03 + 1000 * 0.1 fin_si imprimir: descuento. fin

3. Dado un monto calcular el descuento considerando que por encima de 100 el descuento es el 10% y por debajo de 100 el descuento es el 2%. variables: monto,descuento inicio leer: monto si: monto > 100 entonces descuento <-- monto * 10 / 100 si_no descuento <-- monto * 2 / 100 fin_si imprimir: monto, descuento fin 4. Dado un tiempo en segundos, calcular los segundos restantes que le correspondan para convertirse exactamente en minutos. variables: tiempo_seg,minutos,segundos inicio leer: tiempo_seg si minutos <-- tiempo_seg div 60 entonces segundos <-- tiempo_seg mod 60 fin_si imprimir: minutos,segundos. fin 5. Dado un tiempo en minutos, calcular los dias, horas y minutos que le corresponden. variables: tiempo,dias,horas,minutos inicio leer: tiempo si: dias <-- tiempo div 1440 x <-- tiempo mod 1440 horas <-- x div 60 minutos <-- x mod 60 imprimir: dias,minutos,horas fin_si fin

6. Calcular mediante un algoritmo repetitivo la suma de los nmeros naturales. Inicio Leer : N X<--1 S<--0 Mientras x<=N hacer S<--s+1 X<--x+1 Fin _ mientras Imprimir: s Fin

N primeros

7. Modificar el ejercicio 1 para obtener la suma de los salarios de todos los trabajadores. Inicio Leer: N X<--1 S<--0 Mientras x<=N hacer Leer:h, t S<--h*t Imprimir s S<--s+s X<--x+1 Fin _ mientras Imprimir: s Fin 8. Dada las horas trabajadas de una persona la tarifa de pago. Calcular su salario e imprimirla. Inicio leer: h, t S<--h * t Imprimir: s fin (Para dos personas) inicio leer: h, t S<--h * t Imprimir s Leer: h, t S<--h * t Imprimir: s Fin 9. Dado N notas de un estudiante calcular: a) b) c) d) Cuantas notas tiene desaprobados. Cuantos aprobados. El promedio de notas. El promedio de notas aprobadas y desaprobadas.

Inicio Leer: N X<--1 Cd<--0 NA <-0 acum_desap <-0 acum_ap <- 0 acum <- 0 Mientras x<=N hacer Leer: not Si: not < 10.5 entonces

CD<--cd+1 acum_desap <- acum_desap + not Sino NA <- NA + 1 acum_ap <- acum_ap + not fin _ si acum <- acum + not x<--x+1 Fin _ mientras prom_ap <- acum_ap /NA prom_desap <- acum_desap/CD prom <- acum / N Imprimir: prom, prom_ap, prom_desap, NA, CD Fin 10. Dado un numero determinar la suma de sus dgitos. Inicio Leer: n S<--0 Mientras n<>0 hacer R<--n mod 10 S<--s + r N<--n div 10 Fin _ mientras Imprimir: s Fin 11.Se trata de escribir el algoritmo que permita emitir la factura correspondiente a una compra de un articulo determinado, del que se adquieren una o varias unidades. El IVA es del 15% y si el precio bruto ( precio venta mas IVA) es mayor de 50.00 pesetas se debe realizar un descuento del 5%. Variables: precio, numeros de articulos(Nart), precio venta(Pv), descuento(d) Inicio Leer precio, Nart Pv= Precio * Nart IVA= Pv * 0.15 Pb= Pv + IVA Si Pb >= 50 entonces d= (Pb * 5)/100 Sino d= 0 Finsi Pl= Pb - d Escribir Pv, IVA, Pb,d, Pl Fin

Diagramas de flujo lineales


Los diagramas de flujo son esquemas que representan grficamente un algoritmo por medio de los pasos de un proceso, que se realizan para entender mejor al mismo y son utilizados en programacin, economa y procesos industriales. Utilizan una series de smbolos con significados especiales. Un diagrama de flujo u organigrama es una representacin diagramtico que ilustra la secuencia de las operaciones que se realizan para conseguir la solucin de un problema y son usados normalmente para seguir la secuencia lgicas de las acciones en el diseo de problemas de computadoras y se dibujan generalmente antes de comenzar a programar el cdigo frente a la computadora y una que se dibuja el diagrama de flujo, llega hacer fcil escribir el programa en cualquier idioma de alto nivel. 1.- Lgica dibujada. 2.- Es la representacin grfica de la solucin a un problema utilizando smbolos predefinidos para su interpretacin. 3.- Es la representacin grfica del algoritmo. 4.- A nivel de programacin es la representacin grfica de lo que se desea que la computadora realice. 5.- Son representaciones graficas de un algoritmo el cual muestra los pasos o procesos a seguir para alcanzar la solucin de un problema. Es llamado diagramas de flujo porque los smbolos utilizados se conectan por medio de flechas para indicar la secuencia de una operacin y son tambin llamados flujogramas. Utilizan diversos smbolos para representar operaciones especficas. Importancia de los Diagramas de Flujo: Es importante ya que ayuda a designar cualquier representacin grfica de un procedimiento o parte de ese, como su nombre lo indica representa el flujo de informacin de un proceso. Tipos de Diagramas: Diagrama de Programa: Representa grficamente un mtodo propuesto para la solucin de un problema determinado. Diagrama de Sistema: Representa la integracin; interaccin lgicas de los elementos dentro de un sistema propuesto. Diagrama de Procedimiento: Representa grficamente una operacin o flujo de datos dentro de un sistema. Diagrama de flujo sencillo con los pasos a seguir si una lmpara no funciona. Un diagrama de flujo es la forma ms tradicional de especificar los detalles algortmicos de un proceso. Se utiliza principalmente en programacin, economa y procesos industriales; estos diagramas utilizan una serie de smbolos con significados especiales. Son la representacin grfica de los pasos de un

proceso, que se realiza para entenderlo mejor. Son modelos tecnolgicos utilizados para comprender los rudimentos de la programacin lineal. Definicin Es un esquema para representar grficamente un algoritmo. Se basan en la utilizacin de diversos smbolos para representar operaciones especficas. Se les llama diagramas de flujo porque los smbolos utilizados se conectan por medio de flechas para indicar la secuencia de operacin. Smbolos utilizados Para poder hacer comprensibles los diagramas a todas las personas, los smbolos se someten a una normalizacin; es decir, se hicieron smbolos casi universales, ya que, en un principio cada usuario podra tener sus propios smbolos para representar sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia que slo aquel que conoca sus smbolos, los poda interpretar. La simbologa utilizada para la elaboracin de diagramas de flujo es variable y debe ajustarse a un patrn definido previamente. En teora, no es necesario usar un tipo especial de smbolos para crear un diagrama de flujo, pero existen algunos ampliamente utilizados por lo que es adecuado conocerlos y utilizarlos, ampliando as las posibilidades de crear un diagrama ms claro y comprensible para crear un proceso lgico y con opciones mltiples adecuadas. Se utilizan los smbolos indicados a continuacin, estandarizados segn la norma ISO 5807: Flecha. Indica el sentido y trayectoria del proceso de informacin o tarea. Rectngulo. Se usa para representar un evento o proceso determinado. ste es controlado dentro del diagrama de flujo en que se encuentra. Es el smbolo ms comnmente utilizado. Se usa para representar un evento que ocurre de forma automtica y del cual generalmente se sigue una secuencia determinada. Rectngulo redondeado: Se usa para representar un evento que ocurre de forma automtica del cul generalmente se sigue una secuencia determinada. Rombo. Se utiliza para representar una condicin. Normalmente el flujo de informacin entra por arriba y sale por un lado si la condicin se cumple o sale por el lado opuesto si la condicin no se cumple. El rombo adems especifica que hay una bifurcacin. Crculo. Representa un punto de conexin entre procesos. Se utiliza cuando es necesario dividir un diagrama de flujo en varias partes, por ejemplo por razones de espacio o simplicidad. Una referencia debe darse dentro para distinguirlo de otros. La mayora de las veces se utilizan nmeros en los mismos. DOCUMENTO DATOS ALMACENADOS CONECTOR TERMINADOR Existen adems un sin fin de formas especiales para denotar las entradas, las salidas, los almacenamientos, etctera.

De acuerdo al estndar ISO, los smbolos e incluso las flechas deben tener ciertas caractersticas para permanecer dentro de sus lineamientos y ser considerados sintcticamente correctos. En el caso del crculo de conexin, se debe procurar usarlo slo cuando se conecta con un proceso contenido dentro de la misma hoja. Existen tambin conectores de pgina, que asemejan a una "rectngulo oblicuo" y se utilizan para unir actividades que se encuentran en otra hoja. Caractersticas que debe cumplir un diagrama de flujo En los diagramas de flujo se presuponen los siguientes aspectos: Existe siempre un camino que permite llegar a una solucin (finalizacin del algoritmo). Existe un nico inicio del proceso. Existe un nico punto de fin para el proceso de flujo (salvo del rombo que indica una comparacin con dos caminos posibles). Recomendaciones A su vez, es importante que al construir diagramas de flujo, se observen las siguientes recomendaciones: Evitar sumideros infinitos, burbujas que tienen entradas pero no salidas. Evitar las burbujas de generacin espontnea, que tienen salidas sin tener entradas, porque son sumamente sospechosas y generalmente incorrectas. Tener cuidado con los flujos y procesos no etiquetados. Esto suele ser un indicio de falta de esmero, pero puede esconder un error an ms grave: a veces el analista no etiqueta un flujo o un proceso porque simplemente no se le ocurre algn nombre razonable. VARIABLE: Es un valor no fijo que permanece almacenado en la memoria del computador y que es identificado con un nombre nico y irrepetible. Podemos definirlo como cualquier cantidad o valor al cual hacemos referencia asignndole un nombre, clave (casi siempre abreviada) y que tomar diferentes valores durante el proceso. TIPOS DE VARIABLES: Alfanumricas: Son aquellas que pueden almacenar cualquier carcter, letras (A-Z); nmeros (0-9), espacios en blanco, o caracteres especiales ( , %, *, + , /, $, &, etc) CONSTANTE: Es un valor que no vara, definido con un nombre nico y irrepetible que no va a cambiar durante todo el algoritmo (Programa). Es cualquier cantidad, la cual puede aparecer en forma LITERAL y permanecer invariable durante el proceso (Va a almacenar un valor inalterable).

CONTADOR: Es un valor que se incrementa o decrementa, segn sea el caso, un contador en trminos constante es un valor fijo que se va a ir contando, es decir cumpliendo una funcin cuantitativa. Es un campo en memoria, el cual sirve (como su nombre lo indica) para contar, ste incrementa en el valor de 1 y nos muestra el nmero de veces que el proceso ha detectado una ocurrencia determinada y siempre deberemos expresarlo en forma cuantitativa. ACUMULADOR: Es un campo de memoria, un valor que se incrementa en forma no definida esto por la suma de otro valor a dicho campo. Es un campo en memoria, pero que su incremento no es de 1, sino que viene alterndose por la suma de un valor a dicho campo. DECISIN: Es una evaluacin o determinacin que va arrojar un valor verdadero o falso. OPERADORES RELACIONALES: > < " " <> = = = = = = Mayor que (Q) Menor que (Q) Mayor o igual (Q) Menor o igual (Q) Diferente desigual Igual

OPERADORES LGICOS: AND= NOT= OR= OPERADORES ARITMETICOS: + * / ^ = = = = = Suma Resta Multiplicacin Divisin Exponente o potencia

Ejemplos: TASG = NETO = ISLR = TASG + ASD TASG - TDED SDO * 2%

PROM =

TNOTAS / N ALUMNOS

1.- Diagrama de Flujo que calcule el 13,5% de cualquier nmero; lo muestre por impresora. - Identificacin de variables y anlisis de proceso. N= C= R= 0 13,5% N * 13,5% R= N*C

1.- Algoritmo y Diagrama de Flujo para calcular la masa de un objeto que se mueve con una fuerza y una aceleracin, donde: F= m.a, Imprimir el resultado con su respectivo mensaje. - Identificacin de variables y anlisis de proceso. F= m= m*a f/a

1.- Algoritmo y Diagrama de Flujo para calcular el rea de un crculo donde: a= * r2 - Identificacin de variables y anlisis de proceso. a= r= 0 0

3,14

A.- Algoritmo que describe el proceso de verificar el Por qu?, de tu solvencia de examen dice: No puede presentar. 1.- Inicio. 2.- Leer solvencia. 3.- Verificar la causa del problema. 4.- Si el problema es falta de pago. 5.- Cancelo la mensualidad. 6.- Entonces, puedo presentar. 7.- Si el problema es falta de nota 8.- Entonces, no puedo presentar 9.- Error en el Departamento de Control de Estudios. 10.- Soluciono el problema. 11.- Entonces, puedo presentar. 12.- Fin. B.- Algoritmo que ayude a verificar porqu el torniquete del Metro de Caracas, me impide salir. 1.- Inicio 2.- Si el torniquete est DAADO. 3.- Entonces, voy a otro torniquete, puedo salir. 4.- Si el importe del ticket es menor. 5.- Entonces, pago la diferencia. 6.- Si el ticket est deteriorado.

7.- Entonces, me dirijo al Operador, puedo salir. 8.- Fin. c.- Algoritmo que descarte Por qu , el CPU del computador que se te asign en el Laboratorio no enciende. 1.- Inicio 2.- Verifico la causa del problema. 3.- Si el problema es falta de energa elctrica. 4.- Entonces, no puedo utilizar el computador, fin. 5.- Si el problema es porque no est enchufado. 6.- Enchufo el cable soluciono el problema. 7.- Si el problema es de carcter tcnico. 8.- Entonces no puedo utilizar el computador, fin. 9.- Si el problema es que el computador est Daado. 10.- Entonces, utilizo otro computador. 11.- Fin. Variables Lgicas: Existe una clase de variables que solamente pueden tomar dos valores. Para estas variables slo existen dos estados posibles; a cada uno de estos estados se le asigna un valor. Se acostumbra representar a estas variables con letras maysculas: U, V, W, X, Y, Z. Uno De los estados se representa con la letra mayscula, y el otro con la misma letra con una barra encima: U, V, W, X, Y, Z. Si bien se usan los valores cierto y falso para los dos estados de este tipo de variables, lo ms comn es el uso de los dgitos del sistema binario, 1 y 0, para distinguir los dos estados posibles. Abierto Abierta X0X Abierto Abierta X1X

(b) Ejemplo: En la figura se presentan diversos componentes, que solamente pueden alcanzar dos estados. En (a) aparece un contacto elctrico, que puede estar abierto o cerrado. En (b), se presenta una llave de paso de agua que puede estar abierta o cerrada. Para el estado cerrado se asigna a la variable X el valor de 1; cuando est abierto se le asigna el valor de 0. Sobra decir que la asignacin de valores a los dos estados es totalmente arbitraria, pudiendo haberlo hecho al contrario. OPERACIONES LGICAS: Las operaciones que se encuentran definidas sobre las variables lgicas son las que siguen. SUMA LGICA (Or) La suma lgica de las variables X, Y, Z se indica X+Y+Z Usndose el operador + para indicar la operacin. Tambin se usa con mucha frecuencia el operador (la letra o con acento), y con mayor frecuencia an se emplea el trmino ingls (or). El resultado de la suma lgica es 1 cuando al menos uno de los sumandos es 1; en caso contrario el resultado es cero. Ejemplo: Sean las variables lgicas X, Y, Z, que en determinado momento tienen los valores siguientes: X = 1; Y = 0; Z = 1. La suma lgica ser: 1 + 0 +1 = 1 o101=1 o 1 or 0 or 1 =1 Ejemplo: En algunos recintos se puede encender una luz usando interruptores localizados en diferentes sitios. Por ejemplo, en la figura 3.2., se presenta una sala que tiene dos puertas de entrada. Al lado de cada puerta

existe un interruptor, que permite apagar o encender la luz. Si las variables X, e Y indican el estado de esos interruptores, adoptndose 1 cuando estn en On y 0 cuando en Off, la condicin para que se encuentre la luz encendida es que, al menos uno de ellos, se encuentre en On. Es decir, que X+Y D como resultado 1. Y X Figura 3.2 PRODUCTO LGICO (And) El producto lgico de varias variables X, Y, Z se indica as X*Y*Z Usndose el operador * para indicar la operacin. Tambin se usa con mucha frecuencia el operador y, o su versin inglesa (And). El resultado de un producto lgico vale 1 slo cuando todas las variables valen 1. Si alguna de las variables tiene como valor 0, el problema valdr o. Ejemplo: Considrense las variables U, V, W cuyos valores son: U = 0, V = 1 , W = 0. El producto lgico U * V * W es igual a U*V*W=0*1*0=0 El producto lgico U * V es igual a U*V=0*1=0 Ejemplo: Para asegurarse que todas las puertas de un Jumbo se encuentren convenientemente aseguradas y que no ocurrir ninguna descomprensin cuando se encuentre volando, se colocan microinterruptores en cada una de dichas puertas. Si alguna puerta no cierra, el respectivo interruptor queda abierto. Cuando se cierra, el interruptor queda cerrado.

Si se asigna el valor 1 a un interruptor cerrado, y 0 a uno que est abierto, slo cuando todos se encuentren cerrados (todos en 1) recibir el piloto el permiso para despegar. Es decir, si hay 5 puertas, con cinco interruptores denominados U, V, W, X, Z, es necesario que U * V * W * X * Z sea 1 para que se d la condicin de vuelo. COMPLEMENTO LGICO (Not) El complemento lgico de una variable X se indica como X. Representa el otro estado de la variable. El complemento de 1 es o; el de o es 1. Adems de la superbarra ( ) colocada sobre la variable, tambin se acostumbra anteponer la negacin no, como NO X, aunque con ms frecuencia se antepone la negacin inglesa NOT; as: NOT X. Para facilidad de la escritura, en algunos textos se coloca un apstrofe en lugar de la barra. Por ejemplo, H`. Las anteriores son las operaciones lgicas bsicas, a partir de las cuales se pueden definir otras ms complejas. una manera grfica de visualizar rpidamente el modo de ejecutarse las operaciones descritas es mediante el uso de contactos elctricos. FUNCIONES LGICAS: La combinacin de variables lgicas, mediante el uso de los operadores lgicos, da lugar a expresiones ms complejas, que pueden llamarse Funciones Lgicas. Estas, como las variables que la forman, pueden alcanzar dos valores: cierto o falso, 1 0. Las funciones lgicas tambin se representan mediante letras maysculas: A, B, C, D, etc., procurando que no exista confusin entre las letras asignadas a las variables y a las funciones. Ejemplo Como ejemplos de funciones lgicas se pueden dar los siguientes: A = X * Y + Z * ( U + W) B = Z + Z * ( W * Y + U) Ejemplo: Sea la funcin A= X * Y + Z * ( U + W ) En la que los valores de las variables son los siguientes: X= 1; Y = 0; Z= 1; U= 1; W= 0

La evaluacin de la funcin es muy simple, se reemplazan las variables por sus valores, se aplican las reglas de las operaciones lgicas y se obtiene el resultado. Efectuando esto se obtiene, A= 1 * 0 + 1 * (1 + 0)

A= 0 + 1 * ( 1 + 1) A= 0 + 1 = 1 El resultado de la funcin A es 1. http://html.rincondelvago.com/introduccion-a-la-programacion_1.html http://html.rincondelvago.com/algoritmos-y-diagramas-de-flujo.html

También podría gustarte