Escuela Politécnica Superior de Elche FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial PRÁCTICA 2: Lenguaje C. Conceptos básicos y programación elemental CURSO 2006-2007 División de Ingeniería de Sistemas y Automática ISA-UMH © R-00-FI001v1.0 Escuela Politécnica Superior de Elche Ingeniería Industrial Práctica 2. Sesión 1. La práctica consiste en escribir programas en C que realicen las siguientes tareas. EJERCICIO 1: Escribir un programa que calcule la media aritmética de n números reales introducidos por teclado. El valor de n se debe pedir también al usuario. A continuación se muestra un ejemplo de ejecución. El valor medio debe aparecer con una precisión de 2 decimales. En negrita se muestran los valores introducidos por teclado. Introduzca n: 5 Valor 1: 10 Valor 2: 5.5 Valor 3: 4.75 Valor 4: 3.3 Valor 5: 1.22 El valor medio de los datos introducidos es: 4.95 EJERCICIO 2: Escribir un programa que calcule la media aritmética de n números reales introducidos por teclado. El valor de n se debe pedir también al usuario. La lectura de datos debe finalizar además si se introduce el número 1000 (utilizar la sentencia break). A continuación se muestra un ejemplo de ejecución. El valor medio debe aparecer con una precisión de 2 decimales, y en caso de que el programa haya finalizado porque se ha introducido el número 1000, no se debe tener en cuenta este valor para calcular la media. En negrita se muestran los valores introducidos por teclado. Introduzca n: 5 Valor 1: -10.5 Valor 2: 4.5 Valor 3: -3 Valor 4: 1000 Ha introducido el valor de finalizacion El valor medio de los datos introducidos es: -3.00 EJERCICIO 3: Escribir un programa que lea números enteros hasta que se introduzca un número <0. El programa debe devolver los siguientes datos: - La media aritmética de los valores introducidos (precisión 3 decimales). - El número de valores introducidos que son múltiplos de 3. - La suma de los números impares. - El máximo número introducido y las veces que ha sido introducido. El número negativo no se debe tener en cuenta a la hora de calcular estos resultados. A continuación se muestra un ejemplo de ejecución. En negrita se muestran los valores introducidos por teclado. Fundamentos de Informática. Práctica 1: Lenguaje C: Conceptos básicos Página 2 Escuela Politécnica Superior de Elche Ingeniería Industrial Valor 1: 10 Valor 2: 5 Valor 3: 9 Valor 4: 6 Valor 5: 13 Valor 6: 12 Valor 7: 13 Valor 8: 4 Valor 9: 2 Valor 10: -5 El valor medio de los datos introducidos es: 8.222 Se han introducido 3 múltiplos de 3 La suma de los numeros impares es 40 El maximo es 13 y se ha introducido 2 veces EJERCICIO 4: Escribir un programa que lea números enteros hasta que se introduzca un número <0. El programa debe calcular la suma de todos los números introducidos excepto los impares y los múltiplos de 10 (utilizando la sentencia continue). El número negativo no se debe tener en cuenta a la hora de calcular la suma. A continuación se muestra un ejemplo de ejecución. En negrita se muestran los valores introducidos por teclado. Valor 1: 10 Valor 2: 5 Valor 3: 9 Valor 4: 6 Valor 5: 13 Valor 6: 12 Valor 7: 20 Valor 8: 40 Valor 9: 2 Valor 10: 5 Valor 11: -5 La suma es 20 EJERCICIO 5: Escribir un programa que calcule el factorial de un número. A continuación se muestra un ejemplo de ejecución. En negrita se muestran los valores introducidos por teclado. Introduzca un número: 8 El factorial de 8 es: 8*7*6*5*4*3*2*1 Resultado = 40320 Fundamentos de Informática. Práctica 1: Lenguaje C: Conceptos básicos Página 3 Escuela Politécnica Superior de Elche Ingeniería Industrial EJERCICIO 6: Modificar el programa anterior para que se calcule el factorial sólo si el número introducido es mayor a cero. En caso de que el número sea cero o negativo, se debe volver a pedir (el número de veces necesarias) hasta que se introduzca uno positivo. A continuación se muestra un ejemplo de ejecución. En negrita se muestran los valores introducidos por teclado. Introduzca un numero: -2 El número introducido debe ser mayor a 0 Introduzca un numero: 0 El número introducido debe ser mayor a 0 Introduzca un numero: -67 El número introducido debe ser mayor a 0 Introduzca un numero: 10 El factorial de 10 es: 10*9*8*7*6*5*4*3*2*1 Resultado = 3628800 EJERCICIO 7: Escribir un programa que saque por pantalla la tabla de multiplicar de un número, seleccionado por el usuario. Para que se escriba la tabla, el número debe ser mayor o igual a 1 y menor o igual a 10. En caso contrario, se volverá a pedir el número. A continuación se muestra un ejemplo de ejecución. En negrita se muestran los valores introducidos por teclado. Introduzca un numero: 15 El numero debe estar comprendido entre 1 y 10 Introduzca un numero: 7 La tabla de multiplicar del 7 es: 7x1=7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 7 x 10 = 70 EJERCICIO 8: Escribir un programa que lea un número entero y saque por pantalla todos sus divisores. Introduzca un numero: 2546 Los divisores de 2546 son: 1 2 19 38 67 134 1273 2546 EJERCICIO 9: Escribir un programa que lea un número entero y diga si el número leído es primo o no primo. Fundamentos de Informática. Práctica 1: Lenguaje C: Conceptos básicos Página 4 Escuela Politécnica Superior de Elche Ingeniería Industrial Práctica 2. Sesión 2. La práctica consiste en escribir programas en C que realicen las siguientes tareas. EJERCICIO 10: Escribir un programa que lea números enteros por teclado (realizando una entrada interactiva de datos). Cuando se finalice la introducción de datos, se debe indicar cuantos números se han introducido, cuantos números pares se han introducido y cual es el menor número impar introducido. Introduzca dato: 12 Desea introducir mas datos? (S/N): S Introduzca dato: 5 Desea introducir mas datos? (S/N): S Introduzca dato: 87 Desea introducir mas datos? (S/N): S Introduzca dato: 56 Desea introducir mas datos? (S/N): S Introduzca dato: 41 Desea introducir mas datos? (S/N): N Se han introducido 5 numeros Se han introducido 2 numeros pares El menor numero impar es el 5 EJERCICIO 11: Escribir un programa que saque por pantalla los primeros n términos de la serie de Fibonacci. La serie de Fibonacci es aquella serie en la que cada número es igual a la suma de los dos números anteriores. Por definición, los dos primeros términos de la serie son iguales a 1. Cantidad de terminos: 10 Los 10 primeros términos de la serie son: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 EJERCICIO 12: Escribir un programa que lea un número entero por teclado, y a continuación saque por pantalla un triángulo de base igual al número introducido, con el siguiente formato: Introduzca n: 7 1 12 123 1234 12345 123456 1234567 Fundamentos de Informática. Práctica 1: Lenguaje C: Conceptos básicos Página 5 Escuela Politécnica Superior de Elche Ingeniería Industrial EJERCICIO 13: Escribir un programa que saque por pantalla las tablas de multiplicar del 1 al 10. Tras sacar cada una de las tablas, el programa debe pedir que se pulse cualquier tecla para sacar la siguiente tabla. (En el ejemplo de ejecución sólo se muestra hasta la tabla del 3, pero el programa real debe sacar hasta la tabla del 10). Tabla del 1: 1x1=1 1x2=2 1x3=3 1x4=4 1x5=5 1x6=6 1x7=7 1x8=8 1x9=9 1 x 10 = 10 Pulse una tecla para continuar Tabla del 2: 2x1=2 2x2=4 2x3=6 2x4=8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 2 x 10 = 20 Pulse una tecla para continuar Tabla del 3: . . . EJERCICIO 14: Se puede calcular la exponencial de x en puntos cercanos a 0 de forma aproximada, sumando los n primeros términos de la serie infinita siguiente: n ex = ∑ i =0 xn x x2 x3 x4 x5 x6 = 1+ + + + + + +K n! 1! 2! 3! 4! 5! 6! Escribir un programa que pida al usuario que introduzca el valor de x y la cantidad de términos a sumar (n), y calcule el valor de la exponencial. Fundamentos de Informática. Práctica 1: Lenguaje C: Conceptos básicos Página 6 Escuela Politécnica Superior de Elche Ingeniería Industrial Introduce el valor de x: 1 Introduce el limite de la suma: 4 La aproximacion de la exponencial es: 2.70833 EJERCICIO 15: Se puede calcular el seno de x en puntos cercanos a 0 de forma aproximada, sumando los n primeros términos de la serie infinita siguiente: x x 3 x 5 x 7 x 9 x 11 senx = − + − + − +K 1! 3! 5! 7! 9! 11! Escribir un programa que pida al usuario que introduzca el valor de x y el valor de n (siendo n el exponente del numerador del último término que se debe sumar), y calcule el valor del seno. Introduce el valor de x: 1 Introduce el limite de la suma: 4 La aproximacion del seno es: 0.83333 EJERCICIO 16: Escribir un programa que lea un número entero positivo y escriba todos los números primos menores o iguales al número introducido. Introduce valor: 20 Los numeros primos menores o iguales a 20 son: 1, 2, 3, 5, 7, 11, 13, 17, 19 EJERCICIO 17: Escribir un programa que actúe como una calculadora elemental. Al principio, el programa debe mostrar un menú en el que el usuario elige la operación a realizar. A continuación, se deben pedir los operandos y se devuelve el resultado. Esta secuencia se repite hasta que el usuario elija la opción de Salir. El programa se debe ejecutar correctamente independientemente de si se introducen letras mayúsculas o minúsculas. Se debe utilizar la sentencia switch para resolver el problema. Fundamentos de Informática. Práctica 1: Lenguaje C: Conceptos básicos Página 7 Escuela Politécnica Superior de Elche Ingeniería Industrial Opciones: a) Suma b) Resta c) Multiplicación d) Division e) Salir Introduce opcion: a Introduce operando 1: 5 Introduce operando 2: 3 5+3=8 Pulse una tecla para continuar Opciones: a) Suma b) Resta c) Multiplicación d) Division e) Salir Introduce opcion: g Opcion desconocida Pulse una tecla para continuar a) Suma b) Resta c) Multiplicación d) Division e) Salir Introduce opcion: C Introduce operando 1: 7 Introduce operando 2: 4 7 x 4 = 28 Pulse una tecla para continuar a) Suma b) Resta c) Multiplicación d) Division e) Salir Introduce opcion: e Fin del programa Fundamentos de Informática. Práctica 1: Lenguaje C: Conceptos básicos Página 8