Está en la página 1de 6

22/6/2020 Fundamentos de programación/Expresiones - Wikiversidad

Fundamentos de
programación/Expresiones
< Fundamentos de programación

Las expresiones son combinaciones de constantes, variables y Lección 6


operadores de diferentes tipos que nos permiten manipular datos para
obtener información nueva. Los lenguajes de programación usan los Expresiones
mismos conceptos de las operaciones matemáticas tradicionales, tales
como el agrupamiento y la precedencia de operadores. Están compuestas de un operando y dos
operadores y tienen un valor. El valor de la expresión se obtiene al tomar los valores de los operandos
y aplicarles el operador. Los operandos pueden ser constantes, variables u otras expresiones y se
clasifican en aritméticos, relacionales, lógicos y de conversión de tipos dependiendo del tipo de los
operandos que manipulan y del tipo del valor que regresan.[1]

Operadores aritméticos

Los operadores aritméticos se aplican sobre números, ya sean reales o enteros y realizan operaciones
equivalentes a las operaciones aritméticas básicas. Como se pueden aplicar sobre diferentes tipos de
datos, los lenguajes de programación tienen reglas detalladas que permiten determinar el tipo de
datos del resultado. En términos generales se pueden resumir de la siguiente forma:[1]

Si ambos operandos son de tipo entero, el resultado será de tipo entero.


Si ambos operandos son de tipo real, el resultado será de tipo real.
Si un operando es real y el otro entero, el operando de tipo entero se convertirá a real y luego se
aplicará la operación.

Esta es una lista de los operadores aritméticos más frecuentemente encontrados en los lenguajes de
programación:

Ejemplo Resultado
Operador Nombre de su de la Explicación
uso expresión
Suma dos números enteros, reales o una combinación de
+ Suma 5 + 7 12
ambos.
12.0 - Resta dos números enteros, reales o una combinación de
- Resta 6.5
5.5 ambos.
Negatividad Cambia el signo de operando de negativo a positivo o
- -45 -45
aritmética viceversa. Usa el mismo símbolo que la operación de resta.
Multiplica dos números enteros, reales o una combinación
* Multiplicación 5 * 2.5 12.5
de ambos.
Resta dos números enteros, reales o una combinación de
ambos. Si los dos operandos son enteros el resultado será
/ División 10 / 3 3
un número entero y la parte fraccionaria del resultado se
descarta.
Operación módulo que regresa el residuo de realizar una
% Módulo 10 % 3 1
división entera entre dos números.
Elevar el primer operando a la segunda potencia indicada
^ Exponenciación 5 ^ 2 25
en el segundo operando.

https://es.wikiversity.org/wiki/Fundamentos_de_programación/Expresiones 1/6
22/6/2020 Fundamentos de programación/Expresiones - Wikiversidad

Algunas operaciones matemáticas no están definidas, como por ejemplo la división cuando el
segundo operando es cero o la exponenciación cuando la base es cero y el exponente negativo.
Cuando los operadores aritméticos reciben parámetros con valores para los cuales no hay una
respuesta definida regresan valores especiales o generan un error de tiempo de ejecución y el
programa termina abruptamente. En la lección sobre manejo de errores veremos algunas técnicas
usadas para controlar este tipo de situaciones.

Operadores relacionales

Los operadores relacionales permiten realizar comparaciones entre valores de tipos de datos
numéricos (como los enteros y los reales) así como entre carácteres.[1] Estos operadores reciben
parámetros de tipo numérico o caracter pero su resultado es de tipo lógico. Esto significa que solo
regresan uno de dos valores posibles: verdadero si la relación se cumple y falso si la relación no se
cumple.[2]

Los siguientes son los operadores relacionales más comunes en los lenguajes de programación:

Operador Nombre Ejemplo de su uso Resultado de la expresión


> Mayor 8 > 15 falso
< Menor 8 < 15 verdadero
>= Mayor o igual 8 >= 8 verdadero
<= Menor o igual 8 <= -8 falso
= Igual 45.0 = 32.0 falso
<> Diferente 10 <> 3 verdadero

Al comparar carácteres es importante tener en cuenta que los lenguajes de programación


normalmente lo hacen comparando el valor numérico asignado a cada letra, dígito o símbolo por lo
que los resultados de la operación dependerán del código de carácteres que estemos usando.[1] Por
ejemplo, si usamos el código de carácteres ASCII, el carácter D está representado por el código 68 y el
carácter d está representado por el código 100. Eso significa que el resultado de ejecutar 'D' < 'd'
es el valor lógico verdadero, ya que 68 es menor a 100.

