ejercicios propuestos algorítmica i programacioni

24
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniería de Sistemas e Informática E.A.P INGENIERÍA DE SOFTWARE ALGORÍTMICA I - PROGRAMACIÓN I PRACTICA 1 : Programas Secuenciales 1. La fuerza de atracción entre dos masas, m1 y m2 separadas por una distancia d, está dada por la fórmula : Donde G es la constante de gravitación universal, G=6.673x10 -8 cm 3 /g.seg 2 . Elaborar un programa que lea la masa de dos cuerpos y la distancia entre ellos y, a continuación, obtenga la fuerza gravitacional entre ella. La salida debe ser en dinas; una dina es igual a gr.cm/seg 2 . 2. La famosa ecuación de Einstein para conversión de una masa m en energía viene dada por la fórmula: E=mc 2 , donde c es la velocidad de la luz y su valor es: c=2.99792458x10 10 cm/sg. Elaborar un programa que lea una masa en gramos y obtenga la cantidad de energía producida cuando la masa se convierte en energía. Nota: Si la masa se da en gramos, la fórmula produce la energía en ergios. 3. Elaborar un programa para convertir una medida dada en pies a sus equivalentes en: a) yardas; b) pulgadas; c) centímetros, y d) metros; donde (1 pie = 12 pulgadas, 1 yarda = 3 pies, 1 pulgada = 2,54 cm, 1m = 100 cm). Leer el número de pies y mostrar por pantalla el número de yardas, pies, pulgadas, centímetros y metros. 4. Elabore un algoritmo que calcule e imprima el costo de producción de un artículo, teniendo como datos la descripción y el número de unidades producidas. El costo se calcula multiplicando el número de unidades producidas por un factor de costo de materiales de 3.5 y sumándole al producto un costo fijo de 10000. 5. Elaborar un algoritmo que calcule e imprima el costo de un terreno cuadrado o rectangular, teniendo como datos la anchura y la longitud en metros, y el costo del metro cuadrado. 6. Elaborar un algoritmo para calcular el promedio de calificaciones de un estudiante. Los datos disponibles son el nombre y las cuatro calificaciones de los exámenes. La información requerida es el Nombre y las calificaciones. La calificación final es obtenida al multiplicar las calificaciones 1, 2, 3 y 4 1

Upload: angel-rodi

Post on 10-Dec-2015

58 views

Category:

Documents


5 download

DESCRIPTION

Ejercicios C++

TRANSCRIPT

Page 1: Ejercicios Propuestos Algorítmica I ProgramacionI

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOSFacultad de Ingeniería de Sistemas e Informática

E.A.P INGENIERÍA DE SOFTWARE

ALGORÍTMICA I - PROGRAMACIÓN I

PRACTICA 1: Programas Secuenciales

1. La fuerza de atracción entre dos masas, m1 y m2 separadas por una distancia d, está dada por la fórmula :

Donde G es la constante de gravitación universal, G=6.673x10-8 cm3/g.seg2.Elaborar un programa que lea la masa de dos cuerpos y la distancia entre ellos y, a continuación, obtenga la fuerza gravitacional entre ella. La salida debe ser en dinas; una dina es igual a gr.cm/seg2.

2. La famosa ecuación de Einstein para conversión de una masa m en energía viene dada por la fórmula: E=mc2, donde c es la velocidad de la luz y su valor es: c=2.99792458x1010 cm/sg. Elaborar un programa que lea una masa en gramos y obtenga la cantidad de energía producida cuando la masa se convierte en energía. Nota: Si la masa se da en gramos, la fórmula produce la energía en ergios.

3. Elaborar un programa para convertir una medida dada en pies a sus equivalentes en: a) yardas; b) pulgadas; c) centímetros, y d) metros; donde (1 pie = 12 pulgadas, 1 yarda = 3 pies, 1 pulgada = 2,54 cm, 1m = 100 cm). Leer el número de pies y mostrar por pantalla el número de yardas, pies, pulgadas, centímetros y metros.

4. Elabore un algoritmo que calcule e imprima el costo de producción de un artículo, teniendo como datos la descripción y el número de unidades producidas. El costo se calcula multiplicando el número de unidades producidas por un factor de costo de materiales de 3.5 y sumándole al producto un costo fijo de 10000.

5. Elaborar un algoritmo que calcule e imprima el costo de un terreno cuadrado o rectangular, teniendo como datos la anchura y la longitud en metros, y el costo del metro cuadrado.

6. Elaborar un algoritmo para calcular el promedio de calificaciones de un estudiante. Los datos disponibles son el nombre y las cuatro calificaciones de los exámenes. La información requerida es el Nombre y las calificaciones. La calificación final es obtenida al multiplicar las calificaciones 1, 2, 3 y 4 por los porcentajes 30%, 20%, 10% y 40%, respectivamente, y sumando los productos

7. La velocidad de la luz es 300,000 kilómetros por segundo. Elaborar un algoritmo que lea un tiempo en segundos e imprima la distancia que recorre en dicho tiempo.

8. Hacer un algoritmo que obtenga e imprima el valor de Y a partir de la ecuación Y = 3X2 + 7X – 15

solicitando como dato de entrada el valor de X.

9. Una temperatura en grados Centígrados (C) se puede convertir a su equivalente Fahrenheit (F) con la formula:

