AlgyProgpractica3AccionesElementalesyseleccion

Anuncio
UNIVERSIDAD CENTRAL DE VENEZUELA
FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACIÓN
ALGORITMOS Y PROGRAMACIÓN
Guía de Practica 4
(1er Semestre 2010/2011)
Tema 4. Estructuras de Control Condicional: Si y Selección
1. Sección de revisión de teoría:
A. Comente y discuta sobre los conceptos de: 1.
2.
3.
4.
Condición
Estructuras de Control Condicional: Simple, Compuesto, Anidado
Selección
Relación entre los distintas formas de composición de condicionales
2. Seccion de ejercicios resueltos:
A. Todos los años que se dividen exactamente entre 400 o que son divisibles exactamente entre 4 y no son divisibles exactamente entre 100 son años bisiestos. Usando estas premisas crea un algoritmo que lea una fecha como un número entero con el formato ddmmaaaa, extraiga el año de la fecha e indique si fue o no bisiesto. B. Dados tres números enteros positivos A, B y C, determine cual de ellos es el mayor y cual es el segundo mayor.
C. Dado un número entero cuya cantidad de dígitos es igual a 5, determine si es palíndrome. NOTA: Un número es palíndrome si escrito de izquierda a derecha o de derecha a izquierda representa el mismo valor. EJEMPLO: 55555, 86768, 23432. D. En un estacionamiento el monto a pagar se calcula multiplicando el número de horas que permaneció el automóvil dentro del estacionamiento por BsF. 1.2 y se incrementa esta cantidad en BsF. 0.50 por cada media hora adicional. Elabore un algoritmo que a partir de la hora de entrada y la hora de salida de un vehículo (en un mismo día) calcule el monto a pagar por concepto de estacionamiento. NOTA: HH: es un entero que indica la hora.
MM: es un entero que indica los minutos.
T: es un carácter que indica si la hora es AM o PM.
3. Sección de ejercicios Propuestos:
A. Dados dos intervalos abiertos, identificados por (Li1, Ls1) y (Li2, Ls2) respectivamente, halle la unión e intersección de los mismos. Modifique la solución propuesta, considerando que los intervalos son cerrados.
B. Ejercicio sobre el Índice de Masa Corporal o IMC (Fuente consultada Wikipedia artículo IMC). El IMC es un número que pretende determinar, a partir de la estatura y la masa, el intervalo de masa más saludable que puede tener una persona. Se utiliza como indicador nutricional desde principios de 1980. El IMC resulta de la división de la masa del individuo (en kilogramos) entre el cuadrado de la estatura (en metros). El índice de masa corporal es un indicador del peso de una persona en relación con su altura.
Lista 1: Clasificación del IMC de acuerdo con la OMS (http://www.who.int/es/) de la ONU
•
< 16 : criterio de ingreso •
16 a 16.9: infrapeso •
17 a 18.4: bajo peso •
18.5 a 24.9: peso normal (saludable) •
25 a 29.9: sobrepeso •
30 a 34.9: sobrepeso crónico (obesidad de grado I) •
35 a 39.9: obesidad premórbida (obesidad de grado II) •
40 a 45: obesidad mórbida (obesidad de grado III) •
> 45 : obesidad hipermórbida (obesidad de grado IV) Dado el peso de una persona en libras (1 lb es equivalente a 0,453592 kg) y su estatura en centímetros, calcule su IMC. Muestre como salidas de su algoritmo:
•
peso suministrado en libras y equivalente el kilogramos
•
estatura suministrada en centímetros y equivalente en metros
•
IMC de la persona y clasificación de peso según Lista 1
D. Un triángulo rectángulo es aquel en donde sus tres lados satisfacen la siguiente relación: la suma de los cuadrados de dos de los lados es igual al cuadrado de la hipotenusa. Se quiere que dado tres puntos en el plano, de la forma (X, Y), indicar si estos forman un triángulo rectángulo y de ser así señalar que puntos forman los catetos y cuales la hipotenusa.
3. Seccion de ejercicios complementarios :
A. Escribe un programa en Python que acepte dos números reales suministrados por el usuario y un código de opción. Si la opción suministrada es 1, los números deben sumarse; si la opción es 2, los números deben multiplicarse; si la opción es 3, debe dividirse el segundo número entre el primero. Tu programa debe realizar las validaciones que consideres necesarias para que sea robusto. Deben mostrarse al final los dos números de entrada, la opción indicada por el usuario, la operación a realizar y el resultado de la operación.
B. Escribe un programa en Python que reciba como parámetros de entrada tres variables: día, mes y año. Como salida debe decir si es una fecha válida o no. Por ejemplo 24/5/1962 es válida, mientras que 31/9/2000 no lo es (Septiembre tiene 30 días).
C. Sea un sistema de ecuaciones de la forma:
ax+by = c
dx+ey = f que puede resolverse usando las siguientes fórmulas: x=
ce−bf
ae−bd
y=
af −cd
ae−bd
Escribir un programa que lea los coeficientes (a, b, c, d, e, f) y resuelva el sistema. El programa deberá indicar los casos en los que el sistema de ecuaciones no tenga solución.
D. Escribir un programa que permita efectuar el cálculo del área de un cuadrado, un
círculo o un triángulo equilátero según la opción seleccionada por el usuario a través
de un menú.
• Crear una primera versión con la estructura de control si ... entonces ... fsi
• Y una segunda versión con la estructura de control selección.
UNIVERSIDAD CENTRAL DE VENEZUELA
FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACIÓN
ALGORITMOS Y PROGRAMACIÓN
PRÁCTICA #3
ACCIONES ELEMENTALES
Sección de revisión de teoría
1. Comente sobre los conceptos de:
1.1. Lectura de Datos (Entrada de Datos)
1.2. Escritura de Datos (Salida de Datos)
1.3. Asignación
1.4. Secuenciamiento de acciones
Sección de ejercicios a resolver
2. Para cada uno de los siguientes enunciados, construye un algoritmo que resuelva el problema mediante
una secuencia de acciones elementales:
2.1. Calcula la cantidad de segundos que existe entre dos horas dadas del mismo día y expresadas en
formato de hora militar.
2.2. Dados tres puntos pertenecientes al plano cartesiano y el área del triángulo formado por los
mismos, determina la altura del triángulo (utiliza fórmula de Pitágoras).
2.3. Escribe un algoritmo que solicite valores cualesquiera de A, B y C para evaluar la siguiente
expresión:
(A + 7 * C) / (B + 2 - A) + 2 * B
3. Calcula el equivalente en pies de una distancia M medida en metros. Considera que 1 metro = 39,27
pulgadas y 1 pie = 12 pulgadas.
Sección de ejercicios propuestos
4. Dado un número entero de 4 dígitos, genere otro número cuyos dígitos sean los mismos del número
dado, pero invertidos.
Ejemplos: NúmLeído: 5317
NúmRes: 7135
NúmLeído: 1845
NúmRes: 5481
5. Dado el valor de x e y calcule el valor de la siguiente fórmula:
3x2y - 2x + y
4x2 + 4xy + y2
6. Dadas dos fechas del año 2011 dadas por el usuario en el formato DD MM (dos enteros que corresponden
al día y al mes respectivamente), elabora un algoritmo que calcule la cantidad de días existentes entre
las dos fechas sin contar los extremos. Asuma que todos los meses tienen 30 días.
7. Dado el monto inicial en Bolívares de una cuenta de ahorros y una tasa de interés fija anual, calcula el
monto que habrá al cabo de n años, sabiendo no se hacen retiros de la cuenta.
1
UNIVERSIDAD CENTRAL DE VENEZUELA
FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACIÓN
ALGORITMOS Y PROGRAMACIÓN
Sección de ejercicios complementarios
8. Dado un entero positivo N con M dígitos, elabore los algoritmos para resolver:
8.1. Obtener el valor del i-ésimo dígito de N
8.2. Escribir N con los digitos i-ésimo y j-ésimo intercambiados
Asume que los valores para el i-ésimo y j-ésimo dígito siempre son menores a M
9. Dado un entero positivo N con 6 dígitos, que representa el número de tarjeta de crédito de un cliente en
Internet, y otro par de enteros que representan el día y mes de una compra en particular, es decir:
N = d1d2d3d4d5d6; D = dd; M = mm
Elabora un algoritmo que genere un nuevo número R siguiendo estas reglas:
9.1. Separa N en tres grupos de dos dígitos cada uno.
9.2. Construye un nuevo número P con los grupos de N, colocados en orden inverso.
9.3. Construye un número R con el número P, pero incluyendo entre cada grupo de dos dígitos el día D y
el mes M.
EJEMPLO: N = 123456, D = 28, M =07
P=563412
grupo1=12 grupo2=34 grupo3=56
R=5628340712
10. Considerando que un carro se mueve, partiendo del reposo, con una aceleración constante de 8m/s2,
escribe un algoritmo e impleméntalo en C++ que permita calcular la velocidad instantánea al cabo de 5
segundos y la velocidad media durante los primeros 5 segundos del recorrido.
Donde:
Vel_Instantánea = Vel_Inicial + Aceleración * Tiempo
Vel_Media = (Vel_Inicial + Vel_Final) / 2
GDAP, Sept. 2010
2
Descargar