Entendido.

Este sitio utiliza cookies para analizar la navegación.Si continúa navegando se entiende que acepta su uso. Ver más detalles.

Logo

Aprende Web C++

Aprende a programar en C++ con Aprende-Web

Nociones Básicas

programación en C++ desde cero.


Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net



Sobre ésta página

Ültima modificación: 13-07-2018.

Visitas este mes: 50

Visitas el mes pasado: 638

logo
WEB-GRAFÍA

Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de los manuales.:

cplusplus.com
Sitio oficial de C++: Informacion, Referencias, Tutorial, Foro. (En inglés)
Minidosis.org
Curso de C++ con videos y lecturas.
conclase.net
Curso de C++
programar ya
Curso de C++ desde cero
cprogramming.com
C++ Tutorial (inglés).
Entorno de desarrollo integrado
fergarciac.wordpress.com
Compiladores, intérpretes y Máquinas virtuales.
latecladeescape.com
el hacker.net
Programación
Desarrollo web
Manual de iniciación a la programación.

En los distintos manuales incluimosm más webgrafía especifica de cada sección.


Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.





3. Operadores

3.1. Aritméticos

Definiciónes

Logo C++ Basico

Un operador es un elemento del programa que permite hacer una operación sobre uno o varios datos guardados.

El operador examina los datos iniciales y los manipula de manera que obtiene un resultado, que es otro dato. el dato "resultado" no se obtiene al azar, sino que resulta de aplicar un proceso, matemático o lógico en la mayoría de los casos, sobre los datos iniciales.

A los datos iniciales se les llama operandos, el símbolo o simbolos que indican qué tipo de operación estamos realizando es el operador en sí, mientras que el datom obtenido es el resultado. Muchas veces el resultado acaba ocupando el lugar de un dato inicial, borrando el dato inicial para cambiarlo por el del resultado.

Los operadores más comunes son los aritméticos, que son los que realizan operacones aritméticas, y que requieren que los datos sobre los que se aplican las operaciones sean númericos. Estos son los que veremos en esta página.

Operadores unarios y binarios

Como habreis supuesto, los operadores aritméticos son aquellos que permiten hacer operaciones aritméticas con números. Es decir sumas, restas, etc. Tanto en este tipo de operadores como en otros distinguimos entre operadores unarios y binarios.

Un operador unario es aquel que se aplica a un sólo dato u operando. Por ejemplo, el signo menos (-) delante de un número para cambiarlo a negativo.

Un operador binario es el que requiere de dos datos para aplicarlo, por ejemplo la suma.

Existen también, aunque esto es más raro, operadores ternarios, que son los que requieren de tres operandos para realizar la operación.

Hay quien pretende poner como operadores losm puntos, las comas, los corchetes y otros signos del lenguaje C++ que sirven para realizar algunos cambios en la manera de

Operador de asignación simple

Es el que se usa para asignar un valor a una variable, y consiste en el signo igual. Suponiendo que ya hemos declarado una variable num, lo escribimos así:

num = 5;

Aquí tenemos dos elementos separados por el signo igual, el primero, o elemento de la izquierda, será siempre una variable, y el segundo será un dato, el cual se puede introducir directamente, o mediante otra variable. Recuerda que la variable donde guardamos el dato estará siempre a la izquierda del igual, y a la derecha estará el propio dato que queremos guardar.

El resultado de la operación es el dato que queda guardado en la variable. Taa hemos visto esto en páginas anteriores, por lo que no vamos a instistir más en esta operación.


Operaciones clásicas

Son las operaciones aritméticas que se han hecho siempre con los números: la suma, la resta, la multiplicación y la división. Estas se pueden hacer tanto con números enteros como reales.

A estas hay que añadir la operación módulo, que sólo puede hacerse con números reales, y que consiste en el resto de la división entre dos números. Se indica mediante el signo % (tanto por ciento). Para guardar el resultado de esta operación podemos hacerlo en una variable mediante el operador de asignación.

Por ejemplo, declaramos las siguientes variables:

int a = 7, b = 3, c;

Las dos primeras serán los operandos, y la tercera será donde guardaremos el resultado. ahora veamos cómo realizar las operaciones descritas anteriormente:

c = a + b; // c = 10 ; suma

c = a - b; // c = 4 ; resta

c = a * b; // c = 21 ; multiplicación

c = a / b; // c = 2 ; división

c = a % b; // c = 1 ; módulo

Con números reales (tipo double), la suma, resta, multiplicación y división se hacen de igual manera. Tanto los operandos como el resultado pueden contener decimales. El resultado de la división no es el mismo, ya que con reales si la división no es exacta obtendremos los decimales, mientras que con enteros no tenemos decimales.

Por este mismo motivo no existe la operación módulo con números reales, ya que al obtener los decimales en la división, no tenemos resto.

En todo caso nunca podríamos escribir algo como lo siguiente:

a + b = c;

Ya que tal como hemos visto en la asignación simple, la variable donde guardamos un dato tiene que estar siempre a la izquierda del signo igual. Una sentencia como la anterior da un error de compilación.


Asignación compuesta

La asignación compuesta consiste en operar con dos variables numéricas a, y b, de manera que después de realizar la operación el resultado se le asigna a la variable a, es decir a la primera.

Por ejemplo, tenemos la suma y asignación que la escribimos así:

a += b;

Esto es lo mismo que si hubiéramos puesto :

a = a + b;

Es decir la asignación compuesta es en realidad una forma abreviada de escribir la operación anterior, en donde después de operar, el resultado se guarda en la primera variable.

La asignación compuesta puede hacerse con cualquiera de las operaciones clásicas, vemos la lista:

