1. NOMBRE: Carlos Augusto Estrada Cortez Liceo Metropolitano En Computacion MATERIA: Matematicas GRADO: 4to bachillerato en ciencias y letras PROFESOR: Romero Musul FECHA: 8 de febrero de 2010 Punteo: BIBLIOGRAFIA ESTE TRABAJO FUE HECHO A BASE DE INTERNET . LO HIZO EL ALUMNO CARLOS ESTRADA. CON LOS PROGRAMAS : GOOGLE SOFTONIC AVG Tabla de precedencias La tabla siguiente muestra una lista de los operadores de JScript, en orden de precedencia de mayor a menor. Precedencia Orden de evaluación Operador Descripción 15de izquierda a derecha., [], ()Acceso a campos, indización de matrices, llamadas a funciones y agrupamiento de expresiones14de derecha a izquierda++, --, -, ~, !, delete, new, typeof, voidOperadores unarios, tipos de datos devueltos, creación de objetos, valores no definidos13de izquierda a derecha*, /, %Multiplicación, división, división módulo12de izquierda a derecha+, -Suma y concatenación de cadenas, resta11de izquierda a derecha<<, >>, >>>Desplazamiento bit a bit10de izquierda a derecha<, <=, >, >=, instanceofMenor que, menor o igual que, mayor que, mayor o igual que, instanceof9de izquierda a derecha==, !=, ===, !==Igualdad, desigualdad, igualdad estricta y desigualdad estricta8de izquierda a derecha&AND bit a bit7de izquierda a derecha^XOR bit a bit6de izquierda a derecha|OR bit a bit5de izquierda a derecha&&AND lógico4de izquierda a derecha||OR lógico3de derecha a izquierda?:Condicional2de derecha a izquierda=, OP=Asignación, asignación compuesta1de izquierda a derecha, (coma)Evaluación múltiple Los paréntesis en una expresión modifican el orden de evaluación determinado por la precedencia de operador. Esto significa que una expresión encerrada entre paréntesis se evalúa por completo antes de usar su valor en el resto de la expresión. Por ejemplo: z = 78 * (96 - 3 + 45) En la expresión anterior hay cinco operadores: =, *, (), - y +. Según las normas de precedencia de operadores, se evalúan en el siguiente orden: (), -, +, *, =. En primer lugar se realiza la evaluación de la expresión que está encerrada entre paréntesis. Dentro de los paréntesis, hay un operador de suma y otro de resta. Ambos operadores tienen la misma precedencia y se evalúan de izquierda a derecha. Primero, se resta 3 de 96, con lo que se obtiene un resultado de 93. A continuación, se suma el número 45 a 93 y se obtiene el valor 139. A continuación se realiza la multiplicación: El número 78 se multiplica por 139, con lo que se obtiene un resultado igual a 10764. Por último se realiza la asignación: El número 10764 se asigna a z. Precedencia de Operadores La precedencia de operadores especifica cómo se agrupan las expresiones_ Por ejemplo, en la expresión 1 + 5 * 3, la respuesta es 16 y no 18 porque el operador de multiplicación (
*
) tiene una mayor precedencia que el de adición (
+
)_ La siguiente tabla lista la precedencia de operadores, indicándose primero los de menor precedencia_ Tabla 10_6_ Precedencia de Operadores AsociatividadOperadoresizquierda,izquierdaorizquierdaxorizquierdaandderechaprintizquierda= += _= *= /= _= %= &= |= ^= ~= <<= >>=izquierda? :izquierda||izquierda&&izquierda|izquierda^izquierda&no asociativo== != ===no asociativo< <= > >=izquierda<< >>izquierda+ _ _izquierda* / %derecha! ~ ++ __ (int) (double) (string) (array) (object) @derecha[no asociativonew Precedencia y asociatividad de operadores Ahora que vimos todo tipo de operadores, veamos cómo se evalúan cuando intervienen varios de ellos en una expresión. Si escribimos: a+b*2 estamos usando variables y constantes, pero también operadores, en este caso, operadores aritméticos, como el + para sumar, y el * (asterisco) para multiplicar. Estos operadores se aplican en un orden, y tiene precedencia y asociatividad definida. Entonces, la expresión de arriba se evalúa como: a+(b*2) es decir, a se suma al doble de b, y no como: (a+b)*2 Esto es así, porque el operador * (de multiplicar) tiene precedencia sobre el operador + (de suma). Podemos introducir el concepto de asociatividad de un operador, mediante un ejemplo. La expresión: a-5-3 tiene dos operadores - (de resta), que tienen, por supuesto, la misma precedencia. Como el operador - tiene asociatividad izquierda, la expresión de arriba se evalúa como: (a-5)-8 en vez de la totalmente distinta: a-(5-8) [TBD Tabla de operadores] Todos los operadores binarios tienen asociatividad izquierda, excepto la asignación, que la tiene derecha. Así: a=b=c+1 se evalúa como: a=(b=c+1) Hemos visto en las aclaraciones de arriba, que podemos usar paréntesis, para aclarar o cambiar el significado de una expresión. Se recomienda su uso, cuando una expresión es compleja o induce a confusión, si no se recuerdan las reglas de precedencia, que no son simples de recordar. Orden de evaluación Los operandos de una expresión, se evalúan de izquierda a derecha . Así : func1()+func2() es una expresión que provoca la evaluación, en primer lugar, de func1(), y luego func2(). Esto es importante en el caso de producir algún efecto en esas funciones, como salidas por pantalla. En general se evalúan todos los operandos, salvo en el caso de expresiones que involucren el OR lógico || o el AND lógico &&. Operadores (Guía de programación de C#) En C#, un operador es un término o un símbolo que acepta como entrada una o más expresiones, denominadas operandos, y devuelve un valor. Los operadores que requieren un operando, como el operador de incremento (++) o new, se denominan operadores unarios. Los operadores que requieren dos operandos, como los operadores aritméticos (+, -, *, /) se denominan operadores binarios. Un operador, el operador condicional (?:), utiliza tres operandos y es el único operador terciario de C#. La instrucción de C# siguiente contiene un solo operador unario y un solo operando. El operador de incremento, ++, modifica el valor del operando y. C# y++; La instrucción de C# siguiente contiene dos operadores binarios, cada uno con dos operandos. El operador de asignación, =, tiene el entero y y la expresión 2 + 3 como operandos. La propia expresión 2 + 3 contiene el operador de suma y utiliza los valores enteros 2 y 3 como operandos: C# y = 2 + 3; Un operando puede ser una expresión válida de cualquier tamaño, compuesta por una cantidad cualquiera de otras operaciones. Los operadores de una expresión se evalúan en un orden concreto conocido como prioridad de operadores. La tabla siguiente divide a los operadores en categorías basadas en el tipo de operación que realizan. Las categorías se muestran en orden de prioridad. Principalx.y, f(x), a[x], x++, x--, new, typeof, checked, uncheckedUnario+, -, !, ~, ++x, --x, (T)xAritméticos: multiplicativos*, /, %Aritméticos: aditivos+, -Desplazamiento<<, >>Comprobación de tipos y relacionales<, >, <=, >=, is, asIgualdad==, !=Lógicos, en orden de prioridad&, ^, |Condicionales, en orden de prioridad&&, ||, ?:Asignación=, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>= Cuando dos operadores con la misma prioridad están presentes en una expresión, se evalúan según su asociatividad. Los operadores que son asociativos por la izquierda se evalúan en orden de izquierda a derecha. Por ejemplo, x * y / z se evalúa como (x * y) / z. Los operadores que son asociativos por la derecha se evalúan en orden de derecha a izquierda. Los operadores de asignación y el operador terciario (?:) son asociativos por la derecha. Todos los otros operadores binarios son asociativos por la izquierda. Sin embargo, el estándar de C# no especifica cuándo se ejecuta la parte
fija
de una instrucción de incremento en una expresión. Por ejemplo, el resultado del código de ejemplo siguiente es 6: C# int num1 = 5; num1++; System.Console.WriteLine(num1); Sin embargo, el resultado del código de ejemplo siguiente es indefinido: C# int num2 = 5; num2 = num2++; //not recommended System.Console.WriteLine(num2); Por consiguiente, no se recomienda el último ejemplo. Los paréntesis se pueden utilizar para envolver una expresión y hacer que esa expresión sea evaluada antes que cualquier otra. Por ejemplo, 2 + 3 * 2 normalmente darían 8 como resultado. Esto es porque los operadores multiplicativos tienen prioridad sobre los operadores aditivos. Escribir la expresión (2 + 3 ) * 2 da como resultado 10, ya que ésta indica al compilador de C# que el operador de adición (+) se debe evaluar antes que el operador de multiplicación (*). JERARQUIA DE LAS OPERACIONES En la siguiente expresión se pretende hacer dos operaciones con tres números. 2 + 3 * 5 Si primero sumamos 2 + 3 el resultado es 5, que multiplicado por 5 nos da 25. Pero si primero multiplicamos 3 * 5, obtenemos 15, que sumado con 2 nos da 17. Me imagino que te has de preguntar ¿Qué operación debo de realizar primero, la suma de 2 y 3 para luego multiplicarlo por 5, o la multiplicación de por 5 y luego sumarle 2? Como ya vimos la respuesta es distinta en cada caso. Para evitar confusiones, se han establecido reglas para realizar las operaciones en un orden determinado. Este orden se llama jerarquía de las operaciones. Veamos cuales son esas reglas. 1.- Al realizar una serie de sumas y restas, estas se deben realizar de izquierda a derecha. Por ejemplo, en esta serie de sumas y restas 65 + 21 – 68 + 31 – 27 vamos haciendo las siguientes operaciones: primero sumamos 65 + 21, que da como resultado 86, luego hacemos la resta de 86 – 68, que da 18, a lo cual le sumamos 31, para obtener 49 y finalmente restamos 27, de modo que el resultado final es 22. 2.- El mismo orden (de izquierda a derecha) se utiliza para las expresiones que solo tienen multiplicaciones y divisiones. Por ejemplo, 7 * 8 / 4 = 56 / 4 = 14 El problema surge cuando combinamos sumas y restas con multiplicaciones y divisiones. Como ya vimos antes el resultado de 2 + 3 * 5 depende de la operación que se realice primero. 3.- Las multiplicaciones y divisiones se realizan antes que las sumas y restas. Así en la expresión 2 + 3 * 5, primero realizamos la multiplicación y luego la suma, por lo que el resultado es 2 + 15 = 17. La escritura de las operaciones se pede aclarar mucho mas con el uso de paréntesis. En algunos casos, podemos utilizar los paréntesis solo para reafirmar la jerarquía, como cuando escribimos 2 + (3 * 5), que es lo mismo que 2 + 3 * 5. Pero también podemos utilizar los paréntesis para modificar la jerarquía. Así, si en la expresión anterior queremos sumar primero y luego multiplicar (2 + 3) * 5. 4.- Siempre que aparezcan paréntesis en una expresión aritmética, las operaciones dentro de ellos se realizan en primer lugar. Por ejemplo en la expresión (3 * 4) + (5 – 2), como tenemos paréntesis primero realizamos las operaciones dentro de ellos, siguiendo un orden de izquierda a derecha. Así (3 * 4) = 12 y (5 – 2) = 3. Después sumamos 12 + 3 = 15. Otro ejemplo 7 * (5 + (8 / 2)), como aquí tenemos dos pares de paréntesis, realizamos primero la operación 8 / 2 (es decir, la de los paréntesis internos). Esto da como resultado 4; luego sumamos 5 + 4, que da 9. Final mente multiplicamos por 7. Entonces 7 * (5 + (8 / 2)) = 7 * (5 + 4) = 7 * 9 = 63. Para terminar, recuerda que un aspecto importante de las expresiones aritméticas es su claridad. Si tiene alguna duda de la jerarquía de las operaciones, puedes utilizar los paréntesis para evitar RELACION ENTRE JERARQUIA Y PRECEDENCIA EN PROGRAMACION Y MATEMATICAS. LA RELACION QUE HAY EN TRE LA JERARQUIA DE LAS MATEMATICAS Y PRECEDENCIA DE OPERADORES EN PROGRAMACIONES: -QUE LAS MATEMATICAS SE HACEN A MANO Y EN UN CUADERNO -QUE LA PROGRAMACION SE HACE EN LA COMPUTADORA Y CON PROGRAMAS. -QUE SE HACE EL MISMO PROCEDIMIENTO PARA REALIZAR AMBAS OPERACIONES. JAVA ava es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria. Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible. La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre. Entre noviembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java aún no lo INTRODUCCION LA PRECEDENCIA DE OPERRACIONES La precedencia de operadores especifica cómo se agrupan las expresiones_ Por ejemplo, en la expresión 1 + 5 * 3, la respuesta es 16 y no 18 porque el operador de multiplicación (
*
) tiene una mayor precedencia que el de adición (
+
)_ Y LA JERARQUIA ES ,LO MISMO QUE LA PRECEDENCIA DE OPERADORES CONCLUCIONES LO QUE YO ENTENDI DEL TRABAJO ES QUE TANTO LAS MATEMATICAS COMO LA PROGRAMACION TIENEN ALGO EN COMUN PORQUE LAS OPERACIONES QUE SE HACEN EN MATEMATICAS SON LAS MISMAS QUE SE HACEN EN PROGRAMACION SOLO QUE EN MATEMATICAS SE HACEN USANDO MAS LOGICA Y A MANO Y EN PROGRAMACION SE HACEN UTILIZANDO PROGRAMAS Y LA COMPUTADORA.