SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Metodología y Técnicas de Programación I 2004/2005 1
Elementos básicos de un lenguaje de alto nivel: C++
CONTENIDOS
1. Estructura básica de un programa C++.
2. Tipos de datos simples.
3. Constantes y variables en C++. Declaración.
4. Operadores y expresiones.
5. Instrucciones de Entrada y Salida.
Algunas características de C++.
Metodología y Técnicas de Programación I 2004/2005 2
1
Estructura básica
de un programa C++
Metodología y Técnicas de Programación I 2004/2005 3
Estructura de un programa C++
Directivas de preprocesador
Declaraciones globales ( varaibles globales, funciones, …)
función main()
{
secuencia de declaraciones e instrucciones
}
función1()
{
secuencia de declaraciones e instrucciones
}
...
funciónN()
{
secuencia de declaraciones e instrucciones
}
Funciones
Componente
estructural
básico: la función
Una de las
funciones ha de ser
main
Metodología y Técnicas de Programación I 2004/2005 4
Un ejemplo sencillo de un programa que intercambia el valor de 2 números:
#include <iostream.h>
int main()
{
int x, y;
int aux;
cin >> x >> y;
aux = x;
x = y;
y = aux;
cout << x <<y;
return 0;
}
Directiva de preprocesamiento Biblioteca de E/S por consola
Este programa usa la definición de
cout para escribir por consola
Cabecera de la función
Cuerpo de la función
{ … }
Estructura de un programa C++
Metodología y Técnicas de Programación I 2004/2005 5
Un ejemplo sencillo de un programa que intercambia el valor de 2 números:
#include <iostream.h>
int main()
{
int x, y;
int aux;
cin >> x >> y;
aux = x;
x = y;
y = aux;
cout << x <<y;
return 0;
}
Flujo de salida por estándar (pantalla)
Declaración de variables locales
Estructura de un programa C++
<< : operador de inserción
para flujos de salida
Flujo de entrada
Devuelve el valor-resultado
Metodología y Técnicas de Programación I 2004/2005 6
Directivas del preprocesador
Los compiladores de C++ proporcionan bibliotecas de funciones.
Cada biblioteca de funciones tiene asociada un archivo de definición que se
denomina cabecera.
Para utilizar algo de una biblioteca en un programa, hay que colocar al
principio del programa una directiva de preprocesamiento seguida de la
cabecera de la biblioteca
entre ángulos. Instrucciones al compilador antes
de que se compile el programa principal
Las directivas más usuales son:
# include
# define
# include <iostream.h>
Indica al compilador que lea las directivas
antes de compilar la función principal
Estructura de un programa C++
Metodología y Técnicas de Programación I 2004/2005 7
Directivas del preprocesador
#include <iostream.h>
int main()
{
cout << “Hola amigos”;
return 0;
}
Por ejemplo, para mostrar datos en la pantalla
podemos usar el operador << con el elemento
cout,
cout << “Hola amigos”;
Pero para poder usar cout y << debemos incluir
la biblioteca donde están definidos.
Esta biblioteca tiene como archivo de cabecera
iostream.h
Una vez que se incluye el archivo de cabecera, se puede utilizar todo lo que
está definido en ella.
Constante de cadena de caracteres
Estructura de un programa C++
Metodología y Técnicas de Programación I 2004/2005 8
Directivas del preprocesador
Existen archivos de cabecera estándar muy utilizados
El uso más frecuente en C++ de las directivas del preprocesador es la
inclusión de archivos de cabecera, pero también se usan para definir
macros, nombres de constantes, etc.
Estructura de un programa C++
stdlib.h
string.h
math.h
conio.h
iostream.h
type.h
Uso de funciones de cadena
Uso de funciones
matemáticas Uso de funciones de E/S
Funciones de clasificación de caracteres
Metodología y Técnicas de Programación I 2004/2005 9
La función main()
Una función C++ es un subprograma que devuelve un valor, un conjunto
de valores o realiza una tarea específica.
Todo programa C++ tiene una única función main() que es el punto
inicial de entrada al programa.
Si se intenta declarar dos funciones
main() dentro del programa se produce error.
Estructura de un programa C++
#include <iostream.h>
main()
{
…
...
}
Las sentencias escritas entre las
llaves se denomina BLOQUE
#include <iostream.h>
int main()
{
entrada_datos();
proceso_datos();
return 0;
...
}
Llamadas a
otras funciones
Metodología y Técnicas de Programación I 2004/2005 10
Comentarios
Un comentario es cualquier información que se escribe el en programa
para proporcionar información de cualquier tipo.
#include <iostream.h>
/* podemos hacer
comentarios que ocupen
varias líneas */
int main()
{
int x, y;
int aux; // éste es un comentario de una sola línea
cin >> x >> y;
...
return 0;
}
Podemos escribir los
comentarios de dos
formas diferentes
Estructura de un programa C++
Metodología y Técnicas de Programación I 2004/2005 11
2
Tipos de datos simples
Metodología y Técnicas de Programación I 2004/2005 12
Tipos de datos básicos en C++
El tipo de dato determina la naturaleza del valor que puede tomar una
variable.Un tipo de dato define un dominio de valores y las operaciones
que se pueden realizar con éstos valores.
C++ dispone de unos cuantos tipos de datos predefinidos (simples) y permite
al programador crear otros tipos de datos
Tipo de datos básicos
• int ( Números enteros )
• float ( Números reales )
• double ( Números reales más grandes que float )
• bool ( Valores lógicos )
• char ( Caracteres y cualquier cantidad de 8 bits )
• void ( Nada. Sirve para indicar que una fonción no devuelve valores )
Metodología y Técnicas de Programación I 2004/2005 13
Tipo int
Tamaño en bytes: 2 bytes (16 bits)
Dominio: son todos los números enteros entre los valores
-32.768 y 32.767
Operaciones:
Tipos de datos básicos en C++
+ Suma
- Resta
* Producto
/ División entera
% Resto de la división entera
(módulo)
- , + Signo negativo, positivo
++ Incrementación
-- Decrementación int →
→
→
→ int
int ×
×
×
× int →
→
→
→ int
Prioridad de los
operadores:
++, - - 10*5++
- , + (unario) -3
* , /, % 3*5
+, - 6+7
Números enteros
10×6
Metodología y Técnicas de Programación I 2004/2005 14
Operadores de incrementación y decrementación
Se trata de los operadores: ++ - -
Suma una unidad
a su argumento Resta una unidad
a su argumento
m = m + 1;
m++;
++m;
Son equivalentes
Si precede al operando, se realiza la operación ++
o -- y luego se realiza la asignación.
Si sigue al operando, se realiza la asignación y
posteriormente se realiza la operación ++ o --
x = 10;
y = x++; // y vale 10
x = 10;
y = ++x; // y vale 11
Tipos de datos básicos en C++
Metodología y Técnicas de Programación I 2004/2005 15
Tipo float
Tamaño en bytes: 4 bytes
Dominio: son todos los números reales que contienen una coma decimal
comprendidos entre los valores:
3,4 × 10-38 y 3,4 × 1038
Operaciones:
Tipos de datos básicos en C++
+ Suma
- Resta
* Producto
/ División en coma flotante
float ×
×
×
× float →
→
→
→ float
La prioridad de los
operadores es la misma
que para el tipo int
Números reales
- , + Signo negativo, positivo
++ Incrementación
-- Decrementación float →
→
→
→ float
Metodología y Técnicas de Programación I 2004/2005 16
Tipo double
Tamaño en bytes: 8 bytes
Dominio: son todos los números reales que contienen una coma decimal
comprendidos entre los valores:
1,7 × 10-308 y 1,7 × 10308
Operaciones:
Tipos de datos básicos en C++
+ Suma
- Resta
* Producto
/ División en coma flotante
double ×
×
×
× double →
→
→
→ double
La prioridad de los
operadores es la misma
que para el tipo int
Igual que float pero más grandes
Números reales
- , + Signo negativo, positivo
++ Incrementación
-- Decrementación double →
→
→
→ double
Metodología y Técnicas de Programación I 2004/2005 17
Además de éstas operaciones, C++ dispone de un gran conjunto de
funciones matemáticas.
Tipos de datos básicos en C++
#include <math.h>
{
x = abs(-7) // x vale 7
y = ceil (5.2) // y vale 6
z = floor (5.2) // z vale 5
resto = fmod(5.0, 2.0) // resto vale 1
}
abs: int → int Calcula el valor absoluto de un número
ceil: double → double Calcula el número entero mayor o igual que el dado
floor: double → double Redondea por defecto el valor de un número
fmod: double × double → double Calcula el resto de la división real de dos números
sqrt: double → double Calcula la raíz cuadrada de un número
Funciones:
math.h
float.h
complex.h
Los archivos de cabecera que
contienen éstas funciones son
entre otras:
Tipo bool
Tamaño en bytes: 1 byte
Dominio: dos únicos valores: { true, false }
Operaciones:
Tipos de datos básicos en C++
No todos los compiladores de C++ tienen éste tipo de dato. En su lugar se utiliza el tipo int
para representar el tipo de datos bool, de forma que el valor entero 0 representa false y
cualquier otro valor representa true.
Falso → Cero
Verdadero → Distinto de cero
&& Y lógica (and)
|| O lógica (or)
bool ×
×
×
× bool →
→
→
→ bool
! Negación lógica (not)
bool →
→
→
→ bool
Prioridad de
los operadores
!
&&, ||
Operadores lógicos
Metodología y Técnicas de Programación I 2004/2005 19
Tabla de verdad:
A B ! A A && B A || B
T T F T T
T F F F T
F T T F T
F F T F F
= = Igual a
!= Distinto
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
Operadores relacionales
Los operadores relacionales se utilizan
para comprobar una condición
Operadores relacionales:
Tipos de datos básicos en C++
Metodología y Técnicas de Programación I 2004/2005 20
Escritura de valores bool
Raramente se tiene la necesidad de escribir o leer valores de tipo
bool ya que éste tipo de datos se utiliza sobre todo para evaluar
expresiones lógicas.
En caso necesario, si escribimos un dato de tipo bool cuyo valor es
true, en consola se visualiza el valor 1.
La lectura es análogo.
Tipos de datos básicos en C++
Metodología y Técnicas de Programación I 2004/2005 21
Tipo char
Tamaño en bytes: 1 byte
Dominio: dígitos, letras mayúsculas, letras minúsculas y signos de
puntuación.
Tipos de datos básicos en C++
0 < 1 < 2 …. < 9 < A < B < … < Z < a < b < …< z
Internamente, los caracteres se almacenan como números. El tipo char
representa valores en el rango -128 y 127 y se asocian con el código
ASCII. Así, el carácter ‘A’ se almacena como el número 65, etc ...
Metodología y Técnicas de Programación I 2004/2005 22
Operaciones:
Dado que los caracteres se almacenan internamente como números
enteros, se pueden realizar operaciones aritméticas con los datos de tipo
char. Se puede sumar un entero a un carácter para obtener otro código
ASCII diferente.
Ejemplos:
Para convertir una letra minúscula en mayúscula basta con restar 32.
‘a’ - 32 = ‘A’
Para convertir una letra mayúscula en minúscula basta con sumar 32.
‘B’ + 32 = ‘b’
Para convertir el carácter ‘4’ en el número 4 basta con restar 48.
‘4’ - 48 = 4
Tipos de datos básicos en C++
Más adelante veremos que, en unión
con la estructura array, se pueden almacenar
cadenas de caracteres.
Metodología y Técnicas de Programación I 2004/2005 23
Tipos de datos básicos en C++
#include <ctype>
{
...
char c = ‘A’;
c = tolower (c); // c vale ‘a’
t = isdigit(c) ; // t vale O (FALSE)
...
}
isdigit: char → int Devuelve TRUE si el carácter es: ‘0’, … ,‘9’
isalpha: char → int Devuelve TRUE si el carácter es: ‘A’, … ,‘Z’, ‘a’, … , ‘z’.
islower: char → int Devuelve TRUE si el carácter es una letra minúscula: ‘a’, … , ‘z’.
isupper: char → int Devuelve TRUE si el carácter es una letra mayúscula: ‘A’, … ,‘Z’.
tolower: char → char Convierte un carácter mayúscula en minúscula.
toupper: char → char Convierte un carácter minúscula en mayúscula.
ctype.h
Funciones:
El archivo de cabecera que
contiene éstas funciones es:
char c = 65;
Metodología y Técnicas de Programación I 2004/2005 24
Modificadores de tipos de datos
Los tipos de datos int, double y char tienen variaciones o modificadores
de tipos de datos.
Permiten un uso más eficiente
de los tipos de datos
Son modificadores los siguientes:
signed unsigned
short log
unsigned int 0 …65625
long double -3,37 × 10-4932 … 3,37 × 104932
long int -2147483648 … 2147483647
Rango de valores
Tipos de datos básicos en C++
Metodología y Técnicas de Programación I 2004/2005 25
Las computadoras realizan numerosas operaciones para la resolución de
problemas,
- Operaciones aritméticas y lógicas.
- Operaciones condicionales.
...
Además, puede ocurrir que en una misma expresión concurran varios tipos
de datos. Ante ésta situación, debemos saber cómo se comporta el
compilador.
Cuando los dos operandos son de
tipos distintos, el de tipo menor se
promociona
al de tipo mayor.
long double
double
float
int
short int
char
Tipos de mayor
a menor
+
-
Tipos de datos básicos en C++
Metodología y Técnicas de Programación I 2004/2005 26
Tipos de datos básicos en C++
#include <stdio.h>
#include <iostream.h>
int main()
{
int i;
i = sizeof( int )*8;
cout <<"Tamaño (en bits) del tipo int = " ;
cout << i;
return 0;
}
Tipo de
datos
Datos
almacenados
Nº de
Bytes
char caracteres 1
int enteros 2
float reales 4
double reales 8
bool lógicos 1
En cuanto a la memoria que
ocupa cada tipo:
Esto no siempre es cierto,
depende del ordenador y
del compilador.
Para saber en nuestro caso
qué tamaño tienen nuestros
tipos de datos debemos
hacer lo siguiente
Metodología y Técnicas de Programación I 2004/2005 27
3
Constantes y variables C++
Metodología y Técnicas de Programación I 2004/2005 28
Constantes y Variables
• Son porciones de memoria que almacenan un valor.
• Las variables son palabras que manipulan datos. Dicho valor puede ser
modificado en cualquier momento durante la ejecución del programa.
• Una constante es una variable cuyo valor no puede ser modificado.
• Las variables pueden almacenar todo tipo de datos: caracteres, números,
estructuras, etc … Dependiendo del valor de la variable, decimos que dicha
variable es de un tipo de dato.
• Tanto las variables como las constantes están constituidas por un nombre y un
valor. El nombre lo llamaremos identificador.
Toda variable utilizada en un programa debe ser declarada previamente. En
C++, ésta declaración puede situarse en cualquier parte del programa.
Variables globales
Variables locales
Parámetros
Dependiendo de dónde se definan,
tenemos varios tipos:
Metodología y Técnicas de Programación I 2004/2005 29
Constantes y Variables
Declaración de variables
La declaración de una variable consiste en escribir un sentencia que
proporciona información al compilador de C++.
• El compilador reserva un espacio de almacenamiento en memoria.
• Los nombres de las variables se suelen
escribir en minúsculas.
El procedimiento para declarar una variable:
<tipo_de_dato> <nombre_de_variable> ;
<tipo_de_dato> <lista de variables> ;
<tipo_de_dato> <nombre_de_variable> = valor;
int x;
char x, y, z;
long int i =10, j, k=0;
En C++ las variables no se
actualizan automáticamente
Metodología y Técnicas de Programación I 2004/2005 30
Una forma de expresar el procedimiento para declarar una variable es
mediante los diagramas sintácticos:
Constantes y Variables
Tipo de dato Nombre_de_variable
Valor_inicial
=
;
,
Declaración de variables
Declaraciones locales
Son variables locales aquellas que están declaradas dentro de las
funciones o de los bloques.
Metodología y Técnicas de Programación I 2004/2005 31
Declaraciones globales ( variables globales, funciones, …)
La zona de declaraciones globales de un programa puede incluir
declaraciones de variables y declaraciones de funciones (prototipos).
Las funciones y variables
aquí declaradas, se pueden
utilizar en cualquier punto
del programa.
Parámetros
Definidos en la lista de parámetros
formales de las funciones.
Constantes y Variables
Metodología y Técnicas de Programación I 2004/2005 32
Ejemplos:
…
int funcion1()
{
int i;
if ( i= =1)
{
char m=‘s’;
….
}
/* aquí no se conoce a m */
}
...
La variable m solo
existe en éste bloque
Variables locales
…
int calcular(int i, float j)
{
...
}
...
Parámetros
Constantes y Variables
Metodología y Técnicas de Programación I 2004/2005 33
Declaración de Constantes
Una constante es una variable cuyo valor no puede ser modificado.
Los nombres de las constantes se suelen escribir en mayúsculas.
1. Constantes declaradas const
La palabra reservada const es un calificador de tipo variable e indica que el valor
de variable no se puede modificar.
Constantes y Variables
const <tipo_de_dato> <nombre_de_constante> = <valor> ;
…
const int DIAS = 7;
const char VACIO = ‘ ‘;
const char PORCENTAJE = ‘% ‘;
...
Ejemplos
Si se intenta modificar una variable
definida con const, se produce error.
Metodología y Técnicas de Programación I 2004/2005 34
2. Constantes definidas
Se declaran mediante la directiva #define
Constantes y Variables
#define <nombre_de_constante> <valor>
…
#define pi 3.14
#define fin ‘F’
...
Ejemplos
No se especifica
el tipo de dato
No aparece ;
al final de la sentencia
No aparece el
símbolo =
Es más recomendable utilizar const en lugar de #define ya que el compilador
genera código más eficiente.
Metodología y Técnicas de Programación I 2004/2005 35
3. Constantes enumeradas
Las constantes enumeradas permiten crear listas de elementos afines.
Constantes y Variables
enum <nombre_de_constante> { <lista_de_valores> };
…
enum Colores {Rojo, Verde, Azul, Amarillo};
enum Botones {Salir, Jugar};
…
Colores favorito = Rojo;
…
Ejemplo de constante enumerada
de una lista de colores
El compilador asigna un número a cada elemento del conjunto (comenzando con 0).
Se comporta como
cualquier otro tipo de
datos.
Se pueden declarar
variables de tipo
enumerado.
Metodología y Técnicas de Programación I 2004/2005 36
#include <iostream.h>
int main()
{
enum Dias { Lunes, Martes, Miercoles, Jueves, Viernes };
Dias libre = Viernes; // Dias libre = 4;
cout << libre; // se visualiza por pantalla el número 4
return 0;
}
Ejemplo del funcionamiento de enumeraciones
Constantes y Variables
Metodología y Técnicas de Programación I 2004/2005 37
4
Operadores y expresiones
Metodología y Técnicas de Programación I 2004/2005 38
1. Instrucciones de asignación.
El operador asignación (=) asigna el valor de la expresión derecha a la
variable situada en la izquierda de la instrucción.
Podemos tener en C++ varios operadores de asignación:
= += -= *= /= %=
Operadores y Expresiones
<nombre_de_variable> = <expresión> ;
Puede ser otra variable, una constante o una operación
entre variables y constantes.
Metodología y Técnicas de Programación I 2004/2005 39
Operadores y Expresiones
Ejemplos:
m = n; // asigna el valor de n a m
m = m + n; //suma m y n y lo asigna a la variable m
m = m- n; // resta m menos n y lo asigna a la variable m
m = m * n; //multiplica m por n y lo asigna a la variable m
m = m / n; //divide m entre n y lo asigna a la variable m
m = m % n; //calcula el resto de la div. entera y lo asigna a la variable m
m += n;
m -= n;
m *= n;
m /= n;
m %= n;
Instrucción abreviada.
Metodología y Técnicas de Programación I 2004/2005 40
Operadores y Expresiones
Más ejemplos:
m = n = t = 10; // Damos a las variables m, n y t el valor 10
m = n = t = a; // las variables m, n y t toman el valor de la variable a
Podemos dar valores a varias variables a la vez
También podemos asignar a varias variables el valor de otra de un sólo golpe
Metodología y Técnicas de Programación I 2004/2005 41
2. Operador de dirección: &
Cuando se declara una variable, se le asocian tres características:
- nombre de la variable
- tipo de la variable
- dirección de memoria
Operadores y Expresiones
…
char x = ‘A’;
…
El valor de la variable x es ‘A’.
La dirección de memoria es 2.
0
1
999
998
2
997
0000001
1001111
1000001 x
Para conocer la dirección de memoria donde se encuentra
almacenada la variable, se puede utilizar el operador &.
…
cout << x;
cout << &x;
…
Se visualiza el valor: ‘A’
Se visualiza la dirección: 2
Metodología y Técnicas de Programación I 2004/2005 42
Referencias
Puede ser interesante declarar dos variables con la misma dirección de
memoria. Para realizar ésta tarea también utilizamos el operador &.
Operadores y Expresiones
0
1
999
998
2
997
0000001
1001111
1000001 x
#include <iostream.h>
int main()
{
char x = ‘A’;
char & p = x;
cout << x << p;
p = ‘b’; // x también vale ‘b’
cout << x << p;
...
return 0;
}
p
La dirección de la variable p
es la misma que la dirección
de la variable x
<tipo> & <variable> = <variable>;
Metodología y Técnicas de Programación I 2004/2005 43
5
Instrucciones de
Entrada / Salida
Metodología y Técnicas de Programación I 2004/2005 44
Permiten la comunicación del
ordenador con el exterior para
tomar datos o devolver resultados
Instrucciones de Entrada / Salida
En C++ la entrada y salida se lee y escribe en flujos. Cuando se incluye la
biblioteca iostream.h en el programa, se definen automáticamente dos flujos:
Esta biblioteca también nos proporciona dos operadores, uno de inserción ( <<),
que inserta datos en el flujo cout y otro operador de extracción ( >> ) para
extraer valores del flujo cin y almacenarlos en variables.
Flujo cin (se utiliza para la entrada de datos)
Flujo cout (se utiliza para la salida de datos)
…
cout << x;
cout << x << y << z << endl;
cout << “ x vale: ” << x;
cout << “Holan”;
…
…
cin >> a;
cin >> a >> b >> c;
…
Salto de línea
n también provoca
salto de línea
Metodología y Técnicas de Programación I 2004/2005 45
C++ utiliza secuencias de escape para visualizar caracteres que no están
representados por los símbolos tradicionales.
Las más utilizadas las mostramos en la siguiente tabla:
Instrucciones de Entrada / Salida
n Retorno de carro y avance de línea
t Tabulación
a Alarma
” Dobles comillas
 Barra inclinada
