• No se han encontrado resultados

Tema 3 Introduccion a cc++

N/A
N/A
Protected

Academic year: 2020

Share "Tema 3 Introduccion a cc++"

Copied!
33
0
0

Texto completo

(1)

Tema 3: Introducción a C/C++

Fundamentos de Informática Grados en Ingeniería Industrial

Índice de contenidos

Introducción al lenguaje C/C++.

Un poco de historia. Características de C/C++.

Un primer programa en C/C++.

Compilación.

Conceptos básicos.

Tipo de dato. Variable. Constante. Expresiones.

Tipos de datos fundamentales en C/C++ y sus modificadores.

Operadores.

(2)

Un poco de historia

C evolucionó de dos lenguajes de programación anteriores

BCLP, creado por Martin Richards para escribir software para sistemas operativos y compiladores.

B, creado por Thompson para crear las primeras versiones del sistema operativo UNIX en los laboratorios Bell

El lenguaje de programación C fue creado por Dennis Ritchie en

1972 en los laboratorios Bell.

Agrega tipos de datos a sus predecesores.

C se hizo popular como lenguaje de desarrollo para el sistema operativo UNIX

Un poco de historia

La rápida expansión de C sobre varios tipos de

computadoras hizo que surgieran muchas variantes

En 1989 se unificaron criterios y se adoptó el estándar ANSI de C conocido como ANSI C o C89.

En 1999 se desarrolló otro estándar conocido como el C99

C++ es un C mejorado desarrollado por Bjarne

Stroustrup en los laboratorios Bell.

(3)

Un poco de historia

La programación orientada a objetos no forma parte del

temario de esta asignatura.

Nosotros estudiamos

programación estructurada

y, por lo

tanto, sólo vamos a ver la parte de C/C++ relacionada con

este paradigma de programación.

El futuro de C++, está en

Visual C#

, un lenguaje visual

dentro del entorno .NET, para crear aplicaciones para

Windows, y para Internet.

Características de C/C++

Es un lenguaje estructurado

Permite el uso de subrutinas y estructuras de control

Es un amigable, flexible y muy potente para el programador

C/C++ combina elementos de lenguaje de alto nivel con el control y la flexibilidad que ofrecen lenguajes ensambladores (manipulación de bits, bytes y direcciones).

Es eficiente

Es portable

La portabilidad significa que es posible adaptar el software escrito para un tipo de computadora o sistema operativo en otro. Un programa escrito en C/C++ puede ejecutarse en cualquier ordenador con muy pocas modificaciones o ninguna.

(4)

Un primer programa en C/C++

#include <iostream> using namespace std;

/*Este programa muestra por pantalla la frase “Hola mundo”*/

int main () {

cout << ““““Hola mundo”; return 0;

}

Un primer programa en C/C++

#include <iostream>

using namespace std;

/*Este programa muestra por pantalla la frase “Hola mundo”*/

int main () {

cout << ““““Hola mundo”; return 0;

}

Indica que se debe incluir dentro del programa el contenido del fichero iostream

(5)

Un primer programa en C/C++

#include <iostream> using namespace std;

/*Este programa muestra por pantalla la frase “Hola mundo”*/

int main ()

{

cout << ““““Hola mundo”; return 0;

}

Un programa en C/C++ está formado por una o más funciones

main() es una función que debe aparecer siempre

Todos los programas en C/C++ empiezan a ejecutarse en la función

main()

Un primer programa en C/C++

#include <iostream> using namespace std;

/*Este programa muestra por pantalla la frase “Hola mundo”*/

int main () {

cout << ““““Hola mundo\n”; return 0;

}

Es un comentario.

Los programadores usan comentarios para hacer más comprensibles los programas

(6)

Un primer programa en C/C++

#include <iostream> using namespace std;

/*Este programa muestra por pantalla la frase “Hola mundo”*/

int main () {

cout << ““““Hola mundo”; return 0;

}

Las llaves en este programa indican el inicio y el final de la función

main

