SlideShare una empresa de Scribd logo
1 de 60
Tipos de Datos
CLASE 06
Tipos de Datos
• El objetivo de todos los programas es procesar los datos, sean
numéricos, alfabéticos, de audio o de video. Es fundamental para
este objetivo la clasificación de los datos en tipos específicos.
• Por ejemplo, calcular la trayectoria de un cohete requiere
operaciones de comparación con datos basados en caracteres.
Tipos de Datos
• Además, algunas operaciones no son aplicables a ciertos tipos de datos.
Por ejemplo, no tiene sentido sumar nombres. Para impedir que los
programadores intenten ejecutar una operación inapropiada, C++ solo
permite que se ejecuten ciertas operaciones con ciertos tipos de datos.
• Los tipos de dato permitidos y las operaciones apropiadas definidas para
cada tipo se conocen como tipo de dato.
Tipos de Datos
• De manera formal, un tipo de dato se define como un conjunto de
valores y un conjunto de operaciones que pueden aplicarse a estos
valores. Por ejemplo, el conjunto de todos los números enteros
constituye un conjunto de valores, como lo es el conjunto de los
números reales (números que contienen un punto decimal). Estos
dos conjuntos de números, sin embargo, no constituyen un tipo de
dato hasta que se incluye un conjunto de operaciones.
Tipos de Datos
• Estas operaciones por supuesto, son las operaciones matemáticas y de
comparación. La combinación de un conjunto de valores mas las
operaciones se vuelve un tipo de dato verdadero.
• C++ clasifica los datos en uno de dos agrupamientos fundamentales:
tipos de datos de clase y tipos de datos integrados.
• Un tipo de dato de clase, al cual se hace referencia como una clase, para
abreviar, es un tipo de dato creado por el programador.
Tipos de Datos
• Esto significa que el conjunto de valores y operaciones admitidas es
definido por un programador, usando código C++.
• Un tipo de dato integrado es proporcionado como una parte integral del
compilador C++ y no requiere código C++ externo. Por tanto un tipo de
dato integrado puede usarse sin recurrir a adiciones de lenguaje
complementarias, como las proporcionadas por el archivo de
encabezado iostream necesario por el objeto cout.
Tipos de Datos
• Los tipos de dato integrado, los cuales también se conocen como
tipos primitivos, consisten en los tipos numéricos básicos
mostrados en la siguiente figura:
Tipos de dato
numéricos
Tipos de
números enteros
Tipos de
números de
punto flotante
Tipos de Datos
• Y las operaciones enumeradas en la tabla. Como se puede observar
en esta tabla, la mayor parte de las operaciones para tipos
integrados son proporcionadas como símbolos. Esto contrasta con
los tipos de clases, donde la mayor parte de las operaciones son
proporcionadas como funciones.
Tipos de Datos
Tipo de dato integrados Operaciones
Números enteros
Números de punto flotante
, ,*,/,%, , ,! , ,
( ), y operaciones con bitsvsizeof
     
 
, ,*,/, , ,! ,
, , ( )sizeof
    
  
Tipos de Datos
• Al introducir tipos de dato integrado de C++, usaremos literales.
Una literal es un valor aceptable para un tipo de dato. El termino
literal refleja que dicho valor se identifica de manera explicita a si
mismo. (Otro nombre para una literal es un valor literal o
constante).
Tipos de Datos
• El texto, como “¡Hola mundo!” también se denomina valor literal
porque el texto se despliega. Se ha utilizado valores literales a
través de su vida y los ha conocido por lo común como números y
palabras. A continuación, se puede observar algunos ejemplos de
valores no literales, es decir, valores que no se despliegan a sí
mismos sino que son almacenados y se tiene acceso a ellos por
medio de identificadores.
Tipos de dato enteros en C++.
• C++ proporciona nueve tipos de datos integrados, como se muestra
en la figura.
Tipos de Datos
• La diferencia esencial entre los diversos tipos de datos enteros es la
cantidad de almacenamiento usado por cada tipo, el cual afecta al
rango de valores que cada tipo es capaz de representar. Los tres
tipos más importantes usados en forma casi exclusiva en la mayor
parte de las aplicaciones son los tipos de datos int, char y bool.
El tipo de dato int
• El conjunto de valores admitidos por el tipo de dato int son números
enteros. Un valor entero consiste sólo de dígitos y de manera opcional
puede estar precedido por un signo de más (+) o menos (–). Por tanto, un
valor entero puede ser el número cero o cualquier valor numérico
positivo o negativo sin un punto decimal. Ejemplos de enteros válidos
son:
• 0 5 –10 +25 1000 253 –26 351 +36
El tipo de dato int
• Como ilustran estos ejemplos, los enteros pueden contener un
signo explícito. No se permiten comas, puntos decimales ni
símbolos especiales, cómo el signo de dólares. Son ejemplos de
enteros inválidos:
• $255.62 25233.6243892 1492.89 +6.0
El tipo de dato int
• Los diferentes compiladores tienen su propio límite interno para los
valores enteros más grande (más positivo) y más pequeño (más
negativo) que pueden almacenarse en cada tipo de dato. La
asignación de almacenamiento más común es cuatro bytes para el
tipo de dato int, lo cual restringe el conjunto de valores permitido
en este tipo de dato a representar enteros en el rango de
2,147,483,648 a 2,147,483,647.7
El tipo de dato char
• El tipo de dato char se usa para almacenar caracteres individuales. Los
caracteres incluyen las letras del alfabeto (mayúsculas y minúsculas), los
diez dígitos 0 a 9 y símbolos especiales como los siguientes: + $ . , – y !
Un valor de carácter individual es cualquier letra, dígito o símbolo
especial encerrado entre comillas sencillas. Los siguientes son ejemplos
de valores de carácter válidos:
• ‘A’ ‘$’ ‘b’ ‘7’ ‘y’ ‘!’ ‘M’ ‘q’
El tipo de dato char
• Los valores de carácter se almacenan por lo general en una computadora usando los
códigos ASCII o Unicode. ASCII (se pronuncia as-ki) son las siglas de código estándar
americano para intercambio de informacion (American Standard Code for Information
Interchange). El código ASCII proporciona códigos para un conjunto de caracteres
basado en el idioma inglés, más códigos para control de impresión y de despliegue,
como códigos de nueva línea y de expulsión del papel de la impresora. Cada código de
carácter está contenido dentro de un solo byte, lo cual proporciona 256 códigos
distintos. La tabla enumera los códigos en byte ASCII para las letras mayúsculas
El tipo de dato char
El tipo de dato char
• Además, C++ proporciona el código Unicode más nuevo que usa dos bytes por
carácter y puede representar 65 536 caracteres. Este código se usa para
aplicaciones internacionales al proporcionar conjuntos de caracteres en otros
idiomas además del inglés. Como los primeros 256 códigos de Unicode tienen
el mismo valor numérico que los 256 códigos ASCII (el byte adicional se codifica
con ceros), no es necesario preocuparse por cuál código de almacenamiento se
usa cuando se utilizan caracteres en inglés
El tipo de dato char
• Usando la tabla anterior, podemos determinar cómo se almacenan
dentro de una computadora los caracteres ‘B’, ‘A’, ‘R’, ‘T’, ‘E’ y ‘R’,
por ejemplo, usando el código de caracteres ASCII.
• Esta secuencia de seis caracteres requiere seis bytes de
almacenamiento un byte por cada letra y se almacenaría como se
ilustra en la figura siguiente.
El tipo de dato char
El carácter escape
• Un carácter que tiene un significado especial en C++ es la diagonal
inversa, , que se conoce como carácter de escape. Cuando se coloca
este carácter directamente frente a un grupo selecto de caracteres, esto
indica al compilador que escape de la forma en que estos caracteres se
interpretarían en forma normal. La combinación de una diagonal inversa
y estos caracteres específicos se llama secuencia de escape. La tabla
enumera las secuencias de escape más comunes en C++.
El carácter escape
El carácter escape
El tipo de datos bool
• En C++, el tipo de datos bool se usa para representar datos booleanos (lógicos). Por
ello, este tipo de datos está restringido a uno de dos valores: verdadero o falso. Este
tipo de datos es más útil cuando un programa debe examinar una condición específica
y, debido a la condición de ser verdadera o falsa, tomar un curso de acción prescrito.
Por ejemplo, en una aplicación de ventas, la condición que se está examinando podría
ser “la compra total es por $100 o más”. Sólo cuando esta condición es verdadera se
aplica un descuento. Sin embargo, debido a que un tipo de datos booleano usa un
código de almacenamiento de enteros, tiene implicaciones útiles explotadas por casi
todos los programadores profesionales en C++.
Determinación del tamaño de almacenamiento
• Una característica única de C++ es que le permite al programador ver dónde y
cómo se almacenan los valores. Por ejemplo, C++ proporciona un operador
denominado sizeof ( ) que proporciona el número de bytes usados para
almacenar valores para cualquier nombre de tipo de datos incluidos dentro de
los paréntesis del operador. Éste es un operador integrado que no usa un
símbolo aritmético para ejecutar su operación. El programa siguiente usa este
operador para determinar la cantidad de almacenamiento reservado para los
tipos de datos, int, char y bool
Determinación del tamaño de almacenamiento
Ejemplos
• El programa 1 ilustra esta forma al declarar y usar cuatro variables
de precisión doble, usando el objeto cout para desplegar el
contenido de una de las variables
Ejemplos
Ejemplos
Ejemplos
• La colocación de las instrucciones de declaración en el programa 1
es simple, aunque pronto se verá que las cuatro declaraciones
individuales pueden combinarse en una sola declaración.
• Cuando se ejecuta el programa 1, se despliega la siguiente salida:
• El promedio de las calificaciones es 91.25
Ejemplos
• Hay que observar que cuando se inserta un nombre de variable en un objeto cout, el
valor almacenado en la variable se coloca en el flujo de salida y se despliega.
• Del mismo modo en que las variables de números enteros y reales (de precisión
simple, de precisión doble y de doble largo) deben declararse antes que puedan
utilizarse, también debe declararse una variable usada para almacenar un carácter
individual. Las variables de carácter se declaran usando la palabra reservada char. Por
ejemplo, la declaración char ch; declara que ch es una variable de carácter. El
programa 2 ilustra esta declaración y el uso de cout para desplegar el valor
almacenado en una variable de carácter.
Ejemplos
Ejemplos
Ejemplos
• Cuando se ejecuta el programa 2, la salida producida es:
• El carácter almacenado en El carácter almacenado ahora en ch es m Hay
que observar en ch es a el programa 2 que la primera letra almacenada
en la variable ch es a y la segunda letra almacenada es m. En vista que
una variable sólo puede usarse para almacenar un valor a la vez, la
asignación de m a la variable causa de manera automática que a se
sobrescriba.
Ejemplos
• Cuando se ejecuta el programa 2, la salida producida es:
• El carácter almacenado en El carácter almacenado ahora en ch es m Hay
que observar en ch es a el programa 2 que la primera letra almacenada
en la variable ch es a y la segunda letra almacenada es m. En vista que
una variable sólo puede usarse para almacenar un valor a la vez, la
asignación de m a la variable causa de manera automática que a se
sobrescriba.
Declaraciones múltiples
• Las variables que tienen el mismo tipo de datos siempre pueden
agruparse y declararse usando una sola instrucción de declaración.
La forma común de dicha declaración es
Declaraciones múltiples
• Por ejemplo, las cuatro declaraciones separadas usadas en el programa
1,
• double calif1;
• double calif2;
• double total;
• double promedio;
Declaraciones múltiples
• pueden reemplazarse por la instrucción de declaración sencilla
• double calif1, calif2, total, promedio;
• Del mismo modo, las dos declaraciones de carácter,
• char ch;
• char clave;
• pueden reemplazarse con la instrucción de declaración sencilla
• char ch, clave;
Declaraciones múltiples
• Hay que observar que declarar múltiples variables en una sola
declaración requiere que el tipo de datos de las variables sólo se dé una
vez, que todos los nombres de las variables se separen con comas y que
sólo se use un punto y coma para terminar la declaración. El espacio
después de cada coma se inserta por legibilidad y no es indipensable.
• Las instrucciones de declaración también pueden usarse para almacenar
un valor en variables declaradas. Por ejemplo, la instrucción de
declaración
Declaraciones múltiples
• int num1 = 15;
• declara al mismo tiempo la variable num1 como una variable entera y establece el valor de 15
en la variable. Cuando se usa una instrucción de declaración para almacenar un valor en una
variable, se dice que la variable fue inicializada. Por tanto, en este ejemplo es correcto decir
que la variable num1 fue inicializada en 15. Del mismo modo, las instrucciones de declaración
• doubleƒcalif1 = 87.0;
• doubleƒcalif2 = 93.5;
• double total;
Declaraciones múltiples
• declaran tres variables de precisión doble e inicializan dos de ellas.
Cuando se usan inicializaciones, la buena práctica de programación dicta
que cada variable inicializada sea declarada en una línea individual.
Pueden usarse como inicializadores dentro de una función las
constantes, las expresiones que usan sólo constantes (como 87.0 + 12 –
2) y expresiones que usan constantes y variables inicializadas con
anterioridad. Por ejemplo, el programa 1 con una inicialización de
declaración se convierte en el programa 3
Declaraciones múltiples
Declaraciones múltiples
Declaraciones múltiples
• Observe la línea en blanco después de la última instrucción de
declaración. Insertar una línea en blanco después de las
declaraciones de variables colocadas en la parte superior del
cuerpo de una función es una buena práctica de programación.
Mejora tanto la apariencia de un programa como su legibilidad.
Declaraciones múltiples
• Una característica interesante de C++ es que las declaraciones de variables
pueden entremezclarse libremente e incluso estar contenidas con otras
instrucciones; el único requisito es que una variable debe declararse antes de
usarla. Por ejemplo, la variable total en el programa 3 podría haberse
declarado cuando se usó por primera vez empleando la instrucción double
total = calif1 + calif2. En situaciones muy restringidas puede ser útil declarar
una variable en el punto de su primer uso. En general, sin embargo, es
preferible no dispersar las declaraciones sino más bien agruparlas en la manera
más concisa y clara posible, al principio de cada función.
Ejercicios EJE01
• Desarrolle un programa que lea dos números de tipo int de teclado y posteriormente
los escriba en pantalla.
• Ejecútelo introduciendo dos números de tipo int validos (por ejemplo 1234 y 5678).
Posteriormente ejecútelo introduciendo por teclado un primer numero de tipo int (por
ejemplo 1234) e introduciendo por teclado un segundo dato que no pertenezca al tipo
int (por ejemplo hola). Finalmente ejecútelo introduciendo por teclado un primer dato
que no pertenezca al tipo int (por ejemplo hola). Evalué las diferencias entre ambas
ejecuciones del mismo programa.
Ejercicios EJE01
Ejercicios EJE01
Ejercicios EJE02
• Desarrolle un programa que sólo declare variables de tipo int. El
programa deberá leer dos números enteros desde el teclado,
posteriormente los sumará, almacenando el resultado en una
variable, y finalmente escribirá por pantalla el resultado de la suma.
Ejecute dicho programa introduciendo como datos de entrada los
siguientes números y analice los resultados obtenidos
Ejercicios EJE02
• a) -20 y 30.
• b) 20 y -30.
• c) 147483647 y 2000000000.
• d) 200000000 y 2000000000.
• e) 1 y 2147483647.
• f ) 1 y 3000000000
Ejercicios EJE02
Ejercicios EJE02
Ejercicios EJE02
Ejercicios EJE02
Ejercicios EJE02
Ejercicios EJE02
Ejercicios EJE02
Ejercicios EJE02