F = (9/5) C + 32 de Fahrenheit a Centígrados con la formula: C = (F – 32)(5/9)

Elaborar un algoritmo que lea una temperatura en grados centígrados y obtenga e imprima la temperatura Fahrenheit equivalente.

10. Elaborar un algoritmo que lea el artículo y su costo: la utilidad es el 150% y el impuesto es el 19%; calcular e imprimir artículo, utilidad, impuesto y precio de venta.

1

Page 2: Ejercicios Propuestos Algorítmica I ProgramacionI

11. Elaborar un algoritmo que permita leer valores para X, Y, Z, W; e imprima el valor de F.

12. Elaborar un algoritmo que lea el radio (r) de una esfera, calcule e imprima el volumen y el área.

VOLUMEN = AREA = 4r2

13. Elaborar un algoritmo que lea el valor de w e imprima el valor de Z.

14. Elaborar un algoritmo que lea la cantidad de dólares a comprar y el tipo de cambio (costo de un dólar) en: yenes, pesetas, libras esterlinas y nuevos soles; calcular e imprimir la cantidad a pagar en yenes, pesetas, libras esterlinas y nuevos soles.

15. Elaborar una algoritmo que permita leer el tamaño de un ángulo en radianes e imprimir la tangente, cotangente, secante y cosecante.

Tangente = seno Secante = 1 Coseno coseno

Cotangente = coseno cosecante = 1 Seno seno

16. Elaborar un algoritmo que permita leer el tamaño de un ángulo en grados e imprima el seno, coseno y arco tangente. Deben convertirse los grados leídos a radianes antes de hacer los cálculos.

17. Elaborar un algoritmo que permita leer valores para A y B; e imprima Y, Z y W.

Y = 3a2b2 2a W = 2aa ( 3a2b2 2a )

Z =

PRACTICA 2: Condicionales: Simples, Dobles, Selección múltiple

1. Elabore un algoritmo para calcular e imprimir el precio de un terreno del cual se tiene los siguientes datos: largo, ancho y precio por metro cuadrado. Si el terreno tiene mas de 400 metros cuadrados se hace un descuento del 10%.

2. Elabore un algoritmo para calcular e imprimir los valores de X y Y, teniendo como entrada el valor de X y calculando el de Y de acuerdo con las siguientes condiciones

Si X < 0 entonces Y = 3X + 6Si X > = 0 entonces Y = X2 + 6

2

4r3 3

12a1/2

b3/4

Page 3: Ejercicios Propuestos Algorítmica I ProgramacionI

3. De acuerdo con la clase de sus ángulos los triángulos se clasifican en:

Rectángulo tiene un ángulo recto (igual a 90°)Obtusángulo tiene un ángulo obtuso (mayor que 90° pero menor que 180°)Acutángulo los tres ángulos son agudos (menor que 90°)

Elaborar un algoritmo que permita leer el tamaño de los tres ángulos (A, B,C) de un triángulo e imprima de qué tipo es.

4. Elabore un algoritmo que permita leer los datos de un empleado: Nombre, Tipo de empleado, número de horas trabajadas y pago por hora; calcular e imprimir el sueldo a pagar. Si el empleado es tipo 1 se le pagan las horas extras (más de 40 horas) a 1.5 del pago por cada hora, si es tipo 2 a 2, si es tipo 3 a 2.5 y si es tipo 4 a 3 veces el pago por hora.

5. Elabore un algoritmo que lea el número del mes entre 1 y 12 y, que imprima el nombre del mes correspondiente: si es 1 ‘Enero’, si es 2 ‘Febrero’,...etc.

6. Elaborar un algoritmo que permita hacer conversiones de temperaturas entre grados Fahrenheit, Celsius, Kelvin y Rankine. Primero debe preguntar qué tipo de grados quiere convertir. Por ejemplo; si se le indica que se desea convertir una temperatura en grados Fahrenheit, debe leer la cantidad de grados, y luego calcular e imprimir su equivalente en grados Celsius, kelvin y Rankine, y así, debe hacer lo mismo para cada uno de los otros tipos. Para convertir a Celsius la temperatura Fahrenheit se le resta 32 y se multiplica por 5/9. para convertir a Kelvin, se le suma 273 a los grados Celsius. Para convertir a Rankine a los grados Fahrenheit se le suma 460.

7. Un sistema de ecuaciones lineales

ax + by = cdx + ey = f

se puede resolver con las formulas

X = Y = si (ae - bd) < > 0

Elaborar un algoritmo que lea los coeficientes a, b, c, d, e y f y que calcule e imprima los valore de X y Y. Si (ae - bd) < > 0; debe calcular e imprimir los valores de X y Y, en caso contrario debe imprimir un mensaje que indique que no tiene solución.

PRACTICA 3: Precondicionales

1. Elabore un algoritmo que lea un valor N y que imprima un triángulo de asteriscos, como se muestra a continuación, si el valor leído es 5 imprimir:

** ** * ** * * ** * * * *

2. Elaborar un algoritmo que permita leer un número N par; y, calcule e imprima la suma de los números pares del 2 hasta el número leído. Si el número leído es menor a 2 debe imprimir un mensaje de error.

3. Elaborar un algoritmo que permita leer el valor inicial y el valor final en grados Fahrenheit ; e imprima una tabla con equivalencias en grados Centígrados, desde el valor inicial hasta el valor final de 1 en 1.

