Está en la página 1de 92

Introducción a C++

María Eugenia Córdoba Escobar


Introducción a C++ Compilación y Ejecución

LENGUAJES DE PROGRAMACIÓN EN C++

Para resolver un problema primero que todo se debe tener en cuenta


los siguientes pasos:

 Conocer el problema, a qué área del conocimiento corresponde,


identificar los datos que proporciona el problema y cuál es el
requerimiento para resolverlo.

 Elaborar el algoritmo o el diseño de la solución al problema.

 Comprobar los resultados de salida con los datos de entrada.

 Finalmente codificarlo en un lenguaje de programación.


Introducción a C++ Compilación y Ejecución

C++ es la respuesta al programador que necesita hacer programas


simples e interactivos o programas muy elaborados y complejos, para
ingeniería o las ciencias en general; o para elaborar interfaces
gráficas para usuarios de Windows, dentro de un contexto de un
lenguaje modular.

Los diferentes fabricantes de software ponen a disposición de los


programadores una serie de compiladores de C++, que permiten
utilizar todas las funciones de C, así como todos sus comandos.
Introducción a C++ Compilación y Ejecución

COMPILADORES DE C++

Visual Studio .NET proporciona las herramientas que necesita el


programador para diseñar, desarrollar, depurar e implementar
aplicaciones Web, servicios Web XML y aplicaciones cliente
tradicionales. Esta suite de productos de Visual Studio .NET incluye
herramientas de desarrollo tales como: Visual Basic, Visual C#, Visual
C++ y JScript.
En cuanto a compiladores de código abierto y online encontramos
una gran diversidad y que en nuestro caso nos ayudarán sin
necesidad de tener que instalar más Software en nuestros equipos.

A continuación se mencionan algunos de los compiladores más


utilizados para programar en C++:
Introducción a C++ Compilación y Ejecución
Introducción a C++ Compilación y Ejecución
Introducción a C++ Compilación y Ejecución

PROCESO DE EJECUCIÓN DE UN PROGRAMA

Se mencionarán a continuación los elementos que nos


permiten la creación de un programa en C++, el proceso
de ejecución del programa y la depuración o corrección
de errores.

Las fases de compilación y ejecución del programa


dependen del compilador C++, que utilice, en términos
generales los programas de C++ pasan a través de cinco
fases para su ejecución: editar, preprocesar, compilar,
enlazar y ejecutar.
Introducción a C++ Compilación y Ejecución

ARCHIVOS QUE ARCHIVOS QUE SE


FASE INCORPORAN
PRODUCE

Código Fuente:
EDITAR .cpp

Archivo
PREPROCESAR
cabecera: .h
Código Objeto:
COMPILAR
.obj
Archivo ejecutable:
ENLAZAR .exe Bibliotecas

EJECUTAR
Introducción a C++ Compilación y Ejecución

Fase editar
Consiste en escribir el código del programa y generar el archivo fuente.
Se debe guardar este archivo con extensión .CPP, para que sea
reconocido por el compilador C++.

Los compiladores como Borland C++ y Visual C++, traen incorporado un


editor (procesador de palabra) bajo ambiente Windows sencillo de
manejar. De cualquier manera en caso de no tener el editor de C++,
usted puede utilizar un procesador de palabra de Windows como
WordPad o el block de notas, para escribirlo.
Introducción a C++ Compilación y Ejecución
Introducción a C++ Compilación y Ejecución
Fase Preprocesador
Permite procesar el código e incluir los archivos de cabecera necesarios que le
proporcionen al compilador la información necesaria de las funciones de
biblioteca. Por ejemplo, integra el archivo de cabecera iostream.h, cuando el
código trae la instrucción de preprocesador #include<iostream>.

Fase Compilador

Cuando se compila el programa, el programa traduce el código fuente a código


objeto, generando un archivo de extensión .OBJ. El código objeto es también
llamado código de máquina y es la conversión del programa fuente en código
binario, es decir en ceros (0) y unos (1). La compilación es la fase más costosa del
proceso y esto es debido a que el compilador debe analizar el texto de nuestro
programa fuente, comprobar que no contiene errores y producir como salida un
archivo con la traducción de nuestro código a un conjunto de instrucciones para el
procesador.
Introducción a C++ Compilación y Ejecución
Fase enlace

Un programa extenso en C++ puede estar almacenado en archivos


diferentes de programa, en este caso cada archivo puede compilarse
de manera separada, pero finalmente deben formar un solo programa
antes de ejecutarlo. El enlazador (linker) reúne cada uno de los
archivos objeto producidos en la fase anterior con el código de las
funciones definidas en bibliotecas estándar o bibliotecas particulares,
para producir el archivo ejecutable de extensión .EXE.

Fase de ejecución

En esta fase se pone en marcha el programa, utilizando el archivo de


extensión .EXE, generado anteriormente. Este archivo ejecutable
contiene todo el código de máquina necesario para ejecutar el
programa, con solo escribir el nombre del archivo en el indicador de
órdenes o haciendo clic en el icono del archivo.
Introducción a C++ Compilación y Ejecución
ERRORES EN LOS PROGRAMAS

Cuando un programa se compila puede suceder que contenga errores, estos


deben ser detectados y corregidos, a este proceso se le denomina Depuración.

Las situaciones más comunes en las cuales suelen aparecer errores son: El no
cumplimiento de las reglas gramaticales o errores de sintaxis y los errores en el
diseño del algoritmo o errores lógicos.

 Errores fatales (fault): La compilación se detiene automáticamente. Por


ejemplo hacer una división por cero entre números reales.

 Errores de sintaxis: Son el incumplimiento a las reglas de sintaxis del lenguaje


o errores al acceso a memoria o a disco. Por ejemplo olvidar un punto y
coma al final de una sentencia.

 Advertencias (Warning): No impiden la compilación, pero indican que


deben verificarse ciertas condiciones o sentencias del programa. Por
ejemplo operar un dato de variables reales en una variable entera.
Introducción a C++ Compilación y Ejecución

