Sei sulla pagina 1di 51

Programación en C++

Capitulo II: Codificación en C++


Autor: Fabián Rojas (Ricardo Pizarro) y Juan Quispe
¿Qué es C++?
 C ++ es un lenguaje de programación de nivel medio desarrollada por
Bjarne Stroustrup a partir de 1979 en Bell Labs. C ++ se ejecuta en
una variedad de plataformas, como Windows, Mac OS y varias
versiones de UNIX.
 Es un lenguaje multiparadigma
 Es súper efectivo en algoritmos o software que requieren un buen
rendimiento y eficiencia.
Importar librerías
#include
Librerías

 Las librerías importadas


deben ser declaradas al
principio, y se utiliza el
comando #include para
importarlas.
 Importamos librerías de
C++ usando “<>”.
 El uso de las comillas (“”)
es para importar una
clase y permitir usar sus
métodos.
 El programa ejecutara
todo lo que se
encuentre en el main.
 Es muy similar a Java en
donde tenias un método
main, en C++ es lo
mismo.
Tipos de Datos
Unsigned int type = 0;
Tipo Bits Rango

char 1byte -127 to 127 or 0 to 255

unsigned char 1byte 0 to 255

signed char 1byte -127 to 127

int 4bytes -2147483648 to 2147483647


 Unsigned:
unsigned int 4bytes 0 to 4294967295
Representación de
signed int 4bytes -2147483648 to 2147483647
datos positivos
short int 2bytes -32768 to 32767 (Desde 0 al máximo
unsigned short int 16bytes 0 to 65535 permitido)
signed short int 16bytes -32768 to 32767
 Signed:
long int 4bytes -2147483648 to 2147483647
Representación por
signed long int 4bytes -2147483648 to 2147483647 default para tener
unsigned long int 4bytes 0 to 4,294,967,295 números positivos y
float 4bytes +/- 3.4e +/- 38 (~7 dígitos) negativos.
double 8bytes +/- 1.7e +/- 308 (~15 dígitos)

long double 8bytes +/- 1.7e +/- 308 (~15 dígitos)

wchar_t 2 or 4 bytes 1 wide character


Tipos de Datos
 Integer (int) : números enteros
 Float (float): números decimales
 Double (double): números decimales
 Boolean (bool): true o false, también se puede utilizar 1 ó 0
 String (string): pertenece a la librería estándar <string>
 Auto: Se transforma en el tipo con el que se inicialice. Ejemplo
String
 Para usar este tipo de dato, debemos hacer lo siguiente:
Lectura de Datos
Entrada y salida de datos por pantalla
Antes de comenzar debemos…
Desplegar mensajes
 En la imagen se
observa la sintaxis
de cout. Utilizada
para desplegar
mensajes a través
del programa
(consola).
Desplegar mensajes

 Otra forma de
desplegar mensajes
es esta forma. Pero
nota que no
utilizamos el
namespace std.
Desplegar mensajes
 Para desplegar mensajes junto con variables, debes hacerlo de esta
forma:
 Es muy similar a Java
cuando utilizamos el
símbolo (+) para concatenar
un mensaje.
 Similar a Python 3 cuando
utilizamos el símbolo ( , )
para concatenar un mensaje
Desplegar mensajes

 El endl es un salto de línea similar a


Java cuando utilizamos
System.out.println
Lectura de datos
 Para leer y almacenar los datos
utilizamos cin.
 Pero a veces no es tan sencillo y se
requiere mas conocimiento sobre
este tema.
Diferencia entre cin y getline
getline(cin, variable_x);
CIN

 Al utilizar este comando la cadena de


texto se almacena hasta encontrar un
especio en ella.
GETLINE

 Al complementar el cin con getline, la cadena


de texto se almacena completamente.
 Getline tiene 3 parámetros
 Getline(istream& is, string& str, char delim)
 Is: objeto encargado de la entrada de datos, en