Las llaves y el fragmento de programa que va entre ellas forman un bloque

Un primer programa en C/C++

#include <iostream> using namespace std;

/*Este programa muestra por pantalla la frase “Hola mundo”*/

int main () {

cout << ““““Hola mundo”;

return 0; }

Esta línea muestra por pantalla la frase: “Hola mundo”

coutrepresenta al dispositivo de salida estándar (la pantalla)

(7)

Un primer programa en C/C++

#include <iostream> using namespace std;

/*Este programa muestra por pantalla la frase “Hola mundo”*/

int main () {

cout << ““““Hola mundo”; return 0;

} Devuelve un valor al sistema operativo.

El 0 indica que el programa se ejecutó correctamente.

Compilación

Diseñar algoritmo

• Pensar una solución que resuelva el problema que estamos tratando de solucionar.

Escribir código

• Escribir el código fuente del programa en un fichero nombre_programa.cpp

• Para ello hay que “traducir”el algoritmo escrito en pseudocódigo o

diagramas de flujo al lenguaje C/C++.

• Esta tarea se puede realizar utilizando cualquier editor de texto.

Compilar

• Generar el código objeto del programa en un fichero nombre_programa.obj. • Para lograrlo se ejecuta un programa llamado compiladorque traduce el código

fuente al lenguaje máquina del ordenador.

• El compilador comprueba si hemos cometido algún error de sintaxis al escribir el código. Si hay errores se corrigen y se vuelve a ejecutar el compilador

Enlazar

• Generar el fichero ejecutable nombre_programa.exe. • Para conseguirlo se ejecuta un programa llamado linker

• El linker genera un fichero con extensión .exeque ya se puede ejecutar.

Para realizar un programa en C/C++

(8)

Conceptos básicos: tipo de dato

Un programa está formado por instrucciones y datos.

Cada dato de un programa pertenece a una clase llamada

tipo.

Cada tipo viene definido por:

Un rango de valores, que es el conjunto de valores que pertenecen a ese tipo.

Las operacionesque se pueden realizar con los elementos del rango.

Conceptos básicos: tipo de dato

Los tipos básicos de datos en C/C++ son:

Carácter

Número

entero

Número

real

Lógico

Cadena de

caracteres

char

int

float

double

(9)

Conceptos básicos: constante

Una constante en C/C++ es una entidad que posee un

valor

y

es conocida en un programa o algoritmo por un nombre o

identificador

.

El valor es fijado antes de la ejecución del programa y no

puede ser modificado a lo largo de la misma.

Para crear una constante usamos

#define

EJEMPLOS:

#define MAX 1000 #define MIN 5.0 #define LETRA ‘a’

Conceptos básicos: variable

Representa una

posición de memoria

con nombre

(identificador) que se usa para

almacenar un valor

que

puede ser modificado por el programa

.

Todas las variables:

Han de estar declaradas antes de poder ser utilizadas.

(10)

Conceptos básicos: variable

Declaración de variables en C/C++:

tipo

será un tipo de datos válido en C con algún modificador.

lista_de_variables

es una lista de identificadores separados

por comas.

EJEMPLOS:

char letra;

int x,y,z;

double temperatura, presion;

string apellido, nombre;

tipo lista_de variables;

Conceptos básicos: variable

En C/C++ los nombres de las variables y las constantes

(identificadores) no pueden ser cualquiera. Existen unas reglas

que se deben cumplir para que un nombre sea aceptado en un

programa.

1.

Un identificador debe comenzar por una letra.

2.

La primera letra puede ir seguida de:

Letras

Dígitos numéricos

Carácter ‘_’

(11)

Conceptos básicos: identificador

EJEMPLOS de identificadores de variables y constantes

Identificador Válido Justificación 9kj NO Empieza por un número Dia_del_mes SÍ

Dia del mes NO Tiene espacios en blanco A+y NO Contiene el carácter +

k9j Sí

Conceptos básicos: expresión

Una expresión en C/C++ es una combinación de:

Variables

Constantes

Valores constantes