Errores de sintaxis

Son los producidos cuando se violan las reglas de sintaxis o gramática


del lenguaje, entre los más frecuentes tenemos:

 Omitir los puntos y comas al final de las sentencias.


 Olvido de las llaves que cierran.
 Olvidar las instrucciones de preprocesador que llaman alguna
función específica.
 Olvido de las comillas para las cadenas.
 Uso de variables sin definir.
 Olvido de parámetros.
 Utilización de palabras reservadas para identificar variables,
funciones, etc.
Introducción a C++ Compilación y Ejecución
Introducción a C++ Compilación y Ejecución
Para corregir estos errores haga doble clic en el error y el editor lo llevará a la
línea de código que presenta el error.

Las palabras reservadas en un lenguaje de programación son palabras clave


que se utilizan con un propósito específico, intentar utilizarlas para otros
propósitos, como nombre de variable o constante, generaría mensajes de
error.

La siguiente tabla muestra algunas palabras claves que utiliza el lenguaje de


programación C++:
ALGUNAS PALABRAS RESERVADAS EN C++
Auto Default For Return
Break Do If Short
Case Double Int Switch
Char Else Long Unsigned
Class Enum Private Void
const float public while
Introducción a C++ Compilación y Ejecución

En los manuales de referencia, se acostumbra utilizar la letra cursiva para


señalar cuando se refiere a palabras reservadas.

Errores lógicos

Estos no suelen ser detectados por el compilador, ya que no produce


ningún mensaje de error. Se presentan por lo general en el diseño del
algoritmo o el diseño de la solución al problema. Para solucionarlos se
debe corregir el algoritmo y comprobar los resultados de salida con los
datos dados de entrada.

Por ejemplo si al operar una variable que tiene un dato de entrada, se


olvida colocar paréntesis para alterar la jerarquía de los operadores
puede generar un resultado erróneo, que no es detectado por el
compilador.

y=5*x+2 es diferente a y=5*(x+2)


Introducción a C++

Obtenga manuales y cursos en Internet en:

http://lawebdelprogramador.com/cursos/cplus
plus/
http://www.conclase.net/
Introducción a C++

ESTRUCTURA DE UN PROGRAMA EN C++

Un programa en C++ incluye entre otros: Comentarios, la


función main(), declaraciones globales, directivas de
preprocesador y las funciones definidas por el usuario.

El siguiente ejemplo ilustra la estructura típica general de


un programa en

C++:
Introducción a C++
1. /*programa que calcula el área de un círculo de
Las líneas 1 y 2 son comentarios.
2. radio 1 al 10, en una función de usuario */
Las líneas 3, 4 y 5 son directivas de
3. #define PI 3.14 preprocesador.
4. #include < iostream >
5. using namespace std;
La línea 6 es el prototipo o declaración de
la función de usuario.
6. double circulo(double); La línea 7 es el punto inicial de entrada al
7. int main() programa o función principal del programa.
8. {
9. double r; La línea 8 es la llave del inicio de bloque de
int x; sentencias o inicio del programa principal.
10. for(x=1;x<=10;x++)
Las líneas 9, 10, 11 y 12, son las instrucciones
11. cout<<x<<" "<<circulo(r)<<endl;
que debe ejecutar el programa principal.
12. return 0;
13. } En la línea 11 está el llamado de la función.

14. double circulo(double y) La línea 13 es la llave de fin del bloque de


15. { sentencias o fin del programa principal.
16. return PI*y*y;
17. }
Las líneas de la 14 a la 17, definen la función
de usuario o estructura de la función.
Introducción a C++
Los comentarios

Los comentarios son pequeñas anotaciones de texto que clarifican alguna


parte del código y permiten documentar el programa por la persona que lo
escribe, son muy útiles en el momento en que es leído el programa por otra
persona diferente al autor.

En C++ hay dos formas de escribir los comentarios:


