52
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter 3 - 1 Datos Numéricos Datos Numéricos

Datos numéricos parte 2

Embed Size (px)

Citation preview

Page 1: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 1

Datos Numéricos

Datos Numéricos

Page 2: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 2

Expresiones Aritméticas

• Una expresión en la cual están involucrados valores numéricos como

24 + 34

• Se denomina expresión aritmética. Porque está compuesta de operadores aritméticos y operandos

• Un operador aritmético como el signo + , determina un cálculo numérico

• Los operandos son los elementos que intervienen en el cálculo

Page 3: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 3

Operadores Aritméticos

• La siguiente tabla muestra los operadores aritméticos usados en un lenguaje de programación moderno como C++ o java.

Ésta es la división entera donde la parte fraccional se trunca

Ésta es la división entera donde la parte fraccional se trunca

Page 4: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 4

División Entera

• En una división (/) :

• Cuando ambos operandos son enteros, el resultado es un entero.

• Es decir cualquier parte fraccional se trunca. No hay redondeo.

• A esta división se le denomina división entera

• Cuando uno de los dos operandos es real, el resultado es un número real

Page 5: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 5

División Entera

• Ejemplos de división:

Page 6: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 6

División Entera

• El operador módulo %, devuelve el residuo de una división.

• Aunque los números reales se pueden usar con este operador, es mas frecuente usarlo únicamente con números enteros

• Ejemplos:

Page 7: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 7

División Módulo o Residuo

• Por ejemplo

x % y = 0

• Cuando y divide a x perfectamente:

 • Ejemplo:

 

15 % 5 = 0

Page 8: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 8

Expresiones Aritméticas

• Operando: En una expresión aritmética puede ser una constante, una variable, una llamada a una función u otra expresión aritmética, posiblemente entre paréntesis.

• Ejemplos:

 

x + 4

• El operador + (suma ), se dice que es un operador binario porque actúa sobre dos operandos

Page 9: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 9

Expresiones Aritméticas

• Los operadores + y – pueden ser unarios y binarios.

• Ejemplos:

 

-x + 4

• El operador - (resta), se dice que es un operador unario porque actúa sobre un operando

Page 10: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 10

Precedence Rules

Page 11: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 11

Expresiones Aritméticas

• Sub expresión: En la expresión:

 

x + 3 * y

• El operador de adición actúa sobre los operandos x y 3 * y:

• El operando derecho de la suma es por si misma una expresión.

• A menudo a una expresión anidada se le conoce como sub expresión

• La sub expresión 3 * y tiene a su vez como operandos al 3 y a ‘y’

Page 12: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 12

Sub Expresión

• La sub expresión 3 * y tiene a su vez como operandos al 3 y a y:

 x + 3 * y

Page 13: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 13

Reglas de Precedencia

• Reglas de Precedencia: Cuando dos o mas operadores están presentes en una expresión, el orden de evaluación se realiza de acuerdo a las Reglas de precedencia.

• Por ejemplo la multiplicación tiene mayor precedencia que la suma.

• En el ejemplo anterior, la operación de multiplicación es evaluada primero, y la suma se realiza después

x + 3 * y

Page 14: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 14

Reglas de Precedencia

• La siguiente tabla muestra las reglas de precedencia para los operadores aritméticos

Page 15: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 15

Expresiones Aritméticas

• Evaluate the following expressions.•  

a. 3 + 5 / 7

b. 3 * 3 + 3 % 2

c. 3 + 2 / 5 + -2 * 4

d. 2 * (1 + -(3/4) / 2) * (2 - 6 % 3)

 

 

What is the data type of the result of the following expressions?

a. (3 + 5) / 7

b. (3 + 5) / (float) 7

c. (float) ( (3 + 5) / 7 )

Page 16: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 16

Reglas de Precedencia

• Ejemplo:

Page 17: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 17

Conversión de tipos de datos

• Cuando una expresión aritmética consta de variables y constantes del mismo tipo de datos, entonces el resultado será del mismo tipo de datos

• Por ejemplo,

• Si el tipo de datos de a y b son enteros, entonces el resultado de la expresión:

a * b + 23

Será entero.

Page 18: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 18

Conversión de tipo de datos (typecasting)

• Una expresión mixta es una expresión aritmética que contiene variables y constantes del diferente tipo de datos