Fahrenheit Centígrados Valor Inicial 99.99

- 99.99--

valor final 99.99

3

ce – bfae - bd

af – cdae - bd

Page 4: Ejercicios Propuestos Algorítmica I ProgramacionI

4. Elaborar un algoritmo que imprima la secante, cosecante y tangente de X; para valores de X desde –1 hasta 1 con intervalos de 0.1. Debe imprimir una tabla:

X Secante X Cosecante X Tangente X-1.0 99.99 99.99 99.99-0.9 99.99 99.99 99.99 . .1.0 99.99 99.99 99.99

5. Elaborar un algoritmo que permita que los valores de los coeficientes a, b, c; se comporten así: B debe ir de 1 hasta 7. C debe ir de 7 a 1. A debe tomar cada vez que la diferencia de B – C. Y, que imprima para cada juego de valores de a, b, c; si tiene raíz única, raíces complejas o raíces reales.

6. Elaborar un algoritmo para calcular la cantidad que se tendría ahorrada después de 10 años, si se deposita mil nuevos soles mensuales a una tasa de interés mensual de 3%, capitalizable cada mes, es decir, que al capital se le agregan los intereses .

7. El departamento de Policía y tránsito de la ciudad de Hermosillo, tiene los datos de las infracciones levantadas por sobrepasar los limites de velocidad establecidos. El departamento dividió a la ciudad en tres zonas, para cada una de las cuales desea obtener datos estadísticos que muestran las infracciones levantadas por el motivo indicado en el párrafo anterior. Por cada infracción se tiene los siguientes datos:

Número de placa (registro) del vehículo. Zona en la que fue la infracción (1,2,3). Límite de velocidad en kilómetros por hora. Velocidad a la que iba el vehículo en kilómetros por hora.

Crear un algoritmo para elaborar el reporte siguiente:

INFRACCIONES A LOS LIMITES DE VELOCIDAD

VEHÍCULO REG. VELOCIDAD MULTA

999999999 999 999 9,999.99999999999 999 999 9,999.99 . . .999999999 999 999 9,999.99

ZONA 1 : TOTAL DE INFRACCIONES : 999 MONTO RECAUDADO EN MULTAS : 9,999.99

ZONA 2 : TOTAL DE INFRACCIONES : 999 MONTO RECAUDADO EN MULTAS : 9,999.99

ZONA 3 : TOTAL DE INFRACCIONES : 999 MONTO RECAUDADO EN MULTAS : 9,999.99

Nota: El monto de la multa se calcula multiplicando S/.3.00 por cada kilómetro por hora que se exceda el límite de velocidad.

8. Una compañía manufacturera fabrica el producto A. Para fabricar una unidad de dicho producto se requiere los siguientes materiales:

Material 1: 3 unidadesMaterial 2: 4 unidadesMaterial 3: 1 unidadMaterial 4: 2 unidadesMaterial 5: 3 unidadesMaterial 6: 2 unidades

4

Page 5: Ejercicios Propuestos Algorítmica I ProgramacionI

Se tiene como datos el costo de una unidad de cada uno de los seis materiales. Elaborar un algoritmo que lea los costos de los materiales, luego que lea pedidos del producto A en cada pedido se tiene el dato cantidad de unidades del producto A; cuando termine de leer los pedidos, imprimir:

LISTADO DE MATERIALES REQUERIDOSMATERIAL

123456

CANTIDAD DE UNIDADES

999999999------

999

COSTO ESTIMADO

99,999.9999,999.9999,999.99

----------------

99,999.99

COSTO TOTAL 99,999.99

9. Elaborar un algoritmo que emita el reporte de un aumento de sueldos siguientes

AUMENTOS DE SUELDOSNOMBRE

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

.

.

.XXXXXXXXXXXXXXXXX

SUELDO ANTERIOR

99,999.9999,999.99

99,999.99

SUELDO ACTUAL

99,999.9999,999.99

99,999.99

TOTAL 999,999.99 999,999.99

Datos: Nombre, Sueldo mensual, tipo empleado (1–5).

Cálculo del nuevo sueldo es:Si tipo empleado es 1 se incrementa el 5%Si tipo empleado es 2 se incrementa el 7%Si tipo empleado es 3 se incrementa el 10%Si tipo empleado es 4 se incrementa el 14%Si tipo empleado es 5 se incrementa el 18%

PRACTICA 4: Post Condicionales

1. Elaborar un algoritmo que imprima el siguiente reporte:

COSTO DE PRODUCCIÓN

ARTICULOUNIDADES

PRODUCIDASFACTORCOSTO

COSTOFIJO

COSTO DE PRODUCCION

XXXXXXXXXXXXXXXXX 9999 999.99 99,999.99 999,999.99XXXXXXXXXXXXXXXXX 9999 999.99 99,999.99 999,999.99

.

.XXXXXXXXXXXXXXXXX 9999 999.99 99,999.99 999,999.99

TOTAL 999 ARTICULOS 99,999,999.99

Datos disponibles por cada articulo:

5

Page 6: Ejercicios Propuestos Algorítmica I ProgramacionI

Descripción Cantidad de unidades producidasFactor de costo de materialesCosto fijo

Cálculo del costo de producción = Número de unidades producidas X Factor de costo de materiales + costo fijo

Al final imprimir el total de artículos procesados. Y el total general del costo de producción.

