Documentos de Académico
Documentos de Profesional
Documentos de Cultura
OBJETIVOS DE APRENDIZAJE
Las competencias específicas a adquirir con esta actividad son:
● Manejar los elementos básicos de programación estructurada.
● Codificar programas y funciones de forma efectiva y eficiente.
● Verificar el buen funcionamiento de un programa o función.
● Documentar programas por medio de los comentarios dentro y fuera del código.
● Utilizar la descomposición modular en C para resolver un problema dividiéndolo en otros subproblemas.
● Seleccionar las estructuras de control apropiadas a un problema dado.
● Seleccionar de los tipos de datos y estructuras de datos apropiadas a un problema dado.
● Realizar análisis básicos en la resolución de problemas algorítmicos.
● Utilizar la capacidad de adaptación de modelos algorítmicos generales en la resolución de problemas
concretos.
● Estilo de programación limpio, claro y ordenado.
DESCRIPCIÓN DE LA ACTIVIDAD
Para hacer estos ejercicios necesitáis tener instalado un entorno de desarrollo integrado (en inglés IDE,
integrated development environment) para poder compilar, ejecutar y depurar vuestros programas, como
Netbeans (https://netbeans.org/downloads/) o Eclipse (http://www.eclipse.org/downloads/).
ENUNCIADOS:
1) Deseamos crear un programa que dados dos números enteros a y b sea capaz de decidir si la suma de
éstos (a+b) es un número primo.
El programa utilizará las funciones “sumaPrimo” que comprueba que la suma de los números a y b es un
número primo, y ésta usará a su vez la función “esPrimo” que detecta si un número es primo.
Ejemplos:
Introduce dos números:
3
2
La suma de los números es 5 y es número primo
Nota: Las funciones no mostrarán ningún mensaje dentro de su código, limitándose a devolver los valores
booleanos “true” o “false” al programa principal (main) que será el encargado de mostrar los mensajes de
salida.
2) Crear una función “generadorLetra” que genere un carácter de control para un número de
identificación. Para ello se tomará el resto de la división del número entre 5 y según el resultado la función
devolverá un carácter u otro como se indica en la tabla:
El programa principal (main) pedirá al usuario el número de identificación, que estará entre 0 y 10 000 (en
caso de introducir un número fuera de este rango se repetirá la pregunta hasta que el usuario ponga un
Nota: No se puede mostrar ningún mensaje dentro del código de la función, limitándose ésta a devolver el
carácter en el parámetro de salida, para que sea el programa principal (main) quien se encargue de ello.
Ejemplo 1:
Introduce un número de identificación:
12000
Introduce un número de identificación válido (de 0 a 10000):
451
Identificador:
451-K
Ejemplo 2:
Introduce un número de identificación:
7800
Identificador:
7800-M
Ejemplo 3:
Introduce un número de identificación:
5423
Identificador:
5423-Q
3) Escribe un programa que lea por teclado un número N (menor que 10) y calcule el producto:
N * N/2 * N/4 … * 1.
El programa utilizará una función recursiva con el siguiente prototipo:
int producto (int N);
Ejemplos:
Introduce un número 5
El producto del número por sus mitades sucesivas es: 10
Introduce un número 6
El producto del número por sus mitades sucesivas es: 18
Nota: La implementación de la función de forma “no recursiva” o iterativa implicará optar como máximo a la
mitad de la nota del ejercicio.