Etiqueta: condicionales

  • 3Eva_IIT2018_T1 texto aleatorio

    3ra Evaluación II Término 2018-2019. 15-Febrero-2019 /CCPG001

    Tema 1. (30 puntos) Asuma que tiene una lista T de Términos. Un Término puede  ser una palabra o un o de los siguientes tres símbolos:
    punto (.), coma (,) y guión(-).

    Desarrolle un programa que forme un texto usando las siguientes reglas:

    • El texto debe estar compuesto de 73 términos seleccionados aleatoriamente
    • El primer término debe ser una palabra
    • No se puede seleccionar dos símbolos de manera consecutiva. Si eso pasa, seleccione un nuevo término aleatoriamente hasta que sea una palabra.
    • Dos Palabras seguidas deben estar separadas por un espacio.
      Ejemplo: palabra1 palabra2
    • La coma debe estar pegada a la palabra izquierda y separada por un espacio de la palabra a su derecha.
    ejemplo palabra1, palabra2
    • El guión debe estar pegado a sus dos palabras.
    Ejemplo: palabra1-palabra2
    • El punto debe estar pegado a la palabra de la izquierda y seguido de un salto de línea.
    Ejemplo: Palabra 1.
    
    
    • No elimine términos de la lista T.

    Escriba este texto resultante en un archivo de nombre: literatura.txt

  • 1Eva_IT2015~T3 Juego acumula tesoros

    1ra Evaluación I Término 2015-2016. Julio, 2015 /FIEC

    Tema 3. (45 puntos) En el juego de tablero acumula-tesoros, dos jugadores atraviezan un corredor de 50 metros de largo. 

    En cada turno, un jugador avanza lanzando un dado de 6 caras y avanza las casillas de 1 metro correspondiente.

    En la nueva posición debe considerar si debe retroceder considerando la reglas de movimiento:

    • Si la nueva posición no ha sido visitada aún, se queda en la casilla y el jugador puede recoger algún elemento siguiendo las reglas de tesoros.
    • Si la nueva posición ya ha sido visitada por el otro jugador, debe retroceder 10 metros.
    • En caso de retroceder, el jugador puede volver al inicio si su posición es menor de 10 metros. El jugador puede evitar retroceder deshaciéndose de un tesoro de los que haya recogido.

    Al llegar a cada casilla o posición, a cada jugador se le asigna aleatoriamente uno de los estados mostrados en la tabla.

    estado elemento
    fortaleza (-1) armas (1)
    hambre (-2) víveres (2)
    súper-héroe (-3) tesoros (3)

    Algunas casillas pueden tener asignado uno los elementos de la tabla. Las reglas de tesoro para recoger el elemento indica que:

    • Para recoger armas, el jugador debe estar en el estado de fortaleza.
    • Para recoger víveres, el jugador debe estar en el estado de hambre.
    • Para recoger tesoros, el jugador debe estar en el estado de súper-héroe.

    Al inicio del juego, se ubican los jugadores en la casilla 1. Luego se distribuyen aleatoriamente 8 armas, 8 víveres y 8 tesoros a lo largo del corredor, desde la posición 2 en adelante.

    El juego termina cuando uno de los jugadores llega exactamente al final del corredor. Gana el jugador que acumula la mayor riqueza de elementos recogidos durante el juego, calculada como:

    Riqueza = \frac{armas}{2}+1)100 + 0.5 víveres+ tesoros

    Se requiere implementar las siguientes procedimientos y funciones:

    1. asignarPosicionElementos() que retorna una colección que contiene 3 listas, cada una representando las posiciones en el corredor de las 8 armas, víveres y tesoros, respectivamente.
    2. LanzarDado() que retorna aleatoriamente el valor de una de las caras del dado.
    3. generarEstado() que retorna aleatoriamente uno de los posibles estados.
    4. mostrarElemento(posicion, coleccion) que dada una posición y la colección de posiciones de los elementos imprime en pantalla el tipo de elemento que existe en esa posición.
    5. recogerElemento(estado, posicion,colección) que dada una posición, el estado de un jugador y la colección de posiciones de los elementos retorna el tipo de elemento que se ha recogido (1, 2 ó 3) o 0 si no ha sido posible.
    6. mostrarMensaje(jugador), la cual recibe como parámetro un jugador e muestra en pantalla el estado y posición del jugador.
    7. calcularRiqueza(armas,viveres,tesoreos) que dada una cantidad de armas, víveres y tesoros retorna la riqueza obtenida.

    Realice un programa que simule el juego y que siguiendo las reglas del juego descritas, use las funciones implementadas anteriormente.

    En cada turno se mostrarán por pantalla:

    • El jugador al que corresponde el turno
    • El resultado del lanzamiento del dado
    • Si se avanza o retrocede
    • la nueva posición del jugador

    Al finalizar el juego, se debe declarar al ganador y la riqueza de cada uno.

    Rúbrica: inicializar tablero con premios (5 puntos), uso de aleatorios, (5 puntos), control de posiciones (5 puntos), implementar reglas de movimiento (5 puntos), reglas de tesoros (5 puntos), control de fin de juego (5 puntos), seleccion de ganador y riqueza(5 puntos), funciones estructuradas (5 puntos), algoritmo estructurado(5 puntos).

    Nota: Enunciado original editado y adaptado para taller en clases.

  • 1Eva_IT2015~T2 Dibujar espejo con cadenas de caracteres

    1ra Evaluación I Término 2015-2016. Julio, 2015 /FIEC

    Tema 2. (20 puntos) Se requiere implementar en Python la función dibujarEspejo() que recibe un número n y dibuja el siguiente patrón:

    dibujarEspejo(8) dibujarEspejo(6)

    Nota: Asuma que n es siempre un número par.

  • 1Eva_IIT2015_T2 Monopolio simplificado

    1ra Evaluación II Término 2015-2016. Diciembre 8, 2015 /ICM00794

    Tema 2. (30 puntos) Para una versión simplificada de Monopolio con 4 jugadores se tiene que: monopolio simplificado

     

    • Al inicio, todos los jugadores ubican su ficha en la casilla 1 con $1500.
    • El tablero es de recorrido cíclico de 24 casillas.
    • Se juega por turnos avanzando con la suma del lanzamiento de dos dados.
    • Un jugador al caer en las casillas de “Casualidad” (4, 10, 16) debe pagar $100 a otro jugador escogido aleatoriamente.
    • Cada jugador tiene cinco casillas como “propiedades”; si un jugador cae en la propiedad de otro le deberá pagar del derecho de ocupación un valor determinado al lanzar un dado y multiplicarlo por 10.

    Considere que:

    • El jugador 1 es propietario de las casillas 2, 8, 13, 19, 22.
    • El jugador 2 es propietario de las casillas 3, 7, 11, 17 y 24.
    • El jugador 3 es propietario de las casillas 5, 9, 15, 20 y 23.
    • El jugador 4 es propietario de las casillas 6, 12, 14, 18 y 21
    • Cada vez que un jugador pase por “Inicio” recibirá $200.

    Realice un algoritmo que simule el juego hasta que uno de los jugadores quede en bancarrota (sin dinero). Al final, indique el jugador que se quedó en la bancarrota y el dinero que obtuvo cada jugador.

    Rúbrica: control de saldos de jugadores y turnos (5 puntos), ubicación de jugadores (5 puntos), uso apropiado de aleatorios (5 puntos), casualidades y paso por inicio (5puntos), control de propiedades (5 puntos). Respuesta y Algoritmo estructurado (5 puntos).

  • 1Eva_IIT2015_T1 Conjetura múltiplo de 3

    1ra Evaluación II Término 2015-2016. Diciembre 8, 2015 /ICM00794

    Tema 1. (25 puntos) “Si partimos de un número natural que sea múltiplo de 3 y sumamos los cubos de sus cifras, a este resultado le aplicamos la misma operación sucesivamente, llegaremos siempre al número 153.”

    Elabore un algoritmo que permita ingresar un número entero de cuatro cifras que sea múltiplo de 3 y verifique si se cumple esta conjetura.

    Ejemplo: 1375
     No es múltiplo de 3
     Respuesta: No cumple
    Ejemplo: 1374
     Si es múltiplo de 3
     1374 → 13 + 33 + 73 + 43 = 435
     435 → 43 + 33 + 53 = 216
     216→ 225 → 141 → 66 → 432 → 99 → 1458 → 702 → 351 → 153
     Respuesta: Si cumple

    Referencia: https://en.wikipedia.org/wiki/Narcissistic_number. Los 153 peces en la red. Juan 21:11 NVI

    Rúbrica: Ingreso y validación (5 puntos), acumular cubos de dígitos (10 puntos), control de secuencia (5 puntos). Respuesta y algoritmo estructurado (5 puntos).

  • 1Eva_IT2015_T2 Impuesto a herencia

    1ra Evaluación I Término 2015-2016. Julio 7, 2015 /ICM00794

    Tema 2. (25 puntos) El 5 de junio de 2015, la Asamblea Nacional recibió un proyecto de ley en materia económica con calidad de urgente conocido como “Ley de Herencias”.

    El proyecto reformaría el porcentaje del impuesto sobre las herencias, el cual es progresivo basado en equivalentes al salario básico (SB). Al Año 2015, el salario básico (SB) se estableció en $354,00.

    Para el impuesto, considerando solo el caso por cada heredero directo, dado un valor de herencia y el número de herederos, se calcula el valor equivalente en salarios básicos (SB). Usando la tabla se determina el rango aplicable, para calcular el impuesto se suman: el “impuesto a fracción básica” y la “tarifa” multiplicada por el excedente; el resultado buscado es el valor convertido a dólares.

    Elabore un algoritmo que dado el valor de herencia, el número de herederos y el salario básico en dólares ($), calcule el valor propuesto del impuesto en dólares.

    “Artículo 4. Tarifas para liquidar este impuesto son: a. En caso de los beneficiarios sea legitimarios del causante o donante, según corresponda, se aplicará la siguiente tabla:”

    Tabla expresada en número de Salarios Básicos (SB)
    Rango Aplicable impuesto tarifa
    Fracción Básica Exceso hasta fracción básica fracción excedente
    - 100 - -
    100 200 - 2,50 %
    200 400 2,5 7,50 %
    400 800 17,5 17,50 %
    800 1600 87,5 32,50 %
    1600 en adelante 347,5 47,50 %
    Ejemplo:
    Valor de herencia ($) $ 200.000,00
    Número de herederos: 2
    Salario básico $ 354,00
    Equivale (SB): (200.000,00/2) /354,00= 282,4859
    rango aplicable (SB) 200 a 400
    Fracción Excedente (SB) 282,4859-200= 82,4859
    Impuesto en SB 2,5+82,4859*(7,50%)= 8,6864
    Impuesto por heredero en ($) 8,6864*$354= $3.074,99

    Nota: Se usa solo un escenario para la evaluación algorítmica tomando como referencia de cálculo un literal del artículo.

    Referencias: Oficio No. MINFIN-DM-2015-0333, 05-jun-2015, Quito. www.eluniverso.com. Conozca el proyecto de ley para el impuesto a las herencias en Ecuador, 2015/06/05. http://www.eluniverso.com/sites/default/files/archivos/2015/06/rd_215732correa_215732_304958.pdf

    Rúbrica: ingreso (5 puntos), transformar unidades (5 puntos), determinar parámetros por rangos (10 puntos), resultado (5 puntos)

  • 1Eva_IT2015_T1 algoritmo multiplicar

    1ra Evaluación I Término 2015-2016. Julio 7, 2015 /ICM00794

    Tema 1. (25 puntos) Un procedimiento matemático para multiplicar dos números enteros con valores entre 1 y 1000 se describe en el siguiente ejemplo:

    Se desea conocer el producto de dos números: 997 y 991
    Obtenga los resultados de las restas: 1000-997 = 3
    1000-991 = 9
    Sume los resultados de las restas: 3 + 9 = 12
    Reste de 1000 el resultado de la suma anterior: 1000-12 = 988
    Multiplique este resultado por 1000: 988 x 1000 = 988000
    Multiplique los resultados de las restas iniciales: 3 x 9 = 27
    La suma de los dos últimos resultados es el producto deseado: 988000+27 = 988027

    Escriba un algoritmo que verifique que esta regla se cumple para cada producto a x b. Las variables a y b son enteros positivos entre 1 y un valor que puede llegar hasta 1000. Muestre la respuesta mediante un mensaje.

    Rúbrica: ingreso y validación (5 puntos), procedimiento matemático (5 puntos), comprobar que cumple para a (5 puntos), comprobar que cumple para b (5 puntos), Algoritmo estructurado (5 puntos)

  • 1Eva_IIT2014_T1 Verificar si a y b son Números amigos

    1ra Evaluación II Término 2014-2015. Diciembre 9, 2014 /ICM00794

    Tema 1. (20 puntos) Dos números enteros positivos a y b son amigos sí solo sí la suma de los divisores de a es igual al número b, y la suma de los divisores de b es igual al número a.

    Ejemplo:
    números: a = 220 b = 284
    divisores de número: 1, 2, 4, 5, 10, 11, 20,
    22, 44, 55 y 110,
    1, 2, 4, 71 y 142,
    suma de divisores 284 220

    Escriba un algoritmo para determinar si dos números enteros a y b son amigos o no.

    Rúbrica: ingresar y validar positivos (5 puntos), buscar divisores (10 puntos), acumular divisores (3 puntos) determinar si son amigos (2 puntos).

  • 1Eva_IT2014_T3 Pirámide Publifast

    1ra Evaluación I Término 2014-2015. Julio 1, 2014 /ICM00794

    Tema 3. (25 puntos) Nuevamente el juego de la pirámide fue usado como una estafa para muchos ciudadanos, en ésta ocasión usando publicidad en redes sociales. negociopiramide

    Para demostrar que éste tipo de negocios es limitado, escriba un algoritmo que simule la situación conforme a la siguiente descripción:

    • Inicialmente hay una persona en la pirámide conocida como el promotor
    • En cada mes, para recibir los beneficios cada persona en la pirámide debe invitar un número fijo de k personas. Suponga que la pirámide crece uniforme cada mes con los invitados.
    • Cada persona al ingresar a la pirámide debe aportar una cuota en dólares.
    • El crecimiento ya no es posible cuando la cantidad de personas en la pirámide resulta ser mayor al número de personas en capacidad de aportar dinero a la pirámide. Ej: los habitantes m de un país.

    Al final muestre cuántos meses funcionó la pirámide, cuántas personas formaron parte y el dinero recaudado.

    Observación: La pirámide termina cuando ya no quedan suficientes nuevos aportantes. Por lo que lo recaudado es solo hasta ese mes.
    Ref: http://www.eluniverso.com/noticias/2014/06/11/nota/3066307/sedujo-forma-facil-duplicar-su-dinero-web

    Rúbrica: control de ciclos (5 puntos), control de crecimiento (10 puntos), resultados (10 puntos)

  • 1Eva_IT2014_T1 Cuadrado de Cinco

    1ra Evaluación I Término 2014-2015. Julio 1, 2014 /ICM00794

    Tema 1. (20 puntos) Se dice que el cuadrado de cualquier número terminado en 5 se forma como el producto de las decenas y (decenas+1), añadiendo a la derecha del resultado el 25. Si el número es menor que 100 se calcula fácilmente con la tabla de multiplicar como se muestra en los ejemplos:

    Operación decena decena+1 añadir resultado
    252 2 3 6 625
    852 8 9 72 7225

    252, la decena que es 2, se multiplica por 3 que es la decena+1, resulta 6 que se añade a la derecha 25 y su resultado es 625.


    852, se calcularía como 8x9=72, se añade a la derecha 25, el resultado es 7225.


    Elabore un algoritmo que valide el proceso para los números terminados en cinco dentro del rango entre 5 y m (ejemplo 1000). Al final muestre si se cumple lo descrito, en caso de ser incorrecto, mostrar el primer número para el que no se cumple.

    Rúbrica: Operaciones con los dígitos (10 puntos), Validación rango (10 puntos).