2. Elaborar un algoritmo que permita el siguiente reporte:

PRECIOS DE VENTA

ARTÍCULO

XXXXXXXXXXXXXXXXXXXX

.

.XXXXXXXXXX

TOTAL 999

COSTO DE PRODUCCIÓN

99,999.9999,999.99

99,999.99

99,999.99

UTILIDAD

99,999.9999,999.99

99,999.99

99,999.99

IMPUESTO

99,999.9999,999.99

99,999.99

99,999.99

PRECIO DE VENTA

999,999.99999,999.99

999,999.99

999,999.99

Datos disponibles para cada artículo:DescripciónCosto de producción

Cálculos:Utilidad = 120% del costo de producciónImpuesto = 15% (costo de producción + utilidad)Precio de venta = costo de producción + utilidad +impuesto

3. Elaborar un algoritmo para imprimir, una factura que contenga los datos de los artículos vendidos a un cliente, y que tenga el siguiente formato:

FACTURANOMBRE DEL CLIENTE: XXXXXXXXXXXXXXXXXXXXXXXXX

ARTICULO CANTIDADPRECIO

UNITARIOPRECIOTOTAL

XXXXXXXXXXXXXXXXX 999 99,999.99 999,999.99XXXXXXXXXXXXXXXXX 999 99,999.99 999,999.99

.

.XXXXXXXXXXXXXXXXX 999 99,999.99 999,999.99

SUBTOTAL 9,999,999.99IMPUESTO

19%9,999,999.99

TOTAL 9,999,999.99

Datos disponibles para cada artículo:DescripciónCantidad de artículosPrecio unitario de ventaAdemás se tiene el nombre del cliente

|Cálculos

6

Page 7: Ejercicios Propuestos Algorítmica I ProgramacionI

Precio total = Cantidad de artículos X precio unitarioSubtotal = La suma de los precios totalesImpuesto = 19% del subtotalTotal = Subtotal + Impuesto

4. Elabore un algoritmo que imprima el siguiente reporte:

NOMINA QUICENALNOMBRE SDO. BRUTO IMPUESTO SDO. NETO

XXXXXXXXXXXXXXXXX 999,999.99 999,999.99 999,999.99XXXXXXXXXXXXXXXXX 999,999.99 999,999.99 999,999.99

.

.XXXXXXXXXXXXXXXXX 999,999.99 999,999.99 999,999.99

TOTAL 999 999,999.99 999,999.99 999,999.99

Datos disponibles por cada empleado:NombreSueldo mensualAntigüedad

Cálculos:Sueldo bruto = (sueldo mensual / 2) + bonificación de antigüedad.La bonificación de antigüedad se otorga a partir del tercer año de labores y es, de 2% anual

El impuesto se calcula usando la tabla siguiente

Lim. inferior Lim. Superior Cuota fija Porcentaje

1 300 30 3%301 700 50 8%701 1100 100 11%

1101 1700 150 16%1701 adelante 200 20%

Cuando el sueldo bruto excede el salario mínimo, se calcula el excedente y se busca éste en la tabla a fin de determinar en cual rango se encuentra.El impuesto será la cuota fija más el porcentaje indicado en la diferencia del excedente sobre el límite inferior.

5. Elabore un algoritmo que contabilice una cuenta de cheques. Al inicio se le introduce el nombre del cuentahabiente y el saldo inicial. A continuación se pueden hacer depósito y retiros. Cuando sea depósito se incrementa al saldo y cuando sea retiro se resta. El programa terminará cuando ya no se desee hacer movimientos. Se requiere la impresión del siguiente reporte:

ESTADO DE CUENTA

7

Page 8: Ejercicios Propuestos Algorítmica I ProgramacionI

CUENTA HABIENTE: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSALDO INICIAL : 99,999,999.99

MOVIMIENTO DEPOSITO RETIRO SALDO

1 999,999.99 99,999,999.992 999,999.99 99,999,999.993 999,999.99 99,999,999.994 999,999.99 99,999,999.99..N

TOTALES 9,999,999.99 9,999,999.99 99,999,999.99

6. Se tiene los datos del transporte del elevador de un edificio, por cada viaje hecho durante el día, se tiene los siguientes datos:

Viaje: Cantidad de personas: ---Peso de viaje: ---

Viaje:Cantidad de personas: ---Peso de viaje: ---

Viaje:Cantidad de personas: ---Peso de viaje: ---

Elaborar un algoritmo que lea los datos de los viajes del día, y al final que imprima:

ESTADISTICA DEL DIA

CANTIDAD DE VIAJES: 999CANTIDAD DE PERSONAS TRNSPORTADAS: 999PESO TRANSPORTADO (KILOS): 9999.99PROMEDIO DE PERSONAS POR VIAJE: 99.99PROMEDIO DE PESO POR VIAJE: 9999.99

7. Se tienen los datos de varios autos importados, elaborar un algoritmo que permita leer los datos de cada automóvil: marca, orígen y costo; imprimir el siguiente reporte:

REPORTE DE AUTOS IMPORTADOS

MARCA ORIGEN COSTO IMPUESTO PRECIO VTA.

XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX 99,999.99 99,999.99 99,999.99XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX 99,999.99 99,999.99 99,999.99

.

.

.XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX 99,999.99 99,999.99 99,999.99

TOTAL 999 AUTOS 99,999.99 99,999.99 99,999.99