• En una expresión mixta, se lleva a cabo una conversión

de tipos

• La conversión de tipos es un proceso que convierte un valor de un tipo de datos en otro tipo de datos

Page 19: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 19

Conversión de tipo de datos (typecasting)

• Dentro de una expresión, se presentan tres clases de conversión de tipos:

– Implícita

– Explícita

– Por asignación

Page 20: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 20

Conversión de tipo de datos (typecasting)

• Promoción Numérica:

• La conversión implícita, también llamada promoción numérica es aplicada a los operandos de un operador aritmético

• La promoción se basa en las reglas de la tabla 3.4

• Esta conversión se llama promoción debido a que el operando es convertido de una precisión menor a una mayor

Page 21: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 21

Conversión de tipo de datos (typecasting)

• Promoción Numérica:

Page 22: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 22

Conversión de tipo de datos (typecasting)

Conversión explicita:

• En lugar de confiar en la conversión implícita, es posible usar la conversión explicita para convertir un operando de un tipo de datos a otro.

• La conversión explicita se aplica a un operando por medio del operador de conversión de tipos

Page 23: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 23

Conversión de tipo de datos (typecasting)

Conversión explicita:

• Ejemplo: Para convertir la variable entera x en la expresión:

x / 3

• a flotante, de tal forma que el resultado no se trunque , aplicamos el operador de conversión de tipos (float) a la expresión:

(float) x / 3

Page 24: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 24

Conversión de tipo de datos (typecasting)

Conversión explicita:

• La sintaxis es:

 

( <tipo de datos> ) <expresión>;

Page 25: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 25

Conversión de tipo de datos (typecasting)

Conversión explicita:

• Propiedades del Operador de Conversión de tipos:

– Es Unario

– Tiene Mayor precedencia que cualquier operador binario

– Se debe usar el paréntesis para convertir una sub expresión

Page 26: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 26

Conversión de tipos de datos (typecasting)

• Conversión por asignación:

• Si asumimos que la variable x es entera, entonces el estatuto de asignación:

 

x = 2 * (14343 / 2344);

• Asignará el resultado de tipo entero obtenido de la expresión en la variable x.

Page 27: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 27

Conversión de tipo de datos (typecasting)

• Conversión por asignación:

 • Sin embargo, si el tipo de datos de x no es entero

• Una conversión implícita ocurrirá de tal forma que el tipo de datos de la expresión se convierta al mismo tipo de datos que el de la variable.

Page 28: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 28

Conversión de tipo de datos (typecasting)

Conversión por asignación:

 • La conversión por asignación es otra variante de la

conversión implícita que ocurre solamente que se cumplan las dos condiciones:

– Que el tipo de datos de la variable y el de la expresión sean diferentes

– Que el tipo de datos de la variable sea de mayor precisión que el de la expresión

Page 29: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 29

Conversión de tipo de datos (typecasting)

• Conversión por asignación:

• Por ejemplo:

double number;

number = 25;

 • es válido, pero:

 int number;

number = 234.56; //Error

 

no lo es.

Page 30: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 30

Conversión de tipo de datos (typecasting)

• Ejemplo:

• Un entero largo tiene mas dígitos que el tipo float puede representar

• Un entero largo tal como: 123456789 tiene mas dígitos que los que el tipo float puede representar

int n = 123456789;

float f = n; // f is 1.23456792E8

 

Page 31: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 31

Estatuto de asignación

Page 32: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 32

Estatuto de asignación

Page 33: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 33

Expresiones Aritméticas

• Tarea• Evaluate the following expressions.•  

a. 3 + 5 / 7

b. 3 * 3 + 3 % 2

c. 3 + 2 / 5 + -2 * 4

d. 2 * (1 + -(3/4) / 2) * (2 - 6 % 3)

 

 

Page 34: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 34

Expresiones Aritméticas

 

3. Which of the following expressions is equivalent to -b(c +34)/2a?

 

a. -b * (c + 34) / 2 * a

b. -b * (c + 34) / (2 * a)

c. -b * c + 34 / (2 * a)

 

Page 35: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 35

Funciones Matemáticas

Page 36: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 36

Funciones Matemáticas

Page 37: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 37

Funciones Matemáticas

Page 38: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 38