…
cout << “Holan”;
cout << “Lunest Martest Miercolest “;
cout << "a” ;
…
Metodología y Técnicas de Programación I 2004/2005 46
CARACTERÍSTICAS DEL LENGUAJE C++:
– Se distingue entre mayúsculas y minúsculas.
– Palabras clave: siempre en minúsculas.
– Lenguaje estructurado pero no estrictamente estructurado en bloques
(no se pueden definir funciones dentro de otras funciones).
– Todas las sentencias y declaración de variables terminan en punto y
coma.
– La ejecución siempre comienza con la función main()

Más contenido relacionado

Similar a Diapositivs~Elementos_basicos_C.pdf

Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++Tensor
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++Tensor
 
Estructura de un programa básico en c++
Estructura de un programa básico en c++Estructura de un programa básico en c++
Estructura de un programa básico en c++UVM
 
Repaso del lenguaje
Repaso del lenguajeRepaso del lenguaje
Repaso del lenguajeg_torrealba
 
Repaso del lenguaje C++
Repaso del lenguaje C++Repaso del lenguaje C++
Repaso del lenguaje C++g_torrealba
 
Unidad2
Unidad2Unidad2
Unidad2JHONNY
 
Operaciones Básicas
Operaciones BásicasOperaciones Básicas
Operaciones Básicaschembe
 
Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2David
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2camnav
 