ALEMANIA: ----JAPON: ----ITALIA: ----

8

Page 9: Ejercicios Propuestos Algorítmica I ProgramacionI

USA: ----PAIS DEL QUE SE IMPORTO MAS AUTOS: X----------------------------------X

Cálculos:IMPUESTO si el orígen es Alemania el impuesto es 20%, si es de Japón el impuesto es 30%, si es de Italia el 15% y si es de USA el 8%.PRECIO VTA. Se suma el costo mas el impuesto.TOTALES se pide el total de los autos importados, así como totales del costo, impuesto y precio de venta. Por último el total de autos importados de cada país.

8. Elaborar un algoritmo que imprima el siguiente reporte:

NOMINA QUINCENALNOMBRE SUELDO BRUTO IMPUESTO SUELDO NETO

XXXXXXXXXXXXXXXXXXXXXXXXXX 99,999.99 99.999.99 99,999.99XXXXXXXXXXXXXXXXXXXXXXXXXX 99,999.99 99.999.99 99,999.99

.

.

.XXXXXXXXXXXXXXXXXXXXXXXXXX 99,999.99 99.999.99 99,999.99

TOTALES 999 99,999.99 99.999.99 99,999.99

Dato general: Salario mínimo generalDatos por cada empleado:

Nombre, sueldo mensualCálculosSueldo Bruto: se divide sueldo mensual entre dos porque la nómina es quincenalImpuesto: Si el bruto no excede el salario mínimo el impuesto es cero. Si el bruto excede al salario mínimo: se aplica el 5% de impuesto sobre el excedente del salario mínimo hasta dos salarios mínimos de excedente, después de esta cantidad el impuesto es el 10%.

9. En la E.A.P de Ingeniería de Sistemas e Informática de la Universidad “ X ” , cada alumno tiene los siguientes datos:

Nombre del alumno: X-----------------------------------------------X

Cada alumno puede haber llevado varios cursos, por cada curso, se tiene los datos:

Curso: X--------------------------------------XCalificación 1: ---Calificación 2: ---Calificación 3: ---

------------------------------

Nombre del alumno: X-----------------------------------------------XCurso: X---------------------------------------X

Calificación 1: ---Calificación 2: ---Calificación 3: ---

----------------------------------------

9

Page 10: Ejercicios Propuestos Algorítmica I ProgramacionI

Elaborar un algoritmo que lea los datos de cada uno de los alumnos y por cada alumno, los datos de cada uno de los cursos e imprima el siguiente reporte:

REPORTE DE CURSOSNOMBRE CURSOS CALIF. FINAL OBSERVACIÓN

XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX 999.99 APROBADOXXXXXXXXXXXXXXX 999.99 DESAPROBADO

.

.XXXXXXXXXXXXXXX 999.99 DESAPROBADO

TOTAL ALUMNO 999 CURSOS PROMEDIO: 999.99XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX 999.99 APROBADO

XXXXXXXXXXXXXXX 999.99 DESAPROBADO..

XXXXXXXXXXXXXXX 999.99 APROBADO

TOTAL ALUMNO 999 CURSOS PROMEDIO: 999.99---------------

TOTAL ALUMNO 999 CURSOS PROMEDIO: 999.99---------------------------------------------

TOTAL GENERAL 999 ALUMNOS PROMEDIO GENERAL: 999.99

Cálculos:CALIF. FINAL es el promedio de las tres calificaciones del curso.OBSERVACION es el comentario APROBADO o DESAPROBADO según sea la calificación final.TOTAL ALUMNO se imprime el número de materias que cursó y el promedio de la calificaciones finales de todas las materias que cursóTOTAL GENERAL se imprime la cantidad de los alumnos procesados y el promedio general de todos los alumnos.

PRACTICA 5: Programación Modular, Funciones

10

Page 11: Ejercicios Propuestos Algorítmica I ProgramacionI

1. Elaborar un algoritmo que evalúe la función:

f =

de la cual se tiene los datos X y Y; los mismos que deberán solicitarse y leerse. Factorial de X se divide entre el factorial de Y multiplicado por el factorial de X – Y.

2. Elaborar un algoritmo que ofrezca un menú de opciones, mediante el cual se pueda escoger calcular el área de las figuras geométricas: triángulo, cuadrado, rectángulo y círculo. Una vez seleccionada la opción, que llame al módulo que permita solicitar, leer los datos necesarios, hacer el cálculo correspondiente e imprimirlo.

Área de triángulo = BASE X ALTURA 2

Área de cuadrado = LADO2 Área de círculo = r2 Área de rectángulo = LARGO X ANCHO

Debe ofrecer el siguiente menú de opciones, donde está solicitando la opción deseada:

AREAS FIGURAS GEOMÉTRICAS1. TRIANGULO2. CUADRADO3. RECTANGULO4. CIRCULO5. FIN

OPCION :

3. Elaborar un algoritmo que permita leer dos números de tipo real en el módulo principal; que en un módulo los intercambie vía parámetros por referencia, y los imprima en el módulo principal.

4. Elaborar un algoritmo que permita leer tres números de tipo entero; e imprima el mayor; utilizando un módulo para leer los números, una función para obtener y devolver el mayor y un módulo para imprimir el mayor. Utilizando parámetros.