Iniciando con /* y terminándolo con */ o utilizando dos “slash” (//) por cada
línea de comentario.
/*
Institución: Universidad Militar Nueva Granada
Programado por: Álvaro Méndez
Aplicación: Área de un Circulo
Versión: 2.0
Revisión: 1
Objeto: Calcular el área de un circulo dados los radios comprendidos de 1 a 10
Fecha: 8 de Marzo de 2010
*/
Introducción a C++
La función main()

La función main() es el punto inicial de entrada al programa principal y es


obligatorio que todos los programas de C++ la tengan.

En programas cortos, la totalidad de las sentencias van en el bloque de sentencias


de main(), sin embargo en programas largos desde el programa principal, se
hacen llamadas a funciones definidas por el usuario.

Su estructura puede ser alguna de las dos que se muestran a continuación:


void main() int main()
{ {
: :
: :
: :
} return 0;
}

Entre las llaves va el bloque de sentencias o programa principal.


Introducción a C++

Declaraciones globales

Las declaraciones globales van por fuera del programa principal e incluyen
directivas de preprocesador, prototipos de funciones, variables y constantes
globales y otras instrucciones que le indican al compilador que lo aquí
declarado es común para todas las funciones del programa.

Ejemplo de declaraciones globales en un programa:


DECLARACIONES
GLOBALES
Introducción a C++

Directivas de preprocesador
Inician con el signo de número (#) y son las instrucciones que le
indican al compilador que lea estas sentencias antes de compilar la
función principal del programa, se acostumbra colocarlas al inicio
del programa o por lo menos antes de que se mencionen las
instrucciones correspondientes a la directiva.

Estas directivas pueden definir inclusión de archivos de cabecera,


macros, nombres de constantes, archivos fuente adicionales, etc.
Introducción a C++

Las dos directivas de preprocesador más usuales son: #include y


#define. Con la directiva #include, incorporamos los archivos de
cabecera que proporcionan al compilador la información
necesaria de las funciones de biblioteca, para que se puedan
ejecutar entre otras, sentencias de entrada y salida de datos,
funciones matemáticas, o funciones de cadena. Con la directiva
#define, podemos definir constantes simbólicas, para insertar su
valor directamente en el código.

Para incluir los archivo de cabecera en un programa, utilizamos la


directiva #include y encerramos entre corchetes puntudos (< >) el
nombre del archivo de cabecera. Por ejemplo:
Introducción a C++

#include <iostream>

Así, el archivo de cabecera iostream, proporciona al compilador C++, la


información necesaria sobre las funciones de biblioteca que realizan
operaciones de entrada y salida de datos, y todas las demás
operaciones relacionadas; iostream es un archivo de texto ASCII, que se
encuentra en la carpeta include, generada al instalar C++.

La directiva using namespace std;, le indica al programa que utilizará


objetos que tienen nombre en una región especial denominada std. Esta
región especial contiene los nombres de muchos objetos predefinidos
que se utilizan al escribir los programas.

En el presente manual se harán los ejemplos para Visual.Net, por lo cual si


tiene otro compilador instalado, verifique la escritura de las librerías y la
utilización de using namespace std;, ya que puede no necesitar esta
línea.
Introducción a C++
Funciones definidas por el usuario

Un programa en C++ se compone de una o más funciones, una función


(llamada también rutina) agrupa las instrucciones para realizar una o más
acciones o tareas.

Las funciones escritas en C++ pueden no estar todas en un mismo archivo


(esto es, pueden escribirse programas en C++ cuyo código esté repartido
en varios archivos).

Toda función de usuario está compuesta por los siguientes elementos:

 El prototipo de la función o la cabecera de función: Permite declarar o


identificar la función, el tipo de datos que devuelve y los parámetros
que recibe la función.
Introducción a C++

 Llamada de la función: Es mencionar la función para que sea


invocada, normalmente se hace desde la función principal.

 Estructura de la función: Contiene el código de la función.

Cuando el compilador encuentra una sentencia de llamada de una


función, significa que el programa utilizará el conjunto de sentencias que
le permiten al programador la resolución de un problema o la realización
de una tarea específica.

La facilidad de utilizar funciones hace que la programación pueda ser


modular, es decir que un programa se divida en módulos para realizar
tareas específicas o subdividir problemas muy largos.
Introducción a C++

ELEMENTOS BÁSICOS DE UN LENGUAJE DE PROGRAMACIÓN

En el algoritmo se decide las variables, constantes, los tipos de datos de


entrada y salida y los cálculos que se van a realizar en un programa. A
continuación se mostrará la sintaxis en C++, de cada una de las
expresiones que se requieran para hacer el programa.

Tipos de datos en C++

Los programas en C++ pueden procesar diferentes tipos de datos. Los


tres tipos básicos de datos en C++ son, los de números enteros, los de
números de punto flotante (reales) y los de carácter:
Introducción a C++

Tipo de dato entero

Es el cero o cualquier número positivo o negativo sin decimales. En C++


los denominamos de tipo int.

Algunas variantes de este tipo de dato entero son: short, long y


unsigned.

Ejemplos de datos enteros:

0 3 -11 +30 1000 -31500

Ejemplos de datos que NO son enteros:

3.0 +30.0 -31500.


Introducción a C++

Tipo de dato de punto flotante (reales)

Es cualquier número positivo o negativo con o sin signo que tiene punto
decimal. En C++ los denominamos de tipo float, double o long double.

Ejemplos de datos de punto flotante:

3.0 -11.0 +30. 1000.20 -31500.625

Ejemplos de datos que NO son de punto flotante:

25 +123 -31,500.20 $10.50


Introducción a C++
Tipo de dato carácter
Incluye las letras del alfabeto mayúsculas o minúsculas, los dígitos del o al
9, los símbolos especiales como el +, $, @. Los valores caracteres se
almacenan en la mayoría de los computadores utilizando el código
ASCII, así por ejemplo, al almacenar la letra A se almacena el código
ASCII que en binario es 01000001 o en decimal el 65. En C++ los datos
carácter los denominamos de tipo char.

Los valores caracteres son reconocidos en C++, como un solo elemento


que deben ser encerrados entre comillas sencillas.

Ejemplos de datos carácter:


‘A’ ‘3’ ‘$’ ‘a’ ‘*’ ‘,’

Ejemplos de datos que NO son carácter:


3 ‘ABC’
Introducción a C++

Tipo de dato cadena

Un dato de tipo cadena se puede considerar como un conjunto de


caracteres de tipo char.

Su representación se diferencia del tipo char porque esta va encerrado


entre comillas dobles.

Las variables de tipo string en C++ tienen un tamaño hasta de 28 bytes y


para poder utilizarla se requiere incluir la librería <string>
Ejemplos:

string SALUDO, opcion1 ;


SALUDO = " HOLA COMO ESTAS";
opcion1 = " 1. Area del circulo";
Introducción a C++

Otros tipos de datos

Otros tipos de datos utilizados en C++ son: el de tipo boleano y el tipo


vacío:

 Tipo de dato boleano: Permite declarar variables lógicas que pueden


almacenar los valores de verdadero o falso. En C++ los denominamos
de tipo bool.

Ejemplo:

bool respuesta=true;

 Tipo de dato vacío: En C++ los denominamos de tipo void. Ejemplo:

void funcion void;


Introducción a C++
La siguiente tabla muestra los principales tipos de datos en C++, sus tamaños en
bytes y el rango de valores que puede almacenar:

En el momento de seleccionar el tipo de dato, verifique en la tabla anterior, si es


dato entero o real y a continuación el tamaño del tipo de dato a utilizar.

TIPO DE DATO TAMAÑO RANGO DE VALORES EJEMPLO

bool 1 Byte True, false 5<3, false char

char 1 Byte –128 a 127 @, #, A

string 28 Byte “ Buenos días”

int 4 Byte 2.147.483.648 a 2.147.483.647 1255, -1255

short int 2 Bytes -32.768 a 32.767 100

long int 4 Bytes 2.147.483.648 a 2.147.483.647 5000000

unsigned int 2 Bytes 0 a 65.535 1255

–3.4E-38 a 3.4E38
float 4 Bytes 1255.369
Seis dígitos de precisión

double o –1.7E-308 a 1.7E308


8 Bytes 1255.36942173
loung double Quince dígitos de precisión
Introducción a C++

Por ejemplo, si en el algoritmo se decide trabajar variables,


constantes o tipos de datos de entrada o salida que sean
enteros positivos y mayores de cincuenta mil, debemos
escoger un tipo de dato long int. Si nuestros datos contienen
dos números decimales escogemos datos float. Si nuestros
datos son números con muchos decimales es mejor optar por
tipo de dato double.
Introducción a C++

Variables en C++

En C++ una variable es una posición de memoria con nombre, donde


se almacena un valor de un cierto tipo de dato que puede ser
modificado, durante la ejecución de un programa.

Toda variable debe ser declarada previamente a su utilización, se


recomienda se haga al principio del bloque de instrucciones, aunque
se podría hacer en cualquier parte del programa.

Toda variable tiene cuatro elementos principales: El tipo de dato, el


nombre, el contenido de la variable y la dirección de la variable.
Introducción a C++

El tipo de dato, tiene que ver con escoger un tipo de dato de los de
C++. Por ejemplo int, float o char.

El nombre identifica la variable, se aconseja utilizar un nombre que


describa su propósito. Por ejemplo: Para almacenar datos personales,
sería conveniente utilizar variables con los siguientes nombres:
apellido1, apellido2, nombre, edad, fechaNacimiento, sueldo_básico.

Al valor real almacenado en la variable se le conoce como el


contenido de la variable.

La dirección en la variable es la ubicación física en la memoria, por


ejemplo 0x8f5afff4.
Introducción a C++
La declaración de una variable en un programa en C++, es una
sentencia simple con la siguiente sintaxis:

Tipo-de-variable nombre-de-variable;

Por ejemplo:

char respuesta;
int edad;
int x,y,z;

Las variables se pueden inicializar en su declaración

Tipo-de-variable nombre-de-variable = dato;


Introducción a C++
Por ejemplo:

char opcion; float peso = 50.1; int x = 0,y = 1,z = 23;

En los ejemplos anteriores, se definen variables escribiendo el tipo de


dato, a continuación el identificador o nombre de la variable y
opcionalmente el valor inicial que tomará. Cuando se necesite
declarar varias variables de un mismo tipo, se puede hacer una
declaración abreviada en una sola sentencia.

En C++ los identificadores son palabras compuestas de letras y/o


números de hasta 32 caracteres significativos, que nos permiten dar
nombre a variables, constantes, funciones o clases. Tenga en cuenta
las siguientes reglas para seleccionar un identificador:
Introducción a C++
 Debe ser una secuencia de letras, números o el carácter subrayado
( _ ), donde el primer carácter debe ser una letra o el subrayado.

 Los identificadores son sensibles a la mayúscula y la minúscula. Por


ejemplo es diferente la variable Neto, a la variable, neto.

 No dejar espacios en blanco, ni utilizar símbolos extraños en ellas,


como el * o el - . Por ejemplo no utilice un identificador como Valor-
Neto o Valor neto.

 Escoja identificadores claros y con referencia directa al problema.


Por ejemplo para almacenar el salario de un empleado utilice el
identificador salario, para almacenar los datos de la abscisa x,
utilice el identificador x.
Introducción a C++
 El nombre de variable puede tener cualquier longitud pero solo es
significativo los 32 primeros caracteres.

 Los identificadores de variables no pueden ser palabras reservadas,


porque el lenguaje la asociaría con algún significado en especial.
Por ejemplo una variable no se puede llamar void, int, else, const,
switch.

Para determinar la dirección física en la memoria de una variable se


utiliza el operador (&). Por ejemplo:

&precio;

Indica la dirección física del primer byte utilizado por precio, algo así
como: 0x8f5afff4.
Introducción a C++

Constantes en C++

Las constantes a diferencia de las variables son valores fijos, que no se


modifican en el programa. En C++ las constantes se pueden definir de
dos formas, las constantes declaradas que utilizan la palabra const y
las constantes simbólicas que se definen en las instrucciones de
preprocesador mediante la palabra #define. Adicionalmente
podemos definir constantes enumeradas que permiten crear listas de
elementos afines. Al igual que las variables, las constantes deben ser
declaradas previamente a su utilización.
Introducción a C++
Constantes simbólicas

Adicionalmente puede hacer uso del preprocesador para definir


constantes simbólicas, mediante la directiva #define que permite insertar
el valor de la constante directamente en el código. Al compilar se
sustituye tal cual un valor por otro, tenga o no sentido, y no se reserva
memoria para el valor.

Por ejemplo:

#define LONGITUD 10
#define VALOR 54
#define pi 3.141592
#define NUEVALINEA ‘\n’

Observe que no se especifica en estas constantes el tipo de dato, como


si se requiere cuando se declara la constante en la función principal o en
una de usuario, esto si no se maneja con cuidado, puede algunas veces
ocasionar errores al compilar.
Introducción a C++
Al definir constantes simbólicas, se puede de la misma manera definir
macros, así:
#define PI 3.14
#define AREA_CIRCULO(x) PI * (x) * (x)

Ahora podemos usar la macro como si fuera una función normal, así:

int main()
{
double a;
a = AREA_CIRCULO(3);
}
Durante la compilación la macro se expande a:

a = 3.14 * (3) * (3)

Donde la variable a almacena el resultado 28.26.


Introducción a C++

Operadores de asignación

Los operadores de asignación permiten establecer el valor de la


expresión derecha a la variable o constante situada a la izquierda.

Por ejemplo:

long int código =324589;

A la variable entera larga de nombre código, se le asigna mediante el


operador “=” el valor 324589. Adicional al operador “=”, C++ cuenta con
otros operadores de asignación que permiten simplificar las expresiones:
Introducción a C++

Símbolo Uso Equivale

= a=b a=b

+= a+=b a=a+b

-= a-=b a=a-b

*= a*=b a=a*b

/= a/=b a=a/b

%= a%=b a=a%b
Introducción a C++
Por ejemplo:

float dato;
dato+=0.2;

A la variable real de nombre dato, se le asigna mediante el operador “+=”


un incremento de 0.2. Estas mismas instrucciones podrían escribirse, así:

float dato;
dato=dato+0.2;

Se pueden realizar asignaciones múltiples por la derecha a variables. Por


ejemplo:

int x, y, z;
x=y=z=6;

A las variables enteras x, y, z, se les asigna el valor 6.


Introducción a C++
Operadores aritméticos
Los operadores aritméticos permiten realizar las operaciones matemáticas
básicas como: suma, resta, multiplicación, división y residuo.
Ejemplo:
Operador Nombre
si x=10 y y=2
+ Suma x + y es igual a 12

– Resta x – y es igual a 8

* Multiplicación x * y es igual a 20

/ División x / y es igual a 5

% Residuo x % y es igual a 0

Las expresiones aritméticas que contengan múltiples operadores serán


evaluadas de acuerdo a la prioridad o jerarquía del operador, así:

Nivel 1.- Paréntesis


Nivel 2.- Multiplicaciones, divisiones y residuo
Nivel 3.- Sumas y restas
Introducción a C++

Dos o más operadores de la misma jerarquía u orden, se resuelven de


izquierda a derecha. Por ejemplo:

3+4*2 es igual a 11
(3+4)*2 es igual a 14
10/2+3*2 es igual a 11
10/(2+3)*2 es igual a 4
10%3 es igual 1
2+7%3*5 es igual a 7

Note que en C++, no hay operadores para exponentes ni radicales, en


caso de necesitarse se debe recurrir a las funciones estándar de
biblioteca.
Introducción a C++
Operadores incrementales y decrementales

C++, también contiene el operador incremental unitario ++ y el operador


decremental unitario --, que pueden ser utilizados en vez de las
expresiones: x=x+1 o x+=1 con tan solo escribir x++. Estos son:
Valor incremento
Operador Nombre Uso
o Decremento
++ incremento ++x 1
x++

- decremento -x 1
x-

Las siguientes sentencias parecerían que tienen el mismo efecto:

++n; n++;

--n; n--;
Introducción a C++

Sin embargo, cuando se utilizan los operadores ++ y -- de prefijos, las


operaciones se efectúan antes de las operaciones de asignación. Si los
operadores están de sufijos, la asignación se efectúa en primer lugar y
la operación a continuación.

Por ejemplo:

int i=10;
int j;
j=i++;
Introducción a C++

Al finalizar la secuencia, la variable j vale 10, ya que el operador ++ está


de sufijo en la variable i, en cambio i toma el valor 11. Los resultados son
diferentes si los operadores están de prefijo:

int i=10;
int j;
j=++i;

La variable j toma el valor 11, al igual que la variable i.

Los operadores incrementales y decrementales tienen mayor jerarquía


que los operadores aritméticos.
UNIDAD 5: LENGUAJES DE PROGRAMACIÓN EN C++

Operadores relacionales

Cuando se utilizan los operadores relacionales en una expresión de C++, el operador produce un cero
(0), o un uno (1), dependiendo del resultado de la expresión: falso o verdadero, respectivamente:

Operador Relacional Significado


> Mayor que
>= Mayor o igual que

< Menor que


<= Menor o igual que
== Igual que
!= Diferente
Introducción a C++

Por ejemplo, si se escribe:

La variable c asume el valor 1.


int c;
c= 3<7;
Si declara variables booleanas, estas almacenarán valores, verdadero
(true) o falso (false). Por ejemplo, si se escribe:
bool d;
d=3<7;

La variable d asume el valor verdadero (1).


Los datos caracteres se comparan utilizando el código ASCII. Por ejemplo:

‘A’ < ‘a’;

Es verdadera, ya que A es el código ASCII 65 y es menor que a, de código


Introducción a C++
Operadores lógicos

Estos operadores unen dos o más expresiones relacionales sencillas. Es


decir, nos permiten unir varias relaciones.

Operador Nombre Acción


&& Y (and) Conjunción

|| O (or) Disyunción

! NO (not) Negación

El operador ! tiene prioridad sobre &&, que a su vez tiene mayor prioridad que ||.
Los operadores lógicos devuelven un valor verdadero o falso como
resultado de operar varias expresiones.
Introducción a C++
El operador lógico &&, produce un valor verdadero solo si ambas
expresiones son verdaderas. El operador lógico ||, produce un valor
verdadero si cualquiera de las expresiones es verdadera.

Por ejemplo:

int c;
c = 3 < 7 && 4 !=8

La variable c asume el valor verdadero (1), ya que 3<7 es verdadero y


4!=8 es verdadero, luego verdadero && verdadero, produce verdadero
(1).
Introducción a C++

A continuación se presenta una tabla que resume la forma como se


relacionan dos expresiones relaciónales:

P Q P && Q P || Q !P
Verdadero Verdadero Verdadero Verdadero Falso

Verdadero Falso Falso Verdadero Falso

Falso Verdadero Falso Verdadero Verdadero

Falso Falso Falso Falso Verdadero


Introducción a C++

ENTRADA Y SALIDA DE DATOS

Para manejar entrada o salida de datos en C++, utilizamos el flujo


estándar de salida cout y el operador de inserción <<; y para las entradas,
el flujo cin y el operador de extracción >>.

Para utilizar entradas/salidas de flujo o streams, los programas C++ deben


incluir el archivo de cabecera iostream.

Salida (cout)

Utilice cout, cuando desea visualizar en la pantalla de su equipo datos. El


operador de inserción <<, inserta datos en el flujo cout.
Introducción a C++

Los textos que queremos visualizar en pantalla van entre comillas dobles. Salida

(cout)

Ejemplo 1:
Es posible utilizar una serie de operadores << en cascada.
int x=100, y=200;
cout<< “Valor final ”<<x<<” “<<y;

Visualiza:

Valor final 100 200

Para imprimir los datos que guardan las variables, solamente mencione el
nombre de la variable, a continuación del operador de inserción <<; no
utilice comillas.
Introducción a C++

 Ejemplo 2:

cout<<”El resultado es: ”<<3*5<<endl<<”y la suma es: ”<<3+5;

Visualiza:

El resultado es: 15
y la suma es: 8
Introducción a C++
Entrada (cin)

Utilice cin, cuando desea introducir datos por teclado. El operador de


extracción >>, extrae valores del flujo para almacenarlos en variables.

Por ejemplo:
int n;
double x;
cout <<”Ingrese los datos: ”<<endl;
cin>>n;
cin>>x;

Visualiza:
Ingrese los datos:
100
5,2546897
Introducción a C++
En las variable n y x, se almacenarán los datos introducidos por teclado
en el respectivo orden, esto es, en n se almacenará 100 y en x se
almacenará 5.2546897.

Podríamos haber utilizado una sola línea de código para el ingreso de


los datos, así:

int n;
double x;
cout<<”Ingrese los datos: ”<<endl;
cin>>n>>x;
Introducción a C++
Caracteres de control
Son llamados también secuencias de escape y nos permiten avanzar líneas,
hacer tabuladores, retroceder, etc. Estos efectos deben ser introducidos en forma
de carácter, esto es, entre comillas dobles. Para que se ejecute la acción hay
que usar una barra invertida (\) y una letra sin espacio en medio, de esta forma
serán interpretados en forma distinta al texto normal:
Acción Acción
Carácter de control Carácter de control
\n Avance de línea o retorno \v Tabulación vertical
de carro

\t Tabulación horizontal \’ Identifica una comilla


simple

\” Identifica una comilla doble \b Backspace o retroceso


(espacio atrás)

\f Salta a una nueva hoja \r Retorno al principio de línea

\a Pitido \xhh Número hexadecimal

\000 Número octal


Introducción a C++

Por ejemplo:

cout<<"Codigo \t Nombre \t Salario \n Fin de la impresión";

Visualiza:

Codigo Nombre Salario

Fin de la impresión
Introducción a C++
Formato numérico en C++

En C++ podemos dar formato a los datos numéricos que imprime


la salida cout<<, utilizando manipuladores de ancho de campo
setw(n), de número de decimales setprecision(n), notación
exponencial o decimal setiosflags(n) o escoger el sistema
numérico.

Para utilizar formatos numéricos, los programas C++ deben incluir


el archivo de cabecera iomanip.h.
Introducción a C++
Ejemplos:

Código en C++ Salida

//Impresión sin utilizar formatos numéricos.


#include<iostream> using namespace std; int
main()
{
cout<<"impresion
sinFormato"<<2523456789.6<<endl;
system("pause");
return 0;
}
Introducción a C++
Ejemplos:
Código en C++ Salida

//El mismo ejemplo utilizando formatos


numéricos.
#include<iostream>
#include<iomanip.h>
using namespace std;
int main()
{
cout<<"impresion con
formato"<<setw(18)<<setiosflags(ios::fixed)<<
setprecision(3)<<2523456789.6<<endl;
system("pause");
return 0;
}
setw(18): establece el ancho del campo en 18.
setiosflags(ios::fixed): Despliega el número en notación decimal.
setprecision(3): Determina en tres el número de lugares decimales.
Introducción a C++
5.7. ESTRUCTURAS SECUENCIALES

Las estructuras de control se dividen en tres grandes categorías: secuencia, lógicas o


condicionales y repetición. Lo anterior en función del flujo de ejecución de las instrucciones.

Los programas mostrados hasta el momento, contienen instrucciones de control secuenciales, en


las que se ejecutan todas las instrucciones de arriba hacia abajo en el orden que las escribimos,
cada una de las cuales se ejecutan una sola vez.
Introducción a C++

Ejemplo:

ENUNCIADO:
Elaborar un programa que permita hallar el área de un triángulo
cuyos vértices en coordenadas polares son: (0;0), (6;20º) y
(9;50º).

ANÁLISIS:
La fórmula del área de un triángulo cuyos vértices en
coordenadas
polares son (0;0), (r1;θ1) y (r2;θ2) es: área = ½ r1 r2 sen(θ2-θ1)
Introducción a C++
Código en C++
/*programa para hallar el área de un triángulo dados los vértices en el eje polar
(0;0), (6;20º) y (9;50º) */
#include<iostream>
using namespace std;
int main()
{
double r1=6.0, r2=9.0, a1=20, a2=50, area=0.0,a1c, a2c;
a1c=a1*3.14159/180; /*convierte grados en radianes*/
a2c=a2*3.14159/180;
area=0.5*r1*r2*sin(a2c-a1c);
cout<<"AREA DEL TRIANGULO \n"<<area;
system("pause");
return 0;
}
Salida
Introducción a C++
Código en C++
/*programa para hallar el área de un triángulo dados los vértices en el eje polar
(0;0), (6;20º) y (9;50º) */
#include<iostream>
using namespace std;
int main()
{
double r1=6.0, r2=9.0, a1=20, a2=50, area=0.0,a1c, a2c;
a1c=a1*3.14159/180; /*convierte grados en radianes*/
a2c=a2*3.14159/180;
area=0.5*r1*r2*sin(a2c-a1c);
cout<<"AREA DEL TRIANGULO \n"<<area;
system("pause");
return 0;
}
Salida

INTERPRETACIÓN: Las instrucciones se ejecutan una a una en orden descendente.


En las instrucciones de preprocesador, se incluye el archivo de cabecera math.h,
para que el compilador interprete la función sin(x) que se incluye en el programa.
Introducción a C++

BIBLIOTECA ESTÁNDAR DE FUNCIONES

Los compiladores de C++, proporcionan la biblioteca estándar de


funciones, que contiene una colección de funciones que facilitan el
realizar cálculos matemáticos, manipulación de cadenas, funciones de
entrada y salida, manejo de archivos y muchas otras cosas, de uso
corriente.

Existen muchas de estas librerías, algunas tienen sus características


definidas según el estándar, ANSI C o C++; otras son específicas del
compilador, otras del sistema operativo, también las hay para
plataformas Windows, LINUX u otras. En el presente curso nos limitaremos
a las librerías ANSI C y C++.
Introducción a C++

Cada biblioteca estándar tiene su archivo de cabecera que contiene los


prototipos de todas las funciones de dicha biblioteca y las definiciones
de varios tipos de datos y de constantes requeridas para dichas
funciones. Este archivo de cabecera obligatoriamente se debe
mencionar antes de utilizar la función correspondiente.

Las funciones de biblioteca, se utilizan normalmente en un programa,


escribiendo el nombre de la función y entre paréntesis el argumento o
argumentos de la función.

A continuación mencionaremos algunas de las funciones más útiles de


algunas de estas librerías:
Introducción a C++
Funciones matemáticas de biblioteca <math.h>

Las funciones matemáticas de biblioteca le permiten al programador ejecutar ciertos


cálculos matemáticos comunes. Para utilizar las funciones de la biblioteca de
matemáticas en los programas C++, debe incluir el archivo de cabecera math.h. (en
la versión 2012 no es necesario su utilización)
Función
Matemática Descripción Ejemplo
sqrt(x) Raíz cuadrada de x sqrt(900.0) es 30.0

exp(x) Función exponencial ex exp(1.0) es 2.718282

log(x) logaritmo natural de x log(2.718282) es 1

log10(x) Logaritmo en base 10 de x log10(1.0) es 0.0

ceil(x) Redondea a x al entero más pequeño que no ceil(9.2)=10


se menor que x
floor(x) Redondea a x al entero más grande que no floor(9.2)=9.0
mayor x
pow(x,y) x elevado a la potencia de y (xy) pow(2,7)=128

fmod(x,y) Residuo de x/y, como un número de punto fmod(13.657,2.333)= 1.99


Flotante
sin(x) Seno trigonométrico de x, en radianes sin(0.0)=0.0)

cos(x Coseno trigonométrico de x, en radianes cos(0.0)=1.0


Introducción a C++
Todas las funciones de la biblioteca de matemáticas devuelven datos en
tipo double. Los argumentos de las funciones pueden ser constantes,
variables o expresiones.

Ejemplo 1:
//Ejemplo utilizando una función matemática.
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
cout<<"raiz cuadrada igual a: "<<sqrt(900.0);
system("pause");
return 0;
}
Visualiza: raiz cuadrada igual a: 30

Cuando este enunciado se ejecuta la función matemática sqrt, calcula la raíz


cuadrada del número contenido entre paréntesis, en este caso, la raíz cuadrada de
900.0.
Introducción a C++
Ejemplo 2:
//Ejemplo utilizando una función matemática.
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
double c1=13.0, d=3.0, f=4.0;
cout<<"respuesta: "<<sqrt(c1+d*f);
system("pause");
return 0;
}
Visualiza: Respuesta: 5

