Guía de ejercicios numero uno. LENGUAJE DE PROGRAMACION UNO. Instrucciones: Para cada caso elabore la sintaxis en lenguaje C., compílelo e intégrelos al menú que su profesor le explicara en clase. Solución lineal.(estructura Secuencial) 1.) Escriba un programa completo que calcule las cuatro operaciones básicas mas la raíz cuadrada del producto, de estos dos números y despliegue en pantalla el resultado de las cuatro operaciones básicas mas la raíz cuadrada. 2.) Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara después de un mes si el banco paga a razón de 2% mensual. 3.) Una tienda ofrece un descuento del 15% sobre el total de su compra y un cliente desea saber cuanto deberá pagar finalmente por su compra. 4.) Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior. 5.) Calcular el número de pulsaciones que debe tener una persona por cad 10 segundos de ejercicio de aeróbico; la formula que se aplica es: si el sexo el femenino Numero de pulsaciones = (220-edad) / 10 y si el sexo es masculino Numero de pulsaciones = (210-edad) / 10 6.) Tres personas deciden invertir su dinero para fundar una empresa, cada una de ellas invierte una cantidad distinta, obtener el porcentaje que cad quien invirtió con respecto a la cantidad total invertida. 7.) Desarrolle un algoritmo que pida 123 e imprima su inverso ejemplo 321. Evaluación simple.(estructura de Selección) = Condicionales Simples. 1.) Escriba un programa que capte un número mayor a 100, y determine si este es par o no, si es par que lo sume a 100, de lo contrario que termine el programa. 2.) Escriba un programa que registre la hora de entrada de un empleado y su código, si la hora de entrada es mayor a 8:30 am deberá de imprimir el empleado entro tarde si no imprimir entrada correcta. 3.) Desarrolle un programa que lea dos números y los imprima de forma descendente. 4.) Determine si un alumno aprueba o reprueba un curso, sabiendo que aprobara si su promedio de tres calificaciones es mayor o igual a 70%, reprueba en caso contrario. 5.) Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente manera: si trabaja 40 horas o menos se le paga lps 16 la hora si trabaja mas de 40 horas se le paga lps 16 por cada una de las primeras 40 horas y lps 20 por cada hora extra. Msc Pedro Martin Fiallos Año 2011. Página 1
Evaluación múltiple. (Estructura de selección) = Condicionales Compuestos. 1.) Programa que lea tres números diferentes e imprima el mayor de los tres. 2.) Programa que calcule lo siguiente, leer el sueldo y la edad de una persona, si la persona es mayor de 30 años tendrá un descuento del 20%, si es mayor a 60 años 25%, de lo contrario será de 10%, por lo que su sueldo neto será igual a sueldo menos descuento. 3.) Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si ha este se le asigna un porcentaje de su salario mensual que depende de la antigüedad en la empresa de acuerdo con la siguiente tabla. Tiempo Antigüedad Menos de 1 año. 5% de salario 1 año o más y menos de 2 años. 7% de salario 2 años o más y menos de 5 años 10% de salario 5 años o más y menos de 10 años 15% de salario 20 años o mas 20% de salario 4.) En una tienda de descuento se efectúa una promoción por la cual se hace un descuento sobre el valor de la copra total según el color de la bolita que el cliente saque al pagar en caja, si la bolita es de color blanco no se hara descuento alguno, si es verde se hara un 10% de descuento, si es amarilla un 25%, si es azul un 50% y si es roja un 100%; determinar la cantidad final que el cliente deberá pagar por su compra, se sabe que solo hay bolitas de los colores mencionados. 5.) Leer dos números; si son iguales que los multiplique, si el primero es mayor que el segundo que los reste y si no que los sume, e imprima en pantalla el resultado. 6.) Diseñar una función para leer un año y determinar si es bisiesto. NOTA: un año es bisiesto si es múltiplo de 4. Los múltiplos de 100 no son bisiestos, salvo si son también múltiplos de 400. 7.) Convierta el siguiente pseudocódigo a diagrama de flujo. 8.) Escribir un Pseudocódigo que lea 3 números los cuales significan una fecha (día, mes, año). Comprobar que sea válida la fecha, si no es valido que imprima un mensaje de error, y si es válida imprimir el mes con su nombre. 9.) 10.) Inicio 11.) Variables dia, mes, año =entero. 12.) 13.) Imprimir "Introduce la fecha (Dia,mes,año): " 14.) Leer dia, mes, año. 15.) Si dia>31 o mes >12 o año<0 entonces 16.) Imprimir "Error la fecha no es correcta" 17.) Sino 18.) si mes=1 o mes=3 o mes=5 o mes=7 o mes=8 o mes=10 o mes=12 entonces 19.) si dia >31 y dia<1 entonces 20.) Imprimir "Error de Dia" 21.) sino Msc Pedro Martin Fiallos Año 2011. Página 2
22.) si mes=1 entonces imprimir dia,"/ Enero /",año 23.) si mes=3 entonces imprimir dia,"/ Marzo /",año 24.) si mes=5 entonces imprimir dia,"/ Mayo /",año 25.) si mes=7 entonces imprimir dia,"/ Julio /",año 26.) si mes=8 entonces imprimir dia,"/ Agosto /",año 27.) si mes=10 entonces imprimir dia,"/ Octubre /",año 28.) si mes=12 entonces imprimir dia,"/ Diciembre /",año 29.) Si mes=2 entonces 30.) si dia>28 o dia<0 entonces 31.) Imprimir "Error de Dia" 32.) sino 33.) Imprimir dia,"/ Febrero /",año 34.) 35.) Si mes=4 o mes=6 o mes=9 o mes=11 36.) Si dia >30 o dia <1 entonces 37.) Imprimir "Error de Dia" 38.) Sino 39.) Si mes=4 entonces 40.) Imprimir dia,"/ Abril /",año 41.) Si mes=6 entonces 42.) Imprimir dia,"/ Junio /",año 43.) Si mes=9 entonces 44.) Imprimir dia,"/ Septiembre /",año 45.) Si mes=11 entonces 46.) Imprimir dia,"/ Noviembre /",año 47.) Fin. Bucles condicionales Iteraciones o ciclo. (while) (Controlada por contador o por centinela) While (mientras condición se cumpla---haga) Evalúa la condición de continuidad del ciclo al principio del mismo antes que se ejecute el cuerpo del mismo. 1.) En una empresa se requiere,calcular salario semanal de cada uno de los obreros que laboran en ella el salario se obtiene de la siguiente forma: Si el obrero trabajo 40 horas o menos se le pagara lps 20 por hora, Si trabaja mas de 40 horas se le pagara lps 20 cada una de la primeras 40 horas y lps 25 por cada hora extra. (use contador para controlar el bucle) 2.) Haz un programa que funcione de la siguiente manera: - El programa nos pide que escribamos dos números positivos menores de 57 - El programa nos da como resultado el producto de los dos números. - Si los números no son positivos o son mayores o iguales a 57, el programa nos lo dice y se acaba la ejecución del mismo. Msc Pedro Martin Fiallos Año 2011. Página 3
- El programa nos pregunta al final si queremos volver a empezar. 3.) Escribe un programa que nos vaya pidiendo números. Si escribimos el número 9999 se acaba; por último el programa nos da como resultado la suma de números introducidos, exceptuando el 9999. 4.) Haz un programa que escriba todos los múltiplos de 23 inferiores a 1000 y por último nos dé la suma de todos ellos. (use contador ) 5.) Haz un programa que sirva para hacer una tabla de valores de la función: Y=sen(7X-5) - El programa nos pide los dos valores de x (valores máximo y mínimo) 6.) Haz un programa que sirva para calcular una hipotenusa a partir de suso catetos, de la siguiente forma: - El programa nos pide el valor de un cateto. - Si el cateto es mayor que la hipotenusa, el programa nos da un mensaje de error y se acaba - El programa nos da como resultado el valor de los catetos y la hipotenusa nos pregunta si queremos volver a empezar. (use contador para controlar el bucle) 7.) Haz un programa que sirva para resolver ecuaciones de 2º grado del tipo ax + by = c (use contador o centinela para controlar el bucle) 8.) Haz un programa que escriba los 15 primeros múltiplos de 7, su suma y su producto. El programa ha de tener la posibilidad de volver a empezar. (use centinela para controlar el bucle) 9.) Haz un programa que sirva para calcular el área de un triángulo o el área de un rectángulo o el área de un círculo. El programa ha de tener la posibilidad de volver a empezar. 10.) Haz un programa que nos pida un número y dé como resultado la tabla de multiplicar del número introducido. (ciclo for) 11.) Haz un programa que calcule la anualidad, a partir del capital, el tanto por ciento anual, y los años de amortización de un crédito: Cap*(1+i/100)^años *i/100 Anualidad = --------------------------------------- (1+i/100)^años - 1 El programa ha de tener la posibilidad de volver a empezar. (use centinela para controlar el bucle) 12) Desarrolle un algoritmo que le permita leer un valor entero positivo N dado en Msc Pedro Martin Fiallos Año 2011. Página 4
base decimal y convertirlo a base binaria. 13.) Desarrolle un algoritmo que le permita leer un valor entero positivo N y calcular su cuadrado sumando N veces N. ( elabore el pseudocódigo) Do while. (haga mientras condición se cumpla) Evalua la condición de continuidad del ciclo después de que cuerpo de este se ejecuta, por lo tanto el cuerpo del ciclo se ejecuta al menos una vez. Nota: para cada uno de los ejercicio del ciclo while,del (1-13) de igual manera resuélvalos usando el ciclo do while. (Recuerde que elaborara diagrama y pseudocódigo usando el software de diagramación). Msc Pedro Martin Fiallos Año 2011. Página 5
Ejercicio con ciclo for (para ) El enunciado FOR es una construcción de programación del C que ejecuta un bloque de uno o más enunciados una determinada cantidad de veces. Si bien este bucle no se incluye en el Seudo código clásico, con ligeras variantes, es prácticamente adoptado por todos los lenguajes. Por ello, tratamos aquí este bloque con sus posibles modalidades y su Seudo código, no estándar, correspondiente. 1.) Desarrolle un algoritmo que le permita realizar la suma de los primeros N Números Primos hasta 100. 2.) Se desea calcular el sueldo de N empleados considerando lo siguiente, el programa captara el numero de empleados a calcular, luego el sueldo y en base a este hará los cálculos en base a las condiciones siguientes: Si el sueldo es de 1,000 a 10,000 se le aplicara un incremento de 5% en base a su sueldo, y una deducción de 2% Si el sueldo es arriba de 10,000 y menor a 15,000 se incrementa un 3% en base a su sueldo, y una deducción de 2% Si el sueldo es igual a 15,000 y menor o igual a 20,000 se incrementa en 2% en base a su sueldo, y una deducción de 2% De los contrario no se aplicara incremento, pero si una deducción de 3% El algoritmo debe dar como salida, el sueldo neto y suelto bruto, y deducciones. 3.) Desarrolle un algoritmo que le permita leer un valor entero positivo N y calcule su factorial. 4.) Desarrolle un algoritmo que le permita sacar y escribir el cuadrado de cada uno de los primeros N números naturales. 5.) Desarrolle un algoritmo que le permita leer tres valores A,B,C e indique cual es valor del centro, el ciclo debe de repitirse N veces. Análisis: Una vez leídos los valores en cada uno de los indicadores (variables A,B,C) se procede a comparar cada uno de ellos con los otros dos para verificar si es valor del centro o no. Un valor es del centro si es menor que uno y mayor que otro o el caso contrario. Igualmente se asume que los tres valores leídos son diferentes. NOTA : Usando la Instrucción de selección múltiple. SWITCH, elabore un menú de operación, e integre todos los programas anteriores.(este lo realizara con el docente de la clase.) ++ investigue por su propia cuenta y discuta en la clase una segunda manera de elaborar menú de operación. Msc Pedro Martin Fiallos Año 2011. Página 6
EJERCICIOS CON FUNCIONES EN C##. 1.) Investigue como elaborar un menú con funciones y el el integre los siguiente. 2.) Haz un programa que sirva para resolver ecuaciones de 2º grado del tipo ax + by = c 3.) Desarrolle un algoritmo que le permita realizar la suma de los primeros N Números hasta 100. Recuerde que una función es un cuerpo en el que puede integrar ciclos en este caso ciclo for. 4.) Se desea calcular el sueldo de N empleados considerando lo siguiente, el programa captara el número de empleados a calcular, luego el sueldo y en base a este hará los cálculos en base a las condiciones siguientes: Si el sueldo es de 1,000 a 10,000 se le aplicara un incremento de 5% en base a su sueldo, y una deducción de 2% Si el sueldo es arriba de 10,000 y menor a 15,000 se incrementa un 3% en base a su sueldo, y una deducción de 2% El algoritmo debe dar como salida, el sueldo neto a pagar. 5.) Desarrolle un algoritmo que le permita leer un valor entero positivo N y calcule su factorial. 6.) Desarrolle un algoritmo que le permita sacar y escribir el cuadrado de la suma de los primeros N números naturales, donde N es el limite. 7.) Desarrolle un algoritmo que le permita leer tres valores A,B,C e indique cual es valor del centro, dando como salida el numero del centro. 8.) Calcular el número de pulsaciones que debe tener una persona por cad 10 segundos de ejercicio de aeróbico; la formula que se aplica es: si el sexo el femenino Numero de pulsaciones = (220-edad) / 10 y si el sexo es masculino Numero de pulsaciones = (210-edad) / 10 Debe de dar como salida nada mas el numero de pulsaciones. Msc Pedro Martin Fiallos Año 2011. Página 7