5. Elaborar un algoritmo que permita leer la base y el exponente, que llame a una función que eleve el número a la potencia, al regresar al módulo principal que imprima el resultado.

6. Elaborar un algoritmo que imprima la sumatoria de las raíces cuadradas de los números pares desde 2 hasta 1500. Utilizar un módulo o función para el cálculo de la sumatoria.

7. Elaborar un algoritmo que lea un número N, que imprima la sumatoria de los cuadrados de los enteros entre 1 y N. Utilizar un módulo para el cálculo de la sumatoria vía parámetro por referencia.

8. Elaborar un algoritmo que lea diez valores para Y y X, calcule e imprima el valor de Z; utilizando la función

Z = YX

Imprimir los diez valores para X, Y y Z.

9. Elaborar un algoritmo que permita leer un número de tipo entero de cinco cifras; calcular e imprimir el dígito verificador. El dígito verificador es un número entre 0 y 9, que se obtiene a partir de un número en el que se toma en cuenta la posición que tiene cada dígito; se obtiene de la siguiente manera:

Si se tiene el número: 74621

Proceso 1 Se obtiene la suma de los productos: el primer número de la derecha multiplicado por dos, el siguiente a la izquierda por tres, el siguiente por cuatro, y así

11

X!Y!(X – Y)!

Page 12: Ejercicios Propuestos Algorítmica I ProgramacionI

sucesivamente, hasta siete (el multiplicador vuelve a iniciar en 2, en caso de ser necesario).

7 4 6 2 1

1 X 2 = 22 X 3 = 66 X 4 = 244 X 5 = 207 X 6 = 42

94Proceso 2 Se determina el residuo al dividir el producto entre once.

94 11

6 8

Proceso 3 Si el residuo es cero o uno, entonces ese es el dígito verificador; de lo contrario el dígito verificador será igual al resultado que se obtenga de once menos el residuo; en el ejemplo:

Dígito verificador = 11 – 6 = 5

10. Simular una máquina expendedora de café. Crear un menú con las siguientes opciones:

****************************************1. Seleccionar producto2. Pagar y dar vuelto3. Salir

Seleccione opción: …..

Para la opción “Seleccionar producto” presentar

***************************************a. Café S/. 1.00b. Café con leche S/. 1.50c. Leche S/. 2.00

Elegir opción: …..

Para la opción “Pagar y dar vuelto” presentar

*************************************** Precio _ _ _ _ _ (debe aparecer precio de producto seleccionado)Monto _ _ _ _ _ (monto que paga el cliente, verificar que no es menor que precio)

Finalmente en el programa principal debe mostrar:

Usted compró (nombre del producto ) de precio (precio)Pagó (monto) y su vuelto es (vuelto)

Usar funciones y paso de parámetros.

PRACTICA 6: Array (arreglos, listas o tablas): unidimensionales, bidimensionales

12

Page 13: Ejercicios Propuestos Algorítmica I ProgramacionI

1. Programa que lea 20 números enteros, los almacene en un vector, y calcule la suma de todos ellos, así como la media aritmética.

2. Un vector se dice que es simétrico si el elemento que ocupa la posición i_ésima coincide con el que ocupa la posición n_i_ésima, siempre que el número de elementos que almacene el vector sea n. Por ejemplo el vector que almacena los valores 2,4,5,4,2 es simétrico. Elaborar un programa y una función que decida si el vector de n datos que recibe como parámetro es simétrico.

3. Escribir un programa que halle y escriba una tabla con los 10 primeros números primos. Un número es primo si sólo tiene por divisores la unidad y el propio número.

4. Programa que genere aleatoriamente los datos de un vector, lo visualice, y calcule la media m, la desviación media dm y la desviación típica dt, dados por las siguientes expresiones:

5. Dados los nombres, promedio final de los alumnos de un curso de Ingeniería, elaborar un programa para almacenar(ingresar) dichos datos y mostrar, presentar en un menú de opciones.

6. Dado un vector de enteros de n elementos ordenar de menor a mayor

7. Elaborar un programa para presentar el siguiente menú de opciones, utilizando funciones:

8. Elaborar un programa para presentar el siguiente menú de opciones, utilizando funciones:

PRACTICA 7: Ejercicios varios, Registros, archivos.

13

MENU

a. Factorial de un número entero positivo.b. Cargar y ordenar en orden descendente un

vector de diez elementos.c. Salir

Seleccione Opción: __

MENU

1. Cargar y realizar la diferencia de dos matrices del mismo orden Amxn - Bmxn.

2. Salir.

Seleccione Opción: __

Page 14: Ejercicios Propuestos Algorítmica I ProgramacionI

1. Programa que visualice un cuadrado mágico de orden impar n, comprendido entre 3 y11; el usuario elige el valor de n. Un cuadrado mágico se compone de números enteros comprendidos entre 1 y n2 . La suma de los números que figuran en cada línea, cada columna y cada diagonal son idénticos. Un ejemplo es:8 1 63 5 74 9 2Un método consiste en situar el número 1 en el centro de la primera línea, el número siguiente en la casilla situada encima y a la derecha , y así sucesivamente. Considerar que el cuadrado de cierra sobre sí mismo: la línea encima de la primera es de hecho la última y la columna a la derecha de la última es la primera. Cuando la posición del número caiga en una casilla ocupada, se elige la casilla situada debajo del número que acaba de ser situado.