Más contenido relacionado

La actualidad más candente

Historia del C++ y JAVA
Historia del C++ y JAVAHistoria del C++ y JAVA
Historia del C++ y JAVANohemi Cuesta
 
Tipos de datos, identificadores, variables y constantes
Tipos de datos, identificadores,  variables y constantesTipos de datos, identificadores,  variables y constantes
Tipos de datos, identificadores, variables y constantesIEO Santo Tomás
 
Ejercicio 2 diagrama de flujo
Ejercicio 2 diagrama de flujoEjercicio 2 diagrama de flujo
Ejercicio 2 diagrama de flujolisvancelis
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Estructura y funcionamiento del procesador
Estructura y funcionamiento del procesadorEstructura y funcionamiento del procesador
Estructura y funcionamiento del procesadorJose Diaz Silva
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Archivos Y Procesamiento
Archivos Y ProcesamientoArchivos Y Procesamiento
Archivos Y Procesamientojorgeabustillo
 
3. lenguajes de cuarta generación
3. lenguajes de cuarta generación3. lenguajes de cuarta generación
3. lenguajes de cuarta generaciónevelyna villamar
 
Taller modelo entidad relacion
Taller modelo entidad relacionTaller modelo entidad relacion
Taller modelo entidad relacionBrayan Vega Diaz
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacionAlfonso
 