Operadores

Paréntesis

Nombres de funciones especiales (raíz cuadrada, valor absoluto,

etc.)

Una expresión tiene en todo momento un valor

(12)

Conceptos básicos: expresiones

EJEMPLOS de expresiones algebraicas y su equivalente en

C:/C++

Álgebra C/C++

m=a+b+c+d/5

m = (a+b+c+d)/5

y=mx+b y=m*x+b

a2+b2=c2 pow(a,2)+pow(b,2)==pow(c,2)

sqrt(a+(pow(b,2)/3))

m

=

a

+

b

+

c

+

d

5

m

=

a

+

b

+

c

+

d

5

a

+

b

2

3

Tipos de datos en C/C++

El tipo int

Representa a los

números enteros con signo

(positivos y

negativos)

Rango de valores:

Depende del compilador y del ordenador (del número de bits que se reserven para representar un entero).

Si se usan 16 bits, el rangode valores representables es: [ –215, 215–1 ] = [ –32.768, 32.767 ]

(13)

El tipo int

Los números enteros escritos sin punto decimal y sin

exponente son reconocidos por el compilador como

constantes enteras de tipo

int

Se pueden expresar constantes enteras en distintas bases:

Decimal: 1423 5

Octal, empezando por 0: 02617 05

Hexadecimal, empezando por 0x: 0xA8F 0x5

Tipos de datos en C/C++

El tipo

float

Representa

números reales

(con decimales)

Rango de valores:

Dependerá del método utilizado para representar números reales

Normalmente se usan 32 bits para su representación en punto flotante.

(14)

El tipo

float

Los valores de tipo

float

se pueden escribir

en notación habitual:

Ejemplos: 1.23, 0.123, 15.9, 12345.678

en notación científica, con exponente en base 10:

Ejemplos:

0.12*102, es decir 12.3 podría ser:

Tipos de datos en C/C++

0.123e2

123e-1

1.23e1

El tipo

double

Representa

números reales

con algo más del doble de

precisión que el tipo

float

Rango de valores:

Normalmente se usan 64 bits para su representación en punto flotante.

Este sistema permite:

una precisión de 15 o 16 cifras decimales y un exponente cuyo rango es: [10-308, 10+308]

La escritura de valores

double

es igual que en

float

.

(15)

El tipo

char

Se utiliza para almacenar valores definidos en el juego de

caracteres ASCII.

Rango de valores:

El compilador de C trata a los valores de tipo charcomo si fueran enteros sin signo de 8 bits

Una variable de tipo charalmacena el código ASCIIde un carácter

Tipos de datos en C/C++

(16)

Tipos de datos en C/C++

Tabla ASCII (2ª mitad)

El tipo

char

La

asignación

de valores a variables de tipo

char

puede

hacerse:

Asignándole el carácter directamente (entre comillas simples):

char letra = 'A';

Asignándole el código ASCII del carácter:

char letra = 65;

Es importante distinguir entre un carácter numérico y un

número:

char caracter = 4; /* carácter ASCII número 4,

que se corresponde con el carácter '♦' */

(17)

Caráct er

ASCII Acción

\n 10 Nueva línea

\t 9 Tabulador

\b 8 Retroceso

\f 12 Salto de página

\\ 92 Barra atrás

\’ 39 Apóstrofo

\” 34 Comillas dobles

\a 7 Alerta (pitido)

El tipo

char

Existen caracteres especiales (algunos de ellos no son imprimibles) que se representan por un carácter antecedido por la barra inversa \(no es la de división). Los más usuales son:

Estos caracteres se asignan igual que los demás:

char caracter;

caracter = '\t'; caracter = 9;

Tipos de datos en C/C++

Se usan para

alterar el significado del

tipo base

de modo que se

ajuste más a las necesidades del programa. Hay cuatro modificadores

que se aplican a distintos tipos:

unsigned Utiliza el mismo número de bits del tipo al que modificapara representar sólo valores positivos.

Por ejemplo: rango de unsigned int con 16 bits: [0, 65535]

