You are on page 1of 4

Fundamentos de la Programacin Cuaderno de trabajo 1 1

Grado en Sistemas de la Informacin, turno de maana


Grado en Ingeniera Informtica, turnos de maana y tarde
Ejercicios Resueltos

1. Escribir un cdigo que mediante el uso de una variable de tipo lgico (bool) determine
si una empresa es micro, pequea o mediana segn los estndares de la UE. Dichos
estndares establecen que toda empresa que cuenta con menos de 10 empleados y
una facturacin por debajo de los 2 millones de euros o bien con un balance inferior a
los 2 millones de euros, es una microempresa. Haga los clculos para una empresa de
20 empleados, 18 millones de euros de facturacin y 5 millones de euros de balance y
almacene el valor en una variable lgica.

SOLUCION PROPUESTA:

#include <stdio.h>
#include <stdbool.h>

int main(void)
{
const int MIN_EMPLEADOS = 10;
const float MIN_FACTURACION = 2; /* MEuros*/
const float MIN_BALANCE = 2; /* MEuros*/

int empleados;
float facturacion = 18;
int balance = 5;

bool esMicroempresa = empleados < MIN_EMPLEADOS
&& facturacion <= MIN_FACTURACION
|| balance <= MIN_BALANCE;
}

2. Modificar el cdigo anterior para calcular tambin si se trata de una pequea
empresa, siendo la definicin de pequea empresa toda aquella que no es
microempresa y que cumple bien que su balance es menor a 10MEUR o bien que con
menos de 50 empleados factura un mximo de 10MEUR.

SOLUCION PROPUESTA: Hay que aadir la siguiente lnea al programa:

bool esPequenia = !esMicroempresa &&
(balance <= 10
|| empleados <50 && facturacion <=10);
Fundamentos de Programacin
Cuaderno de Trabajo 1


Fundamentos de la Programacin Cuaderno de trabajo 1 2
3. El clculo del impuesto sobre la renta de las personas fsicas (IRPF) en un pas
imaginario se realiza utilizando como base liquidable el salario total percibido y
aplicando diferentes porcentajes en funcin de varios tramos para asegurar una carga
fiscal progresiva. Los primeros 11.200EUR no estn sujetos a este impuesto y por
tanto slo se pagar IRPF por las cantidades que superen dicho importe. A partir de
ah, hay 3 tramos, uno para los primeros 15.707 que cotizan al 24,75%, otro para los
siguientes 13.007 que pagan el 33,1% y luego el resto que tributa al 52,8%. Escriba un
programa en C que calcule el importe total del IRPF para una persona que cobre un
salario de 50.000EUR.

SOLUCION PROPUESTA:

#include <stdio.h>
#include <math.h>

int main(void)
{
const float LIMITE_EXENTO = 11200; // 11.200 EUR
const float LIMITE_TRAMO1 = 15707; // 15.707 EUR
const float LIMITE_TRAMO2 = 33007; // 33.007 EUR
const float PORCENTAJE_TRAMO1 = 0.2475; // 24.75%
const float PORCENTAJE_TRAMO2 = 0.331; // 33.1%
const float PORCENTAJE_TRAMO3 = 0.528; // 52.8%

float base_liquidable = 50000; // por ejemplo 50KEUR de sueldo
float primer_tramo, segundo_tramo, resto, total_IRPF;

base_liquidable -= LIMITE_EXENTO; //restamos mnimo exento de tributar
primer_tramo = fmin(base_liquidable, LIMITE_TRAMO1);
total_IRPF = PORCENTAJE_TRAMO1 * primer_tramo; //impuestos tramo 1

segundo_tramo = fmin(base_liquidable, LIMITE_TRAMO2) ;
total_IRPF += PORCENTAJE_TRAMO2 * segundo_tramo; //impuestos tramo 2

resto = base_liquidable-segundo_tramo;
total_IRPF += resto * PORCENTAJE_TRAMO3; //impuestos tramo 3

printf("El total del IRPF es: %g\n", total_IRPF);
printf("Ingresos despus de impuestos: %g\n", base_liquidable +
LIMITE_EXENTO - total_IRPF);
return 0;
}
Ejercicios propuestos