Importancia de-saber-programar
Importancia de-saber-programarImportancia de-saber-programar
Importancia de-saber-programarAndres Zazueta
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSDarwin Durand
 

La actualidad más candente (20)

Historia del C++ y JAVA
Historia del C++ y JAVAHistoria del C++ y JAVA
Historia del C++ y JAVA
 
Div, idiv, Neg ensamblador
Div, idiv, Neg ensambladorDiv, idiv, Neg ensamblador
Div, idiv, Neg ensamblador
 
Tipos de datos, identificadores, variables y constantes
Tipos de datos, identificadores,  variables y constantesTipos de datos, identificadores,  variables y constantes
Tipos de datos, identificadores, variables y constantes
 
Ejercicio 2 diagrama de flujo
Ejercicio 2 diagrama de flujoEjercicio 2 diagrama de flujo
Ejercicio 2 diagrama de flujo
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Tipos Primitivos y Elementos Léxicos de Java
Tipos Primitivos y Elementos Léxicos de JavaTipos Primitivos y Elementos Léxicos de Java
Tipos Primitivos y Elementos Léxicos de Java
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Herramientas case full informacion
Herramientas case full informacionHerramientas case full informacion
Herramientas case full informacion
 
Estructura y funcionamiento del procesador
Estructura y funcionamiento del procesadorEstructura y funcionamiento del procesador
Estructura y funcionamiento del procesador
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Archivos Y Procesamiento
Archivos Y ProcesamientoArchivos Y Procesamiento
Archivos Y Procesamiento
 