Funciones Matemáticas

Page 39: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 39

Constantes

• Durante la ejecución de un programa, a una variable se le puede asignar diferentes valores

• Existen casos en los que es conveniente asegurarnos de que el valor asignado a una localidad de memoria no cambie

• En otras palabras queremos que el valor asignado se mantenga fijo. Pare esto, requerimos usar una constante

Page 40: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 40

Constantes

• Una constante en el lenguaje C se declara d la siguiente forma:

# define FARADAY_CONSTANT 23060

# define PI 3.14159

• La constante PI es llamada constante nombrada o constante simbólica

• Nos referiremos a constantes simbólicas con identificadores tales como PI

Page 41: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 41

Constantes

• El segundo tipo de constante es llamada constante literal y nos referiremos a ella por su valor actual

• Por ejemplo, el siguiente estatuto contiene tres constantes literales.

# define PI 3.14159

area = 2 * PI * 345.79 ;

Constantes Literales

Page 42: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 42

Constantes

• Para la constante literal 2, el tipo de datos se asigna de manera automática a int

• ¿Como especificamos una constante literal de tipo long ?

• Ponemos al final la letra L o l

2L * PI * 345.79

• ¿ y acerca de la constante 345.79?

Page 43: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 43

Constantes

• Dado que la constante contiene un punto decimal, su tipo de datos puede ser solamente float o double.

• ¿Pero cual?

• La respuesta es double

• Para designar una constante literal de tipo float debemos agregarle una letra F o f al final

Page 44: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 44

Constantes

• Por ejemplo:

2 * PI * 345.79F

• Para representar una constante literal double, es opcional agregar una d o D al final

• Las siguientes dos constantes son equivalentes

2 * PI * 345.79 is equivalent to 2 * PI * 345.79D

Page 45: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 45

Constantes

• Es posible representar constantes literales usando la notación científica. Por ejemplo:

• El cual en C o Java puede ser representado por:

<number> E <exponent>

• Donde <number> es una constante literal que puede o no contener un número decimal

• La E puede ser mayúscula o minúscula

Page 46: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 46

Constantes

• La expresión entera puede terminar con el sufijo f, F, d, o D

• <exponent> es un entero con o sin signo

• <number> por si mismo no puede tener el sufijo con los símbolos f, F, d, o D.

Page 47: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 47

Constantes

• Ejemplos:

12.40e+209

23E33

29.0098e–102

234e+5D

-4.45e2

Page 48: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 48

Tarea Lunes 23 de Marzo

1. Suppose we have the following declarations:

int i = 3, j = 4, k = 5;

float x = 34.5f, y = 12.25f;

Determine the value for each of the following expressions, or explain why it is not a valid expression.

a. ) (x + 1.5) / (250.0 * (i / j))

b. ) x + 1.5 / 250.0 * i / j

c.) -x * -y * (i + j) / k

d. ) (i / 5) * y

Page 49: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 49

Tarea Lunes 23 de Marzo

1. Suppose we have the following declarations:

int i = 3, j = 4, k = 5;

float x = 34.5f, y = 12.25f;

e.) min(i, min(j,k))

f.) exp(3, 2)

g.) y % x

h.) pow(3, 2)

i.) (int) y % k

j.) i / 5 * y

Page 50: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 50

Tarea Lunes 23 de Marzo• 2. Suppose we have the following declarations:

int m, n, i = 3, j = 4, k = 5;

float v, w, x = 34.5f, y = 12.25f;

Determine the value assigned to the variable in each of the following assignment statements, or explain why it is not a valid assignment.

a. ) w = pow(3, pow(i, j) );

b.) v = x / i;

c.) w = ceil (y) % k;

d. ) n = (int) x / y * i / 2;

e.) x = sqrt (i*i - 4*j*k);

f.) m = n + i * j;

Page 51: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 51

Tarea Lunes 23 de Marzo

2. Suppose we have the following declarations:

int m, n, i = 3, j = 4, k = 5;

float v, w, x = 34.5f, y = 12.25f;

g.) n = k /(j * i) * x + y;

h.) i = i + 1;

i.) w = float(x + i);

j.) x = x / i / y / j;

Page 52: Datos numéricos parte 2

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4th Ed Chapter 3 - 52

Tarea Lunes 23 de Marzo