1) Desarrolle un procedimiento que reciba un entero positivo y devuelva su raíz cuadrada y el resto de dicha raíz.
Ejemplos:
la raíz cuadrada de 13 es 3 y el resto 4;
la raíz cuadrada de 246 es 15 y el resto 21.


2) Realizar un algoritmo que pida un número positivo y diga si es primo.

3) Realizar un programa:
a) Se pedirán por teclado la antigüedad de cada empleados de una empresa, y se controlará que ésta sea menor de 50 años. En caso contrario, se mostrará el oportuno mensaje de error y se volverá a pedir.
b) Se pedirá si se quiere continuar y en caso afirmativo se volverá al punto a).
c) En caso de que no se quiera continuar, se visualizarán los siguientes resultados:
1) Número de empleados de la empresa.
2) Antigüedad media de los empleados de la empresa.
3) La máxima antigüedad en la empresa.
4) La mínima antigüedad en la empresa.
5) Dar el mensaje "Organizar bodas de plata" si algún trabajador tiene exactamente 25 años de antigüedad en la empresa.


4) Realizar un algoritmo que imprima el siguiente menú:
1. Mostrar número pares del 1 al 10
2. Calcular número primo
3. Calcular el factorial de un número
4. Indicar si dos números son divisibles.
5. Salir
Después de realizar cualquier opción se debe volver a mostrar el menú.
Las tres primeras opciones hacen distintas funciones:
1. Se muestran los números pares del 1 al 10.
2. Se pide un número y se dice si es primo.
3. Se piden dos número y se dice si el primero es divisible por el segundo.
4. La opción salir, termina el programa, pero antes hace la siguiente pregunta: ¿Estás seguro de que quieres terminar (S/N)?, si se contesta S se termina, sino se vuelve a mostrar el menú.

5) Diseñar un programa que muestre la suma de los números impares comprendidos entre dos valores numéricos enteros y positivos introducidos por teclado.

6) Escribir un programa que lea el número de habitantes de 20 poblaciones y muestre el porcentaje (sobre el total de habitantes) de habitantes que pertenecen a:

Una población pequeña (menos de 2.000 habitantes).
Una población media (entre 2.000 y 300.000 habitantes).
Una población grande (más de 300.000 habitantes).

7) Diseñar el algoritmo correspondiente a un programa que lee dos números y presenta una serie de opciones correspondientes a distintas operaciones que podemos realizar con ellos (suma, resta,multiplicación y división), de manera que en función de la opción elegida, muestra el resultado de la
operación realizada. En aquellos casos en los que se desee seguir operando con los mismos números, se debe contestar 'S' (Sí) al siguiente mensaje: "¿Otra operación con los mismos números S/N?" o 'N' (No), en caso contrario. Finalmente el programa deberá concluir tras responder 'S' (Sí) o
'N' (No) a la siguiente pregunta: "¿Terminar S/N?".

8) Escribir un programa que permita realizar descuentos en un comercio, en función del total de compras realizadas por cada cliente. Para realizar dichos descuentos, se deben leer los importes de cada compra parcial de un cliente hasta que un importe sea igual a cero, posteriormente se escribirá
el importe total a pagar teniendo en cuenta que se pueden efectuar los siguientes descuentos:
a) Si el importe total de la compra está entre 50.000 y 120.000 pts., el descuento es del 15%.
b) Si el importe total de la compra es mayor de 120.000 pts. el descuento es del 20%.
La lectura de clientes finaliza tras responder al mensaje de "¿Más clientes S/N?", mostrando al final la suma total de todos los importes cobrados.

9) Diseñar un programa que permita calcular los salarios semanales de los trabajadores de una empresa a partir de los siguientes datos:
1. Número de horas trabajadas.
2. El turno de trabajo realizado.
Mañanas (M).
Tardes (T).
Noches (N).
3. La tarifa ordinaria por hora de cada uno de los trabajadores.
Para el cálculo del salario bruto se tendrá en cuenta que el turno de tarde se paga a 1.2 más de la tarifa ordinaria, mientras que el turno de noche se paga a 1.5 más, también de la tarifa ordinaria.
Para el cálculo del salario neto se realizan determinados descuentos destinados al pago de impuestos de la siguiente forma:
1. Si el salario bruto es menor de 110.000 pts. el descuento es del 0.8%.
2. Si el salario bruto está entre 110.000 y 180.000 pts. el descuento es del 10%.
3. Si es mayor de 180.000 pts. el descuento es del 12%.
Se desea escribir el salario neto de cada trabajador junto con el importe total de salarios abonados.
La lectura de los datos finaliza respondiendo 'S' (Sí) o 'N' (No) a la siguiente pregunta "¿Más trabajadores S/N?".