Tipos De Datos
Tipos De DatosTipos De Datos
Tipos De Datos
 
3. lenguajes de cuarta generación
3. lenguajes de cuarta generación3. lenguajes de cuarta generación
3. lenguajes de cuarta generación
 
Pilas estáticas. IESIT
Pilas estáticas. IESITPilas estáticas. IESIT
Pilas estáticas. IESIT
 
Taller modelo entidad relacion
Taller modelo entidad relacionTaller modelo entidad relacion
Taller modelo entidad relacion
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacion
 
Importancia de-saber-programar
Importancia de-saber-programarImportancia de-saber-programar
Importancia de-saber-programar
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
 

Destacado

Condicional if en c++
Condicional if en c++Condicional if en c++
Condicional if en c++Tensor
 
Solución examen 1 con ollydbg
Solución examen 1 con ollydbgSolución examen 1 con ollydbg
Solución examen 1 con ollydbgTensor
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++Tensor
 
Trabajando pescando y revirtiendo seriales con ollydbg
Trabajando pescando y revirtiendo seriales con ollydbgTrabajando pescando y revirtiendo seriales con ollydbg
Trabajando pescando y revirtiendo seriales con ollydbgTensor
 
Ejercicio 2 con ollydbg
Ejercicio 2 con ollydbgEjercicio 2 con ollydbg
Ejercicio 2 con ollydbgTensor
 
Ollydbg introducción
Ollydbg introducciónOllydbg introducción
Ollydbg introducciónTensor
 
Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++Tensor
 
Introducción
IntroducciónIntroducción
IntroducciónTensor
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadasTensor
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticasTensor
 
Clase 0 presentación
Clase 0  presentaciónClase 0  presentación
Clase 0 presentaciónTensor
 
Pse int
Pse intPse int
Pse intTensor
 
Sentencia, secuencia y bloque
Sentencia, secuencia y bloqueSentencia, secuencia y bloque
Sentencia, secuencia y bloqueTensor
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++Tensor
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04Tensor
 
Sentencia, secuencia y bloque
Sentencia, secuencia y bloqueSentencia, secuencia y bloque
Sentencia, secuencia y bloqueTensor
 