También es importante considerar que al manipular números reales, los operadores relacionales
enfrentan restricciones debido a que los computadores representan ese tipo de datos de forma
aproximada. Eso provoca que operaciones que desde el punto de vista de la aritmética deberían
regresar valores iguales, reporten valores diferentes al usar los operadores relacionales de las
computadoras debido a errores de redondeo o representación.[1]

Operadores lógicos

Los operadores lógicos implementan las principales conectivas de la lógica proposicional. Trabajan
con operandos de tipo lógico y los más comunes son la conjunción (y), la disyunción (o) y la negación
(no). El operador y tiene valor verdadero si sus dos parámetros son verdaderos y tiene valor falso
en los otros casos. El operador o tiene el valor verdadero si alguno de sus operandos es verdadero. El
operador no trabaja solamente sobre un operando. Tiene valor verdadero si el operando es falso y
tiene valor falso si el operando es verdadero.[2] La siguiente tabla da algunos ejemplos de su uso:

https://es.wikiversity.org/wiki/Fundamentos_de_programación/Expresiones 2/6
22/6/2020 Fundamentos de programación/Expresiones - Wikiversidad

Operador Nombre Ejemplo de su uso Resultado de la expresión


y Conjunción verdadero y falso falso
o Disyunción verdadero o falso verdadero
no Negación no verdadero falso

Asignación de resultados

El operador de asignación se mencionó en la lección anterior. Su función consisten en evaluar una


expresión para calcular su valor y asignar ese valor a una variable. Hasta ahora lo hemos usado para
asignar valores constantes a las variables, pero también puede usarse para asignar los resultados de
evaluar expresiones más complejas como las que hemos visto en esta lección. Estos son algunos
ejemplos de ese uso del operador de asignación:

El operador de asignación calcula el resultado de la expresión 5 + 8 y lo asigna a la variable


entera total durante su inicialización. El valor de la variable luego de la operación es 13

entero total := 5 + 8

El operador de asignación evalúa la operación relacional y obtiene el valor falso que luego
almacena en la variable número_mayor.

número_mayor := 7 >= 15

El operador de asignación evalúa la operación lógica y obtiene el valor verdadero que luego
almacena en la variable resultado_conjunción.

resultado_conjunción := verdadero y verdadero

Uso de variables en las expresiones

Todos los operadores pueden recibir variables como parámetros siempre que sean del tipo adecuado,
no solamente valores constantes como lo hemos hecho hasta ahora. De esta forma podemos
almacenar valores en variables, realizar operaciones sobre ellos y almacenar los resultados en otras
variables. Los siguientes son algunos ejemplos de este tipo de uso de los operadores.

Esta operación calcula el área de un cuadrado a partir de la longitud de sus lados, almacenada
en la variable longitud_del_lado, y la almacena en la variable área_cuadrado.

área_cuadrado := longitud_del_lado * 4

Esta operación toma los valores de las variables precio y cantidad, calcula la operación
correspondiente (una multiplicación en este caso) y almacena el resultado en la variable total.

total := precio * cantidad

Esta operación estima la cantidad de semanas transcurridas tomando la cantidad de días


transcurridos y dividiéndola entre 7. semanas_transcurridas es una variable real para
almacenar el resultado con decimales. Se usa 7.0 como divisor para garantizar que el resultado
de la expresión sea un número real, no entero, y evitar un error al compilar o ejecutar el
programa.
https://es.wikiversity.org/wiki/Fundamentos_de_programación/Expresiones 3/6
22/6/2020 Fundamentos de programación/Expresiones - Wikiversidad

real semanas_transcurridas := días_transcurridos / 7.0

Expresiones complejas y precedencia de operadores

Al igual que en las operaciones usadas en la aritmética, en los lenguajes de programación las
operaciones simples que hemos visto hasta el momento se pueden combinar en operaciones más
complejas y estas se evalúan realizando las operaciones en un orden preestablecido. Este orden es
especificado por la precedencia de los operadores. Los operadores con mayor precedencia se evalúan
antes que los operadores con menor precedencia. Cuando el compilador encuentra una expresión con
dos operadores que tiene el mismo nivel de precedencia, los evalúa de izquierda a derecha.[1] En el
siguiente ejemplo se efectúa primero la multiplicación y luego la suma, porque ese operador tiene
precedencia.