este caso es cin.
 Str: una cadena de texto (string)
 Delim: carácter de detención (por defecto es \n)
Un error fatal con cin

 Analiza y verifica el error.


 En la mayoría de los casos
se recomienda el uso de
getline.
Operadores Básicos
Aritméticos, comparadores y lógicos de bits
Operadores Básicos
Aritméticos Comparadores Lógicos de bits

 Los operadores son similares a Java

Autor: Ricardo Pizarro


Control de flujos
Ciclos y condicional if
Ciclos

 For each
 For iterator
 While
 Do while

Condicionales
 If
 Else
Scope
Tipos de Scope
 Scope Local: Todas las variables declaradas dentro del bloque {}
pertenecen al scope. Las variables “mueren” al terminar el bloque.
 Scope de clase: Son los atributos o miembros declarados dentro de
una clase.
 Scope de namespace: todos las variables definidas dentro de un
namespace. Estas variable mueren al finalizar el programa.
 Scope Global: cualquier variable definido fuera de una función,
namespace, etc. (Variable Global)
 Ejemplo
Constantes
Imposible hacerlos cambiar
Tipos de constantes
 Const: Usado cuando se considera no cambiar el valor de la variable.
 Consexpr: Usado para especificar constantes pero estas se verifican
en tiempo de compilación.
Punteros
Nadie sabe a donde apuntan
Definición
 Una definición muy sencilla es: “Un puntero almacena la dirección de
memoria de una variable. Es utilizado para mejorar el rendimiento de
los programas e incluso algoritmos”
Inicialización y eliminación de punteros
 Todo puntero declarado en el código debe ser eliminado con el
comando delete. Si no se eliminan estos seguirán en la memoria hasta
que finalice el programa.
Arreglos
¿Dinámicos y Estáticos?
Tipos de Arreglos
 Arreglo Estático: tienen un tamaño definido en tiempo de
compilación (Solo se puede usar constantes al inicializar)
Tipos de Arreglos
 Arreglo Dinámico: se crea con un puntero y su tamaño esta definido
en tiempo de ejecución.
 Un arreglo de una dimensión
 Estatico: int array [ ]
 Dinamico: int* array
 Un arreglo de dos dimensiones
 Estatico: int array [ ][ ]
 Dinamico: int** array
Aritmética de punteros
 Los punteros están alocados en memoria continua por lo que un
incremento hace que apunten al siguiente elemento.
Funciones
Siempre sobre el main, por favor.
Parámetros con valor por defecto

 El parámetro y de la función
toma por defecto el valor 2 si
es no es asignado en el main
Paso por valor, referencia y punteros

 El paso por referencia


es mas eficiente ya
que no se requiere
copiar la variable.
Punteros y funciones
 Al asignar un puntero a una función, este puntero debe tener los
mismo parámetros que la función asignada.
Excepciones
Try or catch
Manejo de Excepciones
Lectura de archivos
Entrada y Salida
Instrucciones
 Importa librería <fstream>
 Siempre se debe cerrar el fichero al terminar de usarlo con el
comando close()
 Tipos:
 Ifstream: lectura de ficheros
 Ofstream: escritura de fichero
Getline en Lectura de archivos
 Anteriormente ya definimos getline. En este caso es lo mismo pero lo
interesante esta en su 3er parámetro que es el carácter de detención.
 Cuando se le archivos con delimitadores, por ejemplo
 Juan,18,Calama
 Getline nos ayudara a separar estos términos.
Stringstream
 Para ser uso de Stringstream se necesita importar la librería
<sstream>.
 Lo utilizamos para extraer el texto que contiene una cadena de
caracteres, usándolo junto con getline, permite extraer caracteres
hasta encontrar el delimitador (carácter de detención)
StringStream y getline
Escritura
 Esta vez utilizamos oftream
Próxima Clase

Programación en C++
Capitulo III: POO
Autor: Fabián Rojas (Ricardo Pizarro) y Juan Quispe

Potrebbero piacerti anche