Tiristores, características, aplicaciones y funcionamiento.
Tiristores, características, aplicaciones y funcionamiento.Tiristores, características, aplicaciones y funcionamiento.
Tiristores, características, aplicaciones y funcionamiento.J Luis Salguero Fioratti
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Tensor
 

Destacado (18)

Condicional if en c++
Condicional if en c++Condicional if en c++
Condicional if en c++
 
Solución examen 1 con ollydbg
Solución examen 1 con ollydbgSolución examen 1 con ollydbg
Solución examen 1 con ollydbg
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 
Trabajando pescando y revirtiendo seriales con ollydbg
Trabajando pescando y revirtiendo seriales con ollydbgTrabajando pescando y revirtiendo seriales con ollydbg
Trabajando pescando y revirtiendo seriales con ollydbg
 
Ejercicio 2 con ollydbg
Ejercicio 2 con ollydbgEjercicio 2 con ollydbg
Ejercicio 2 con ollydbg
 
Ollydbg introducción
Ollydbg introducciónOllydbg introducción
Ollydbg introducción
 
Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++
 
Introducción
IntroducciónIntroducción
Introducción
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadas
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticas
 
Clase 0 presentación
Clase 0  presentaciónClase 0  presentación
Clase 0 presentación
 
Pse int
Pse intPse int
Pse int
 
Sentencia, secuencia y bloque
Sentencia, secuencia y bloqueSentencia, secuencia y bloque
Sentencia, secuencia y bloque
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04
 
Sentencia, secuencia y bloque
Sentencia, secuencia y bloqueSentencia, secuencia y bloque
Sentencia, secuencia y bloque
 
Tiristores, características, aplicaciones y funcionamiento.
Tiristores, características, aplicaciones y funcionamiento.Tiristores, características, aplicaciones y funcionamiento.
Tiristores, características, aplicaciones y funcionamiento.
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)
 

Similar a Tipos de Datos Fundamentales

Similar a Tipos de Datos Fundamentales (20)

Tipos de datos c++
Tipos de datos c++Tipos de datos c++
Tipos de datos c++
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++
 
Tipos de datos para C++
Tipos de datos para C++Tipos de datos para C++
Tipos de datos para C++
 
Lenguajes De Bajo Nivel
Lenguajes De Bajo NivelLenguajes De Bajo Nivel
Lenguajes De Bajo Nivel
 
Tipos de datos para C++
Tipos de datos para C++Tipos de datos para C++
Tipos de datos para C++
 
Manual de c c++
Manual de c c++Manual de c c++
Manual de c c++
 
Republica bolivariana de venezuela
Republica bolivariana de venezuelaRepublica bolivariana de venezuela
Republica bolivariana de venezuela
 
Presentación de c #
Presentación de c #Presentación de c #
Presentación de c #
 
Tipos de datos_de_virtual_c_
Tipos de datos_de_virtual_c_Tipos de datos_de_virtual_c_
Tipos de datos_de_virtual_c_
 
Escuela Superior Politécnica de Chimborazo
Escuela Superior Politécnica de ChimborazoEscuela Superior Politécnica de Chimborazo
Escuela Superior Politécnica de Chimborazo
 
Codigo C+++
Codigo C+++Codigo C+++
Codigo C+++
 
Tipo de Datos!
Tipo de Datos!Tipo de Datos!
Tipo de Datos!
 
Investigacion tipo de datos
Investigacion tipo de datosInvestigacion tipo de datos
Investigacion tipo de datos
 
Tipo de datos
Tipo de datosTipo de datos
Tipo de datos
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programa
 
T 6
T 6T 6
T 6
 
Algoritmos y Estructura de datos
Algoritmos y Estructura de datosAlgoritmos y Estructura de datos
Algoritmos y Estructura de datos
 
Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_
 
Pseudocodigos
PseudocodigosPseudocodigos
Pseudocodigos
 
TIPO DE DATO EN PROGRAMACION
TIPO DE DATO EN PROGRAMACIONTIPO DE DATO EN PROGRAMACION
TIPO DE DATO EN PROGRAMACION
 

Más de Tensor

Libertad
LibertadLibertad
LibertadTensor
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisecciónTensor
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicularTensor
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colasTensor
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016Tensor
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016Tensor
 
Game maker
Game makerGame maker
Game makerTensor
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016Tensor
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivosTensor
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadenaTensor
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de ordenTensor
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametrosTensor
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposiciónTensor
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricattiTensor
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioTensor
 
Ondas em
Ondas emOndas em
Ondas emTensor
 
Practicas 8 2016
Practicas 8 2016Practicas 8 2016
Practicas 8 2016Tensor
 
Practica 4 2016
Practica 4 2016Practica 4 2016
Practica 4 2016Tensor
 
Practicas 3 2016
Practicas 3 2016Practicas 3 2016
Practicas 3 2016Tensor
 
Practicas 2 2016
Practicas 2 2016Practicas 2 2016
Practicas 2 2016Tensor
 

Más de Tensor (20)

Libertad
LibertadLibertad
Libertad
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisección
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicular
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colas
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016
 
Game maker
Game makerGame maker
Game maker
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivos
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de orden
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametros
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposición
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricatti
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicio
 
Ondas em
Ondas emOndas em
Ondas em
 