2. Se pretende simular la representación en el espacio tridimensional de triángulos, pero minimizando el espacio necesario para almacenarlos. Teniendo en cuenta que un triángulo en el espacio tridimensional viene determinado por las coordenadas de sus tres vértices, escribir un programa con una estructura para representar un triángulo que usando un vector dinámico almacene el índice de los tres vértices así como su perímetro y área (de esta forma se almacena los tres vértices con tres enteros en lugar de nueve reales, ahorrando memoria). El perímetro y el área deben ser calculados mediante una función a partir del índice de los tres vértices, y el vector dinámico de puntos del espacio tridimensional.

3. Los métodos de ordenación por inserción lineal e inserción binaria, sólo se diferencian entre sí, conceptualmente, en el método de la búsqueda. Por tanto, el

número de movimientos de claves será el mismo en ambos casos, y es .

En cuanto al número de comparaciones, cuando el intervalo tiene i elementos, se realizan comparaciones. Por tanto, el número de comparaciones es:

Es decir el número de comparaciones es , y el número de

movimientos es .En un menú de opciones presentar los subprogramas para ordenar un arreglo de datos:

a) Por el método de inserción linealb) Por el método de inserción binaria

4. Programa que permita crear un arreglo de 100 enteros aleatorios en el rango de 1 a 200 y, a continuación, utilizando una búsqueda secuencial, realizar la búsqueda de 50 enteros seleccionados aleatoriamente (iguales o distintos). Al final del programa se deben visualizar las siguientes estadísticas:

Número de búsquedas con éxito Número de búsquedas fallidas Porcentajes de éxito y de fallo

5. Un atleta utiliza un pulsómetro para sus entrenamientos. El pulsómetro almacena las pulsaciones cada 15 segundos, durante un tiempo máximo de 2 horas.

14

Page 15: Ejercicios Propuestos Algorítmica I ProgramacionI

Elaborar un programa para almacenar en un archivo los datos del pulsómetro del atleta, de tal forma que el primer registro contenga la fecha, hora y tiempo en minutos de entrenamiento, a continuación, los datos del pulsómetro por parejas: tiempo, pulsaciones. Los datos deben ser leídos del teclado. Una vez escrito en el archivo los datos, el programa debe visualizar el contenido completo del archivo.

6. Convertir un número a letras e incluir signo monetario, ejemplo S/. 1.237,50 (Un mil doscientos treinta y siete con cincuenta / céntimos Nuevos Soles).

7. El “Juego de sociedad” es un acertijo que mediante operaciones elementales procesa dos números: el primero que presenta el día y mes de su nacimiento, así por ejemplo 5 de marzo es: 503, y el segundo número es su edad, requiriéndose de los siguientes cálculos:

a) Multiplicar el primer número por 2b) Adicionarle 5c) Multiplicarlo por 50d) Sumarle el segundo númeroe) Sumarle 365f) Restarle 615

Elaborar un programa utilizando función para mostrar la unión del primer número con el segundo.

8. Elaborar un programa que permita leer un número de tipo entero de cinco cifras; calcular e imprimir el dígito verificador. El dígito verificador es un número entre 0 y 9, que se obtiene a partir de un número en el que se toma en cuenta la posición que tiene cada dígito; se obtiene de la siguiente manera:Si se tiene el número: 74621

Proceso 1 Se obtiene la suma de los productos: el primer número de la derecha multiplicado por dos, el siguiente a la izquierda por tres, el siguiente por cuatro, y así sucesivamente, hasta siete (el multiplicador vuelve a iniciar en 2, en caso de ser necesario).

7 4 6 2 1

1 X 2 = 22 X 3 = 66 X 4 = 244 X 5 = 207 X 6 = 42

94Proceso 2 Se determina el residuo al dividir el producto entre once.

94 11

6 8

Proceso 3 Si el residuo es cero o uno, entonces ese es el dígito verificador; de lo contrario el dígito verificador será igual al resultado que se obtenga de once menos el residuo; en el ejemplo:

Dígito verificador = 11 – 6 = 5

15

Page 16: Ejercicios Propuestos Algorítmica I ProgramacionI

9. Simular una máquina expendedora de café. Crear un menú con las siguientes opciones:

****************************************4. Seleccionar producto5. Pagar y dar vuelto6. Salir

Seleccione opción: ….. Para la opción “Seleccionar producto” presentar

***************************************a. Café S/. 1.00b. Café con leche S/. 1.50c. Leche S/. 2.00

Elegir opción: ….. Para la opción “Pagar y dar vuelto” presentar

*************************************** Precio _ _ _ _ _ (debe aparecer precio de producto seleccionado)Monto _ _ _ _ _ (monto que paga el cliente, verificar que no es menor que precio)

Finalmente en el programa principal debe mostrar:

Usted compró (nombre del producto ) de precio (precio)Pagó (monto) y su vuelto es (vuelto)

Usar funciones y paso de parámetros.

10. Escribir un programa para calcular el número de días que hay entre dos fechas; declarar fecha como una estructura.

11. Un número racional se caracteriza por el numerador y denominador. Escribir un programa para operar con números racionales. Las operaciones a definir son la suma, resta, multiplicación y división; además de una función para simplificar cada número racional.