signed Utiliza el mismo número de bits del tipo al que modificapara representar valores positivos y negativos (valor por defecto, por lo que no se suele usar).

short Puede Disminuir el número de bits utilizados para representar el valor y por lo tanto su rango.

long Puede Aumentarel número de bits para representar el valor y por lo tanto su rango.

(18)

Cuadro resumen de tipos:

Modificadores de Tipos

El tipo

bool

Se utiliza para almacenar valores lógicos

Su rango de valores se reduce a dos valores:

true, false

La asignación de valores a variables de tipo boolpuede hacerse asignándole el valor directamente

bool encontrado = true;

Importante, en C estándar:

El valor lógico truese corresponde con cualquier valor numérico distinto de 0.

El valor lógico falsese corresponde con el valor numérico 0.

bool encontrado = 7; /* Contiene el valor true */

(19)

Tipos de datos en C/C++

El ANSI (American National Standards Institute) proporciona

para C++ el

tipo string

que representa una cadena de

caracteres.

Para poder usar el tipo predefinido string lo único que

debemos hacer es #include <string>

Una vez que se ha incluido la cabecera de la librería declaran

como cualquier variable y se les puede asignar cualquier

expresión que sea del mismo tipo o una cadena de caracteres

entre comillas.

#include <iostream> #include <cstdlib> #include <string> using namespace std;

// Programa principal int main()