Al igual que con las operaciones clásicas la operación de módulo y asignación sólo puede hacerse con números enteros, y que la división con números reales no tiene resto.


Cambio de signo

Esta es una operación unaria que consiste en cambiar de signo el valor numérico de una variable, y consiste simplemente en poner el signo menos (-) delante de la variable.

Por ejemplo tenemos las siguientes variables:

int a=5, b=-2;

Si hacemos lo siguiente:

cout << -a << " , " << -b << endl;

el resultado en pantalla nos mostrará los valores de las variables cambiadas de signo. Esto quiere decir que el signo menos (-) delante de cualquier variable numérica, hará que el número cambie de signo.


Incremento y decremento

El operador de incremento es un operador unario que se aplica a variables con datos de tipo numérico, y suma una unidad al número que guarda la variable. Dada una variable de tipo entero, por ejemplo:

int a = 8;

le aplicamos un operador de incremento, lo cual lo escribimos así:

++a;

y el resultado es que la variable a ahora vale a+1, es decir escribir ++a es lo mismo que si hubiéramos puesto a = a + 1, es decir, a = 9.

Lo mismo ocurre con el operador de decremento, el cual resta una unidad al número guardado en la variable, por lo tanto si le aplicamos a la variable anterior el operador de decremento que lo escribiremos:

--a;

Éste disminuye el valor de la variable en una unidad, de manera que si a = 8, después de aplicar la operación tendremos que el valor de la variable a será 7.

preincremento y postincremento

Tenemos dos maneras de aplicar estos operadores, y es ponerlos antes o después de la variable. Podemos escribir ++a; o también escribirlo a++. Lo mismo ocurre con el decremento, que puede ser --a, o a--.

La diferencia entre escribir elm operador antes de la variable (preincremento) o después de la variable (postincremento), no la vemos si éste se realiza de manera simple. Pero si el incremento o decremento se realiza asociado con otras operaciones, no se obtiene el mismo resultado si este es "pre" o "post".

Con "pre", primero se aplica el incremento o decremento, y después el resto de operaciones. Con "post", primero se realizan las operaciones y después se aplica el inremento o decremento. Por ejemplo, si tenemos la siguientes variables:

int a=7, b=3;

Hacemos un preincremento y multiplicamos, sacamos el resultado en pantalla:

cout << ++a * b << endl;

Esta operación da como resultado: (7+1) * 3 = 24. Acabada la operación el valor de a será 7+1=8, y el de b será el mismo (3).

Sin embargo si hacemos un postincremento:

cout << a++ * b << endl;

El resultado de la operación será 7 * 3 = 21. Acabada la operación el valor de a se incrementa una unidad (7+1=8), mientras que el valor de b sigue siendo el mismo (3).

Con el decremento pasa lo mismo, si la operación es de predecremento, primero se resta una unidad y despues se hace la operación, mientras que con el postdecremento, primero se hace la operación, y después se aplica el decremento.

Ejemplo con operaciones

Para terminar la página pondremos un programa coom ejemplo de la utilización de operaciones. Le pediremos al usuario dos números, con los que haremos las operaciones que hemos visto aquí.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
#include<iostream>
using namespace std;

int main() {
    cout << "OPERADORES ARITMETICOS" << endl;
    int a, b, c; //definimos las variables que vamos a usar.
    cout << "Escribe un numero entero; ";//pedimos un primer número al usuario.
    cin >> a; //recogemos el primer número
    cout << "Escribe otro numero entero: "; //pedimos un segundo número.
    cin >> b; //recogemos el segundo número
    /*Mostramos en pantalla el resultado de las operaciones clásicas */
    cout << "Suma: " << a << " + " << b << " = " << a+b << endl;
    cout << "Resta: " << a << " - " << b << " = " << a-b << endl;
    cout << "Multiplicacion: " << a << " * " << b << " = " << a*b << endl;
    cout << "Division: " << a << " / " << b << " = " << a/b << endl;
    cout << "Modulo: " << a << " % " << b << " = " << a%b << endl;
    /*Operadores de asignación compuestos, para no variar el valor inicial del
    primer número (variable a), antes de operar, lo copiamos en otra variable c */
    cout << "Asignacion compuesta:  primer numero = a, segundo numero = b" << endl;
    c=a; c+=b; cout << "a += b; a = " << c << endl;
    c=a; c-=b; cout << "a -= b; a = " << c << endl;
    c=a; c*=b; cout << "a *= b; a = " << c << endl;
    c=a; c/=b; cout << "a /= b; a = " << c << endl;
    c=a; c%=b; cout << "a %= b; a = " << c << endl;
    /*Incremento y Decremento : */
    cout << "Incremento y decremento: " << endl;
    c=a; cout << "++a * b = " << ++c * b << " ; a = " << c << endl;
    c=a; cout << "a++ * b = " << c++ * b << " ; a = " << c << endl;
    c=a; cout << "--a * b = " << --c * b << " ; a = " << c << endl;
    c=a; cout << "a-- * b = " << c-- * b << " ; a = " << c << endl;
}

operaciones

Vemos aquí el resultado de compilar el programa anterior. El programa hace las operaciones que le indicamos con los números que ha introducido el usuario.

La imagen muestra el resultado, cuando el usuario ha introducido los valores 9 y 5.

Observa cómo utilizamos el truco de copiar la variable "a" a la variable "c", y después operar con la variable "c" en lugar de con la "a". De esta manera el valor de la variable "a" no cambia, y podemos volver a utilizarla con el valor inicial en la siguiente operación.






En la siguiente página veremos los operadores condicionales, en los cuales el resultado se obtiene al comparar dos variables.

Operadores condicionales



Manual Básico de C++

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com