Calcula e imprime la raíz cuadrada de 13.0 + 3.0 * 4.0 = 25.0, es decir 5.0.
Introducción a C++

Librería de rutinas de conversión estándar

-Función system("pause")

La función system ejecuta un comando del sistema o un programa


externo almacenado en disco. Cuando se escribe system("pause")
detiene la consola que muestra los resultados luego de ejecutar un
programa.

Esta función nos será muy útil para detener el programa antes de que
termine y la consola desaparezca.
Introducción a C++
Código en C++ Salida
//Ejemplo utilizando variables y una función
matemática.
#include<iostream>
#include <stdlib.h>
using namespace std;
int main()
{
cout << "Hola, mundo." << endl;
system("pause");
return 0;
}

INTERPRETACIÓN:

De este modo el programa se detiene antes de devolver el control y de que


se cierre la consola, muestra el mensaje “Presione una tecla para continuar”.
Introducción a C++
Función system("cls")

Cuando la función se escribe system("cls") borra la consola que muestra los resultados.

Código en C++ Salida


//Ejemplo borrando consola.
#include<iostream>
#include <stdlib.h>
using namespace std;
int main()
{
cout << "Hola, mundo." << endl;
system("pause");
system("cls");
cout << "Hola, nuevamente." <<
endl;
system("pause");
}
INTERPRETACIÓN: Luego de mostrar "Hola, mundo." y que el programa se detiene, se borra
la consola y muestra la nueva consola, "Hola, nuevamente.".
Introducción a C++
Función "rand()"