Operaciones Basicas C++
Operaciones Basicas C++Operaciones Basicas C++
Operaciones Basicas C++yesid19
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Joaquin1418
 
Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2charnisch
 
Operaciones Básicas
Operaciones BásicasOperaciones Básicas
Operaciones Básicaschembe
 

Similar a Diapositivs~Elementos_basicos_C.pdf (20)

Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 
Clase 1 Lenguaje C++
Clase 1 Lenguaje C++Clase 1 Lenguaje C++
Clase 1 Lenguaje C++
 
Turbo c
Turbo cTurbo c
Turbo c
 
0.2 Conceptos Basicos C++ II
0.2  Conceptos Basicos C++ II0.2  Conceptos Basicos C++ II
0.2 Conceptos Basicos C++ II
 
Estructura de un programa básico en c++
Estructura de un programa básico en c++Estructura de un programa básico en c++
Estructura de un programa básico en c++
 
Estructura(2)
Estructura(2)Estructura(2)
Estructura(2)
 
Estructura
EstructuraEstructura
Estructura
 
Repaso del lenguaje
Repaso del lenguajeRepaso del lenguaje
Repaso del lenguaje
 
Repaso del lenguaje C++
Repaso del lenguaje C++Repaso del lenguaje C++
Repaso del lenguaje C++
 
