DESARROLLO DEL PENSAMIENTO ANALÍTICO Y SISTÉMICO II
TALLER DE VALIDACIÓN DE COMPETENCIAS
Los ejercicios que se encuentran a continuación tratan de resumir las
competencias adquiridas en “DESARROLLO DEL PENSAMIENTO ANALÍTICO Y
SISTÉMICO I”, por lo cual es básico que Usted esté en capacidad de resolverlos
como requisitos previos del módulo “DESARROLLO DEL PENSAMIENTO
ANALÍTICO Y SISTÉMICO II”,
1. ¿Qué tipo de datos resulta más adecuado para representar cada uno de los
conceptos siguientes? :
a. El sueldo de un trabajador
b. La edad de una persona
c. El número de hijos
d. El estado civil
e. El estado de caducado o no de un producto
f. El nº de teléfono
g. La dirección
2. Escribir un programa que pida una cantidad en pesos y la convierta en
euros.
A partir del programa anterior escribir uno que pase de pesos a Libras
esterlinas, pidiendo primero cuantos pesos es una libra.
3. Para cada uno de los puntos siguientes escribir un programa que pida los
datos necesarios y calcule el área y el perímetro de la figura indicada
a. Un cuadrado
b. Un rectángulo
c. Un triángulo
d. Un círculo
4. Escribir un programa para calcular el importe de una venta en un
supermercado. El usuario debe indicar el nombre del producto, el precio por
unidad y el nº de unidades y el programa sacará por pantalla el nombre del
producto, el nº de unidades vendidas y el precio total. Preste especial
atención a qué tipo de datos resulta más adecuado para cada representar
cada cantidad.
5. Escribir un programa que calcule la nómina de un trabajador de la manera
siguiente. El trabajador cobra un precio fijo por hora y se le retiene un 8%
en concepto de Seguridad Social. El programa debe pedir el nombre del
trabajador, las horas trabajadas y el precio que cobra por hora. Como salida
debe imprimir el sueldo bruto, la retención y el sueldo neto 6. Evaluar las siguientes expresiones:
(a) 5 / 2 + 20 MOD 6
(b) 4 * 6 / 2 - 15 / 2
(c) 5 * 15 / 2 / (4 - 2)
(d) 8 = 16 OR 7 <> 4 AND 4 < 1
(e) (4 * 3 < 6 OR 3 > 5 - 2) AND 3 + 2 < 12
7. Suponiendo que a, b, c son variables enteras que tienen asignados los
valores a=8, b=3, c=-5 determinar el valor de las siguientes expresiones:
a) a+b+c
b) 2 * b + 3 * (a-c)
c) a/b
d) a MOD b
e) a/c
f) a MOD c
g) a * b /c
h) a * (b/c)
i) (a*c) MOD b j) a * (c MOD b)
8. Escribir un programa que pida un número entero y saque por pantalla el
cociente y el resto de la división entera entre ambos.
9. Escribir un programa que pida dos números y saque el mayor de ellos por
pantalla. Una versión mejorada informará de si los dos números son
iguales.
10. Escribir un programa que pida un número e indique si se trata de un
número par
11. Escribir un programa que pida una nota e imprima por pantalla la
calificación en formato “Apto” o “No Apto” según si la nota es mayor o
menor que 3.
12. Escribir un programa que lea tres valores enteros y muestre por pantalla el
máximo y el mínimo de ellos.
13. Escribir un programa que pida un número entero y determine si es múltiplo
de 2 y de 5.
14. Escribir un programa que pida la nota de un examen (un nº real entre 0 y 5)
e imprima por pantalla la calificación en formato “Suspenso”, si la nota es
menor que 3, “Aprobado” si está entre 3 inclusive y 4 sin incluir, “Notable” si
está entre 4 inclusive y 4.5 sin incluir, “Sobresaliente” si está entre 4.5
inclusive y 5 sin incluir y “Matrícula de honor” si la nota es igual a 5.
15. Escribir un programa que, dado el nombre o número del mes, y la
información de si el año es bisiesto saque por pantalla el número de días
del mes
16. Escribir un programa que, pida la fecha de nacimiento de una persona e
imprima por pantalla su signo zodiacal
17. Uno de los usos más habituales para los bucles condicionales es la
validación de entradas. Escribir un programa que pida una contraseña y
permita tres intentos. Si el usuario da la contraseña correcta responde
"Enhorabuena!" y queda inactivo, con este mensaje. En caso contrario el programa escribe "Lo siento, contraseña equivocada" y se cierra de
inmediato.
18. Escribir un programa que pida un número y saque por pantalla su tabla de
multiplicar.
19. Escribir un programa para calcular el promedio de una lista de números
positivos acabada en un número negativo.
20. Escribir un programa para sumar los números enteros de 1 a 100 utilizando
a. estructura (repetir) ; b. estructura (mientras) ; c. estructura (haga para).
21. Escribir un programa que lea una lista de números y determine cuantos son
positivos, y cuantos son negativos.
22. Escribir un programa que dados dos números, uno real (base) y un entero
positivo (exponente), saque por pantalla todas las potencias con base el
numero dado y exponentes entre uno y el exponente introducido
23. Escribir un programa que lea diez números, los guarde en un vector y a
continuación los imprima en orden inverso al de su entrada
24. Escribir un programa que lea tres números y los guarde en un vector. A
continuación los ordenará y guardará los valores ordenados en otro vector.
Finalmente sacará ambas listas de números por la pantalla
25. Escribir un programa que llene una matriz de 5 por 5 de valores aleatorios.
A continuación el programa debe imprimirla por pantalla. Opcional: El
programa puede también imprimir las sumas de las filas y las columnas
26. Diseñar una función que calcule el promedio de varios números
introducidos por el teclado. Hacer dos versiones, una para un número fijo
de valores y otra para un número cualquiera de valores.
27. Escribir una función que intercambie el valor de dos variables, es decir si
X=5 e Y=7 tras aplicar la función, por ejemplo haciendo "intercambiar(X,Y)"
se tiene que X=7 e Y=5.
28. Diseñar una función que calcule la potencia enésima de un número, es
decir que calcule X
n
para X, real y n entero (RECIBIDOS)
29. Diseñar una función "aMayusculas()" que convierta una cadena de texto en
mayúsculas
30. Diseñar una función "EsBisiesto(xxxx)" que decida si un año es bisiesto o
no
31. Escribir una función "EsMultiplo" que sirva para determinar si un número es
múltiplo de otra. Utilizarla en un programa que pida la antiguedad de un
trabajador y calcule cuantos trienios de antigüedad tiene.
32. Modularizar el programa del punto 5 utilizando tres funciones. Una para la
entrada, una para los cálculos y una para la salida de resultados
33. Repetir la modularización anterior utilizando funciones que pasen
parámetros
34. Hacer un programa salarios() que utilice las funciones anteriores dentro de
un bucle para calcular las nóminas de un número indeterminado de
trabajadores