Práctica 2. TIPOS DE DATOS SIMPLES 1 sesión Semana: 15 de octubre OBJETIVOS: Conocer los distintos tipos de datos simples y su correcta utilización en la construcción de algoritmos Formular expresiones de forma correcta Evaluar distintos tipos de expresiones Se denomina dato a la expresión general que describe los objetos con los cuales opera el programa. Los tipos de datos simples son los siguientes: - Predefinidos: - Numérico: - Entero: subconjunto de los números enteros cuyo rango o tamaño dependen del lenguaje, computador utilizado y sistema operativo. - Real: subconjunto de los números reales limitado no sólo en cuanto al tamaño, sino también en cuanto a la precisión.. - Carácter: - Alfabético: caracteres alfabéticos, tanto mayúsculas com - Dígito: caracteres dígitos. - Especial: resto de caracteres de los que dispone cualquier computador. - Lógico o Booleano: conjunto formado por los valores FALSO y CIERTO. - Definido por el programador: - Subrango: definido a partir de un tipo ordinal y finito, especificando dos constantes de ese tipo, que actúan como límite inferior y superior del conjunto de datos de ese tipo. - Enumerado: compuesto de un conjunto de valores referenciados por identificadores. 2-1
2-2 Fundamentos de la Programación 1 Ejercicio Resuelto 1. Qué tipos de datos simples emplearías para almacenar la siguiente a) Edad: Numérico Entero b) Nombre: Conjunto de caracteres c) Código Postal: Numérico Entero o Conjunto de Caracteres d) D.N.I.: Numérico Entero o Conjunto de Caracteres e) Nº de teléfono Numérico Entero o Conjunto de Caracteres f) Altura: Numérico Entero o Numérico Real g) Sexo: Carácter o Enumerado h) Fecha: una agrupación de: Numérico Entero o Subrango (día) Numérico Entero o Subrando (mes) Numérico Entero o Subrango (año) i) Casado?: Carácter, Lógico o Enumerado j) I.V.A. a aplicar: Numérico Real o Enumerado k) Meses del año: Numérico Entero o Subrango Ejercicio Propuesto 1. Qué tipos de datos simples emplearías para almacenar la siguiente a) Talla de camisa. b) Raza. c) Horóscopo. d) Peso de una persona. e) Ciudad donde vives. f) Provincia en la que vives. g) Precio de una camisa. h) D.N.I. i) Fecha de nacimiento. j) Alumno repetidor. Recordar los operadores más comunes y su clasificación: - Aritméticos: ^ Potencia * Producto / División DIV División Entera RESTO Resto de la división entera + Suma - Resta - Alfanuméricos: + Concatenación - Relacionales: < Menor que <= Menor o igual que > Mayor que >= Mayor o igual que <> Distinto a - Lógicos: y Conjunción o Disyunción - Paréntesis: () Se utilizan para anidar expresiones. Ingenierías Informáticas
Tipos de Datos Simples 2-3 Ejercicio Resuelto 2. Convierte en expresiones algorítmicas las siguientes expresiones algebraicas: a) a 2 + b 2 a * a + b * b ó a^2 + b^2 b) (a + b) 2 (a + b) * (a+b) 3 c) b 3 d) b + 34 + 34 b^(1/3) + 34 (b + 34)^(1/3) x + y e) (x+y) / (u + w / b) w u + b f) y x w u b x + y/u + w/b g) x y z + w) x/y * (z+w) Ejercicio Propuesto 2. Convierte en expresiones algorítmicas las siguientes expresiones algebraicas: a) b) 3 1 a + b 3 x y + x z c) x y / z / 2 y / x z d) x + y / z y 4 3 Evalúa las expresiones utilizando los valores que aparecen en la tabla de abajo y después crea un fichero 1 denominado pr22.al, que contenga esas mismas expresiones utilizando los siguientes valores: a b x y z 3 2-4 1 2,5 Comprueba que los resultados obtenidos manualmente coinciden con los obtenidos automáticamente. Los operadores de una expresión se evalúan, en general, según el siguiente orden: 1.- Paréntesis. 2.- Signo. 3.- Potencias. 4.- Productos y divisiones. 5.- Div y Mod. (/ y resto en pseudocódigo) 6.- Sumas y restas. 1 Por ejemplo: algoritmo: ejercicio2-2 escribelin((a*a*a)+(1/b)); escribelin(x*y+x*(3/z)));... Departamento de Ciencia de la Computación e Inteligencia Artificial
2-4 Fundamentos de la Programación 1 7.- Concatenación. 8.- Relacionales. 9.- Negación. 10.- Conjunción. 11.- Disyunción. Para evaluar las expresiones que incluyen operadores lógicos se deben tener en cuenta sus tablas de verdad. Así tenemos que: Operador NO Operador Y Operador O A no A A B A y B A B A o B F V F F F F F F V F F V F F V V V F F V F V V V V V V V Ejercicio Resuelto 3. Convierte en expresiones algebraicas las siguientes expresiones algorítmicas y evalúalas cuando las variables toman los valores indicados: 2 a b c r u x y z 2 3 5 2,5-2 -3,2 2,8 4 a) b^2-4*a*c ((b 2 ) (4ac)) = -31 b) x^2+y^2/z^2 ((x 2 ) + ((y 2 ) / (z 2 )))= 10,71 c) 4*x+5*y/3*z ((4x)+(((5y)/3)z)) = 5,8666 d) y-x/z-u (y (x/z) u) =5,6 e) 2*3.1416*r^3 (2π(r 2 )) = 98,175 f) (x-y)^2+(z+u)^3*2 (((x-y) 2 )+ (((z+u) 3 )2)) = 52 g) 3+6^2/9mod2 (3 + (((6 2 ) / 9) resto 2 )) = 3 h) 3*4div2 ((3 4) div 2) = 0 a b c r u x y z 3 4 5 3.6-1 -3.2 0.7 7 a) (b^2-4*a*c)^1 div 2 ((b 2 ) ((4ac) div 2)) = -22 b) x^2+y^2/z*2 ((x 2 ) +(((y 2 )/z)*2)) 10,38 c) 4 div 3 *x+5*y/3*z (4 div (3x)) + (((5y)/3)z) NO SE PUEDE REALIZAR UNA DIVISIÓN ENTERA CUANDO UNO DE LOS ELEMENTOS ES REAL Ejercicio Resuelto 4. Evalúa las siguientes expresiones: 4 + 5 * 2 + 6 * 3 + 5 4 + 10 + 18 + 5 2^2*3 4 * 3 2 En las soluciones se ha indicado mediante el uso de paréntesis cuales son los órdenes de prioridad. Ingenierías Informáticas
Tipos de Datos Simples 2-5 14 + 18 + 5 32 + 5 37 12 Departamento de Ciencia de la Computación e Inteligencia Artificial
2-6 Fundamentos de la Programación 1 2/2*4 1 * 4 4 3+12*(18-4^2) 3 + 12 * (18 16) 3 + 12 * 2 3 + 24 27 3>6 FALSO 3>6 Y 3<6 FALSO Y CIERTO FALSO 3>6 O 3<=6 FALSO O CIERTO 3>6 Y 3<6 O NO 3<>6 FALSO Y CIERTO O NO CIERTO FALSO Y CIERTO O FALSO FALSO O FALSO FALSO Ejercicio Propuesto 3. Evalúa las siguientes expresiones: a) 4 + 3 * 2 / 6 16 / 2 * 4 b) 3 + 5 ^ 2 * 10 c) 3 * 5 < 7 * 2 y 15 / 3 >= 2 d) no (15 > 2 o 7 < 4) De nuevo, crea un fichero llamado pr23.al que resuelva dichas expresiones y comprueba que coinciden ambos resultados. Ingenierías Informáticas
2-7