UNIVERSIDAD POLITÉCNICA SALESIANA
FUNDAMENTOS DE PROGRAMACIÓN
Nombre: Sebastian Ramirez Grupo: 16 Fecha:
25/06/2020
TRABAJO FINAL
Desarrolle cada uno de los ejercicios de las prácticas 6 al 10 en funciones. Si considera que un ejercicio lo
puede aprovechar como función de otro ejercicio reutilice la función.
PRACTIC
A 06
1) Ataque de orcos.
Te encuentras en un pueblo atacado por Orcos en donde la única esperanza para el
pueblo, eres tú. Una vidente advirtió que el próximo ataque será en una semana, por lo que
debes conseguir un equipo de supervivencia que te ayude a combatir
el ataque. Para tu suerte, las monedas de Oro y Plata que ahorraste con tanto esfuerzo, las
podrás utilizar para cumplir con tu misión. No sabes cuánto costara obtener lo necesario.
Solo sabes que:
• 1 escudo cuesta 1 moneda de Oro
• 1 soldado cuesta 5 monedas de Oro
• 1 dragón cuesta 1000 monedas de Plata
• 1 granada cuesta 500 monedas de Oro
• 1 sanador cuesta 1 moneda de Plata
• 1 hechicero cuesta 500 monedas de Plata
• 1 arco + flechas cuesta 300 monedas de Oro
Recibirás como entrada la cantidad de cada personaje que quieres contratar para tu
ejército. Tu misión es calcular la cantidad de monedas de cada tipo que necesitas e
imprimirlas.
2. Intercambio de valores. Escribir un programa para intercambiar los valores de dos variables
numéricas enteras. Se organizan los resultados deseados y los parámetros para E/S son:
• Entrada: Dos números enteros
• Salida: Valores intercambiados
3. Transformar Fahrenhei.
Escribir un programa para convertir una temperatura leída en grados Fahrenheit a grados
Celsius utilizando la fórmula: c=(5/9)(F° - 32). A continuación, , se organizan los
resultados deseados y los parámetros para E/S son:
• Entrada: Un número entero.
• Salida: Valor transformado a grados Celsius.
4. Masa de aire en un neumático.
Escribir un programa que calcule la masa de aire de un neumático de automóvil utilizando
la formula m = pv / (t+ 460)0.37. Donde:
p: es la presión en libras por pulgada cuadrada (psi)
v: es el volumen en pies cúbicos (f 3)
t: es la temperatura en grados Fahrenheit (°F)
m: es la masa del aire en libras (p)
A continuación, se organizan los resultados obtenidos y los parámetros para E/S son:
• Entrada: Tres números reales que representen: presión, volumen, y temperatura
respectivamente.
• Salida: Un número real que muestre la masa de aire en el neumático.
5. La presión, el volumen y la temperatura de una masa de aire se relacionan por la fórmula: masa
=(presión * volumen) / (0.37 * (temperatura + 460))
PRACTICA 7
SENTENCIAS DE
SELECCIÓN
ACTIVIDADES A DESARROLLAR:
1. Descuentos en una tienda
En un comercio se realizan descuentos en función del monto total de la compra. Este
monto total debe establecerse en función de los rangos, cumpliendo las siguientes
condiciones:
Los descuentos solamente se realizan a las cantidades que se encuentran dentro de ese
rango mostrado en la tabla anterior.
2. Llamadas telefónicas
Es muy recurrente recibir llamadas no deseadas en tu celular. Para esto has decidido crear
un programa que te ayude a solucionar este problema dependiendo de:
Hora de la llamada
Número de teléfono
Tu misión es escribir un programa que decida por ti si contestarás a una llamada. Recibirás
tres enteros como entrada: teléfono y horario (horas y minutos). Si una llamada ocurre:
entre 00:00 y 08:20 horas (incluyéndolas), sí contestarás, ya que podría ser una
emergencia.
antes 13:00 horas (y después de las 08:20), no contestarás, excepto si el número termina
en 909.
entre 13:00 y 19:50 (incluyéndolas), sí contestarás. Sin embargo, sabes que te
llaman regularmente de un número que comienza con 877 y prefieres no contestarle.
después de las 19:50 y antes de la media noche, no contestarás ningún número.
Finalmente debes mostrar en pantalla si contestar o no.
Tip: Te recomendamos representar los números telefónico, las horas y los minutos como
números enteros.
Entradas: Tres números enteros. El primero representa al número de teléfono y tendría
siempre largo 9 dígitos, sin el cero del inicio. El segundo número es la hora y siempre
estará en el rango de 0 a 23. El tercer número serán los minutos, un número entero entre 0 y
59.
Salida: Según corresponda, uno de los siguientes mensajes: CONTESTAR,
NO CONTESTAR
3. Costo de pasaje
Desarrolle un programa que reciba como dato el nombre del pasajero, valor del pasaje, la
edad y nacionalidad. Si edad es menor o igual a 12 o mayor a 65 pero de nacionalidad
ecuatoriana, tiene un descuento del 40% en el valor de su pasaje. Desplegar el valor a
pagar.:
Entradas: un tipo de dato cadena de caracteres que representa el nombre del pasajero, un
número real representa el costo del pasaje, un entero que representa la edad y otra cadena
de caracteres que representa la nacionalidad Salida: dos números reales
4. Indice de masa corporal
El índice de masa corporal es una medida de asociación entre la masa y la talla de una
persona. Específicamente: imc = masa/estatura² Tu misión es escribir un programa que
reciba masa y estatura de una persona, y que imprima su índice de masa corporal en kg/m²
(puede utilizar la nomenclatura kg/m^2), incluyendo la unidad de medida y la observación
sobre el nivel de peso.
Entradas: Un string como nombre, un número punto flotante como masa y un número de
punto flotante como estatura
Salida: tiene un IMC de kg/m²
5. Venta de rollos de alambre
Un distribuidor de material eléctrico vende alambre en rollos de 500, 300 y 75 metros.
Realizar un programa que ingrese la longitud total de alambre en metros que requiere el
usuario, y que imprima el número de rollos de alambre de 500, 300 y 75 metros
correspondientes y el número de metros de alambre faltante.
Entradas: Un número entero positivo
Salida: rollos de 500 metros, rollos de 300 metros, rollos de 75 metros y metros
PRACTICA 8
SENTENCIAS DE REPETICIÓN
ACTIVIDADES A DESARROLLAR:
1. Tabla de multiplicar
Escriba un programa denominado TablaMultiplicar que solicita al usuario el tamaño (un
entero positivo); e imprime la tabla de multiplicar.
Entrada: Un número entero mayor a 0.
Salida: Tabla de multiplicar, según formato establecido:
2. Cuenta de números consecutivos
Realice un programa que permita ingresar un número entero de varias cifras y el
programa imprima la cantidad de cifras que tiene el número.
Entrada: Un número entero mayor a 0.
Salida: Tabla de multiplicar, según formato establecido
3. Serie armónica
Desarrollar un programa que permita conocer cuántos términos de la serie armónica se
necesitan para satisfacer la siguiente desigualdad: 1/1 + 1/2 + 1/3 + …+1/n > LIMITE
Donde: • LIMITE es el dato leído desde el teclado entre 1 y 10 incluidos. Se debe validar
el ingreso del dato.
Entradas: Un número real
Salida: Dos números enteros. El número de términos y la suma de la serie
4. Triángulo de números
Crear un programa que permita generar un patrón numérico triangular. El patrón se genera a
partir de un número entero ingresado por teclado.
Entradas: Un número entero positivo
Salida: Patrón numérico
5. Patrón
Escriba un programa llamado Patron # que solicitan al usuario el tamaño (un entero no negativo)
e imprime el patrón como se muestra:
Entradas: Un número entero positivo
Salida: El patrón mostrado en la figura anterior.
Consejo:
Utilice bucles de repetición anidados.
El programa debe funcionar para cualquier número ingresado.
En la diagonal principal, fila = columna = tamaño + 1, donde la fila y las
columnas comienzan desde 1.
PRACTICA 9
Instrucciones:
a) Crear 3 funciones con 5 números decimales de entrada
cadauna. b) Los 5 números decimales son ingresados en cada
función
c) Tres mensajes con el valor de cada uno de los cálculos estadísticos
redondeado a dos decimales.
Ejemplo
Ingrese los cinco números:
101.5
90.7
99.1
99.1
100.9
Resultado esperado:
El valor de la media es: 98.26
El valor de la desviación estándar es: 3.90
El valor de la varianza es: 15.21
PROBLEMA2: INVERTIR UN NUMERO
Crear un programa con una función que reciba un número y lo retorne invertido
usando conceptos de operadores matemáticos y ciclos.
Instrucciones:
a) Crear una función con 1 número entero
positivo. b) El número entero es ingresado en la
función.
c) Como salida se tiene otro número entero positivo.
Ejemplo
Ingrese un número: 1364
Resultado esperado: El número invertido es: 4631
PROBLEMA3: NUMERO MAYOR ENTRE DOS NÚMEROS
Realizar un programa para determinar el número mayor entre dos números. Cree una función
que calcule el número mayor
Instrucciones:
a) Pedir que el usuario ingrese por teclado dos números.
b) Calcular el número mayor mediante la utilización de una función.
Ejemplo1
primer Número: 7
primer Número: 9
Resultado esperado: Número Mayor es: 9
PROBLEMA 4: CUADRADOS
Realizar un programa para calcular el cuadrado de un conjunto de números enteros positivos
hasta que un valor cero sea leído. Crear una función que calcule el cuadrado de un número
entero mediante la serie:
n2 = 1 + 3 + 5 + … + (2*n-1)
Instrucciones:
a) Se debe ingresar un número por teclado
b) Si se ingresa el número cero (0) el programa termina.
c) Calcular el cuadrado del número ingresado mediante la utilización de una función.
Ingrese un número entero positivo:0
Saliendo del programa ...
PROBLEMA5:
COSENO
El programa debe calcular el coseno de un ángulo en radianes mediante la serie: Cos(x)
= 1 - x^2/2! + x^4 /4! - x^6 /6! + ......., con x = ángulo en radianes
Usar dos funciones: la primera función leerá el ángulo en grados y lo devolverá en
radianes, la segunda función calculará el coseno del ángulo en radianes.
El coseno corresponde a la suma de los elementos de la serie, estos se suman hasta que el valor
absoluto de uno de los términos sea menor que el error 0,000006
Instrucciones:
a) Se debe ingresar un valor real que representa el ángulo en grados.
b) Como salida se tiene un valor real correspondiente al coseno del ángulo
Ejemplo1
Ingrese el ángulo en grados: 25
Resultado esperado: El coseno de 0.4363323129985824 radianes es
0.906307754520424
ffffff
PRACTICA 10
ACTIVIDADES A DESARROLLAR:
1. Números consecutivos. Escribir un programa (vector) que realice lo siguiente: A) Solicite un
número (n) y que lea los n datos desde la consola. B) Encuentre la diferencia entre los
números consecutivos y los imprima. C) Encuentre la diferencia mayor y determine entre
qué números se encuentra. A continuación en la Tabla 2, se organizan los resultados
obtenidos y los parámetros para E/S son:
Entrada: Tamaño del arreglo número (n) y una serie de números
enteros.
Salida: Serie de números y la diferencia
mayo
r.
2. Números primos, pares, impares, promedio y mayor. Escribir un programa (vector) que
realice las operaciones siguientes: A) Solicite un número (n) y que lea los n datos desde la consola.
B) Cuales son números primos. C) Cuantos números son números pares. D) Cuantos son números
impares. E) Cual es el mayor número, y F) Cuál es el promedio. A continuación en la Tabla 3, se
organizan los resultados obtenidos y los parámetros para E/S son:
• Entrada: Tamaño del arreglo número (n) y una serie de números enteros.
• Salida: Número primos, cuántos son números pares e impares, mayor número, y promedio de
números ingresados.
3. Suma y promedio. Escribir un programa (vector) que realice lo siguiente: A) Leer 10
números enteros por consola. B) Sumar y extraer el promedio de todos los datos del vector. A
continuación en la Tabla 4, se organizan los resultados obtenidos y los parámetros para E/S son:
• Entrada: Números enteros.
• Salida: Suma y promedio de números.
4. Suma de matriz diagonal. Escribir un programa (matriz) que realice lo siguiente (1): A)
Genere una matriz cuadrada (N x N) con números entre 0 y 12. Los números deben ser generados
de manera aleatoria. B) Sume los elementos de la diagonal (color rojo). C) Sume los números que
están sobre la diagonal (color naranja) y que sean múltiplos de 3. A continuación, en la Tabla 5, se
organizan los resultados obtenidos y los parámetros para E/S son:
• Entrada: Número entero que representa el tamaño de la matriz N x N.
• Salida: Matriz resultante y dos números enteros de la solución de B y C.
Arreglos unidimensionales
1. Escribir un programa que permita llenar un vector con números 15 mayores a 50 (validar) mostrar
la suma, el promedio de los números del arreglo, así como el mayor y el menor.
2. Escribir un programa que lea 5 números y los guarde en un vector. A continuación, los ordenará y
mostrará los valores ordenados. Mostrar el vector antes y después de ordenar.
3. Elaborar un programa que permita llenar un vector con 10 números enteros positivos (validar),
mostrar el vector y la suma acumulada de los números que ocupan las posiciones pares del array
Arreglos bidimensionales
1. Escribir un programa que permita llenar en una matriz de 3x3 con números enteros,
posteriormente determinar y mostrar lo siguiente: A) Cuales son menores que 15, B) Cuales
son mayores de 50, C) Cuales están comprendidos entre 25 y 50. D) Si se encuentra un
número dado por el usuario, en caso de no encontrarse desplegara un mensaje en ese sentido.
2. Escribir un programa para multiplicar dos matrices de diferente tipo MXN, y que realice el
siguiente: A) Que lea números enteros desde la consola. B) Despliegue en pantalla las dos
matrices, y la matriz resultante.
3. Escribir un programa que permita definir una matriz de 3x3 y realice lo siguiente: A) Que lea
números enteros desde la consola. B) Que calcule y muestre su matriz inversa. C) Que muestre
la matriz traspuesta