Practicas 8 2016
Practicas 8 2016Practicas 8 2016
Practicas 8 2016
 
Practica 4 2016
Practica 4 2016Practica 4 2016
Practica 4 2016
 
Practicas 3 2016
Practicas 3 2016Practicas 3 2016
Practicas 3 2016
 
Practicas 2 2016
Practicas 2 2016Practicas 2 2016
Practicas 2 2016
 

Último

cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 

Tipos de Datos Fundamentales

  • 2. Tipos de Datos • El objetivo de todos los programas es procesar los datos, sean numéricos, alfabéticos, de audio o de video. Es fundamental para este objetivo la clasificación de los datos en tipos específicos. • Por ejemplo, calcular la trayectoria de un cohete requiere operaciones de comparación con datos basados en caracteres.
  • 3. Tipos de Datos • Además, algunas operaciones no son aplicables a ciertos tipos de datos. Por ejemplo, no tiene sentido sumar nombres. Para impedir que los programadores intenten ejecutar una operación inapropiada, C++ solo permite que se ejecuten ciertas operaciones con ciertos tipos de datos. • Los tipos de dato permitidos y las operaciones apropiadas definidas para cada tipo se conocen como tipo de dato.
  • 4. Tipos de Datos • De manera formal, un tipo de dato se define como un conjunto de valores y un conjunto de operaciones que pueden aplicarse a estos valores. Por ejemplo, el conjunto de todos los números enteros constituye un conjunto de valores, como lo es el conjunto de los números reales (números que contienen un punto decimal). Estos dos conjuntos de números, sin embargo, no constituyen un tipo de dato hasta que se incluye un conjunto de operaciones.
  • 5. Tipos de Datos • Estas operaciones por supuesto, son las operaciones matemáticas y de comparación. La combinación de un conjunto de valores mas las operaciones se vuelve un tipo de dato verdadero. • C++ clasifica los datos en uno de dos agrupamientos fundamentales: tipos de datos de clase y tipos de datos integrados. • Un tipo de dato de clase, al cual se hace referencia como una clase, para abreviar, es un tipo de dato creado por el programador.
  • 6. Tipos de Datos • Esto significa que el conjunto de valores y operaciones admitidas es definido por un programador, usando código C++. • Un tipo de dato integrado es proporcionado como una parte integral del compilador C++ y no requiere código C++ externo. Por tanto un tipo de dato integrado puede usarse sin recurrir a adiciones de lenguaje complementarias, como las proporcionadas por el archivo de encabezado iostream necesario por el objeto cout.
  • 7. Tipos de Datos • Los tipos de dato integrado, los cuales también se conocen como tipos primitivos, consisten en los tipos numéricos básicos mostrados en la siguiente figura: Tipos de dato numéricos Tipos de números enteros Tipos de números de punto flotante
  • 8. Tipos de Datos • Y las operaciones enumeradas en la tabla. Como se puede observar en esta tabla, la mayor parte de las operaciones para tipos integrados son proporcionadas como símbolos. Esto contrasta con los tipos de clases, donde la mayor parte de las operaciones son proporcionadas como funciones.
  • 9. Tipos de Datos Tipo de dato integrados Operaciones Números enteros Números de punto flotante , ,*,/,%, , ,! , , ( ), y operaciones con bitsvsizeof         , ,*,/, , ,! , , , ( )sizeof        
  • 10. Tipos de Datos • Al introducir tipos de dato integrado de C++, usaremos literales. Una literal es un valor aceptable para un tipo de dato. El termino literal refleja que dicho valor se identifica de manera explicita a si mismo. (Otro nombre para una literal es un valor literal o constante).
  • 11. Tipos de Datos • El texto, como “¡Hola mundo!” también se denomina valor literal porque el texto se despliega. Se ha utilizado valores literales a través de su vida y los ha conocido por lo común como números y palabras. A continuación, se puede observar algunos ejemplos de valores no literales, es decir, valores que no se despliegan a sí mismos sino que son almacenados y se tiene acceso a ellos por medio de identificadores.
  • 12. Tipos de dato enteros en C++. • C++ proporciona nueve tipos de datos integrados, como se muestra en la figura.
  • 13. Tipos de Datos • La diferencia esencial entre los diversos tipos de datos enteros es la cantidad de almacenamiento usado por cada tipo, el cual afecta al rango de valores que cada tipo es capaz de representar. Los tres tipos más importantes usados en forma casi exclusiva en la mayor parte de las aplicaciones son los tipos de datos int, char y bool.
  • 14. El tipo de dato int • El conjunto de valores admitidos por el tipo de dato int son números enteros. Un valor entero consiste sólo de dígitos y de manera opcional puede estar precedido por un signo de más (+) o menos (–). Por tanto, un valor entero puede ser el número cero o cualquier valor numérico positivo o negativo sin un punto decimal. Ejemplos de enteros válidos son: • 0 5 –10 +25 1000 253 –26 351 +36
  • 15. El tipo de dato int • Como ilustran estos ejemplos, los enteros pueden contener un signo explícito. No se permiten comas, puntos decimales ni símbolos especiales, cómo el signo de dólares. Son ejemplos de enteros inválidos: • $255.62 25233.6243892 1492.89 +6.0
  • 16. El tipo de dato int • Los diferentes compiladores tienen su propio límite interno para los valores enteros más grande (más positivo) y más pequeño (más negativo) que pueden almacenarse en cada tipo de dato. La asignación de almacenamiento más común es cuatro bytes para el tipo de dato int, lo cual restringe el conjunto de valores permitido en este tipo de dato a representar enteros en el rango de 2,147,483,648 a 2,147,483,647.7
  • 17. El tipo de dato char • El tipo de dato char se usa para almacenar caracteres individuales. Los caracteres incluyen las letras del alfabeto (mayúsculas y minúsculas), los diez dígitos 0 a 9 y símbolos especiales como los siguientes: + $ . , – y ! Un valor de carácter individual es cualquier letra, dígito o símbolo especial encerrado entre comillas sencillas. Los siguientes son ejemplos de valores de carácter válidos: • ‘A’ ‘$’ ‘b’ ‘7’ ‘y’ ‘!’ ‘M’ ‘q’
  • 18. El tipo de dato char • Los valores de carácter se almacenan por lo general en una computadora usando los códigos ASCII o Unicode. ASCII (se pronuncia as-ki) son las siglas de código estándar americano para intercambio de informacion (American Standard Code for Information Interchange). El código ASCII proporciona códigos para un conjunto de caracteres basado en el idioma inglés, más códigos para control de impresión y de despliegue, como códigos de nueva línea y de expulsión del papel de la impresora. Cada código de carácter está contenido dentro de un solo byte, lo cual proporciona 256 códigos distintos. La tabla enumera los códigos en byte ASCII para las letras mayúsculas
  • 19. El tipo de dato char
  • 20. El tipo de dato char • Además, C++ proporciona el código Unicode más nuevo que usa dos bytes por carácter y puede representar 65 536 caracteres. Este código se usa para aplicaciones internacionales al proporcionar conjuntos de caracteres en otros idiomas además del inglés. Como los primeros 256 códigos de Unicode tienen el mismo valor numérico que los 256 códigos ASCII (el byte adicional se codifica con ceros), no es necesario preocuparse por cuál código de almacenamiento se usa cuando se utilizan caracteres en inglés
  • 21. El tipo de dato char • Usando la tabla anterior, podemos determinar cómo se almacenan dentro de una computadora los caracteres ‘B’, ‘A’, ‘R’, ‘T’, ‘E’ y ‘R’, por ejemplo, usando el código de caracteres ASCII. • Esta secuencia de seis caracteres requiere seis bytes de almacenamiento un byte por cada letra y se almacenaría como se ilustra en la figura siguiente.
  • 22. El tipo de dato char
  • 23. El carácter escape • Un carácter que tiene un significado especial en C++ es la diagonal inversa, , que se conoce como carácter de escape. Cuando se coloca este carácter directamente frente a un grupo selecto de caracteres, esto indica al compilador que escape de la forma en que estos caracteres se interpretarían en forma normal. La combinación de una diagonal inversa y estos caracteres específicos se llama secuencia de escape. La tabla enumera las secuencias de escape más comunes en C++.
  • 26. El tipo de datos bool • En C++, el tipo de datos bool se usa para representar datos booleanos (lógicos). Por ello, este tipo de datos está restringido a uno de dos valores: verdadero o falso. Este tipo de datos es más útil cuando un programa debe examinar una condición específica y, debido a la condición de ser verdadera o falsa, tomar un curso de acción prescrito. Por ejemplo, en una aplicación de ventas, la condición que se está examinando podría ser “la compra total es por $100 o más”. Sólo cuando esta condición es verdadera se aplica un descuento. Sin embargo, debido a que un tipo de datos booleano usa un código de almacenamiento de enteros, tiene implicaciones útiles explotadas por casi todos los programadores profesionales en C++.
  • 27. Determinación del tamaño de almacenamiento • Una característica única de C++ es que le permite al programador ver dónde y cómo se almacenan los valores. Por ejemplo, C++ proporciona un operador denominado sizeof ( ) que proporciona el número de bytes usados para almacenar valores para cualquier nombre de tipo de datos incluidos dentro de los paréntesis del operador. Éste es un operador integrado que no usa un símbolo aritmético para ejecutar su operación. El programa siguiente usa este operador para determinar la cantidad de almacenamiento reservado para los tipos de datos, int, char y bool
  • 28. Determinación del tamaño de almacenamiento
  • 29. Ejemplos • El programa 1 ilustra esta forma al declarar y usar cuatro variables de precisión doble, usando el objeto cout para desplegar el contenido de una de las variables
  • 32. Ejemplos • La colocación de las instrucciones de declaración en el programa 1 es simple, aunque pronto se verá que las cuatro declaraciones individuales pueden combinarse en una sola declaración. • Cuando se ejecuta el programa 1, se despliega la siguiente salida: • El promedio de las calificaciones es 91.25
  • 33. Ejemplos • Hay que observar que cuando se inserta un nombre de variable en un objeto cout, el valor almacenado en la variable se coloca en el flujo de salida y se despliega. • Del mismo modo en que las variables de números enteros y reales (de precisión simple, de precisión doble y de doble largo) deben declararse antes que puedan utilizarse, también debe declararse una variable usada para almacenar un carácter individual. Las variables de carácter se declaran usando la palabra reservada char. Por ejemplo, la declaración char ch; declara que ch es una variable de carácter. El programa 2 ilustra esta declaración y el uso de cout para desplegar el valor almacenado en una variable de carácter.
  • 36. Ejemplos • Cuando se ejecuta el programa 2, la salida producida es: • El carácter almacenado en El carácter almacenado ahora en ch es m Hay que observar en ch es a el programa 2 que la primera letra almacenada en la variable ch es a y la segunda letra almacenada es m. En vista que una variable sólo puede usarse para almacenar un valor a la vez, la asignación de m a la variable causa de manera automática que a se sobrescriba.
  • 37. Ejemplos • Cuando se ejecuta el programa 2, la salida producida es: • El carácter almacenado en El carácter almacenado ahora en ch es m Hay que observar en ch es a el programa 2 que la primera letra almacenada en la variable ch es a y la segunda letra almacenada es m. En vista que una variable sólo puede usarse para almacenar un valor a la vez, la asignación de m a la variable causa de manera automática que a se sobrescriba.
  • 38. Declaraciones múltiples • Las variables que tienen el mismo tipo de datos siempre pueden agruparse y declararse usando una sola instrucción de declaración. La forma común de dicha declaración es
  • 39. Declaraciones múltiples • Por ejemplo, las cuatro declaraciones separadas usadas en el programa 1, • double calif1; • double calif2; • double total; • double promedio;
  • 40. Declaraciones múltiples • pueden reemplazarse por la instrucción de declaración sencilla • double calif1, calif2, total, promedio; • Del mismo modo, las dos declaraciones de carácter, • char ch; • char clave; • pueden reemplazarse con la instrucción de declaración sencilla • char ch, clave;
  • 41. Declaraciones múltiples • Hay que observar que declarar múltiples variables en una sola declaración requiere que el tipo de datos de las variables sólo se dé una vez, que todos los nombres de las variables se separen con comas y que sólo se use un punto y coma para terminar la declaración. El espacio después de cada coma se inserta por legibilidad y no es indipensable. • Las instrucciones de declaración también pueden usarse para almacenar un valor en variables declaradas. Por ejemplo, la instrucción de declaración
  • 42. Declaraciones múltiples • int num1 = 15; • declara al mismo tiempo la variable num1 como una variable entera y establece el valor de 15 en la variable. Cuando se usa una instrucción de declaración para almacenar un valor en una variable, se dice que la variable fue inicializada. Por tanto, en este ejemplo es correcto decir que la variable num1 fue inicializada en 15. Del mismo modo, las instrucciones de declaración • doubleƒcalif1 = 87.0; • doubleƒcalif2 = 93.5; • double total;
  • 43. Declaraciones múltiples • declaran tres variables de precisión doble e inicializan dos de ellas. Cuando se usan inicializaciones, la buena práctica de programación dicta que cada variable inicializada sea declarada en una línea individual. Pueden usarse como inicializadores dentro de una función las constantes, las expresiones que usan sólo constantes (como 87.0 + 12 – 2) y expresiones que usan constantes y variables inicializadas con anterioridad. Por ejemplo, el programa 1 con una inicialización de declaración se convierte en el programa 3
  • 46. Declaraciones múltiples • Observe la línea en blanco después de la última instrucción de declaración. Insertar una línea en blanco después de las declaraciones de variables colocadas en la parte superior del cuerpo de una función es una buena práctica de programación. Mejora tanto la apariencia de un programa como su legibilidad.
  • 47. Declaraciones múltiples • Una característica interesante de C++ es que las declaraciones de variables pueden entremezclarse libremente e incluso estar contenidas con otras instrucciones; el único requisito es que una variable debe declararse antes de usarla. Por ejemplo, la variable total en el programa 3 podría haberse declarado cuando se usó por primera vez empleando la instrucción double total = calif1 + calif2. En situaciones muy restringidas puede ser útil declarar una variable en el punto de su primer uso. En general, sin embargo, es preferible no dispersar las declaraciones sino más bien agruparlas en la manera más concisa y clara posible, al principio de cada función.
  • 48. Ejercicios EJE01 • Desarrolle un programa que lea dos números de tipo int de teclado y posteriormente los escriba en pantalla. • Ejecútelo introduciendo dos números de tipo int validos (por ejemplo 1234 y 5678). Posteriormente ejecútelo introduciendo por teclado un primer numero de tipo int (por ejemplo 1234) e introduciendo por teclado un segundo dato que no pertenezca al tipo int (por ejemplo hola). Finalmente ejecútelo introduciendo por teclado un primer dato que no pertenezca al tipo int (por ejemplo hola). Evalué las diferencias entre ambas ejecuciones del mismo programa.
  • 51. Ejercicios EJE02 • Desarrolle un programa que sólo declare variables de tipo int. El programa deberá leer dos números enteros desde el teclado, posteriormente los sumará, almacenando el resultado en una variable, y finalmente escribirá por pantalla el resultado de la suma. Ejecute dicho programa introduciendo como datos de entrada los siguientes números y analice los resultados obtenidos
  • 52. Ejercicios EJE02 • a) -20 y 30. • b) 20 y -30. • c) 147483647 y 2000000000. • d) 200000000 y 2000000000. • e) 1 y 2147483647. • f ) 1 y 3000000000