Sunteți pe pagina 1din 6

INFORMTICA

GRADO EN INGENIERA
TELEMTICA

PRCTICA 1
Curso 2015-2016

UNIVERSITAT DE VALNCIA

Prctica 1: Empezando a programar en C++


Objetivos
- Conocer el entorno de desarrollo de software DevC++.
- Describir la estructura general de sencillos programas en C++.
- Conocer las funciones de Entrada/Salida de C++.
- Aprender a utilizar apropiadamente los tipos de datos.
- Comprender el uso de la estructura secuencial.
- Comprender el uso de las estructuras alternativas (simple y doble) y su implementacin en C++.

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

2. Introduccin a las funciones de entrada y salida estndar en C++


Para realizar operaciones de entrada y salida necesitamos utilizar la biblioteca iostream, que
deberemos incluir en nuestro fichero mediante la sentencia #include <iostream>. Podremos
utilizar las instrucciones cin y cout, para leer informacin desde el teclado y mostrar informacin
en pantalla, respectivamente. Algunos ejemplos:
cin >>

numAlumnos;

cout << "He comprado dulces";

Leemos un dato introducido por teclado y lo


guardamos en la variable numAlumnos.
Muestra por pantalla la cadena entre comillas:
He comprado dulces

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

cout << "Hola" << endl << "Hola";

Realiza un salto de lnea entre las dos cadenas:


Hola
Hola

3. Estructuras Alternativas Simple y Doble. Sentencias IF y sentencia IF_ELSE


Las estructuras de control selectivas permiten decidir qu ejecutar y qu no ejecutar en un
programa en funcin del valor que toma una expresin lgica. Por ejemplo: Realizar una divisin
slo si el divisor es distinto de cero. En esta sesin slo veremos la alternativa simple y la doble.
Alternativa simple: UN bloque de sentencias se ejecuta SI se cumple una condicin (expresin
lgica).
Alternativa doble: DOS bloques de sentencias. Se ejecuta UNO u OTRO dependiendo de SI se
cumple o NO una condicin (expresin lgica).
//Una alternativa
if (a != 0)
resultado = a / b;

//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;

Cul es la sentencia if asociada a else?


El sistema ms fcil para evitar errores es el sangrado. Visualmente se puede observar que la
parte else se corresponde a la condicin b > 0
if (a > 0)
if (b > 0)
c = a + b;
else
c = a * b * c;
d = a * b;
Una de las razones de utilizar la Gua de Estilo (ver pdf en Aula Virtual) es la claridad de los
programas y evitar errores innecesarios y prdidas de tiempo.
3. Ser necesario utilizar llaves para una sentencia if en caso de que haya ms de una instruccin
en dicho bloque:
if (a > 0) {
b = b / a;
c = 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%

Mayor o igual a 100 y 15%


menor que 200
Mayor o igual a 200

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:

(x-a)2 + (y-b)2 < r2


Indica quienes son los datos de entrada y de salida. Indica el pseudocdigo (no olvides la
cabecera) y dibuja el diagrama de flujo.
El mensaje de salida debe ser de la siguiente forma. Por ejemplo, en el caso de la circunferencia
de centro (1,1) y radio 2, y de que introduzcamos el punto (5,3), el mensaje sera:
El punto (5,3) no se encuentra dentro del crculo de centro (1,1) y
radio 2.

S-ar putea să vă placă și