Introduccion a c++
Introduccion a c++Introduccion a c++
Introduccion a c++
 
Curso c i
Curso c iCurso c i
Curso c i
 
Unidad2
Unidad2Unidad2
Unidad2
 
Operaciones Básicas
Operaciones BásicasOperaciones Básicas
Operaciones Básicas
 
Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2
 
Operaciones Basicas C++
Operaciones Basicas C++Operaciones Basicas C++
Operaciones Basicas C++
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2
 
Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2
 
Operaciones Básicas
Operaciones BásicasOperaciones Básicas
Operaciones Básicas
 

Último

CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
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
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesLauraColom3
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
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
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 

Último (20)

CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
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
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reacciones
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
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...
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 

Diapositivs~Elementos_basicos_C.pdf

  • 1. Metodología y Técnicas de Programación I 2004/2005 1 Elementos básicos de un lenguaje de alto nivel: C++ CONTENIDOS 1. Estructura básica de un programa C++. 2. Tipos de datos simples. 3. Constantes y variables en C++. Declaración. 4. Operadores y expresiones. 5. Instrucciones de Entrada y Salida. Algunas características de C++. Metodología y Técnicas de Programación I 2004/2005 2 1 Estructura básica de un programa C++
  • 2. Metodología y Técnicas de Programación I 2004/2005 3 Estructura de un programa C++ Directivas de preprocesador Declaraciones globales ( varaibles globales, funciones, …) función main() { secuencia de declaraciones e instrucciones } función1() { secuencia de declaraciones e instrucciones } ... funciónN() { secuencia de declaraciones e instrucciones } Funciones Componente estructural básico: la función Una de las funciones ha de ser main Metodología y Técnicas de Programación I 2004/2005 4 Un ejemplo sencillo de un programa que intercambia el valor de 2 números: #include <iostream.h> int main() { int x, y; int aux; cin >> x >> y; aux = x; x = y; y = aux; cout << x <<y; return 0; } Directiva de preprocesamiento Biblioteca de E/S por consola Este programa usa la definición de cout para escribir por consola Cabecera de la función Cuerpo de la función { … } Estructura de un programa C++
  • 3. Metodología y Técnicas de Programación I 2004/2005 5 Un ejemplo sencillo de un programa que intercambia el valor de 2 números: #include <iostream.h> int main() { int x, y; int aux; cin >> x >> y; aux = x; x = y; y = aux; cout << x <<y; return 0; } Flujo de salida por estándar (pantalla) Declaración de variables locales Estructura de un programa C++ << : operador de inserción para flujos de salida Flujo de entrada Devuelve el valor-resultado Metodología y Técnicas de Programación I 2004/2005 6 Directivas del preprocesador Los compiladores de C++ proporcionan bibliotecas de funciones. Cada biblioteca de funciones tiene asociada un archivo de definición que se denomina cabecera. Para utilizar algo de una biblioteca en un programa, hay que colocar al principio del programa una directiva de preprocesamiento seguida de la cabecera de la biblioteca entre ángulos. Instrucciones al compilador antes de que se compile el programa principal Las directivas más usuales son: # include # define # include <iostream.h> Indica al compilador que lea las directivas antes de compilar la función principal Estructura de un programa C++
  • 4. Metodología y Técnicas de Programación I 2004/2005 7 Directivas del preprocesador #include <iostream.h> int main() { cout << “Hola amigos”; return 0; } Por ejemplo, para mostrar datos en la pantalla podemos usar el operador << con el elemento cout, cout << “Hola amigos”; Pero para poder usar cout y << debemos incluir la biblioteca donde están definidos. Esta biblioteca tiene como archivo de cabecera iostream.h Una vez que se incluye el archivo de cabecera, se puede utilizar todo lo que está definido en ella. Constante de cadena de caracteres Estructura de un programa C++ Metodología y Técnicas de Programación I 2004/2005 8 Directivas del preprocesador Existen archivos de cabecera estándar muy utilizados El uso más frecuente en C++ de las directivas del preprocesador es la inclusión de archivos de cabecera, pero también se usan para definir macros, nombres de constantes, etc. Estructura de un programa C++ stdlib.h string.h math.h conio.h iostream.h type.h Uso de funciones de cadena Uso de funciones matemáticas Uso de funciones de E/S Funciones de clasificación de caracteres
  • 5. Metodología y Técnicas de Programación I 2004/2005 9 La función main() Una función C++ es un subprograma que devuelve un valor, un conjunto de valores o realiza una tarea específica. Todo programa C++ tiene una única función main() que es el punto inicial de entrada al programa. Si se intenta declarar dos funciones main() dentro del programa se produce error. Estructura de un programa C++ #include <iostream.h> main() { … ... } Las sentencias escritas entre las llaves se denomina BLOQUE #include <iostream.h> int main() { entrada_datos(); proceso_datos(); return 0; ... } Llamadas a otras funciones Metodología y Técnicas de Programación I 2004/2005 10 Comentarios Un comentario es cualquier información que se escribe el en programa para proporcionar información de cualquier tipo. #include <iostream.h> /* podemos hacer comentarios que ocupen varias líneas */ int main() { int x, y; int aux; // éste es un comentario de una sola línea cin >> x >> y; ... return 0; } Podemos escribir los comentarios de dos formas diferentes Estructura de un programa C++
  • 6. Metodología y Técnicas de Programación I 2004/2005 11 2 Tipos de datos simples Metodología y Técnicas de Programación I 2004/2005 12 Tipos de datos básicos en C++ El tipo de dato determina la naturaleza del valor que puede tomar una variable.Un tipo de dato define un dominio de valores y las operaciones que se pueden realizar con éstos valores. C++ dispone de unos cuantos tipos de datos predefinidos (simples) y permite al programador crear otros tipos de datos Tipo de datos básicos • int ( Números enteros ) • float ( Números reales ) • double ( Números reales más grandes que float ) • bool ( Valores lógicos ) • char ( Caracteres y cualquier cantidad de 8 bits ) • void ( Nada. Sirve para indicar que una fonción no devuelve valores )
  • 7. Metodología y Técnicas de Programación I 2004/2005 13 Tipo int Tamaño en bytes: 2 bytes (16 bits) Dominio: son todos los números enteros entre los valores -32.768 y 32.767 Operaciones: Tipos de datos básicos en C++ + Suma - Resta * Producto / División entera % Resto de la división entera (módulo) - , + Signo negativo, positivo ++ Incrementación -- Decrementación int → → → → int int × × × × int → → → → int Prioridad de los operadores: ++, - - 10*5++ - , + (unario) -3 * , /, % 3*5 +, - 6+7 Números enteros 10×6 Metodología y Técnicas de Programación I 2004/2005 14 Operadores de incrementación y decrementación Se trata de los operadores: ++ - - Suma una unidad a su argumento Resta una unidad a su argumento m = m + 1; m++; ++m; Son equivalentes Si precede al operando, se realiza la operación ++ o -- y luego se realiza la asignación. Si sigue al operando, se realiza la asignación y posteriormente se realiza la operación ++ o -- x = 10; y = x++; // y vale 10 x = 10; y = ++x; // y vale 11 Tipos de datos básicos en C++
  • 8. Metodología y Técnicas de Programación I 2004/2005 15 Tipo float Tamaño en bytes: 4 bytes Dominio: son todos los números reales que contienen una coma decimal comprendidos entre los valores: 3,4 × 10-38 y 3,4 × 1038 Operaciones: Tipos de datos básicos en C++ + Suma - Resta * Producto / División en coma flotante float × × × × float → → → → float La prioridad de los operadores es la misma que para el tipo int Números reales - , + Signo negativo, positivo ++ Incrementación -- Decrementación float → → → → float Metodología y Técnicas de Programación I 2004/2005 16 Tipo double Tamaño en bytes: 8 bytes Dominio: son todos los números reales que contienen una coma decimal comprendidos entre los valores: 1,7 × 10-308 y 1,7 × 10308 Operaciones: Tipos de datos básicos en C++ + Suma - Resta * Producto / División en coma flotante double × × × × double → → → → double La prioridad de los operadores es la misma que para el tipo int Igual que float pero más grandes Números reales - , + Signo negativo, positivo ++ Incrementación -- Decrementación double → → → → double
  • 9. Metodología y Técnicas de Programación I 2004/2005 17 Además de éstas operaciones, C++ dispone de un gran conjunto de funciones matemáticas. Tipos de datos básicos en C++ #include <math.h> { x = abs(-7) // x vale 7 y = ceil (5.2) // y vale 6 z = floor (5.2) // z vale 5 resto = fmod(5.0, 2.0) // resto vale 1 } abs: int → int Calcula el valor absoluto de un número ceil: double → double Calcula el número entero mayor o igual que el dado floor: double → double Redondea por defecto el valor de un número fmod: double × double → double Calcula el resto de la división real de dos números sqrt: double → double Calcula la raíz cuadrada de un número Funciones: math.h float.h complex.h Los archivos de cabecera que contienen éstas funciones son entre otras: Tipo bool Tamaño en bytes: 1 byte Dominio: dos únicos valores: { true, false } Operaciones: Tipos de datos básicos en C++ No todos los compiladores de C++ tienen éste tipo de dato. En su lugar se utiliza el tipo int para representar el tipo de datos bool, de forma que el valor entero 0 representa false y cualquier otro valor representa true. Falso → Cero Verdadero → Distinto de cero && Y lógica (and) || O lógica (or) bool × × × × bool → → → → bool ! Negación lógica (not) bool → → → → bool Prioridad de los operadores ! &&, || Operadores lógicos
  • 10. Metodología y Técnicas de Programación I 2004/2005 19 Tabla de verdad: A B ! A A && B A || B T T F T T T F F F T F T T F T F F T F F = = Igual a != Distinto > Mayor que < Menor que >= Mayor o igual que <= Menor o igual que Operadores relacionales Los operadores relacionales se utilizan para comprobar una condición Operadores relacionales: Tipos de datos básicos en C++ Metodología y Técnicas de Programación I 2004/2005 20 Escritura de valores bool Raramente se tiene la necesidad de escribir o leer valores de tipo bool ya que éste tipo de datos se utiliza sobre todo para evaluar expresiones lógicas. En caso necesario, si escribimos un dato de tipo bool cuyo valor es true, en consola se visualiza el valor 1. La lectura es análogo. Tipos de datos básicos en C++
  • 11. Metodología y Técnicas de Programación I 2004/2005 21 Tipo char Tamaño en bytes: 1 byte Dominio: dígitos, letras mayúsculas, letras minúsculas y signos de puntuación. Tipos de datos básicos en C++ 0 < 1 < 2 …. < 9 < A < B < … < Z < a < b < …< z Internamente, los caracteres se almacenan como números. El tipo char representa valores en el rango -128 y 127 y se asocian con el código ASCII. Así, el carácter ‘A’ se almacena como el número 65, etc ... Metodología y Técnicas de Programación I 2004/2005 22 Operaciones: Dado que los caracteres se almacenan internamente como números enteros, se pueden realizar operaciones aritméticas con los datos de tipo char. Se puede sumar un entero a un carácter para obtener otro código ASCII diferente. Ejemplos: Para convertir una letra minúscula en mayúscula basta con restar 32. ‘a’ - 32 = ‘A’ Para convertir una letra mayúscula en minúscula basta con sumar 32. ‘B’ + 32 = ‘b’ Para convertir el carácter ‘4’ en el número 4 basta con restar 48. ‘4’ - 48 = 4 Tipos de datos básicos en C++ Más adelante veremos que, en unión con la estructura array, se pueden almacenar cadenas de caracteres.
  • 12. Metodología y Técnicas de Programación I 2004/2005 23 Tipos de datos básicos en C++ #include <ctype> { ... char c = ‘A’; c = tolower (c); // c vale ‘a’ t = isdigit(c) ; // t vale O (FALSE) ... } isdigit: char → int Devuelve TRUE si el carácter es: ‘0’, … ,‘9’ isalpha: char → int Devuelve TRUE si el carácter es: ‘A’, … ,‘Z’, ‘a’, … , ‘z’. islower: char → int Devuelve TRUE si el carácter es una letra minúscula: ‘a’, … , ‘z’. isupper: char → int Devuelve TRUE si el carácter es una letra mayúscula: ‘A’, … ,‘Z’. tolower: char → char Convierte un carácter mayúscula en minúscula. toupper: char → char Convierte un carácter minúscula en mayúscula. ctype.h Funciones: El archivo de cabecera que contiene éstas funciones es: char c = 65; Metodología y Técnicas de Programación I 2004/2005 24 Modificadores de tipos de datos Los tipos de datos int, double y char tienen variaciones o modificadores de tipos de datos. Permiten un uso más eficiente de los tipos de datos Son modificadores los siguientes: signed unsigned short log unsigned int 0 …65625 long double -3,37 × 10-4932 … 3,37 × 104932 long int -2147483648 … 2147483647 Rango de valores Tipos de datos básicos en C++
  • 13. Metodología y Técnicas de Programación I 2004/2005 25 Las computadoras realizan numerosas operaciones para la resolución de problemas, - Operaciones aritméticas y lógicas. - Operaciones condicionales. ... Además, puede ocurrir que en una misma expresión concurran varios tipos de datos. Ante ésta situación, debemos saber cómo se comporta el compilador. Cuando los dos operandos son de tipos distintos, el de tipo menor se promociona al de tipo mayor. long double double float int short int char Tipos de mayor a menor + - Tipos de datos básicos en C++ Metodología y Técnicas de Programación I 2004/2005 26 Tipos de datos básicos en C++ #include <stdio.h> #include <iostream.h> int main() { int i; i = sizeof( int )*8; cout <<"Tamaño (en bits) del tipo int = " ; cout << i; return 0; } Tipo de datos Datos almacenados Nº de Bytes char caracteres 1 int enteros 2 float reales 4 double reales 8 bool lógicos 1 En cuanto a la memoria que ocupa cada tipo: Esto no siempre es cierto, depende del ordenador y del compilador. Para saber en nuestro caso qué tamaño tienen nuestros tipos de datos debemos hacer lo siguiente
  • 14. Metodología y Técnicas de Programación I 2004/2005 27 3 Constantes y variables C++ Metodología y Técnicas de Programación I 2004/2005 28 Constantes y Variables • Son porciones de memoria que almacenan un valor. • Las variables son palabras que manipulan datos. Dicho valor puede ser modificado en cualquier momento durante la ejecución del programa. • Una constante es una variable cuyo valor no puede ser modificado. • Las variables pueden almacenar todo tipo de datos: caracteres, números, estructuras, etc … Dependiendo del valor de la variable, decimos que dicha variable es de un tipo de dato. • Tanto las variables como las constantes están constituidas por un nombre y un valor. El nombre lo llamaremos identificador. Toda variable utilizada en un programa debe ser declarada previamente. En C++, ésta declaración puede situarse en cualquier parte del programa. Variables globales Variables locales Parámetros Dependiendo de dónde se definan, tenemos varios tipos:
  • 15. Metodología y Técnicas de Programación I 2004/2005 29 Constantes y Variables Declaración de variables La declaración de una variable consiste en escribir un sentencia que proporciona información al compilador de C++. • El compilador reserva un espacio de almacenamiento en memoria. • Los nombres de las variables se suelen escribir en minúsculas. El procedimiento para declarar una variable: <tipo_de_dato> <nombre_de_variable> ; <tipo_de_dato> <lista de variables> ; <tipo_de_dato> <nombre_de_variable> = valor; int x; char x, y, z; long int i =10, j, k=0; En C++ las variables no se actualizan automáticamente Metodología y Técnicas de Programación I 2004/2005 30 Una forma de expresar el procedimiento para declarar una variable es mediante los diagramas sintácticos: Constantes y Variables Tipo de dato Nombre_de_variable Valor_inicial = ; , Declaración de variables Declaraciones locales Son variables locales aquellas que están declaradas dentro de las funciones o de los bloques.
  • 16. Metodología y Técnicas de Programación I 2004/2005 31 Declaraciones globales ( variables globales, funciones, …) La zona de declaraciones globales de un programa puede incluir declaraciones de variables y declaraciones de funciones (prototipos). Las funciones y variables aquí declaradas, se pueden utilizar en cualquier punto del programa. Parámetros Definidos en la lista de parámetros formales de las funciones. Constantes y Variables Metodología y Técnicas de Programación I 2004/2005 32 Ejemplos: … int funcion1() { int i; if ( i= =1) { char m=‘s’; …. } /* aquí no se conoce a m */ } ... La variable m solo existe en éste bloque Variables locales … int calcular(int i, float j) { ... } ... Parámetros Constantes y Variables
  • 17. Metodología y Técnicas de Programación I 2004/2005 33 Declaración de Constantes Una constante es una variable cuyo valor no puede ser modificado. Los nombres de las constantes se suelen escribir en mayúsculas. 1. Constantes declaradas const La palabra reservada const es un calificador de tipo variable e indica que el valor de variable no se puede modificar. Constantes y Variables const <tipo_de_dato> <nombre_de_constante> = <valor> ; … const int DIAS = 7; const char VACIO = ‘ ‘; const char PORCENTAJE = ‘% ‘; ... Ejemplos Si se intenta modificar una variable definida con const, se produce error. Metodología y Técnicas de Programación I 2004/2005 34 2. Constantes definidas Se declaran mediante la directiva #define Constantes y Variables #define <nombre_de_constante> <valor> … #define pi 3.14 #define fin ‘F’ ... Ejemplos No se especifica el tipo de dato No aparece ; al final de la sentencia No aparece el símbolo = Es más recomendable utilizar const en lugar de #define ya que el compilador genera código más eficiente.
  • 18. Metodología y Técnicas de Programación I 2004/2005 35 3. Constantes enumeradas Las constantes enumeradas permiten crear listas de elementos afines. Constantes y Variables enum <nombre_de_constante> { <lista_de_valores> }; … enum Colores {Rojo, Verde, Azul, Amarillo}; enum Botones {Salir, Jugar}; … Colores favorito = Rojo; … Ejemplo de constante enumerada de una lista de colores El compilador asigna un número a cada elemento del conjunto (comenzando con 0). Se comporta como cualquier otro tipo de datos. Se pueden declarar variables de tipo enumerado. Metodología y Técnicas de Programación I 2004/2005 36 #include <iostream.h> int main() { enum Dias { Lunes, Martes, Miercoles, Jueves, Viernes }; Dias libre = Viernes; // Dias libre = 4; cout << libre; // se visualiza por pantalla el número 4 return 0; } Ejemplo del funcionamiento de enumeraciones Constantes y Variables
  • 19. Metodología y Técnicas de Programación I 2004/2005 37 4 Operadores y expresiones Metodología y Técnicas de Programación I 2004/2005 38 1. Instrucciones de asignación. El operador asignación (=) asigna el valor de la expresión derecha a la variable situada en la izquierda de la instrucción. Podemos tener en C++ varios operadores de asignación: = += -= *= /= %= Operadores y Expresiones <nombre_de_variable> = <expresión> ; Puede ser otra variable, una constante o una operación entre variables y constantes.
  • 20. Metodología y Técnicas de Programación I 2004/2005 39 Operadores y Expresiones Ejemplos: m = n; // asigna el valor de n a m m = m + n; //suma m y n y lo asigna a la variable m m = m- n; // resta m menos n y lo asigna a la variable m m = m * n; //multiplica m por n y lo asigna a la variable m m = m / n; //divide m entre n y lo asigna a la variable m m = m % n; //calcula el resto de la div. entera y lo asigna a la variable m m += n; m -= n; m *= n; m /= n; m %= n; Instrucción abreviada. Metodología y Técnicas de Programación I 2004/2005 40 Operadores y Expresiones Más ejemplos: m = n = t = 10; // Damos a las variables m, n y t el valor 10 m = n = t = a; // las variables m, n y t toman el valor de la variable a Podemos dar valores a varias variables a la vez También podemos asignar a varias variables el valor de otra de un sólo golpe
  • 21. Metodología y Técnicas de Programación I 2004/2005 41 2. Operador de dirección: & Cuando se declara una variable, se le asocian tres características: - nombre de la variable - tipo de la variable - dirección de memoria Operadores y Expresiones … char x = ‘A’; … El valor de la variable x es ‘A’. La dirección de memoria es 2. 0 1 999 998 2 997 0000001 1001111 1000001 x Para conocer la dirección de memoria donde se encuentra almacenada la variable, se puede utilizar el operador &. … cout << x; cout << &x; … Se visualiza el valor: ‘A’ Se visualiza la dirección: 2 Metodología y Técnicas de Programación I 2004/2005 42 Referencias Puede ser interesante declarar dos variables con la misma dirección de memoria. Para realizar ésta tarea también utilizamos el operador &. Operadores y Expresiones 0 1 999 998 2 997 0000001 1001111 1000001 x #include <iostream.h> int main() { char x = ‘A’; char & p = x; cout << x << p; p = ‘b’; // x también vale ‘b’ cout << x << p; ... return 0; } p La dirección de la variable p es la misma que la dirección de la variable x <tipo> & <variable> = <variable>;
  • 22. Metodología y Técnicas de Programación I 2004/2005 43 5 Instrucciones de Entrada / Salida Metodología y Técnicas de Programación I 2004/2005 44 Permiten la comunicación del ordenador con el exterior para tomar datos o devolver resultados Instrucciones de Entrada / Salida En C++ la entrada y salida se lee y escribe en flujos. Cuando se incluye la biblioteca iostream.h en el programa, se definen automáticamente dos flujos: Esta biblioteca también nos proporciona dos operadores, uno de inserción ( <<), que inserta datos en el flujo cout y otro operador de extracción ( >> ) para extraer valores del flujo cin y almacenarlos en variables. Flujo cin (se utiliza para la entrada de datos) Flujo cout (se utiliza para la salida de datos) … cout << x; cout << x << y << z << endl; cout << “ x vale: ” << x; cout << “Holan”; … … cin >> a; cin >> a >> b >> c; … Salto de línea n también provoca salto de línea
  • 23. Metodología y Técnicas de Programación I 2004/2005 45 C++ utiliza secuencias de escape para visualizar caracteres que no están representados por los símbolos tradicionales. Las más utilizadas las mostramos en la siguiente tabla: Instrucciones de Entrada / Salida n Retorno de carro y avance de línea t Tabulación a Alarma ” Dobles comillas Barra inclinada … cout << “Holan”; cout << “Lunest Martest Miercolest “; cout << "a” ; … Metodología y Técnicas de Programación I 2004/2005 46 CARACTERÍSTICAS DEL LENGUAJE C++: – Se distingue entre mayúsculas y minúsculas. – Palabras clave: siempre en minúsculas. – Lenguaje estructurado pero no estrictamente estructurado en bloques (no se pueden definir funciones dentro de otras funciones). – Todas las sentencias y declaración de variables terminan en punto y coma. – La ejecución siempre comienza con la función main()