Algoritmos1

70
ALGORITMOS M.S.C. Ivette Hernández Dávila

Transcript of Algoritmos1

1. ALGORITMOS M.S.C. Ivette Hernndez Dvila 2. Solucin de problemas La mayora de problemas tienen algunos elementos en comn: un estado inicial; una meta, lo que se pretende lograr; un conjunto de recursos, lo que est permitido hacer y/o utilizar; y un dominio, el estado actual de conocimientos, habilidades y energa de quien va a resolverlo. 3. Estrategias para solucin de problemas A travs del tiempo, la humanidad ha utilizado diversas estrategias generales para resolver problemas, destacan los siguientes mtodos o estrategias de tipo general: Ensayo y error: Consiste en actuar hasta que algo funcione. Heurstica : Se basa en la utilizacin de reglas empricas para llegar a una solucin. Algoritmos : Consiste en aplicar adecuadamente una serie de pasos detallados que aseguran una solucin correcta. Lluvia de ideas : Consiste en formular soluciones viables a un problema. 4. Fases para solucionar un problema 1. Analizar el problema (Entender el problema) 2. Disear un algoritmo (Trazar un plan) 3. Traducir el algoritmo a un lenguaje de programacin (Ejecutar el plan) 4. Depurar el programa (Revisar) 5. Fase 1: Analizar el Problema 6. Etapas a desarrollar en la fase 1 1. Especificar claramente los resultados que se desean obtener (meta y submetas) 2. Identificar la informacin disponible (estado inicial) 3. Definir los procesos que llevan desde los datos disponibles hasta el resultado deseado (operaciones) 7. Formular el problema La solucin de un problema debe iniciar por determinar y comprender exactamente en qu consiste ese problema. La comprensin lingstica del problema (entender el significado de cada enunciado) es muy importante. Se debe realizar una lectura previa del problema con el fin de obtener una visin general de lo que se pide y una segunda lectura para poder responder preguntas como: Puedo definir mejor el problema? Qu palabras del problema me son desconocidas? Cules son las palabras clave del problema? He resuelto antes algn problema similar? Qu informacin es importante? Qu informacin puedo omitir? 8. Precisar los resultados esperados Para establecer los resultados que se esperan (meta) es necesario identificar la informacin relevante, ignorar los detalles sin importancia, entender los elementos del problema y activar el esquema correcto que permita comprenderlo en su totalidad. Es necesario analizar qu resultados se solicitan y qu formato deben tener esos resultados (impresos, en pantalla, diagramacin, orden, etc). Debe preguntarse: Qu informacin me solicitan? Qu formato debe tener esta informacin? 9. Identificar datos disponibles Otro aspecto muy importante en la etapa de anlisis del problema consiste en determinar cul es la informacin disponible. Debe preguntarse: Qu informacin es importante? Qu informacin no es relevante? Cules son los datos de entrada? (conocidos) Cul es la incgnita? Qu informacin me falta para resolver el problema? (datos desconocidos) Puedo agrupar los datos en categoras? 10. Determinar las restricciones En este punto se deben exponer las necesidades y restricciones (no una propuesta de solucin). El estudiante debe preguntarse: Qu condiciones me plantea el problema? Qu est prohibido hacer y/o utilizar? Qu est permitido hacer y/o utilizar? Cules datos puedo considerar fijos (constantes) para simplificar el problema? Cules datos son variables? Cules datos debo calcular? 11. Establecer procesos (operaciones) Consiste en determinar los procesos que permiten llegar a los resultados esperados a partir de los datos disponibles. Debe preguntarse: Qu procesos necesito? Qu frmulas debo emplear? Cmo afectan las condiciones a los procesos? Qu debo hacer? Cul es el orden de lo que debo hacer? 12. Ejemplo: De acuerdo con la metodologa descrita, analizar el problema de hallar el rea de un tringulo rectngulo cuya Base mide 3 cm, la Altura 4 cm y la Hipotenusa 5 cm. 13. Respuesta: Formular el problema: Ya se encuentra claramente planteado. Resultados esperados: El rea de un tringulo rectngulo. Datos disponibles: Base, Altura, Hipotenusa, tipo de tringulo. La incgnita es el rea y todos los valores son constantes. El valor de la hipotenusa se puede omitir. Debe preguntarse si sus conocimientos actuales de matemticas le permiten resolver este problema; de no ser as, debe plantear una estrategia para obtener los conocimientos requeridos. Determinar las restricciones: Utilizar las medidas dadas. Procesos necesarios: Guardar en dos variables los valores de Base y Altura; Guardar en una constante el 14. Actividad Basndose en la metodologa expuesta, hacer un anlisis detallado (Formular el problema, Resultados esperados, Datos disponibles, Determinar las restricciones y Procesos necesarios) del siguiente problema: Hallar el rea de un cuadrado cuyo lado mide 5 cm. 15. Fase 2: Disear un Algoritmo Luego de analizar detalladamente el problema hasta entenderlo completamente, se procede a disear un algoritmo (trazar un plan) que lo resuelva por medio de pasos sucesivos y organizados en secuencia lgica. 16. Ejemplo: Un procedimiento que realizamos varias veces al da consiste en lavarnos los dientes. Veamos la forma de expresar este procedimiento como un Algoritmo: 1. Tomar la crema dental 2. Destapar la crema dental 3. Tomar el cepillo de dientes 4. Aplicar crema dental al cepillo 5. Tapar la crema dental 6. Abrir la llave del lavamanos 7. Remojar el cepillo con la crema dental 8. Cerrar la llave del lavamanos 9. Frotar los dientes con el cepillo 10. Abrir la llave del lavamanos 11. Enjuagarse la boca 12. Enjuagar el cepillo 13. Cerrar la llave del lavamanos 14. Secarse la cara y las manos con una toalla 17. Actividad: Realizar un algoritmo del procedimiento de cambiar un foco. 18. Un Algoritmo debe ser: Realizable: El proceso algortmico debe terminar despus de una cantidad finita de pasos. Se dice que un algoritmo es inaplicable cuando se ejecuta con un conjunto de datos iniciales y el proceso resulta infinito o durante la ejecucin se encuentra con un obstculo insuperable sin arrojar un resultado. Comprensible: Debe ser claro lo que hace, de forma que quien ejecute los pasos (ser humano o mquina) sepa qu, cmo y cundo hacerlo. Debe existir un procedimiento que determine el proceso de ejecucin. Preciso: El orden de ejecucin de las instrucciones debe estar perfectamente indicado. Cuando se ejecuta varias veces, con los mismos datos iniciales, el resultado debe ser el mismo siempre. La precisin implica determinismo. 19. Tipos de pensamientos Cuando se habla de algoritmos, con frecuencia aparecen tres tipos de pensamiento que generalmente se relacionan con ellos y que se utilizan indiscriminadamente como sinnimos: Pensamiento Computacional Pensamiento Algortmico Pensamiento Procedimental. 20. Pensamiento Computacional El pensamiento computacional hace referencia a la representacin y solucin de problemas utilizando inteligencia humana, de mquinas o de otras formas que ayuden a resolver el problema. 21. Pensamiento Algortmico El pensamiento algortmico se refiere al desarrollo y uso de algoritmos que puedan ayudar a resolver un tipo especifico de problema o a realizar un tipo especifico de tarea. El Pensamiento Algortmico incluye elementos tales como: descomposicin funcional, repeticin (iteracin y/o recursin), organizacin de datos (registro, campo, arreglo, lista, etc), generalizacin y parametrizacin, diseo por descomposicin de un problema en partes ms pequeas y manejables (top-down) y refinamiento. El Pensamiento Algortmico est fuertemente ligado al pensamiento procedimental requerido en la programacin de computadoras. 22. Pensamiento Procedimental El pensamiento procedimental se ocupa del desarrollo y utilizacin de procedimientos diseados para resolver un tipo especifico de problema o para realizar un tipo especifico de tarea, pero que no necesariamente siempre resulta exitoso. 23. Diferencia entre un Algoritmo y un Programa Una diferencia notoria entre un algoritmo y un programa es que el algoritmo incorpora las caractersticas estructurales bsicas de la computacin, independientemente de los detalles de su implementacin; mientras que un programa tiene un conjunto especfico de detalles para resolver un problema. Se puede observar que una tcnica de solucin (correspondiente al algoritmo) se puede utilizar en diferentes situaciones problemticas (correspondiente a los programas). 24. Qu es un Programa? Un programa consiste de uno o ms procedimientos con instrucciones paso a paso que pueden ejecutarse en una computadora. Por ejemplo, asignar la tarea de disear un procesador de texto bsico (ingreso del texto mediante teclado, mostrarlo en la pantalla y guardarlo en el disco duro) es una tarea relativamente sencilla. Pero el proyecto puede aumentar su complejidad si se aaden funciones para dar formato al texto (fuentes, tamao y caractersticas especiales). Posteriormente el proyecto puede crecer si se agregan funcionalidades para manejar imgenes y tablas. 25. Procedimientos En resumen, los procedimientos son un tipo particular de tarea que busca solucionar problemas especficos y al desarrollarlos se ponen en juego los pensamientos algortmico y procedimental. 26. Tarea: Realizar actividades con juegos de estrategia como Sokoban, Misin Escape, Tetris e Implode, as como ejercicios de Razonamiento Abstracto. En Sokoban se deben llevar las piedras hacia el lugar donde aparecen los prismas y para lograrlo, estas se deben empujar con el personaje teniendo cuidado en los movimientos que se hacen para no bloquear el juego ya que el personaje solo puede empujar una piedra a la vez y no puede moverlas hacia atrs, siempre hacia delante. Hay disponibles varias versiones de Sokoban para descargar y para jugar en lnea. 27. Razonamiento Abstracto El razonamiento abstracto bsicamente es un proceso de ordenacin de objetos, situaciones o sucesos en secuencias lgicas de acuerdo con algn criterio previamente establecido. Para ello se debe comprender e interpretar los cambios en funcin de la forma cmo varan las caractersticas de inters de los objetos o sucesos estudiados. Todo cambio conduce a una alteracin de algn aspecto del objeto, suceso o situacin. 28. Actividad: Determinar qu es lo que cambia (figura, forma, posicin, etc) y cul es el patrn de cambio (direccin, tamao, color, etc): 29. Actividad: A continuacin se muestra una Lista de serie de pasos para realizar una tarea y estn en forma desordenada, ordenar los pasos para pescar: 1. El pez se traga el anzuelo. 2. Enrollar el sedal. 3. Tirar el sedal al agua. 4. Llevar el pescado a casa. 5. Quitar el Anzuelo de la boca del pescado. 6. Poner carnada al anzuelo. 7. Sacar el pescado del agua. 30. REPRESENTACIN DE ALGORITMOS 31. Pseudocdigo y Diagrama de Flujo Los Algoritmos se puede expresar de muchas maneras, pero solo se tratarn dos formas: Pseudocdigo y Diagrama de Flujo. En Pseudocdigo la secuencia de instrucciones se representa por medio de frases o proposiciones, mientras que en un Diagrama de Flujo se representa por medio de grficos. 32. Ejemplo: Elaborar un Algoritmo para calcular el rea de cualquier tringulo rectngulo y presentar el resultado en pantalla. PSEUDOCDIGO Paso 1: Inicio Paso 2: Asignar el nmero 2 a la constante "Div" Paso 3: Conocer la base del tringulo y guardarla en la variable "Base" Paso 4: Conocer la altura del tringulo y guardarla en la variable "Altura" Paso 5: Guardar en la variable "Area" el valor de multiplicar "Base por "Altura" Paso 6: Guardar en la variable "Area" el valor de dividir "Area entre "Div" Paso 7: Reportar el valor de la variable "Area Paso 8: Final 33. Ejemplo: 34. Pseudocdigo El Pseudocdigo est compuesto por proposiciones informales en espaol que permiten expresar detalladamente las instrucciones que llevan desde un estado inicial (problema) hasta un resultados deseado (solucin). Por lo regular, los algoritmos se escriben por refinamiento: se escribe una primera versin que luego se descompone en varios subproblemas (el nmero depende de la complejidad del problema) independientes entre s. Si es necesario se va refinando cada vez las instrucciones hasta que las proposiciones generales en espaol como las del ejemplo anterior se puedan codificar en el lenguaje seleccionado para hacer la programacin. 35. Diagramas de Flujo La utilizacin de Diagramas ayuda a: Clarificar el pensamiento : Se pueden ver cmo se conectan los procesos y de cmo estos se pueden organizar o agrupar para darles el orden lgico correcto. Identificar pasos errneos : Sobre un diagrama es ms fcil identificar los cambios que se requieren para el correcto funcionamiento de un programa de computadora que hacerlo sobre el cdigo. 36. Diagramas de Flujo Los Diagramas de Flujo son una de las tcnicas ms utilizadas para representar grficamente la secuencia de instrucciones de un Algoritmo. Estas instrucciones estn compuestas por operaciones, decisiones lgicas y ciclos repetitivos, entre otros. La solucin de un problema puede contener varios conjuntos de instrucciones (procedimientos o mtodos) que tienen como finalidad ejecutar cada uno de los procesos necesarios para llegar a la solucin de un problema a partir de los datos disponibles (estado inicial). 37. Ventajas Las ventajas de disear un Diagrama de Flujo antes de empezar a generar el cdigo de un programa son, entre otras: Forzar la identificacin de todos los pasos de una solucin de forma clara y lgica; Establecer una visin amplia y objetiva de la solucin; Verificar si se han tenido en cuenta todas las posibilidades; Comprobar si hay procedimientos duplicados; Representar grficamente una solucin (es ms simple hacerlo con grficas que mediante palabras); Facilitar a otras personas la comprensin de la secuencia lgica de la solucin planteada; Posibilitar acuerdos con base en la aproximacin comn a una solucin de un problema, resolver ambigedades o 38. Actividad: Elaborar un algoritmo en Pseudocdigo para cada uno de los siguientes problemas: 1. Hallar el permetro de un cuadrado cuyo lado mide 5 cm. 2. Hallar el rea de un cuadrado cuyo lado mide 5 cm. 39. Tarea: Elaborar un algoritmo en Pseudocdigo para cada uno de los siguientes problemas: 1. Hallar uno de los lados de un rectngulo cuya rea es de 15 cm y uno de sus lados mide 3 cm. 2. Hallar el rea y el permetro de un crculo cuyo radio mide 2 cm. 3. Hallar el rea de un pentgono regular de 6 cm de lado y con 4 cm de apotema. 2 40. SIMBOLOGA DE LOS DIAGRAMAS DE FLUJO 41. Simbologa La estandarizacin de los smbolos para la elaboracin de Diagramas de Flujo tard varios aos. Con el fin de evitar la utilizacin de smbolos diferentes para representar procesos iguales, la Organizacin Internacional para la Estandarizacin (ISO, por su sigla en ingls) y el Instituto Nacional Americano de Estandarizacin (ANSI, por su sigla en ingls), estandarizaron los smbolos que mayor aceptacin tenan en 1985. 42. Los siguientes son los principales smbolos para elaborar Diagramas de Flujo: 43. Reglas para la elaboracin de diagramas de flujo Cuando el algoritmo se desea expresar en forma de diagrama de flujo, se deben tener en cuenta algunas reglas o principios bsicos para su elaboracin: Poner un encabezado que incluya un ttulo que identifique la funcin del algoritmo; el nombre del autor; y la fecha de elaboracin; Slo se pueden utilizar smbolos estndar (ISO 5807); Los diagramas se deben dibujar de arriba haca abajo y de izquierda a derecha; La ejecucin del programa siempre empieza en la parte superior del diagrama; Los smbolos de Inicio y Final deben aparecer solo una vez; La direccin del flujo se debe representar por medio de flechas (lneas de flujo); Todas las lneas de flujo deben llegar a un smbolo o a otra lnea; 44. Reglas para la elaboracin de diagramas de flujo Una lnea de flujo recta nunca debe cruzar a otra. Cuando dos lneas de flujo se crucen, una de ellas debe incluir una lnea arqueada en el sitio donde cruza a la otra (ilustracin 2-5); Se deben inicializar las variables que se utilicen o permitir la asignacin de valores mediante consulta al usuario; Las bifurcaciones y ciclos se deben dibujar procurando una cierta simetra; Cada rombo de decisin debe tener al menos dos lneas de salida (una para SI y otra para NO); Las acciones y decisiones se deben describir utilizando el menor numero de palabras posible; sin que resulten confusas o poco claras; Si el Diagrama se vuelve complejo y confuso, es mejor utilizar smbolos conectores para reducir las lneas de flujo; Todo el Diagrama debe ser claro, ordenado y fcil de recorrer; El Diagrama se debe probar recorrindolo con datos iniciales simples (prueba de escritorio). 45. Software para elaborar diagramas de flujo Tambin existe software especial para elaborar Diagramas de Flujo en forma rpida y fcil. Los programas para esta tarea permiten: Almacenar digitalmente los diagramas construidos; Introducirles modificaciones fcilmente; Imprimir copias de los diagramas para compartirlos con compaeros o documentar sus trabajos; Exportarlos en varios formatos grficos para utilizarlos en otros programas; Alinear y organizar los smbolos automticamente; Agregar colores, tamao de letra y sombreados para lograr una apariencia profesional; Ahorrar tiempo en la modificacin de un diagrama ya que no es necesario hacer todo el dibujo nuevamente; 46. En las siguientes direcciones de Internet se puede encontrar informacin de software para la elaboracin de Diagramas de Flujo: WinEsquema http://www.softonic.com/ie/27771/WinEsquema Dia Win32 Installer http://www.softonic.com/ie/33781/dia Paraben's Flow Charter http://www.paraben.com/html/flow.html OrgPlus http://www.tucows.com/preview/281861.html 47. Actividad: Basndose en la actividad anterior, convertir los algoritmos elaborados en pseudocdigo en diagramas de flujo: 1. Hallar el rea de un cuadrado cuyo lado mide 5 cm. 2. Hallar uno de los lados de un rectngulo cuya rea es de 15 cm2 y uno de sus lados mide 3 cm. 3. Hallar el rea y el permetro de un crculo cuyo radio mide 2 cm. 4. Hallar el rea de un pentgono regular de 6 cm de lado y con 4 cm de apotema. 48. CONCEPTOS BASICOS DE PROGRAMACIN 49. Conceptos bsicos de programacin Variables Para poder utilizar algoritmos con diferentes conjuntos de datos iniciales, se debe establecer una independencia clara entre los datos iniciales de un problema y la estructura de su solucin. Esto se logra mediante la utilizacin de Variables (cantidades que se suelen denotar con letras identificadores- y que pueden tomar cualquier valor de un intervalo de valores posibles). 50. En programacin, las Variables son espacios de trabajo (contenedores) reservados para guardar datos (valores). El valor de una Variable puede cambiar en algn paso del Algoritmo o permanecer invariable; por lo tanto, el valor que contiene una variable es el del ltimo dato asignado a esta. 51. Constantes Consisten en datos que, luego de ser asignados, no cambian en ninguna instruccin del Algoritmo. Pueden contener constantes matemticas (pi) o generadas para guardar valores fijos (3.8, Jorge, etc). 52. Actividad: Analizar el siguiente ejemplo y escribir en forma de ecuacin las situaciones planteadas. Ejemplo: El doble de la edad de Carlos Andrs es 32 aos: edadCarlos es la constante donde se guarda la edad de Carlos Andrs; R/. 2 x edadCarlos = 32 Situaciones: 1. La mitad de un valor (valor1) es 60 2. Cuatro veces un nmero (nmero1) equivale a 20 3. Un nmero (nmero2) disminuido en 5 es 18 4. El doble (elDoble) del precio de una manzana 5. La midad (laMitad) del precio de una gaseosa 6. El triple (elTriple) de mi edad 53. Contadores Un contador es un tipo de variable que incrementa o decrementa su contenido en un valor constante. Cuando decimos incrementa decimos que estamos sumando. Contador=Contador + Constante Cuando decimos decrementa decimos que estamos restando. Contador=Contador Constante Es importante que inicialicemos siempre nuestros contadores. El valor con que se inicie el contador, depender del problema a resolver. 54. Acumuladores Un acumulador es una variable que incrementa o decrementa su contenido en cantidades variables. Es muy til para calcular sumatorias. Ejemplo: total=total-deuda Es importante que inicialicemos siempre nuestros acumuladores. El valor con que se inicie el acumulador, depender del problema a resolver. 55. Identificadores Los identificadores son nombres que se dan a los elementos utilizados para resolver un problema y poder diferenciar unos de otros. Al asignar nombres (identificadores) a variables, constantes y procedimientos se deben tener en cuenta algunas reglas: Los nombres pueden estar formados por una combinacin de letras y nmeros (saldoMes, salario, fecha2, baseTringulo, etc). El primer carcter de un nombre debe ser una letra. Los nombres deben ser nemotcnicos, con solo leerlos se puede entender lo que contienen. Deben ser muy descriptivos; no utilizar abreviaturas, a menos que se justifique plenamente. No utilizar caracteres reservados (%, +, /, >, etc). Se debe tener en cuenta que algunos lenguajes de programacin no admiten las tildes. No utilizar palabras reservadas por los lenguajes de programacin. Para cumplir con convenciones ampliamente utilizadas, los nombres de procedimientos, variables y constantes deben empezar con minscula. Ejemplo, fecha, suma, etc. Si es un nombre compuesto por varias palabras, cada una de las palabras (con 56. Palabras Reservadas Todos los lenguajes de programacin definen unas palabras para nombrar sus comandos, instrucciones y funciones. Un identificador definido por el usuario no puede tener el nombre de una palabra reservada. TIP Es buena idea asignar, a Variables y Constantes, nombres que indiquen cul puede ser su contenido. Por ejemplo, a una Variable que contendr el valor de la base de un tringulo debe asignrsele el nombre "baseTriangulo"; "areaCuadrado" a una que guardar el rea de un cuadrado; y "radio" a una que contendr el valor del radio de una circunferencia. Es buena prctica ser consistente a lo largo de todo el algoritmo en su uso (RADIOCIRC RadioCirc). Esto debido a que la mayora de lenguajes de programacin s hacen distincin entre maysculas y minsculas. 57. TIPOS DE DATOS 58. Tipos de Datos Un tipo de dato es un atributo de una parte de los datos que indica a la computadora (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar. Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores. 59. Tipo de dato entero Un tipo de dato entero en computacin es un tipo de dato que puede representar un subconjunto finito de los nmeros enteros. El nmero mayor que puede representar depende del tamao del espacio usado por el dato y la posibilidad (o no) de representar nmeros negativos. Los tipos de dato entero disponibles y su tamao dependen del lenguaje de programacin usado as como la arquitectura en cuestin. El tipo de datos entero se define en el lenguaje de programacin C por la palabra reservada int. 60. Tipo de dato real Se emplean para representar nmeros reales (con decimales). Para definir datos reales se antepone la palabra reservada float al identificador de la variable. 61. Tipo de dato carcter Es cualquier signo tipogrfico, puede ser una letra, un nmero, un signo de puntuacin o un espacio. Para representar este tipo de dato se antepone la palabra reservada char al identificador de la variable. 62. OPERADORES 63. Operadores Son smbolos que sirven para manipular datos. Los operadores y las operaciones que se pueden realizar con ellos se clasifican en: Aritmticos: Posibilitan las operaciones entre datos de tipo numrico y dan como resultado otro valor de tipo numrico. Ejemplo: divisin (/); producto (*); suma (+); resta (-); mdulo (%). Lgicos: Posibilitan la evaluacin lgica de dos expresiones de tipo lgico. Dan como resultado uno de dos valores posibles: Verdadero o Falso. Ejemplo: negacin (!); conjuncin (Y)(&&); disyuncin (O)(||). Relacionales: Permiten la comparacin entre datos del mismo tipo y dan como resultado dos valores posibles: Verdadero o Falso. Ejemplo: igual a (=); menor que (=); distinto (!=). 64. Orden de evaluacin de los operadores Las computadoras ejecutan los operadores en un orden predeterminado. El siguiente es el orden (jerarqua) para ejecutar operadores: 1. Parntesis (se ejecutan primero los ms internos) 2. Mdulo (%), Productos y Divisiones ( * y /) 3. Sumas y Restas (+ y -) 4. Relacionales (=, ) 5. Negacin (!) 6. Conjuncin (&&) 7. Disyuncin (||) 65. EXPRESIONES 66. Expresin Una Expresin est compuesta por valores, funciones, primitivas, constantes y/o variables, o por una combinacin de los anteriores mediante operadores. Son Expresiones: Un valor (1.3, "Jorge) Una Constante o una Variable (divide, base, rea) Una funcin (cos 60, arctan 1) Una combinacin de valores, constantes, variables, funciones y operadores que siguen reglas de construccin y orden de evaluacin de los operadores. 67. Las Expresiones pueden ser: Aritmticas: Dan como resultado un valor numrico. Contienen nicamente operadores aritmticos y datos numricos . Alfanumricas: Dan como resultado una serie o cadena de caracteres. Lgicas: Dan como resultado un valor "Verdadero o "Falso". Contienen variables y/o constantes enlazadas con operadores lgicos (A>0 y B