1. Escribir un programa que imprima su nombre, edad y titulacin, primero todo en la
misma lnea y despus en lneas separadas.
2. Encontrar el valor del entero ms grande que se puede utilizar en C en el IDE que se
est utilizando y mostrarlo por pantalla (utilice la constante interna INT_MAX). Nota:
tendr que incluir la biblioteca <limits.h>.
3. Escribir un programa que solicite al usuario una hora (hora, minutos y segundos) y
muestre por pantalla el total de segundos transcurridos desde la ltima medianoche.



Fundamentos de la Programacin Cuaderno de trabajo 1 3
4. Escribir un programa que calcule el rea de un cuadrado:
a) Utilizando dos variables, una para almacenar la longitud del lado y otra para
almacenar el rea.
b) Utilizando una nica variable para almacenar la longitud del lado.
5. Escribir un programa que imprima los valores del logaritmo neperiano (Ln) de cinco
valores, mostrndolos como se indica a continuacin:
VALOR LOGARITMO
v1 Ln(v1)= x1
v2 Ln(v2)= x2
v3 Ln(v3)= x3
v4 Ln(v4)= x4
v5 Ln(v5)= x5
Nota: utilice la funcin log() de la biblioteca <math.h>.
6. Escribir un programa en C que calcule el impuesto que debe pagar un contribuyente a
partir de sus ingresos anuales y el nmero de hijos. El impuesto a pagar es un tercio
del ingreso imponible, siendo este ltimo igual a los ingresos totales menos una
deduccin personal de 600 y otra deduccin de 60 por hijo.
7. Una industria mantiene una flota de camiones para repartir productos. En cada viaje,
el conductor anota la distancia recorrida en kilmetros, los litros de gasolina
utilizados, el coste de la gasolina y los dems costes de mantenimiento del camin.
Como parte del proceso de contabilidad, el controlador necesita calcular para cada
camin y para cada viaje los kilmetros recorridos por litro, el coste total del viaje y el
coste por kilmetro. Disear un programa sencillo que nos permita llevar a cabo estos
clculos para un camin.
8. Escribir un programa que lea una longitud en kilmetros y muestre su
equivalencia en Hm, Dm y m.
9. Se desea conocer el importe en Libras Esterlinas (GBP) al cambio de una
cantidad en Euros (EUR). Escriba un programa que lea la cantidad en euros
y el tipo de cambio y muestre el equivalente en libras teniendo en cuenta
que la casa de cambio retiene una comisin del 2% sobre el total de la
operacin.
10. Escribir un programa que lea los lados de un rectngulo, calcule su rea y
permetro y los muestre por pantalla.
11. Escribir un programa que ledos 5 nmeros reales, calcule su media
aritmtica, suma total y producto total y muestre todas estos datos por
pantalla.


Fundamentos de la Programacin Cuaderno de trabajo 1 4
12. Escribir un programa que lea un nmero entero entre 1 y 10 y a
continuacin muestre por pantalla la tabla de multiplicar de dicho nmero
segn el siguiente formato (ejemplo para la tabla del 1):
1 x 1 = 1
1 x 2 = 2

1 x 10 = 10
13. Transcriba el siguiente programa y ejectelo. Comente los resultados
obtenidos:

#include <stdio.h>

int main(void) {
int c;
float d;

c=3/2;
d=3/2;
printf("%i\n",c);
printf("%f\n",d);

d=3.0/2;
printf("%f\n",d);

return 0;
}
14. La temperatura expresada en grados centgrados TC, se puede convertir a
grados Fahrenheit (TF) mediante la siguiente frmula: TF = 9*TC/5 + 32.
Escriba un programa que pida al usuario la temperatura en grados
Fahrenheit y devuelva la temperatura en grados Centgrados.
15. El salario base de un vendedor es de 2.000 euros mensuales. A este salario
se le suma un 3% de comisin sobre el total de las ventas que ha realizado,
pero al total obtenido hay que descontarle un 32% del IRPF. Escriba un
programa en C que lea el importe de las ventas que ha realizado durante el
ltimo mes y escriba el salario neto que cobrar ese mes.

You might also like