12. Escribir un programa que gestione una agenda de direcciones. Los datos de la agenda se almacenan en memoria en un array de estructuras, cada una de las cuales tiene los siguientes campos: nombre, dirección, teléfono fijo, teléfono móvil, dirección de correo electrónico. El programa debe permitir añadir una nueva entrada a la agenda, borrar una entrada, buscar por nombre y eliminar una entrada determinada por el nombre.

13. Suponer que se tienen dos arrays del tipo descrito en el problema propuesto 12 ó 10. Codificar un programa en C++ que los una en uno solo, eliminando los duplicados que puedan existir entre los dos.

14. Suponer que se tiene un array que almacena la información de los empleados de una empresa. De cada empleado se guarda el nombre, los dos apellidos, el número de la

16

Page 17: Ejercicios Propuestos Algorítmica I ProgramacionI

Seguridad Social, la edad, el departamento en el que trabaja y la antigüedad en la empresa. Escribir un programa en el que se ordene el array por el campo primer apellido y en caso de que el primer apellido coincida por el segundo apellido. Si ambos apellidos coinciden para algún registro, ordenar entonces por el nombre.

15. Utilizando el array del Problema anterior escribir un programa que permita a un usuario por medio de un menú elegir uno de los campos para realizar una búsqueda por dicho campo en el array de registros.

16. Escribir un programa auxiliar que permita añadir nuevos campos a la tabla de empleados, como por ejemplo, sueldo anual y porcentaje de retenciones de impuestos. Una vez modificado el array de estructuras, escribir un programa que permita a un usuario elegir un rango de registros de empleados especificando un apellido inicial y otro final, o un departamento concreto, y produzca en la salida la suma total de los sueldos que se les pagan a los empleados seleccionados.

17. Escribir un programa que permita elaborar un informe a partir del array de estructuras anterior con el siguiente formato. Cada página contendrá los empleados de un solo departamento. Al comienzo de cada página se indica por medio de una cabecera cada uno de los campos que se listan y al departamento que corresponde el listado. Los campos aparecen justificados a la derecha en cada columna.

18. Escribir un programa que lea líneas de texto obtenga las palabras de cada línea y las escriba en pantalla en orden alfabético. Se puede considerar que el máximo número de palabras por línea es 28.

19. Un sistema de encriptación simple consiste en sustituir cada carácter de un mensaje por el carácter que está situado a tres posiciones alfabéticas por delante suyo. Escribir una función que tome como parámetro una cadena y devuelva otra cifrada como se ha explicado.

20. Escribir un programa que lea un texto, y dos palabras claves, clave1 y clave2. El programa debe sustituir todas las apariciones de clave1 por clave2, mostrar el nuevo texto, e indicar el número de intercambios realizados.

21. Otro sistema de encriptación consiste en sustituir cada carácter del alfabeto por otro decidido de antemano, pero siempre el mismo. Utilizar este método en una función que tome como parámetros el mensaje a cifrar y una cadena con las correspondencias ordenadas de los caracteres alfabéticos. La función devolverá un puntero a la cadena cifrada del mensaje.

22. Se trata de encriptar un texto mediante una función de cifrado. El cifrado se realiza se realiza cambiando todas las letras minúsculas por otras nuevas letras que recibe en un array cifrado de caracteres; es decir de cambiar “a” por cifrado0, “b” por cifrrado1, etc. Escribir una función que reciba un texto y lo encripte.

23. Escribir una función que reciba el texto que retorna la función del problema anterior, debidamente encriptado, y lo transforme en el texto original. El array de cifrado es un dato.

17

Page 18: Ejercicios Propuestos Algorítmica I ProgramacionI

24. Utilizando estructuras elaborar un programa para mostrar la fecha y hora actual del sistema.

25. Una criptografía es un simple mensaje codificado donde una carta es simplemente sustituida por otra, todo el mensaje. Por ejemplo: Codificado : HPC PJVYMIY Decodificado : ACM CONCURSO

En el ejemplo de arriba, H=A, P=C, C=M, J=O, V=N, Y=T, M=E y I=S. Para este problema, usted decodificará los mensajes.

EntradaLa primera línea de entrada contiene un solo entero N, (1 ≤ N ≤ 1000) que es el número de conjuntos de datos que siguen. Cada conjunto de datos consta de dos líneas de entrada. La primera línea es el mensaje codificado. La segunda línea es uno de los 26 caracteres de letras en mayúscula dando el carácter cartografía para cada letra del alfabeto: el primer carácter da la cartografía de A, la segunda de B y así sucesivamente. Únicamente con letras mayúsculas será utilizado.

Salida De cada conjunto de datos, usted debe generar una línea de producción con los siguientes valores: el conjunto de datos número como un decimal entero (inicia el escrutinio en uno), un espacio y el descifrado mensaje.

Ejemplo de Entrada2HPC PJVYMIYBLMRGJIASOPZEFDCKWYHUNXQTV

FDY GAI BG UKMYKIMHOTSQYRLCUZPAGWJNBVDXEF

Ejemplo de Salida1 ACM CONTEST2 THE SKY IS BLUE

26. Implementar un programa al que se le pase el nombre de un archivo como argumento, el cual, debe existir en el disco, y contenga un texto cualquiera formado por palabras. El programa debe ofrecer un menú con dos opciones:a) ordenar las palabras del texto en orden descendente b) ordenar las palabras del texto en orden ascendente Utilizar punteros a funciones, y funciones como argumentos.

27.Mostrar una cruz en la pantalla.

18