Вы находитесь на странице: 1из 22

Inicio Clase 02

Profesor: Carlos Daz


Clase 02: Asignacin, formato y funciones
matemticas
Operaciones de asignacin =
Operaciones de acumulacin
Formato de salida
Funciones matemticas
Operaciones de asignacin =
Operaciones de acumulacin
Conteo
Ejemplo
#include <iostream>
using namespace std;
int main()
{
int n=8,k;
cout<<"El valor inicial de n es 8\n";
k=++n;
cout<<"n= "<<n<<" k= "<<k<<endl; //Muestra 9 y 9
n=8;
k=n++;
cout<<"n= "<<n<<" k= "<<k<<endl; //Muestra 9 y 8
system("pause");
return 0;
}
Formato de salida de nmeros
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
//Muestra sin formato
cout<<7<<endl;
cout<<975<<endl;
//Uso de setw. Establece un ancho de 8
cout<<setw(8)<<7<<endl;
cout<<setw(8)<<975<<endl;
cout<<setw(8)<<975.0/7<<endl;
//Uso de fixed. Muestra seis decimales
cout<<fixed<<975.0/7<< endl;
system("pause");
return 0;
}
Manipulador Accin
setw(n) Establece el ancho del
campo en n.
fixed Se muestra un punto
decimal y usa seis dgitos
por omisin despus del
punto decimal. Rellena
con ceros a la derecha si
es necesario.
El formato de nmeros
desplegado por cout puede
controlarse mediante
manipuladores. Si el manipulador
requiere un argumento debe
incluirse la librera <iomanip>.
Presentamos los manipuladores
ms comunes:
Formato de salida de nmeros
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
//setfill('carcter'), rellena con un caracter
cout<<setw(8)<<setfill('*')<<12.3<<endl;
//setprecision(n), muestra n cifras significativas
cout<<1024.0/7<<endl;
cout<<setprecision(10)<<1024.0/7<<endl;
//despues de fixed muestra n cifras decimales
cout<<fixed<<setprecision(10)<<1024.0/7<<endl;
system("pause");
return 0;
}
Manipulador Accin
setfill('carcter') Establece el carcter de relleno a la
izquierda. Por defecto es un espacio.
setprecision(n) Muestra n cifras significativas. Si se
designa antes fixed, n ser el nmero
de decimales.
Formato de salida de nmeros
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
//Muestra en notacion cientifica
cout<<scientific<<123.45<<endl;
cout<<fixed<<setprecision(2)<<scientific<<123.45<< endl;
//Convierte a la base indicada
cout<<oct<<15<<endl;
cout<<hex<<15<<endl;
cout<<dec<<0xF<<endl;
//Muestra la base
cout<<showbase<<oct<<15<<endl;
cout<<showbase<<hex<<15<<endl;
cout<<showbase<<dec<<0xF<<endl;
system("pause");
return 0;
}
Manipulador Accin
scientific Muestra los nmeros en notacin cientfica.
oct, hex, dec Muestra en la base indicada.
showbase Muestra la base usada. 0 a la izquierda es para
nmeros octales y 0x es para hexadecimales.
Formato de salida de nmeros
#include <iostream>
using namespace std;
int main()
{
//Muestra los valores true o falso
//en lugar de 1 o 0
bool respuesta = true;
cout << respuesta << endl;
cout << boolalpha << respuesta << endl;
//Muestra 6 digitos o rellena con ceros
cout << 123.4 << endl;
cout << showpoint << 123.4 << endl;
//Muestra el signo + en todos los positivos
cout << showpos << 123.4 << endl;
system("pause");
return 0;
}
Manipulador Accin
showpoint Siempre muestra seis
dgitos en total y
rellena con ceros a la
derecha si es
necesario. Para
valores mayores se
muestra en notacin
cientfica.
showpos Muestra el signo + en
todos los nmeros
positivos.
boolalpha Muestra los valores
lgicos como
verdadero y falso, en
lugar de 1 y 0.
Formato de salida de nmeros
Manipulador Accin
left Justifica a la izquierda todos los nmeros.
right Justifica a la derecha todos los nmeros.
uppercase Muestra dgitos hexadecimales y el exponente en notacin cientfica en
maysculas.
noboolalpha Muestra los valores booleanos como 1 y 0, en lugar de verdadero y falso.
noshowbase No muestra los nmeros octales con 0 a la izquierda ni los hexadecimales
con 0x a la izquierda.
noshowpoint No usa punto decimal para reales sin parte decimal, ni rellena con ceros a
la derecha y muestra un mximo de seis dgitos decimales.
noshowpos No muestra el signo + a la izquierda de un nmero positivo.
nouppercase Muestra dgitos hexadecimales y el exponente en notacin cientfica en
minsculas.
Ejercicio 1
Ejercicio 2
Funciones matemticas
Se debe incluir la librera <cmath>. A continuacin algunas funciones:
Nota: La lista completa de funciones y constantes matemticas se encuentra el
final de las diapositivas.
Ejemplo
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int altura;
double tiempo;
altura = 800;
tiempo = sqrt(2 * altura / 32.2);
cout << "Tardar\xA0 " << tiempo << " segundos en caer "<< altura << " pies.\n";
system("pause");
return 0;
}
Ejercicio 3
Ejercicio 4
Ejercicio 5
Ejercicio 6
Funciones matemticas en C++
Nombre Descripcin
Abs(Decimal) Devuelve el valor absoluto de un nmero
Decimal.
Abs(Double) Devuelve el valor absoluto de un nmero de
punto flotante de precisin doble.
Abs(Int16) Devuelve el valor absoluto de un entero de
16 bits con signo.
Abs(Int32) Devuelve el valor absoluto de un entero de
32 bits con signo.
Abs(Int64) Devuelve el valor absoluto de un entero de
64 bits con signo.
Abs(SByte) Devuelve el valor absoluto de un entero de 8
bits con signo.
Abs(Single) Devuelve el valor absoluto de un nmero de
punto flotante de precisin sencilla.
Acos Devuelve el ngulo cuyo coseno es el
nmero especificado.
Asin Devuelve el ngulo cuyo seno es el nmero
especificado.
Atan Devuelve el ngulo cuya tangente
corresponde al nmero especificado.
Atan2 Devuelve el ngulo cuya tangente es el
cociente de dos nmeros especificados.
BigMul Calcula el producto completo de dos
nmeros de 32 bits.
Ceiling(Decimal) Devuelve el valor integral ms pequeo que
es mayor o igual que el nmero decimal
especificado.
Ceiling(Double) Devuelve el valor integral ms pequeo que
es mayor o igual que el nmero de punto
flotante de precisin doble especificado.
Cos Devuelve el coseno del ngulo especificado.
Cosh Devuelve el coseno hiperblico del ngulo
especificado.
DivRem(Int32, Int32,
Int32%)
Calcula el cociente de dos nmeros enteros
de 32 bits con signo y devuelve tambin el
resto de la divisin como parmetro de
salida.
DivRem(Int64, Int64,
Int64%)
Calcula el cociente de dos nmeros enteros
de 64 bits con signo y devuelve tambin el
resto de la divisin como parmetro de
salida.
Exp Devuelve e elevado a la potencia
especificada.
Floor(Decimal) Devuelve el nmero entero ms grande
menor o igual que el nmero decimal
especificado.
Floor(Double) Devuelve el nmero entero ms grande
menor o igual que el nmero de punto
flotante de precisin doble especificado.
IEEERemainder Devuelve el resto de la divisin de dos nmeros
especificados.
Log(Double) Devuelve el logaritmo natural (en base e) de un
nmero especificado.
Log(Double, Double) Devuelve el logaritmo de un nmero especificado en
una base determinada.
Log10 Devuelve el logaritmo en base 10 de un nmero
especificado.
Max(Byte, Byte) Devuelve el mayor de dos enteros de 8 bits sin signo.
Max(Decimal, Decimal) Devuelve el mayor de dos nmeros decimales.
Max(Double, Double) Devuelve el mayor de dos nmeros de punto flotante
de precisin doble.
Max(Int16, Int16) Devuelve el mayor de dos enteros de 16 bits con
signo.
Max(Int32, Int32) Devuelve el mayor de dos enteros de 32 bits con
signo.
Max(Int64, Int64) Devuelve el mayor de dos enteros de 64 bits con
signo.
Max(SByte, SByte) Devuelve el mayor de dos enteros de 8 bits con signo.
Max(Single, Single) Devuelve el mayor de dos nmeros de punto flotante
de precisin sencilla.
Max(UInt16, UInt16) Devuelve el mayor de dos enteros de 16 bits sin
signo.
Max(UInt32, UInt32) Devuelve el mayor de dos enteros de 32 bits sin
signo.
Max(UInt64, UInt64) Devuelve el mayor de dos enteros de 64 bits sin
signo.
Min(Byte, Byte) Devuelve el menor de dos enteros de 8 bits sin signo.
Min(Decimal, Decimal) Devuelve el menor de dos nmeros decimales.
Min(Double, Double) Devuelve el menor de dos nmeros de punto flotante
de precisin doble.
Min(Int16, Int16) Devuelve el menor de dos enteros de 16 bits con
signo.
Min(Int32, Int32) Devuelve el menor de dos enteros de 32 bits con
signo.
Min(Int64, Int64) Devuelve el menor de dos enteros de 64 bits con
signo.
Min(SByte, SByte) Devuelve el menor de dos enteros de 8 bits con
signo.
Min(Single, Single) Devuelve el menor de dos nmeros de punto flotante
de precisin sencilla.
Min(UInt16, UInt16) Devuelve el menor de dos enteros de 16 bits sin
signo.
Min(UInt32, UInt32) Devuelve el menor de dos enteros de 32 bits sin
signo.
Min(UInt64, UInt64) Devuelve el menor de dos enteros de 64 bits sin
signo.
Pow
Devuelve un nmero especificado elevado a la
potencia especificada.
Round(Decimal) Redondea un valor decimal al valor integral ms
prximo.
Round(Double) Redondea un valor de punto flotante de precisin
doble al valor integral ms cercano.
Round(Decimal, Int32) Redondea un valor decimal al nmero especificado
de dgitos fraccionarios.
Round(Decimal,
MidpointRounding)
Redondea un valor decimal al entero ms prximo.
Un parmetro especifica el redondeo del valor si
est a la mitad del intervalo entre dos nmeros.
Round(Double, Int32) Redondea un valor de punto flotante de precisin
doble al nmero especificado de dgitos
fraccionarios.
Round(Double,
MidpointRounding)
Redondea un valor de punto flotante de precisin
doble al entero ms cercano. Un parmetro
especifica el redondeo del valor si est a la mitad
del intervalo entre dos nmeros.
Round(Decimal, Int32,
MidpointRounding)
Redondea un valor decimal al nmero especificado
de dgitos fraccionarios. Un parmetro especifica el
redondeo del valor si est a la mitad del intervalo
entre dos nmeros.
Round(Double, Int32,
MidpointRounding)
Redondea un valor de punto flotante de precisin
doble al nmero especificado de dgitos
fraccionarios. Un parmetro especifica el redondeo
del valor si est a la mitad del intervalo entre dos
nmeros.
Sign(Decimal) Devuelve un valor que indica el signo de un nmero
decimal.
Sign(Double) Devuelve un valor que indica el signo de un nmero
de punto flotante de precisin doble.
Sign(Int16) Devuelve un valor que indica el signo de un entero
de 16 bits con signo.
Sign(Int32) Devuelve un valor que indica el signo de un entero
de 32 bits con signo.
Sign(Int64) Devuelve un valor que indica el signo de un entero
de 64 bits con signo.
Sign(SByte) Devuelve un valor que indica el signo de un entero
de 8 bits con signo.
Sign(Single) Devuelve un valor que indica el signo de un nmero
de punto flotante de precisin sencilla.
Sin Devuelve el seno del ngulo especificado.
Sinh Devuelve el seno hiperblico del ngulo
especificado.
Sqrt Devuelve la raz cuadrada de un nmero
especificado.
Tan Devuelve la tangente del ngulo especificado.
Tanh Devuelve la tangente hiperblica del ngulo
especificado.
Truncate(Decimal) Calcula la parte entera de un nmero decimal
especificado.
Truncate(Double) Calcula la parte entera de un nmero de punto
flotante de precisin doble especificado.
Constantes matemticas en C++
Para incluir constantes matemticas en
C++, debemos declarar al principio del
programa #define _USE_MATH_DEFINES
#define _USE_MATH_DEFINES
#include <iostream>
using namespace std;
int main()
{
cout << "e = " <<M_E<<endl;
cout << "pi = " << M_PI << endl;
system("pause");
return 0;
}
Smbolo Expresin Valor
M_E e 2.71828182845904523536
M_LOG2E log2(e) 1.44269504088896340736
M_LOG10E log10(e) 0.434294481903251827651
M_LN2 ln(2) 0.693147180559945309417
M_LN10 ln(10) 2.30258509299404568402
M_PI pi 3.14159265358979323846
M_PI_2 pi/2 1.57079632679489661923
M_PI_4 pi/4 0.785398163397448309616
M_1_PI 1/pi 0.318309886183790671538
M_2_PI 2/pi 0.636619772367581343076
M_2_SQRTPI 2/sqrt(pi) 1.12837916709551257390
M_SQRT2 sqrt(2) 1.41421356237309504880
M_SQRT1_2 1/sqrt(2) 0.707106781186547524401
Fin Clase 02
Profesor: Carlos Daz

Похожие интересы