Autor: Edison Del Rosario

  • 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_T4 Jugadores para escuela de Fútbol

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

    Tema 4. (30 puntos) En una escuela de fútbol se inscriben n jugadores identificados con su número en la lista de asistencia y un código que identifica su mejor habilidad en la cancha. Al ingresar la habilidad por jugador, se validan los códigos.

    Para entrenamiento se forman dos equipos de 11 jugadores seleccionados de forma aleatoria, cada equipo debe contener:

    un portero, cuatro defensas, dos para medio campo y cuatro delanteros.

    Escriba un algoritmo para ayudar a este entrenador a elegir aleatoriamente a los jugadores de ambos equipos y muestre los jugadores de cada equipo.
    Observe que un jugador no puede pertenecer a más de un equipo.

    Suponga que se registran siempre más jugadores por especialidad que lo necesario. Ejemplo n>40

    Código Habilidad
    1 Portero
    2 Defensa
    3 Mediocampo
    4 delantero
    j habilidad(j) equipo(j)
    1 2 0
    2 2 0
    3 3 2
    4 1 1
    5 4 0
    6 4 1
    ... ... ...

    Rúbrica: Ingreso y validación (5 puntos), selección aleatoria (5 puntos), no repetida (10 puntos), por grupos (5 puntos), salida (5 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).

  • 1Eva_IT2014_T2 Verificar EAN con Python

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

    Tema 2. (25 puntos) El número EAN-13 (European Article Number) usado comercialmente en Europa en la identificación de productos, está constituido por 13 dígitos y con una estructura dividida en cuatro partes :

    • 3 dígitos para el país,
    • 4 dígitos para la empresa,
    • 5 dígitos para el producto, y
    • un dígito de control.

    El dígito de control permite detectar errores de lectura del código, calculado como:

    • Comenzando por la derecha, se multiplican los dígitos del código por 1 si su posición es par y por 3 si es impar,
    • Se suman los valores de los productos obtenidos,
    • Se resta a la decena superior el resultado de la suma, siendo el resultado el dígito de control.
    7 7 0 2 0 0 4 0 0 3 5 0
    x1 x3 x1 x3 x1 x3 x1 x3 x1 x3 x1 x3
    7 21 0 6 0 0 4 0 0 9 5 0
    Suma = 52
     decena superior = 60
     verificador calculado 60-52 = 8

    Realice un algoritmo que dado un número EAN valide que sea de 13 dígitos, calcule el dígito verificador e informe si es correcto.

    Referencia: http://es.wikipedia.org/wiki/European_Article_Number

    Rúbrica: Ingreso y validación (5 puntos), cálculos por dígito (10 puntos), decena superior (5 puntos), resultado (5 puntos)

  • s1Eva_IT2014_T2 Verificar EAN con Python

    Ejercicio: 1Eva_IT2014_T2 Verificar EAN

    [ algoritmo ] [ diagrama flujo ] codigo de barras EAN

    Para un número EAN dado, de cualquier producto, se ingresa como un número entero.

     

    # INGRESO
    EAN = int(input('European Article Number,EAN: '))
    

    Se requiere separar los componentes usando cociente y residuo: producto, empresa y país según las posiciones y cantidad de dígitos.

    # PROCEDIMENTO
    # separar las partes
    verificador = EAN%10 # un dígito
    numero = EAN//10
    
    producto = numero%100000 # cinco dígitos
    numero =  numero//100000
    
    empresa =  numero%10000 # cuatro dígitos
    pais =  numero//10000

    Luego encontrar la suma de los dígitos con la operación indicada en el enunciado.

    La siguiente semana de ser necesario se explica el tema de la decena superior.

    [ algoritmo ] [ diagrama flujo ]

    ..


    Algoritmo en Python

    # ICM00794-Fundamentos de Computación - FCNM-ESPOL
    # 1Eva_IT2014_T2 Verificar EAN
    
    # INGRESO
    EAN = int(input('European Article Number,EAN: '))
    
    # PROCEDIMENTO
    # separar las partes
    verificador = EAN%10  # un dígito
    numero = EAN//10
    
    producto = numero%100000 # cinco dígitos
    numero =  numero//100000
    
    empresa =  numero%10000  # cuatro dígitos
    pais =  numero//10000
    
    # calcular verificador
    suma = 0
    numero = numero = EAN//10
    while not(numero<=0):
        digito = numero%10
        numero = numero//10
        suma   = suma + 3*digito
        
        digito = numero%10
        numero = numero//10
        suma   = suma + 1*digito
        
    decena    = suma//10
    superior  = (decena + 1)*10
    calculado = superior - suma
    
    if (verificador == calculado):
        valido = 1
    else:
        valido = 0
        
    # SALIDA
    print('el numero ingresado es válido: ', valido)
    print('producto: ', producto)
    print('empresa: ', empresa)
    print('pais: ', pais)
    

    resultado del algoritmo

    European Article Number,EAN: 7702004003508
    el numero ingresado es válido:  1
    producto:  350
    empresa:  2004
    pais:  770
    >>> 
    
    European Article Number,EAN: 7702004003509
    el numero ingresado es válido:  0
    producto:  350
    empresa:  2004
    pais:  770
    >>> 
    

    [ algoritmo ] [ diagrama flujo ]
    ..


    Diagrama de Flujo

    Diagrama según taller realizado en aula. tenía una sección de tarea.

    [ algoritmo ] [ diagrama flujo ]

  • 1Eva_IIT2014_T4 Turnos en imprenta de gigantografía

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

    Tema 4. (30 puntos). Una empresa de gigantografías registra los pedidos de trabajo por cliente como la cantidad de letreros a imprimir y los atiende por orden de llegada. 

    Cada operador de la imprenta trabaja en turnos de 4 horas (240 minutos), y le toma 25 minutos imprimir un letrero en la máquina.

    Al terminar el turno de trabajo (4 horas), el operador debe informar al siguiente:

    a) el número de clientes con pedidos completados,

    b) el cliente cuyo pedido se está trabajando.

    c) La cantidad de letreros completados del pedido que se está atendiendo.

    Realice un algoritmo que permita ingresar en un arreglo la cantidad de pedidos por cliente (pedido [cliente]) y pueda estimar las respuestas del informe para el cambio de turno.

    Ejemplo:

    cliente 1 2 3 4 5 6 7
    pedido [cliente] 3 2 1 2 2 4 1
    tiempo [cliente] 75 50 25 50 50 100 25
    total tiempo [cliente] 75 125 150 200 250 350 375
    turno de operador 1 1 1 1 2 2 2
    Al cambio de turno:
     pedidos completados: 4
     Atendiendo a cliente: 5
     Letreros completados del pedido: 1

    En el ejemplo, se encuentra que:

    • los pedidos completados por el operador  1 fueron solo 4, pues el 5 todavía se está trabajando,
    • los letreros completados del pedido del cliente 5 son 1. (calculado como el cociente (240-200)/25)).

    Rúbrica: Ingreso (5 puntos), conversión a tiempos (5 puntos), literal a) (5 puntos), literal b) (5 puntos), literal c) (10 puntos)

  • 1Eva_IIT2014_T3 Parasailing sin sobrecarga, parejas

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

    Tema 3. (25 puntos) Parasailing es un tipo de deporte extremo de playa promocionado para turistas que usa un paracaídas para dos personas atado e impulsado por una lancha. parasailing dibujo

    Por seguridad, la capacidad del paracaídas máxima es de 350 lb.

    Dada la capacidad máxima y la lista de los pesos en libras para n turistas en la cola, realice un algoritmo para determinar las combinaciones posibles de parejas entre las personas en la cola de espera sin sobrecargar el paracaídas.

    Ejemplo: capacidad máxima=350; Cola de espera:

    i 1 2 3 ...
    pesos[i] 120 180 165 ...

    Referencia: publicado el 21-feb-2012. https://www.eltelegrafo.com.ec/noticias/deportes/1/el-parasailing-los-hace-sentirse-duenos-del-cielo

    Rúbrica: ingreso de datos (5 puntos), seleccionar y comparar parejas (15 puntos), conteo de pareja (5 puntos)


  • 1Eva_IIT2014_T2 Triángulos aleatorios en rectángulo

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

    Tema 2. (25 puntos) Una imagen para protector de pantalla en computadora se puede generar dibujando triángulos de tamaño y posición aleatorias.

    triangulos01

    Para formar un triángulo se generan tres pares ordenados dentro de un rectángulo de lados a y b.

    Elabore un algoritmo que genere aleatoriamente los vértices para n triángulos y determine la cantidad de figuras generadas clasificadas como:

    • triángulos equiláteros, todos sus lados de iguales
    • triángulos escalenos, todos sus lados diferentes
    • triángulos isósceles, dos lados iguales y uno desigual
    • puntos colineales, la suma de dos lados es igual al tercer lado y NO forma un triángulo.
    Ejemplo:
    >>> ¿cuántos triángulos?: 5
     ¿lado a?: 10
     ¿lado b?: 10
     equiláteros: 0
     escaleno: 3
     isósceles: 1
     colineales: 1

    Rúbrica: Ingreso y validación (5 puntos), triángulos aleatorios en el plano (5 puntos), contar por tipo (10 puntos), contar colineales (5 puntos)

  • 2Eva_IIT2014_T4 Cocinas de Inducción

    2da Evaluación II Término 2014 – 2015, Febrero 24, 2015 /ICM00794

    Tema 4. (30 puntos) Una fábrica produce dos modelos (A y B) de cocinas de Inducción. cocina de induccion dibujo

    Cada una de ellas se produce en tres capacidades S, M, L.
    Para una sola línea de ensamblaje, la primera y segunda matriz mostradas representan:

    • la cantidad de cocinas a producir por modelo, y
    • las horas que por cada cocina se demora la fabricación en el taller y  procesos administrativos

    Realice un programa que permita ingresar las dos matrices, calcule el total de tiempo de producción y el total de costo de producción si el costo de hora taller es $20,00 y administrativo es $10,00.

    Muestre los resultados.

    Cantidad de cocinas a producir
    Produce[] Modelo A Modelo B
    S 400 300
    M 200 100
    L 50 30
    Horas producción/tipo cocina
    Horas[] h/taller h/Admin
    S 25 1
    M 30 1.5
    L 35 2

    Resultados:

    Tiempo de Producción
    Tiempo[] Modelo A Modelo B
    S 400*(25+1)
    M 200*(30+1.5)
    L
    Total Horas

    Observe que: la matriz de costos es similar a la de tiempos, pero considera el costo por tipo. Ej: 400*(25*20,00+1*10,00)
    Rubrica: Ingreso (5 puntos), tiempos prod.(10 puntos), total horas (5 puntos), total costo(5 puntos), Programa estructurado (5 puntos)