Taller 2: Condicionales python Introducción a la Programación - Grupo E February 23, 2010 Abstract En el mundo corriente nos encontraremos con diferentes tipos de sistemas, algunos de más complejidad que otros. Por nuestra condición de ingenieros debemos ser capaces de entender el sistema y modelarlo con el fin de poder encontrar problemas u optimizaciones. Para modelarlo debemos identificar tanto el objetivo del sistema como las constantes, variables y propiedades que se cumplen, de manera que lleguemos a un punto en el que podamos decir que lo que pasa es nuestro modelo pasa en el sistema real. Se debe tener en cuenta qué es lo que realmente queremos modelar para no caer en el error de modelar situación que no nos ayuden. Este taller pretende acercalos a la realidad de su carrera, aquí encontrarán sistemas los cuales deberán modelar (para esta ocasión en python), recuerden que de ustedes depende cómo modelarlo. 1 En clase 1. Escribe un programa que pida la nota de un estudiante (de 1 a 10) y diga si es un insuficiente (menos de 5), suficiente (de 5 a 7), notable (de 7 a 9) o sobresaliente (entre 9 y 10) 2. Un año es bisiesto si es divisible por 4, excepto si es una centuria, que tiene que ser divisible por 400 (1800 y 1900 no fueron bisiestos, pero 1600 y el 2000 sí). Escribe un programa que pida el número de un año y muestre si es bisiesto o no. 3. SUPONGA que existen dos opciones para ser exonerados del parcial final: Que las notas del parcial 1 y del proyecto sean mayores a 4.5. Que en alguno de los dos parciales haya sacado 5.0 y el otro no lo haya perdido. 4. Escribir un algoritmo que lea tres números reales y me diga, si se trata de un triángulo (La suma de dos lados cualesquiera debe ser mayor que el tercer lado), y que tipo de triangulo es (Equiltero: todos los lados son iguales, Issceles: al menos dos lados son iguales, Escaleno: no tiene dos lados iguales). 1
5. Para desarrollar un video juego de disparos se necesita evaluar en qué lugar cae el disparo con respecto a un plano de coordenadas. El plano de referencia tiene el origen en la esquina superior izquierda (0,0). El punto que define la cuadricula está en la esquina inferior derecha (a, b). El punto que se va a evaluar puede caer dentro del plano o fuera de l. Usted debe desarrollar una programa en python que evalue si el punto cae en una de las 9 áreas que se representan a continuación: El programa deberá pedir primero que todo las coordenadas a y b del plano. Posteriormente pedirá el punto en el cual cayó el disparo. Finalmente imprimirá en pantalla el número correspondiente al área donde se encuentra junto con algún mensaje. Es decir, debe retornar 9 si el punto cae dentro del plano de referencia; 1 indica que el punto está a la izquierda y arriba del origen; 2 indica que el punto está sobre el origen, pero su coordenada horizontal está en el intervalo [0, a], y as sucesivamente. 2
2 Próxima clase (Práctica) 1. Teniendo en cuenta el siguiente código: a = input("ingrese primer valor: ") b = input("ingrese segundo valor: ") r1 = a % 2 == 0 r2 = b % 2 == 0 if r1: if r2: print a*b else: print a*a else: if r2: print b*b else: print 0 Explique cuál es el objetivo de este programa, asumiendo que n es un entero positivo. 2. Los empleados de una fábrica trabajan en dos turnos: diurno y nocturno. Se desea calcular el jornal diario de acuerdo con los siguientes puntos: La tarifa de horas diurnas es de $40. La tarifa de horas nocturnas es de $100. Caso de ser Domingo, la tarifa se incrementara en $100 en el turno diurno y $200 en el turno nocturno. 3. Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se consideran horas extras y que éstas se pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple. 4. Hacer un algoritmo que imprima el nombre de un artículo, precio original y su precio con descuento. El descuento lo hace con base en la clave, si la clave es 01 el descuento es del 10% y si la clave es 02 el descuento es del 20%. 3
5. El dueño de una empresa desea planificar las decisiones financieras que tomara en el siguiente año. La manera de planificadas depende de lo siguiente: Si actualmente su capital se encuentra con saldo negativo, pedirá un préstamo bancario para que su nuevo saldo sea de $10000. Si su capital tiene actualmente un saldo positivo pedirá un préstamo bancario para tener un nuevo saldo de $20000, pero si su capital tiene actualmente un saldo superior a los $20000 no pedirá ningún préstamo. Posteriormente repartirá su presupuesto de la siguiente manera $5000 para equipo de computo, $2000 para mobiliario y del resto la mitad será para la compra de insumos y la otra para otorgar incentivos al personal. Desplegar qué cantidades se destinaran para la compra de insumos e incentivos al personal y, en caso de que fuera necesario, a cuanto ascendería la cantidad que se pediría al banco. 6. Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes condiciones: Si los ingresos del comprador son de $8000 o más el enganche será del 15% del costo de la casa y el resto se distribuirá en pagos mensuales, a pagar en diez aos. Si los ingresos del comprador son menos de $8000 el enganche será del 30% del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en 7 años. La empresa quiere obtener cuánto debe pagar un comprador por concepto de enganche y cuánto por cada pago parcial. 4
3 Casa 1. En una casa han instalado una alarma, para la cual usted deberá realizar un programa en Python que le determine a la alarma si suena o no, dependiendo de las siguientes características: (a) La casa se ha dividido en cuatro (4) zonas para que sus habitantes activen sólo la zona que crean conveniente según sean sus necesidades. La zona 1 es la que contiene los sensores periféricos, es decir la puerta de entrada, la puerta del garaje, la puerta del patio trasero y las 3 ventanas que dan hacia el exterior de la casa (esta zona es la que activan cuando se acuestan a dormir). La zona 2 contiene los sensores de la zona 1 más los sensores internos de movimiento que son 3 (esta zona la activan cuando salen de la casa y esta queda sola). La zona 3 se conforma de los sensores externos de movimiento del patio trasero y antejardín. Y la zona 4 sólo activa un sensor de movimiento instalado en el segundo piso. (b) Sólo debe sonar la alarma cuando la zona esté activa y alguno de los sensores que pertenece a ella sea activado. 2. En matemática la palabra capicúa es un número que se lee igual de izquierda a derecha y de derecha a izquierda. Ejemplos de estos números son; 212, 25652, 808, 3781873. Realice un programa en Python al cual le ingresa un número entero positivo de 4 cifras e imprime True si el número es capicúa o False si no lo es. 3. En un juego de video hay que dispararle a un tablero de tiro al blanco que se encuentra dado por cuatro áreas cuadradas concéntricas separadas por una distancia d (igual para todas las áreas). Suponga que el tiro al blanco se encuentra en un plano cartesiano de dos dimensiones y cuyo centro (0, 0) es el centro mismo del tiro al blanco. Si las áreas concéntricas se enumeran desde la más interna hasta la más externa de 1 a 4, realice un programa en Python que retorne el número del área en la cual ha caido el disparo (dado por un punto (x, y) ) ha dado. Se debe ingresar la distancia d y el punto (x, y). 5
6