{

string s1,s2;

s1 = "Hola””””; s2 = s1;

return 0;

DECLARACIÓN de variables de tipo string

ASIGNACIÓN de valores a una variables de tipo string

(20)

Operadores

Los operadores en C/C++ nos permiten realizar

operaciones con los datos.

Cada tipo de datos tiene un conjunto de operadores.

Algunos operadores están sobrecargados, esto es, se

escriben igual pero dependiendo del tipo de dato sobre el

que se aplique actuará de una forma u otra.

Operadores

(nos permiten efectuar operaciones)

Operadores Aritméticos:

Se usan con tipos numéricos (enteros y reales)

Para operaciones aritméticas entre variables, constantes y otras

expresiones:

+ Suma. - Resta. * Multiplicación. / División.

(21)

Operadores

(nos permiten efectuar operaciones)

Operadores Aritméticos:

El resultado de la operación es del mismo

tipo

que sus dos

operandos. Si los dos operandos son de tipos distintos, el

resultado será del tipo con mayor rango.

Ejemplos:

5+2

genera el valor

7

de tipo

int

.

5/2

genera el valor

2

de tipo

int

(sin decimales)

.

5/2.0

genera el valor

2.5

de tipo real.

NOTA: Hay que tener especial cuidado en las operaciones de DIVISIÓN, pensando

especialmente si nos interesa o no calcular los decimales de dicha división.

Operadores

Operador de Asignación:

=

Se usa en todos los tipos de datos para almacenar un valor en

una variable.

Formato:

Variable = Expresión;

Asigna a la variable de la izquierda del

=

el valor resultante de

evaluar la expresión de la derecha.

Ejemplos:

resultado = (x + y – z) / 4;

mi_var = 5;

(22)

Operadores

Operador de Asignación:

=

Asignaciones múltiples. Ejemplos:

x = y = z = 0;

result = entrada = salida = (x+y–z)/4;

Asignación con operación aritmética(o compuesta): Formato: Variable op= Expresión;

Asigna a la variable el valor que se obtiene como resultado de operar su antiguo valor con el valor de la Expresión, usando el operador op.

Ejemplos:

x += 10; equivale a x = x + 10; x –= 5; equivale a x = x – 5;

x *= 3*y + 45; equivale a x = x*(3*y + 45);

Operadores

Operadores

incrementales

:

Incremento: ++ Decremento:

--Aumenta o disminuye el valor de su operando en una unidad.

Puede colocarse como prefijo (pre...) o como sufijo (post...).

Preincremento, Predecremento

La operación de incremento o decremento se lleva a cabo antes de

utilizar el valordel operando, es decir, primero se incrementa (o

decrementa) el valor del operando y luego se utiliza.

Postincremento, Postdecremento

(23)

Operadores

Operación Resultado

++x x = x + 1

--x x = x – 1

x = 100; y = ++x; El valor de y es 101

x = 100; y = x++; El valor de y es 100

cont = 4; ++cont < 5; Falso

cont = 4; cont++ < 5; Verdadero

Ejemplos de uso de

los operadores

++ y

--Operadores

relacionales

Se emplean para hacer comparaciones

Se usan generalmente para construir las expresiones o condiciones empleadas en las sentencias de selección e iteración

El resultado de una expresión con operadores relacionales es siempre falso o cierto

Para las comparaciones de números reales es mejor no usar operadores con igualdad, o lo que es lo mismo, usar sólo > y <, ya que pueden no ser iguales debido a errores de redondeo aunque en realidad deberían serlo.

Operador Acción

< Menor

<= Menor o igual

== Igual

!= Distinto

>= Mayor o igual

> Mayor

(24)

Operadores lógicos

Se emplean para combinar dos o más expresiones relacionales

Se usan generalmente para construir las expresiones o condiciones empleadas en las sentencias de selección e iteración

Operador Acción

&& Y

|| O

! NO

• En C/C++ las expresiones lógicas se evalúan de izquierda a derecha. En el momento en que un elemento invalide la expresión completa cesa la evaluación de la misma:

num = 0;

(num != 0) && (num/3 == 1)

Se evalúa a false

false && ...cualquier cosa

es FALSO

Luego no hace falta seguir evaluando la expresión

No se llega a evaluar

Operadores

Operaciones lógicas V V 0 0

A B A &&B A || B ! B V 0 V 0 1 0 0 0 1 1 1 0 0 1 0 1 V es cualquier valor distinto de 0

(25)

Operadores del tipo

string

= Asignación

Se puede utilizar de varias maneras:

•Asignando una cadena a otra string cadena1= "hola"; string cadena2;

cadena2 = cadena1

•Asignando una cadena constante string cadena3;

cadena3= "adiós";

•Asignando un carácter string cadena4; char ch = 'A'; cadena4 = ch; cadena4 = 'Z';

Operadores del tipo

string

+ Concatenación

Se pueden concatenar:

• Eos variables del tipo string string str1 = "hola"; string str2 = " allí";

string str3 = str1 + str2; //"hola allí"

• Una variable stringy una secuencia de caracteres constante string str1 = "hola";

string str4 = str1 + " allí";

(26)

+=

Concatenación-Asignación

string str1 = "hola"; str1 + = " allí";

== == == == != != != != <<<< >>>> <= <= <= <= >= >= >= >= Comparaciones Comparaciones Comparaciones Comparaciones

Los operadores de comparación devuelven un valor boleano (true/false) Los operandos pueden ser:

• dos variable string

string str1 = "hola"; string str2 = "adios"; if (str1==str2) ...

• una variable stringy una secuencia de caracteres constante.

string str1 = "hola"; if (str1 > "Hola") ...

Operadores del tipo

string

Operadores del tipo

string

[ ] [ ] [ ] [ ] (subíndice) (subíndice)(subíndice) (subíndice)

El operador del subíndice tiene acceso a un carácter en una secuencia.

Muy importante:

•El primer carácter está en la posición CERO.

•No se pude utilizar para añadir caracteres al string, sólo para consultar el valor de un carácter o para modificarlo.

•Para añadir usar la concatenación.

string str10 = "abcdefghi"; char ch = str10[3];

cout << ch << endl; // 'd' str10[5] = 'X';

(27)

Dos funciones del tipo

string

length lengthlength length

Devuelve la longitud (número de caracteres) del string. El tipo devuelto es un tipo entero sin signo (unsigned int).

string str = "hola";

unsigned int numCars = str.length(); // numCars == 4

substr substrsubstr substr

Devuelve una subcadena del string actual, comenzando en la posición que se indica en el primer parámetro y teniendo una longitud de tantos caracteres como se indique en el segundo.

string str1 = "abcdefghi"; str2 = str1.substr (6, 2); cout << str2 << endl; //"gh"

Conversión de tipos

Cambio temporal del tipo de un valor o sub-expresión que

permite mezclar tipos numéricos en una expresión. Pueden

ser:

Implícitas

, las realiza automáticamente el lenguaje

(28)

IMPLÍCITA

: Cuando en una expresión se mezclan constantes

y variables de distintos tipos el compilador convierte de

forma

automática

todo a un único tipo siguiendo las siguientes

reglas:

Promoción: en cualquier operación en la que aparezcan dos tipos

diferentes se eleva el rango del que lo tiene menor para igualarlo al del mayor.

El rango o categoría de los tipos, de mayor a menor, es el siguiente: double > float > long > int > short > char

Los tipos unsignedtienen el mismo rango que los tipos a los que están referidos

En una sentencia de asignación, el resultado final de los cálculos se

reconvierte al tipo de la variable al que está siendo asignado. El proceso puede ser una promoción o una pérdida de rango según la categoría de la variable a la que se le efectúa la asignación.

Conversión de tipos

EXPLÍCITA (casting)

Es una conversión del tipo de una expresión, realizada por

el programador de manera explícita.

La forma general de realizarla es:

int x;

float y = 1.5; float z = 2.5;

(29)

Sentencias

Compilación.

Preprocesador de C

Procesa el programa fuente antes de que éste sea tratado por el compilador

Acciones del preprocesador:

Definición de constantes simbólicas

Inclusiónde otros archivos en el archivo que se va a compilar

Todas las órdenes dirigidas al preprocesador se llaman directivasy comienzan con el símbolo

#

.

Como excepción, en C++, tenemos la “directiva”using namespace std, que será incluida en todos los programas del curso que usen las “canales”de entrada-salida cin-cout(explicadas posteriormente).

(30)

Compilación.

Identificador

Constante que queremos definir (macro)

Texto_a_reemplazar

Secuencia de caracteres que va a ser representada por la macro Puede incluir expresiones con operadores

Todas las apariciones de identificadoren el código fuente del programa son automáticamente sustituidas por texto_a_reemplazar antes de la compilación del programa

Ejemplos:

#define PI 3.1416 #define DOS 2

#define CUATRO DOS*DOS

#define ERROR “Este es un mensaje de error”

#define identificador texto_a_reemplazar

• Definición de constantes simbólicas

Compilación.

En el lugar de la directiva #include se incluye una copia del archivo especificado antes de la compilación del programa

fichero”: para incluir archivos incluidos por el programador

El preprocesador busca el fichero en el directorio donde se encuentra el archivo que se está compilando

<fichero>: para incluir ficheros de cabecera de bibliotecas estándar

El preprocesador busca el fichero en algún directorio estándar del sistema

Ejemplos: #include <stdio.h>

#include <fichero>

(31)

Operaciones de Entrada/Salida (E/S)

La

E/S en C/C++

se gestiona mediante la funcionalidad

que nos proporciona la biblioteca

iostream

.

La palabra

stream

significa en inglés

flujo

o

corriente

(de

datos).

Para usar la E/S de C/C++ hay que incorporar al inicio del

archivo fuente las dos líneas siguientes:

#include <iostream> using namespace std;

Operaciones de Entrada/Salida (E/S)

• Dispositivo de salidaestándar: el monitor cout

• Dispositivo de entradaestándar: el teclado cin

• Tanto en un caso como en otro, lo único que necesitamos son operadores para insertar informaciónen el flujo de salida, o extraer información del flujo de entrada.

>>Operaciones de extracción (para cin)

<<Operación de inserción (para cout).

Entrada

cin >> variable;

cin >> variable1 >> variable 2 >> ...;

Salida

cout << variable;

(32)

#define ENTER '\n' string s;

getline(cin, s, ENTER); LECTURA del string

Operaciones de E/S con cadenas

Salida

se realiza de la misma forma que si fuera un array, es decir, usando

cout << cadena

.

Entrada

: igual que con las cadenas podemos,

usar

cin

, tiene el inconveniente de que se usa el espacio, tabulador

y enter como separadores de las cadenas.

• Si introducimos por ejemplo una frase, sólo leeríamos la primera palabra. •

Solución: función

getline

indicando el carácter terminador, que

debe ser el ENTER:

6.4. EJEMPLOS

#include <iostream>

using namespace std;

int main () {

int edad;

float sueldo;

cout<< "Escriba su edad y sueldo.\n";

cin >> edad >> sueldo;

cout<<"\nEdad:"<<edad<<" Sueldo: "<<sueldo<<"\n";

system("PAUSE"); // Hace una pausa: Es útil si no lo hace el compilador

return 0;

}

6. Operaciones de Entrada/Salida: En C++ y en C

#include <stdio.h>

int main () {

int edad;

float sueldo;

printf("Escriba su edad y sueldo: ");

scanf("%d %f", &edad, &sueldo);

printf("\nEdad: %d Sueldo: %.2f \n", edad, sueldo);

C++

Posible ejecución

Escriba su edad y sueldo.

33 1000

Edad: 33 Sueldo: 1000.00

Posible ejecución

Escriba su edad y sueldo.

33 1000

Edad: 33 Sueldo: 1000

Presione una tecla para continuar....

(33)

Funciones matemáticas

Archivo de definiciones:

#include <cmath> using namespace std;

Funciones trigonometricas:

sin(double alfa) devuelve sin(). cos(double alfa) devuelve cos(). tan(double alfa) devuelve tan().

Funciones trigonometricas inversas:

asin (double x) devuelve sin-1(x) en el rango [-π/2, π/2].

acos (double x) devuelve cos-1(x) en el rango [0, π].

atan (double x) devuelve tan-1(x) en el rango [-π/2, π/2].

atan2 (double y, double x) tan-1(y/x) en [-π, π].

Todas devuelven un número real de tipo double

Todas esperan o devuelven ángulos en radianes

Funciones matemáticas

Funciones de potencias y logaritmos:

exp(double x) devuelve ex .

log(double x) devuelve el logaritmo neperiano ln(x), x > 0. log10(double x) devuelve log10(x), x > 0.

pow(double x, double y) devuelve la potencia xy.

sqrt(double x) devuelve la raíz cuadrada √x, x≥0.

Otras funciones:

fabs(double x) devuelve |x|. floor(double x) devuelve x ceil(double x) devuelve x

En <cstdlib>

abs(int) devuelve el valor absoluto de un numero entero.

Figure

Cuadro resumen de tipos:

Referencias

Documento similar

¿Cómo se traduce la incorporación de ésta en la idea de museo?; ¿Es útil un museo si no puede concebirse como un proyecto cultural colectivo?; ¿Cómo puede ayudar el procomún

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

La Normativa de evaluación del rendimiento académico de los estudiantes y de revisión de calificaciones de la Universidad de Santiago de Compostela, aprobada por el Pleno or-

Objetivo del Proyecto: Fortalecer el proyecto educativo del Centro Fe y Alegría Chiantla, fortaleciendo los procesos que lo constituyen, en el marco de la calidad educativa del

Debido a la calidad y el legado de nuestra compañía, los cuales se reflejan en nuestros pianos, elegir un instrumento hecho por Steinway &amp; Sons tiende a ser una decisión

ma~orrales, y de hombres de poco ingeniD». Apoyándose en la asociación que Covarr ubias hace enh:e letras góticas y letras go rdas, el Sr. además de ser así usado en

o esperar la resolución expresa&#34; (artículo 94 de la Ley de procedimiento administrativo). Luego si opta por esperar la resolución expresa, todo queda supeditado a que se

Gastos derivados de la recaudación de los derechos económicos de la entidad local o de sus organis- mos autónomos cuando aquélla se efectúe por otras enti- dades locales o