Datos y tipos de datos Dato es el valor que almacena una variable. . Tipos de datos: Simples (sin estructura) Compuestos (estructurados) 2.1.2.1 Tipos de datos simples 1. numéricos 2. lógicos 3. carácter : entero, real : booleano : char, cadena 1. Datos numéricos. El conjunto de datos numéricos se puede representar en dos formas diferentes: Entero ( entero ) : El tipo entero es un subconjunto finito de números enteros. No tiene componentes fraccionarios o decimales y pueden ser positivos o negativos. Real ( real ): El tipo real consiste en un subconjunto de números reales. Poseen un punto decimal y pueden ser positivos o negativos. Existe un tipo de representación denominado notación exponencial o científica utilizada para números muy grandes o muy pequeños, por ejemplo: La representación en notación exponencial del número 367520100000000000000 es 3.675201 1020 . La representación en notación exponencial del número 0.0000000000302579 es 3.02579 1011 2. Datos lógicos. El tipo lógico, llamado booleano es un dato que solo puede tomar uno de los valores verdadero ( true ) ó falso ( false). 3. Datos carácter. diferentes: Un dato de tipo carácter se representa de dos maneras char: Es un dato que contiene un solo carácter. Nota. Los siguientes son los datos de tipo char que la mayoría de las computadoras reconocen Caracteres alfabéticos: A, B, C, ... , Z, a, b, c, ... , z Caracteres numéricos: Caracteres especiales: 1, 2, ... , 9, 0 +, -, *, /, . , , < , > , $ , “, , ... Cadena: Es una sucesión de datos tipo char encerrados por comillas dobles. Ejemplo 2. Considere la clase Estudiante, con las propiedades: Nombre, Edad, Peso, Teléfono, No. Cédula, Dirección, e_mail, Valor de la matricula, Sexo, Regularidad (estar en bloque o no). Las variables que definen estas propiedades, pueden ser de los siguientes tipos y toman los datos que a continuación se muestran: Tipo_de_ dato cadena entero real entero entero cadena cadena char booleano Variables Nombre Edad Peso Teléfono No.Cédula Dirección e_mail sexo regularidad Datos “Pedro” 24 76.32 3214472 10243321 “calle 28 No. 2-32” “[email protected]” M true Observe que las variables No.Cédula y Teléfono también pueden ser declaradas de tipo cadena. ¿ Cómo se llevan los datos a las variables?. Los datos se llevan a las variables a través del signo de igualdad ( = ). Este signo tiene, en el caso de los algoritmos computacionales y programas, un significado diferente al que se le da en matemáticas. El signo igual ( = ) significa que primero se realiza lo que está a la derecha del igual y el resultado se almacena (se guarda) en la variable que se encuentra a la izquierda del igual ( = ). Tipos de operadores Los operadores son símbolos que manipulaciones específicas sobre datos. indican que se está llevando a cabo Los operadores se clasifican en tres grupos, a saber: 1. Lógicos 2. Aritméticos 3. Relacionales 1. Operadores lógicos. Los operadores lógicos se utilizan para conectar proposiciones siguiendo las reglas de la lógica formal. Una proposición es un enunciado del cual se puede afirmar que es verdadero o falso. Una proposición compuesta es una expresión formada por dos o más proposiciones que se conectan mediante los operadores lógicos. El valor de verdad de una proposición compuesta depende del valor de verdad de las proposiciones componentes y se define de acuerdo a la siguiente tabla: p q pq pq v v f f v f v f v f f f v v v f ~p f f v v Tabla 2.1 : Operador de conjunción : Operador de disyunción ~ : Operador de negación Ejemplo 4. El valor de verdad de la proposición: ~ 2 2 5 es verdadero 2. Operadores aritméticos. Estos operadores se usan en las operaciones básicas de la matemática. La siguiente tabla contiene los operadores aritméticos más usuales Operador + * / mod Operación Adición entre enteros o reales Sustracción entre enteros o reales Producto entre enteros o reales División entre enteros o reales. Si ambos operandos son enteros el resultado es entero; en otro caso el resultado es real Modulo o resto de una división entera. Ambos operandos deben ser enteros. Tabla 2.2 3. Operadores relacionales. Los operadores relacionales permiten comparar dos valores y dan un resultado de acuerdo al valor de verdad de la comparación (verdadero ó falso). La siguiente tabla contiene los operadores relacionales Operación == > < Significado igual a diferente de mayor que menor que mayor o igual que menor o igual que Tabla 2.3 2.1.4 Expresiones Una expresión es una combinación de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Ejemplo 5. x / y * z 5 * (15mod4) cos x 18 2.1.4.1 Clasificación de las expresiones Las expresiones se clasifican en: Lógicas Aritméticas Expresiones lógicas o booleanas. Una expresión lógica es una expresión que asume siempre un único valor: verdadero ( true ) ó falso ( false ). Las expresiones lógicas se forman combinando constantes, variables y otras expresiones lógicas, mediante los operadores lógicos conjunción, disyunción, y negación y los operadores de relación: igualdad, menor que, mayor que, menor o igual que, mayor o igual que, diferente de. Ejemplo 6. Expresión (3>1) (-2>7) (-3<1) (2>10) ~(2<1) valor de verdad falso verdadero verdadero Expresiones aritméticas. Una expresión aritmética es análoga a una fórmula matemática. El resultado de una expresión aritmética es de tipo numérico. Las variables y constantes son numéricas (real o entera) y las operaciones son aritméticas. Ejemplo 7. La siguiente tabla muestra algunas expresiones con su resultado. Expresión Resultado 10.6/2 5.3 2/4 0 2.0/4.0 0.5 2/4.0 0.5 18/2.0 9.0 10/3 3 8*0.5 4.0 20 mod 4 0 10 mod 3 1 Tabla 2.4 Nota. Los operadores usados con valores enteros producen valores enteros y los operandos usados con un número entero y uno real producen resultado de valor real. 2.1.5 Jerarquía de los operadores lógicos, aritméticos y relacionales Las expresiones se evalúan tal como se escriben, de izquierda a derecha y de mayor a menor de acuerdo a la jerarquía. La tabla siguiente muestra las reglas de jerarquía y asociatividad de todos los operadores. Los que están en la misma línea tienen la misma jerarquía o prioridad. Las expresiones entre paréntesis siempre se evalúan primero. Esto es, los paréntesis tienen mayor jerarquía y son evaluados de los más internos a los más externos. Jerarquía de operadores ( ), pot ~ *, /, mod +, <, >, , =, , Operadores Paréntesis, potencia Negación Producto, división, modulo Suma, resta Menor que, mayor que, menor o igual que, mayor o igual que Igual a, diferente de Conjunción, disyunción Tabla 2.5 Notas. En caso de coincidir varios operadores de igual jerarquía en una expresión, la evaluación se hace siempre de izquierda a derecha. Para indicar el operador de potencia se usa , teniendo cuidado de no confundirlo con el operador de conjunción que usa el mismo símbolo. La interpretación depende de los operandos, teniendo en cuenta que potencia se usa con números y conjunción con proposiciones. Ejemplo 8. El siguiente ejemplo muestra algunas expresiones con su correspondiente orden de evaluación. Expresión Orden de evaluación 5 3 * 14 5 3 *14 4 * 7 23 / 4 5 c / b / a 6 * 9 / 5 7 d / b mod a a * b a mod b * c d mod c b / a * 5 5 4*7 2 3/ 4 5 c/b/a 6*9/5 7 d / b moda a *b a mod b * c d mod c b / a * 5 5 Ejercicio. Calcular el valor de las siguientes expresiones: a) 18 + 5 * 3 + 4 * 6 b) - 3 ^ 2 * 3 c) 33 + 3 * 4 / 6 d) 2 * 5 – 3 * 6 Se pueden combinar varias operaciones en una expresión así: a) ( x > 5 7 < 9 ) ~ ( 3 5 ) El resultado es Falso. Explique por qué. b) ( x > 5 7 > 9 ) ~ ( 2 15 ) El resultado es Falso. Explique por qué. c) ( x > 5 7 < 9 ) ~ ( 2 9 ) Explique el posible resultado. 3. Calcule el valor de la variable a) x 3 * 5 * 5 4 * 7 8 b) x a * b * b * b 5 c) x a * b * b * b 5 d) x a * (b * b * b) 5 e) z 11 3 * 6 / 2 1 f) x 3 mod 3 3 * 3 3 / 3 4. Dado x , escribir las instrucciones necesarias para determinar si: a) x es múltiplo de 4 b) x es impar c) x es divisor de 12 d) x es par 5. Determine las condiciones sobre x y dado. y para que x, y pertenezca al conjunto a) x, y A x, y : x 4 y 4 b) x, y A x, y : xy 0 c) x, y A x, y : x 2 6 y 6 d) x, y A x, y : xy 0 e) x, y A x, y : xy 0 f) x, y A x, y : xy 0 6. Escribir las siguientes expresiones aritméticas en expresiones algorítmicas, teniendo en cuenta la jerarquía de operadores. 1 a a a *b b * c a a) x b) x a 1 a/b a 1 b/c a ac b b a d c d c) x d) x b ac a a *b d b c b a *d c x 1 1 e) x 1 f) a 1 x a 1 1 x 1 a a 7. Determine el valor final con que terminan las variables a, b, c , en cada ejercicio. a) a 10 b7 c5 a 10 b7 c5 a ab5 a ab b ab5 c ab5 a a 5*b / 2 b a 5*b / 2 c a 5*b / 2 b) b bb c ab5 a a 5*b / 2 b abc c a b 5*c / 2