A.
Curso de Introducción a C++ -
Operaciones Básicas Matemáticas
Operaciones Básicas de Matemáticas
Las operaciones básicas de matemáticas son muy simples en C++. Ten en cuenta
que las operaciones matemáticas en C++ siguen un orden similar al visto en la
escuela. Por ejemplo, las multiplicaciones y divisiones tienen precedencia sobre las
sumas y restas. Pero puedes cambiar el orden en el que se realizan las operaciones
agregando paréntesis.
Operadores Aritméticos
Los operadores aritméticos en C++ se representan de la siguiente forma:
• + para la suma.
• - para la resta.
• / para la división.
• * para la multiplicación.
• % para módulo. Esta operación regresa el residuo de la división, por
ejemplo, 4 % 5 = 4 y 6 % 5 = 1.
• += para sumar y asignar.
• -= para restar y asignar.
• /= para dividir y asignar.
• *= para multiplicar y asignar.
• %= para aplicar módulo y asignar.
• ++ equivalente a += 1.
Veamos unos ejemplos en el siguiente código:
📋
#include <iostream>
using namespace std;
int main() {
int miEntero = 100;
miEntero = miEntero / 10; // miEntero ahora vale 10.
miEntero = miEntero * 10; // miEntero nuevamente vale 100.
miEntero = miEntero + 50; // miEntero vale 150.
miEntero = miEntero - 50; // miEntero regresó a su valor inicial,
100.
miEntero = miEntero + 100 * 2; // miEntero vale 300 porque la mult
iplicación tiene precedencia sobre la suma.
miEntero = (miEntero + 100) * 2; // miEntero vale 800 porque cambi
amos la precedencia por el uso de paréntesis.
miEntero -= 10; // miEntero vale 790 porque hacer -= es equivalent
e a miEntero = miEntero - 10;
miEntero = miEntero % 100; // miEntero vale 90 porque % es el oper
ador módulo.
miEntero++; //miEntero vale 91 porque ++ es equivalente a sumarle
1.
cout << miEntero << endl;
return 0;
}
Pruébalo en línea!
Operadores Lógicos
Un operador lógico funciona de forma similar a los operadores arímeticos, sólo que
en vez de funcionar con variables númericas, funciona con variables booleanas.
C++ cuenta con los siguientes operadores lógicos: * Operador || (OR): La
expresión a || b retorna true si a o b (o ambos) son iguales a true, sino
retorna false. * Operador && (AND): La expresión a && b retorna true si a y b son
ambos iguales a true, sino retorna false. * Operador ! (NOT): La
expresión !a retorna true si a es igual a false; y retorna false si a es igual a true.
Veamos unos ejemplos de uso de operadores lógicos en el siguiente código:
#include <iostream>
using namespace std;
int main() {
bool esDeNoche = false;
bool estaSoleado = true;
bool estaNublado = false;
bool voyASalir = true;
int temperaturaAmbiente = 13;
bool necesitoCargarParaguas = voyASalir && estaNublado;
bool necesitoUsarBloqueadorSolar = voyASalir && estaSoleado;
bool haceFrio = temperaturaAmbiente <= 17;
bool necesitoCargarSueter = voyASalir && haceFrio;
bool necesitoLlevarMochila = necesitoCargarParaguas || necesitoCar
garSueter;
if (necesitoCargarParaguas) {
cout << "Necesito cargar paraguas porque voy a salir y esta nu
blado" << endl;
if (necesitoUsarBloqueadorSolar) {
cout << "Necesito usar bloqueador solar porque voy a salir y e
sta soleado" << endl;
if (necesitoCargarSueter) {
cout << "Necesito cargar sueter porque voy a salir y hace frio
" << endl;
if (necesitoLlevarMochila) {
cout << "Necesito llevar mochila porque necesito cargar mochil
a y/o paraguas" << endl;
return 0;
}
Librería cmath
La librería de matemáticas cmath de C++ es fácil de usar y puedes disponer de ella
incluyendola en tu código:
#include <cmath>
Funciones de cmath
Ahora que incluimos la librería cmath, usemos algunas de sus funciones.
Raíz Cuadrada: sqrt()
Vamos a escribir un programa que lee un número (de tipo float), y luego cálcula y
escribe la raíz cuadrada de ese número.
#include <iostream>
#include <cmath>
using namespace std;
int main() {
float miFloat = 0.0f; // Por default cuando asignamos un decimal a
una variable, el compilador
// lo interpreta como un número de 64 bits p
ero los float son de 32 bits.
// Para solucionar esto agregamos la letra f.
cin >> miFloat;
float raiz = sqrt(miFloat);
cout << raiz << endl;
return 0;
}
Potencias: pow()
Vamos a escribir un programa que lee un número (de tipo float) y luego cácula e
imprime las potencias 2, 3 y 0.5 de ese número.
#include <iostream>
#include <cmath>
using namespace std;
int main(){
float miFloat = 0.0f;
cin >> miFloat;
cout << pow(miFloat, 2) << endl;
cout << pow(miFloat, 3) << endl;
cout << pow(miFloat, 0.5) << endl;
return 0;
Funciones Trigonométricas sin(), cos(), tan()
En la librería cmath las funciones trigonométricas reciben radianes (un número
entre 0 y 2 ) como parámetro. Escribamos un programa que cácula el seno, coseno
y tangente de un número:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
float miFloat;
cin >> miFloat;
cout << sin(miFloat) << endl;
cout << cos(miFloat) << endl;
cout << tan(miFloat) << endl;
return 0;
Manipulación de Decimales en Flotantes round(), trunc(), floor(), ceil()
La librería cmath cuenta con las funciones para manipular los decimales de los
valores de los tipos float y double:
• Función round(): Redondea al valor entero más próximo (por
ejemplo round(2.7) retorna 3 y round(2.1) retorna 2).
• Función floor(): Redondea el valor hacia abajo (por
ejemplo floor(2.9) retorna 2 y floor(-3.1) retorna -4.
• Función ceil(): Redondea el valor hacia arriba (por
ejemplo floor(4.2) retorna 5 y floor(-3.1) retorna -3.
• Función trunc(): Trunca el valor. Es decir elimina todos los dígitos
después del punto decimal (por ejemplo trunc(43.2398) retorna 43.
Veamos un ejemplo de uso de estas funciones:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double miFloat = -2.91234;
cout << miFloat << endl;
cout << round(miFloat) << endl;
cout << floor(miFloat) << endl;
cout << ceil(miFloat) << endl;
cout << trunc(miFloat) << endl;
return 0;
Ejercicio
Tiro Parabólico
Un portero saca el balón desde el césped a una velocidad de v0 m/s. Si la pelota
sale del suelo con un ángulo de rad radianes y cae sobre el campo sin que antes lo
toque ningún jugador. Escribe un programa que lea los valores v0 y rad y calcule la
altura máxima del balón.
La altura máxima de un tiro parábolico está dado por la siguiente
fórmula: = 02⋅sin2( )2 donde =9.81 es la constante de gravedad
y 2( ) es el cuadrado de la función seno aplicada al ángulo .
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double v0;
double rad;
double g = 9.81;
double alturaMaxima;
cin >> v0;
cin >> rad;
alturaMaxima = (pow(v0, 2) * pow(sin(rad), 2)) / (2.0 * g);
cout << alturaMaxima << endl;
return 0;