La función rand genera números aleatorios, entre 0 y RAND_MAX, que es por lo


menos el número 32767 o el valor máximo de un entero de dos bytes (16 bits).

Por ejemplo, si se desea simular un rango de valores del 0 al 5, utilizamos el


operador de módulo (%) en conjunto con rand, así:

rand()%6;

Al 6 se le llama factor de dimensionamiento.

Debido a que la función rand(), genera números seudo aleatorios, esto es, que
cada vez que el programa se ejecute genera la misma secuencia, es mejor
utilizar la función srand(), que genera en el programa números diferentes
tomando un argumento entero como semilla. Si utilizamos la función time() o
reloj del computador como semilla, generaríamos números diferentes cada
vez que se corra el programa.
Introducción a C++
Las funciones rand() y srand(), pertenecen a la biblioteca <iostream> y la
función time() requiere la librería <time.h>
Código en C++ Salida
//Ejemplo con números aleatorios.
#include<iostream>
#include<time.h>
using namespace std;
int main()
{
srand(time(NULL));
cout<<"Estoy lanzando el dado:
"<<endl;
cout<<rand()%6+1<<endl;
system("pause");
return 0;
}
INTERPRETACIÓN: Cada vez que se ejecute el programa genera un número aleatorio del
0 al 5; para simular un dado se le suma uno.
En las instrucciones de preprocesador, se debe incluir el archivo de cabecera iostream.h,
stdlib.h y time.h.
Introducción a C++
Conversión y clasificación de caracteres
• Función "toupper()“ Convierte un carácter a mayúscula.