total := costo_por_servicio + precio_producto * cantidad_adquirida

Al igual que en las matemáticas básicas, es posible alterar el orden de evaluación usando paréntesis
para agrupar y acomodar expresiones.[1] En la siguiente expresión se usan los paréntesis para realizar
primero la suma que modifica el precio actual y luego calcular el costo total usando la multiplicación:

costo_total := ( precio_actual + aumento_del_costo ) * cantidad_adquirida

La siguiente tabla muestra la precedencia que tienen los operadores que hemos visto en esta lección
en la mayoría de los lenguajes de programación. La precedencia se muestra de forma decreciente por
lo tanto los operadores con la menor precedencia en esta tabla se evalúan primero. Los operadores
que tienen la misma precedencia se evalúan de izquierda a derecha.

Precedencia Operador Descripción


1 ( ) Paréntesis
2 - Negación aritmética
3 ^ Exponenciación
4 * / % Multiplicación, división y módulo
5 + - Suma y resta
6 > < >= <= = <> Todos los operadores relacionales
7 no Negación lógica
8 y o Conjunción y disyunción

Estos son algunos ejemplos de expresiones complejas con una explicación de la transformación que
realizan.

https://es.wikiversity.org/wiki/Fundamentos_de_programación/Expresiones 4/6
22/6/2020 Fundamentos de programación/Expresiones - Wikiversidad

Expresión Descripción
área_triángulo := longitud_base *
Calcula el área de un triángulo.
longitud_altura / 2.0
interés_obtenido := capital *
Calcula el interés simple de una inversión.
tasa_de_interés * tiempo / 100
aceleración = (velocidad_final -
Calcula la aceleración de un cuerpo.
velocidad_inicial) / tiempo
Operación lógica que regresa verdadero si la temperatura del
temperatura > 15 y temperatura < 30
día es agradable.
permitir_préstamo := no (libros_prestados Determina si un usuario de una biblioteca cumple con los
>= 5 y profesor = falso) requisitos para solicitar un libro prestado.
permitir_préstamo := libros_prestados < 5 Una forma alternativa de expresar la verificación del ejemplo
o profesor = verdadero) anterior.

Resumen de la lección
Las expresiones son combinaciones de constantes, variables y operadores de diferentes tipos
que nos permiten manipular datos para obtener información nueva.
Los operadores aritméticos realizan operaciones equivalentes a las operaciones aritméticas
básicas.
Los operadores relacionales permiten realizar comparaciones entre valores.
Los operadores lógicos implementan las principales conectivas de la lógica proposicional.
El operador de asignación almacena los resultados de las expresiones en variables.
Las variables se pueden usar como operandos en las expresiones.
Las expresiones se pueden combinar para formar expresiones complejas de la misma forma en
que se combinan en la aritmética.
La precedencia de los operadores determina el orden en que se evalúan las expresiones
complejas.

Términos clave
Expresión
Desigualdad matemática
Expresión aritmética
Lógica proposicional
Paréntesis

Lecturas adicionales
Orden de operaciones (http://www.montereyinstitute.org/courses/DevelopmentalMath/TEXTGRO
UP-1-19_RESOURCE/U01_L5_T2_text_container_es.html)

Bibliografía
1. Joyanes Aguilar, Luis (2013). Fundamentos generales de programación (1.ª edición). Ciudad de
México, México: McGraw Hill. p. 368. ISBN 978-607-15-0818-8.
2. Helo Guzmán, Jose E. (2000). Introducción a la programación con Scheme (1.ª edición).
Cartago, Costa Rica: Editorial Tecnológica de Costa Rica. p. 246. ISBN 9977-66-113-8.

https://es.wikiversity.org/wiki/Fundamentos_de_programación/Expresiones 5/6
22/6/2020 Fundamentos de programación/Expresiones - Wikiversidad

Proyecto: Fundamentos de programación


Anterior: Evaluación de la lección 5 — Expresiones — Siguiente: Evaluación de la lección 6

Obtenido de «https://es.wikiversity.org/w/index.php?title=Fundamentos_de_programación/Expresiones&oldid=150204»

Esta página se editó por última vez el 10 sep 2019 a las 17:45.

El texto está disponible bajo la Licencia Creative Commons Atribución-CompartirIgual 3.0; pueden aplicarse términos
adicionales. Véase Términos de uso para más detalles.

https://es.wikiversity.org/wiki/Fundamentos_de_programación/Expresiones 6/6

También podría gustarte