IP2122 - Sesión 02
IP2122 - Sesión 02
IP2122 - Sesión 02
Objetivos
• Practicar la importación, exportación, creación, compilación y ejecución de proyectos en Eclip-
se.
• Utilizar las bibliotecas estándar de C++.
• Resolver problemas mediante programas en C++ usando variables de tipos simples y las instruc-
ciones de escritura, lectura y asignación.
• Usar el Laboratorio Virtual de Programación del aula virtual.
Pensemos, por ejemplo, en programas que resuelvan problemas matemáticos. En muchas ocasiones habrá
que elevar un número a otro, calcular la raíz cuadrada, el coseno o sumar dos polinomios. Nos interesaría
tener ya definidas esas operaciones en algún sitio, de forma que se pudieran usar cuando las necesitára-
mos, teniendo la seguridad además de que funcionan bien ya que han sido probadas con anterioridad.
Se denomina biblioteca (o librería, mala traducción de library pero de uso muy extendido) a una recopi-
lación de funciones que resuelven problemas concretos. Una biblioteca está almacenada en ficheros sepa-
rados al fichero donde se encuentra el programa principal.
C++ cuenta con bibliotecas predefinidas que se pueden usar en nuestros programas. Usar funciones de
las bibliotecas estándar ayuda a mejorar el rendimiento y la portabilidad del software.
Hay muchas bibliotecas predefinidas en C y en C++ sobre diferentes temas: matemáticas, entrada/salida,
cadenas de caracteres, tiempo, etc.
Se puede consultar una descripción completa de las bibliotecas estándar y las funciones que incluyen en:
http://www.cplusplus.com/reference/clibrary/
En C y C++ existen bibliotecas equivalentes para mantener la compatibilidad entre los dos lenguajes. Así,
la librería matemática se denomina <math.h> y <cmath> en C++. Ambas se pueden usar en C++.
Para poder usar las funciones de una biblioteca predefinida se debe poner la directiva #include seguida
del nombre de la biblioteca. Por ejemplo:
#include <iostream>
#include <cmath>
A partir de ese momento, y en todo el fichero, se pueden usar las funciones definidas en la biblioteca.
Para poder usar una función concreta tenemos que conocer la biblioteca en la que se encuentra y su cabe-
cera.
La cabecera de una función indica el nombre exacto de la función, el número y tipo de la información
que hay que pasarle y el tipo del resultado.
Así, por ejemplo, si queremos calcular ab podemos usar la siguiente función de la librería <cmath>:
double es un tipo real, como float, pero con un rango mayor de valores. Se puede usar también con
variables de tipo int y float.
Si, por ejemplo, queremos guardar el resultado de elevar 2 a 4 en una variable x, pondríamos la siguiente
instrucción en un programa:
x = pow ( 2, 4 );
Tras ejecutarse, en x tendríamos el valor 16.
La llamada a una función puede ponerse en cualquier lugar en el que se pueda poner un valor del
tipo devuelto por la función.
Recordemos que las raíces de una ecuación ax2 + bx + c = 0 se calculan con la siguiente
fórmula:
Actividad 4: Bufete
Un bufete de abogados cobra según la cantidad de tiempo que le dedican a un caso.
Cada cuarto de hora se cobra a 60€ (impuestos incluidos). No cobra tiempos inferiores a un cuarto de
hora.
Así, si una persona emplea 1 hora y 14 minutos en un caso, el bufete solo cobra por 1 hora.
• Implementar un programa que lea el número de horas y de minutos que se ha trabajado en un ca-
so y muestre el precio que hay que cobrar en la factura.
• Debe especificarse e implementarse una función que, dadas las horas (un valor entero
mayor o igual que 0) y los minutos (un valor entero entre 0 y 59, ambos incluidos),
devuelva el precio.
tory), un tipo de actividad que hay en el aula virtual de la asignatura, y que compara las
salidas con una batería de test.
1
14
240
Otro ejemplo
1
15
300
• Prueba el programa con LVP - Actividad 4 - Bufete hasta que pase todas las prue-
bas.
Actividad 5: Aforo
Con la actual pandemia, se ha limitado el aforo de cualquier recinto. En el caso de las aulas, por ejemplo,
se parte del número total de plazas y se calcula un porcentaje que será el máximo de plazas que se podrán
ocupar.
Con ese máximo de ocupación, luego hay que comprobar si cabe o no el grupo que tiene que estar en esa
aula.
Tienes que implementar un programa que ayude a realizar estos cálculos. El programa pedirá el número
de plazas de un aula, el porcentaje máximo de ocupación y el número de estudiantes del grupo. Todos
estos datos serán números enteros.
Como resultado, el programa escribirá el número de plazas que quedarán libres. (Si el número es negati-
vo, significará que faltarán esas plazas.)
La ejecución de tu programa debería tener un aspecto similar al de los siguientes ejemplos. Los valores en
verde son los datos introducidos.
El primer valor es el número de plazas del aula (un valor mayor o igual que 0). El segundo, el porcentaje
de ocupación (un valor entre 0 y 100, ambos incluidos). El tercero, el número de estudiantes del grupo (un
valor mayor o igual que 0). El resultado, con el número de plazas libres, es el cuarto número.
100
60
53
7
80
50
46
-6
230
55
126
0
(Ten en cuenta que el aforo resultante será siempre un número entero y que no habrá redondeo al alza.)
Suponemos que los datos leídos son correctos siempre.
• Prueba el programa con VPL: Actividad 5 - Aforo hasta que pase todas las pruebas.
Queremos implementar un programa que calcule el área de la superficie y el volumen de un cono recto a
partir de la altura y el radio de la base.
La generatriz de un cono recto es la hipotenusa del triángulo rectángulo que forman la altura del cono y
el radio de la base, y se calcula aplicando el teorema de Pitágoras.
El volumen de un cono de radio r y altura h es 1/3 del volumen del cilindro que posee las mismas dimen-
siones:
Escribe un programa que pida los datos del cono (radio de la base y altura) y muestre por pantalla el área
de la superficie y el volumen del cono.
Los datos del cono pueden ser números reales. Suponemos que los datos leídos son siempre correctos. Se
deben incluir mensajes para la entrada de datos y para mostrar los resultados que hagan fácil de usar el
programa.
En la siguiente dirección puedes comprobar si los valores calculados por tu programa son correctos:
https://www.calculatorsoup.com/calculators/geometry-solids/cone.php