10) Diseñar un programa que permita calcular las gratificaciones a pagar a los empleados de una empresa con motivo de celebrar sus 20 años de funcionamiento. Se deberá leer el nombre y número de años que cada trabajador lleva en dicha empresa, finalizando la lectura de datos al introducir un
nombre igual a "Fin". Se desea realizar un listado con los nombres de los empleados y su gratificación correspondiente, teniendo en cuenta la siguiente tabla:
Años trabajados en la empresa Gratificación en euros.
Más de 3 y menos de 10 => 200 €
Entre 10 y 15 => 300 €
Más de 15 => 500€
Al final se desea escribir el total de gratificaciones abonadas.

11) Escribir un programa que lea las temperaturas obtenidas en 15 observatorios meteorológicos y escriba la temperatura mínima y cuántas mínimas se han producido.

12) Diseñar un programa que realice las siguientes operaciones:
a) Leer por teclado dos valores númericos que representan la base y el exponente de una potencia donde el exponente es un número entero positivo o negativo. La introducción de datos se termina por la contestación a un mensaje de "¿Terminar S/N?".
b) Visualizar por cada par de números introducidos la potencia correspondiente, teniendo en cuenta los siguientes casos:
b.1) Si la base y el exponente son cero, se mostrará un mensaje de error que diga "Datos erróneos".
b.2) Si el exponente es cero la potencia es 1.
b.3) Si el exponente es negativo la fórmula matemática de la potencia es pot = 1/base^exp. En este caso, si la base es cero escribir un mensaje de "Datos erróneos".
Nota: No se dispone del símbolo de exponenciación, ni de ninguna función de cálculo.

13) Escribir un programa que lea el nombre, sexo (V/M) y edad de una serie de personas de una población, finalizando la lectura de datos cuando un nombre sea igual a '*' y muestre como resultado la media de edad de cada sexo, así como el nombre del varón y el de la mujer de mayor
edad.

14) Diseñar un programa que permita adivinar al ordenador un determinado número entero y positivo para lo cual se deben leer los límites en los que está comprendido dicho número. El programa deberá ir mostrando números que recibirán las siguientes respuestas:
1. 'S', si es correcto.
2. 'A', si es más alto que el número a adivinar.
3. 'B', si es más bajo.
Al finalizar el programa, se deberá escribir el número de intentos realizados para acertar el número.

15) Pedir los tres coeficientes de una ecuación de segundo grado y calcular las soluciones de dicha ecuación. Considerar todas las posibilidades.

16) Una compañía eléctrica desea calcular el importe de las facturas. Se debe pedir el tipo de cliente ('a', 'b' o 'c') y el consumo en KWh. El importe será un coste fijo (que depende del tipo de cliente) más el producto del consumo por el precio unitario de cada KWh (que depende del tipo de
cliente y de la cantidad consumida). La tabla de tarifas es la siguiente:

p

17) Codificar un programa que permita determinar si un número es primo, es decir, aquél que sólo es divisible por 1 y por sí mismo. Sin embargo, se puede determinar si un número es o no primo de la siguiente forma: un número es primo si sólo si no tiene divisores (distintos del número uno) menores que su raíz cuadrada. El programa deberá calcular los números primos menores que uno dado, el cual se pedirá por pantalla.

18) Codificar un programa que permita determinar el menor número de billetes de 500, 200, 100, 50, 20 y 10 euros o de monedas de 2 o 1 euros, 50, 20, 10, 5,2,1 centimos necesarios para pagar una cantidad asignada.

19) Se desea calcular el salario neto semanal de un trabajador en función del número de horas trabajadas y la tasa de impuestos:
- Las primeras 35 horas se pagan a tarifa normal
- Las horas que pasen de 35 se pagan a 1.5 veces la tarifa normal.
- Las tasas de impuestos son:
- Las primeras 100.000 pesetas son libres de impuestos.
- Las siguientes 40.000 tienen un 25 por 100 de impuestos.
- Las restantes, un 45 por 100 de impuestos
- La tarifa horaria es de 3.500 pesetas.
Se desea codificar un programa que pida el nombre y las horas trabajadas y calcule el salario bruto, las tasas descontadas y el salario neto.

19) Generar el siguiente "árbol" de dígitos utilizando bucles anidados. No escribir las cadenas de dígitos completas, sino determinar una relación lógica que permita generar dicho árbol poco a poco.

p2
Last modified: Thursday, 15 September 2011, 1:12 AM