Código en C++ Salida


//programa que convierte letras minúsculas en
mayúsculas.
#include<iostream>
using namespace std;
int main()
{
char ch;
cout<<"digite una letra en minuscula: "<<endl;
cin>>ch;
int i=toupper(ch);
char t=i;
cout<<"Esa misma letra en mayuscula es: "<<endl;
cout<<t<<endl;
system("pause");
return 0;
}

INTERPRETACIÓN: Con la instrucción int i=toupper(ch);, guardamos en la variable i el entero


ASCII, correspondiente a la letra en mayúscula, para ser asignado a una variable carácter e
imprimirla.
Introducción a C++
Función "tolower()"
Convierte un carácter a minúscula.
ENUNCIADO: Convertir una letra minúscula en mayúscula
Código en C++ Salida
//Programa que convierte letras minúsculas en
mayúsculas.
//Utiliza otras funciones de entrada y salida de
datos
#include<iostream>
using namespace std;
int main()
{
char ch;
cout<<"digite una letra en minuscula: \n”;
int i=toupper(ch);
char t=i;
cout<<"Esa misma letra en mayuscula es: \n
"<<t;
system("pause");
return 0;
Introducción a C++
RESUMEN

 En la presente unidad se establece la importancia del lenguaje de


programación C++, la evolución que ha tenido este lenguaje desde su
creación, muestra la estructura general de un programa en C++ y las
fases en la compilación y ejecución de un programa.

 C++ es un lenguaje de Programación Orientado a Objetos basado en


C, que permite a los programadores hacer programas simples e
interactivos o programas muy elaborados y complejos para ingeniería y
ciencia, además de interfaces gráficas para usuarios de Windows,
dentro de un contexto de un lenguaje modular.

 En 1998, se aprobó el estándar C++ internacional y empezaron a


publicarse los primeros manuales con el estándar ANSI/ISO C++.
Introducción a C++

 Los elementos básicos del lenguaje C++ son los que nos permiten la
creación de un programa, el proceso de ejecución del programa y la
depuración o corrección de errores.

 Un programa en C++ incluye entre otros: Los comentarios, las


declaraciones globales, las directivas de preprocesador, la función
main() y en algunos programas funciones definidas por el usuario.

 Los comentarios, permiten documentar el código fuente por la persona


que lo escribe, son muy útiles en el momento que es leído por otra
persona diferente al autor. En C++, los comentarios pueden iniciar con
/* y se cerrar con */ ó se puede utilizar dos slash (//), por cada línea de
comentario.
Introducción a C++

 Las declaraciones globales y las funciones definidas por el usuario:


Indican al compilador que las funciones de usuario o variables aquí
declaradas son comunes a todas las funciones del programa. Estas
declaraciones se sitúan antes de la función main().

 La función main() es el punto inicial de entrada al programa y todo


programa la debe contener. Las llaves encierran el bloque de
sentencias o programa principal.

 Las directivas de preprocesador: Son las instrucciones que le indican al


compilador que lea estas sentencias antes de compilar la función
principal del programa. Estas directivas inician con el signo de número
(#).
Introducción a C++

 El proceso de ejecución de un programa depende del compilador


C++, que se utilice. En términos generales los programas de C++ pasan
a través de cinco fases para su ejecución: editar, preprocesar,
compilar, enlazar y ejecutar. En cada una de las fases se produce o se
integra un archivo.

 Los errores que surgen en los programas cuando se ejecutan deben ser
detectados y corregidos, a este proceso se le denomina Depuración.
Las situaciones más comunes en las cuales suelen aparecer errores son:
El no cumplimiento de las reglas gramaticales o errores de sintaxis y los
errores en el diseño del algoritmo o errores lógicos.

 Los tipos de datos fundamentales en C++ son: Enteros int, de punto


flotante float, double o long double y los caracteres char.
Introducción a C++

 Una variable en C++ es una posición de memoria con nombre, en


donde se almacena un valor de un cierto tipo de dato y que puede ser
modificado durante la ejecución de un programa.

 Un identificador en C++ es una palabra compuesta de letras y/o


números de hasta 32 caracteres significativos que permite identificar las
variables, constantes, funciones o clases, en C++.

 Las constantes en C++ son valores fijos, que no puede ser modificados
por el programa.
Introducción a C++
 Los operadores fundamentales en C++ son: Operadores de asignación,
aritméticos, lógicos y relaciónales.

Operadores de asignación: =, +=, -=, *=, /=, %=.


Operadores aritméticos= +, -, *, /, %.
Operadores lógicos: <, >, <=, >=, ==, !=.
Operadores relacionales: &&, ||, !.

 Una expresión en C++, es normalmente una ecuación matemática, que


muestra una secuencia de operaciones y operandos que especifican
un cálculo.

 Para manejar entrada/salida de datos, C++ utiliza el flujo estándar de


salida cout y el operador de inserción <<; y el flujo estándar de entrada
cin y el operador de extracción >>.
Introducción a C++
 El Lenguaje C++, proporciona una biblioteca estándar, que contiene
una colección de funciones para llevar a cabo cálculos matemáticos,
manipulación de cadenas, funciones de entrada y salida, generación
de números aleatorios, etc. Cada biblioteca estándar tiene su archivo
de cabecera correspondiente.

 Las funciones se utilizan normalmente en un programa, escribiendo el


nombre de la función y entre paréntesis el argumento o argumentos de
la función. Las funciones matemáticas de biblioteca le permiten al
programador ejecutar ciertos cálculos matemáticos comunes.

 Las estructuras de control registran la secuencia o flujo de ejecución de


las sentencias. Las estructuras de control se dividen en tres grandes
categorías por el flujo de ejecución: secuencia, selección y repetición.
Gracias

También podría gustarte