Documente Academic
Documente Profesional
Documente Cultură
GRADO EN INGENIERA
TELEMTICA
PRCTICA 1
Curso 2015-2016
UNIVERSITAT DE VALNCIA
Conceptos Bsicos
1. Tipos de datos simples en C++
Nombre del Tipo
Memoria utilizada
bool
char
unsigned char
short
int
long
unsigned short
unsigned int
unsigned long
float
double
long double
1
1
1
2
4
4
2
4
4
4
8
12
byte
byte
byte
bytes
bytes
bytes
bytes
bytes
bytes
bytes
bytes
bytes
Rango
{true, false}
-128127
0255
-3276832767
-21474836482147483647
-21474836482147483647
065535
04294967295
04294967295
10-381038
10-30810308
10-4932104932
Precisin
No
No
No
No
No
No
No
No
No
aprox.
aprox.
aprox.
aplica
aplica
aplica
aplica
aplica
aplica
aplica
aplica
aplica
7 dgitos
15 dgitos
19 dgitos
Ten en cuenta que los valores de rango de la tabla son orientativos. Pueden variar en funcin del
compilador y de la arquitectura del computador.
Enteros:
short, int, long, unsigned short, unsigned int, unsigned long
Uso: para almacenar datos que corresponden a nmeros sin decimales.
Ejemplos: nmero de personas, veces que se repite alguna operacin.
Atencin: la divisin entera da como resultado un valor entero.
De tipo carcter:
char, unsigned char
Uso: para almacenar datos que corresponden a caracteres alfabticos.
Ejemplos: letras y smbolos ortogrficos.
Atencin: aunque se usan para almacenar caracteres, en realidad lo que se guarda es un nmero
(el cdigo ASCII) asociado al carcter, por lo que a todos los efectos es un tipo entero positivo.
1
INFORMTICA
GRADO EN INGENIERA
TELEMTICA
PRCTICA 1
Curso 2015-2016
UNIVERSITAT DE VALNCIA
Booleano:
bool
Uso: para almacenar datos lgicos (verdadero o falso).
Ejemplos: para almacenar el resultado de una comparacin.
Atencin: aunque slo pueden tomar 2 valores (true o false) ocupan 1 byte entero. Cualquier valor
distinto de 0 es interpretado como true, y 0 es false.
Reales:
float
double
long double
Uso: para almacenar datos que corresponden a nmeros con decimales
Ejemplos: longitudes, pesos, velocidades, etc.
Atencin: la precisin en el computador no es infinita (y la memoria tampoco).
Operadores
Los operadores asociados a los tipos de datos simples se muestran en la tabla siguiente con su
orden de precedencia:
+
Tipo de Operador
Orden de prioridad
Unarios
Multiplicativos
Aditivos
Relacionales
And
Or
!, -, + (signos)
*, /, %
+, >, <, >=, <=, ==, !=
&&
||
Nivel de
prioridad
Es necesario tener esa prioridad en cuenta a la hora de escribir expresiones. Si se desea cambiar
la precedencia y forzar operaciones en un determinado orden se deben utilizar parntesis.
Recuerda que es necesario tener tambin en cuenta la asociatividad a izquierdas en el caso de
que tengamos dos operadores con igual prioridad.
Los operadores se definen de forma distinta para cada tipo de dato. Por ejemplo, la divisin de
dos enteros siempre ser un entero.
Para evitar errores podemos recurrir a la conversin explicita de tipos o casting. Se realiza
poniendo delante del dato a cambiar el tipo al cual queremos convertirlo: float(9)
INFORMTICA
GRADO EN INGENIERA
TELEMTICA
PRCTICA 1
Curso 2015-2016
UNIVERSITAT DE VALNCIA
numAlumnos;
cout << "En clase hay " << numAlumnos Muestra por pantalla las cadenas que estn entre
<< " estudiantes matriculados";
comillas y el valor de la variable numAlumnos. Por
ejemplo, si su valor es 60, mostrar:
En clase hay 60 estudiantes matriculados
//Dos alternativas
if (a >= 0)
cout << "numero no negativo";
else
cout << "numero negativo";
3
INFORMTICA
GRADO EN INGENIERA
TELEMTICA
PRCTICA 1
Curso 2015-2016
UNIVERSITAT DE VALNCIA
Ten en cuenta:
1. Uno de los errores ms comunes en una sentencia if es utilizar operador de asignacin '=' en
lugar de un operador de igualdad "==" a la hora de definir la condicin.
2. En una sentencia if anidada cada else se corresponde con la instruccin if precedente ms
cercana. Por ejemplo, en el segmento de programacin siguiente:
if (a
if (b
c = a
else
c = a
d = a
> 0)
> 0)
+ b;
* b * c;
* b;
4. Cuando se escribe la condicin asociada a un if empleando varios operadores hay que tener en
cuenta que estos operadores se ejecutan segn el siguiente orden:
1 Primero actan aquellos que aparecen entre parntesis, empezando por los parntesis
ms interiores.
2 Luego se evalan segn su orden de prioridad (ver Tabla 1)
3 Los operadores con el mismo nivel de prioridad se evalan de izquierda a derecha
dependiendo de su asociatividad (a derechas o a izquierdas).
INFORMTICA
GRADO EN INGENIERA
TELEMTICA
PRCTICA 1
Curso 2015-2016
UNIVERSITAT DE VALNCIA
BLOQUE DE EJERCICIOS
Ejercicio 1 (mi primer programa). El programa ejer1.cpp calcula la superficie de un cubo. El
valor del lado (en metros) se introduce como dato de entrada. El programa calcula la superficie
(suma del rea de seis caras del cuadrado) y se muestra un mensaje por pantalla. Modifica el
programa para que calcule tambin el volumen de un cubo y muestre el valor por pantalla. Por
ejemplo, ante la entrada lado igual a 3:
Valor de la superficie del cubo de lado 3 es 54 metros cuadrados
Valor del volumen del cubo de lado 3 es 27 metros cubicos
Ejercicio 2 (corrigiendo errores). Dado el siguiente cdigo, compltalo aadiendo los includes
necesarios y la funcin main. Complalo, ejectalo y comenta lo que ocurre. Corrige los posibles
errores para obtener el resultado correcto.
/*completar */
.
float c1=0.1000000003;
float c2=0.1000000005;
if(c1==c2)
cout << "c1 y c2 son iguales" << endl;
else
cout << "c1 y c2 son distintos" << endl;
...
/*completar */
Ejercicio 3 (calculando polinomios). Realiza un programa que calcule el valor de un polinomio
de segundo grado de la forma Ax2+Bx+C. Como datos de entrada tendremos los coeficientes A, B
y C del polinomio y el valor de x. El programa debe mostrar un mensaje con el resultado de la
expresin. Por ejemplo, para la entrada A = 2, B = 3, C = 1 y x = 2, se mostrar el mensaje:
El valor del polinomio 2*x*x+3*x+1 es igual a 15.
Antes de empezar a programar realiza el diagrama de flujo (o pseudocodigo) del algoritmo.
INFORMTICA
GRADO EN INGENIERA
TELEMTICA
PRCTICA 1
Curso 2015-2016
UNIVERSITAT DE VALNCIA
Ejercicio 4 (uso de if anidados). Una tienda de comercio electrnico aplica un descuento a sus
clientes en relacin a la importancia de la compra. He aqu la tabla de descuentos:
Gasto (euros)
< 100
Descuento
10%
25%
Implementa un programa que muestre el total a pagar (dato de salida) a partir del gasto realizado
por el cliente (dato de entrada). Realiza el diagrama de flujo previamente.
Ejercicio 5 (circunferencia) Realiza un programa que determine si un punto (x,y) se encuentra
en el interior de un crculo con centro en el punto (a,b) y radio r. Un punto cualquiera (x,y) se
encuentra dentro de un crculo si se cumple que: