Autor: Edison Del Rosario

  • 2Eva_IIT2001_T2 Contar puntos aleatorios en un triángulo

    Final II Término 2001 – 2003. Febrero 5, 2002 /ICM00794

    Tema 2. Escriba un programa en C/C++ que genere aleatoriamente valores enteros para 100 pares ordenados (x, y) tales que:

    0≤x≤10
    0≤y≤10

    El programa deberá escribir CUANTOS puntos se encuentren dentro del área sombreada mostrada en la figura.

  • 2Eva_IIT2001_T1 Calcular composición (f o g) (x)

    Final II Término 2001 – 2003. Febrero 5, 2002 /ICM00794

    Tema 1. Considere las funciones de variable real:

    f(x) = x ex + 1
    g(x) = x Sen(x)
    • Escriba dos funciones en C/C++ que definen las reglas de correspondencia para f y g respectivamente.
    • Elabore un programa principal en C/C++ que permita encontrar el menor y el mayor valor de la función (f o g)(x) con valores de
      x= 0.1, 0.2, 0.3, … ,2.9, 3.0
  • 1Eva_IT2001_T7 Interseccion de vectores

    Parcial II Término 2001 – 2002. Diciembre 11, 2001 /ICM00794

    Tema 7. (20 puntos) Se leen dos arreglos A y B de n y m elementos enteros, respectivamente.

    Escriba un algoritmo que encuentre un tercer arreglo que constituya la intersección de los arreglos A y B

    Nota: Considere que tanto el arreglo A como el arreglo B no tienen elementos repetidos en el mismo arreglo.

  • 1Eva_IT2001_T6 Piloto y copiloto para nave

    Parcial II Término 2001 – 2002. Diciembre 11, 2001 /ICM00794

    Tema 6. (20 puntos) Una nave extraterrestre tiene una capacidad disponible de K Kg (K es una constante real de 150 Kg) y disponen de una lista del peso en Kg de n seres humanos diferentes. capsula espacial dibujo

    Escriba un algoritmo en pseudo código que haga lo siguiente:

    • Ingresar en un arreglo los pesos de n personas.
    • Presentar todas las parejas tal que la suma de sus pesos sea menor que una constante K=150.
    • Presente también la suma mas grande encontrada.
  • 1Eva_IT2001_T5 Verificar divisibilidad para 9

    Parcial II Término 2001 – 2002. Diciembre 11, 2001 /ICM00794

    Tema 5. (20 puntos) "Un entero es divisible para 9 si lo es la suma de sus cifras."

    Escriba un diagrama de flujo que lea un numero N y sume sus cifras, si el resultado es mayor que 9 nuevamente sume sus cifras hasta obtener un número de un solo dígito.

    Si este es el número 9 muestre el mensaje " EL NUMERO N ES DIVISIBLE PARA 9".

    Ejemplo:
    N = 15478
        1+5+4+7+8 = 25
        2+5 = 7 
    En este ejemplo el numero N no es divisible para 9

    propuesta: m_pdf, py_pdf, sol_py

  • 1Eva_IT2001_T4 Convertir bloque "Para" en "mientras repita"

    Parcial II Término 2001 – 2002. Diciembre 11, 2001 /ICM00794

    Tema 4. (10 puntos) Convertir una estructura de repetición incremental para... a una estructura de repetición condicional mientras ...

    n ← 10
    s ← 0
    para (p←1;p<=10;p←p+1)
        s←s+2;
    fin
    

    completar las líneas como un mientras:

    n ← 10
    s ← 0
    ................
    ................
    ................
    ................
    ................
  • 1Eva_IT2001_T3 Prueba de escritorio, algoritmo

    Parcial II Término 2001 – 2002. Diciembre 11, 2001 /ICM00794

    Tema 3. (10 puntos) Realice la prueba de escritorio en el siguiente programa en pseudocódigo y escriba el valor de s al final del proceso

    inicio
    n ← 4321
    s ← 0
    {repita
        u ← n mod 10 //residuo de división entera n/10
        s ← s+u
        n ← n div 10 //división entera
    } hasta(n<=0)
    presentar s
    fin
    n s u
    4321 0
    ... ... ...
  • 1Eva_IT2001_T2 Temas de conceptos

    Parcial II Término 2001 – 2002. Diciembre 11, 2001 /ICM00794

    Tema 2. (10 puntos) Complete los espacios:

    a) El sistema numérico de base 2 utilizando por el computador se conoce como ...................

    b) En un conjunto de instrucciones de CPU, cada instrucción se expresa en .............

    c) ................... es el código más común para los caracteres.
    d) Un programa en C++ inicia la ejecución con la función .........................................

    e) Los niveles de lenguaje de programación que existen son ............................, y ........................

    f) La unidad o componente del computador que toma decisiones lógicas es ..................................

    g) Cualquier programa o algoritmo puede implementarse en términos de la estructuras de control ..........

    h) La programación estructurada se caracteriza por el uso de...............................

  • 1Eva_IT2001_T1 Cambio de base numérica

    Parcial II Término 2001 – 2002. Diciembre 11, 2001 /ICM00794

    Tema 1. (10 puntos) Convertir los siguientes números a la base como se indica:

    a) 324A16 a base 10 ....................
    b) 34910 a base 2 ....................
    c) 458 a base 10 ....................
    d) 1011018 a base 10 ....................
    e) 1101100001112 a base 10 ....................

     

  • s2Eva_IIT2001_T4 Control de habitaciones en una clínica

    Ejercicio: 2Eva_IIT2001_T4 Control de habitaciones en una clínica

    Propuesta de solución en Python:

    Se plantea usar una lista para los datos de paciente y un arreglo para la ocupación de las habitaciones.

    Paciente
    cédula nombre código
    1234 Juan 2
    456 Maria 8

    La lista de pacientes empieza vacia paciente=[] y se añaden datos con cada ingreso de paciente a la clínica. paciente.append()

    Habitación
    código 1 2 7 8
    ocupada 0 1 0 1

     

    El arreglo de habitaciones se inicializa en la opción=1 con el número de habitaciones disponibles en el edificio. Como el edificio tiene un número de habitaciones fija, se inicializa como un arreglo de tamaño n, con valores ceros al iniciar con todas las habitaciones vacias.

    Algoritmo en Python

    # ICM00794-Fundamentos de Computación - FCNM-ESPOL
    # 2Eva_IIT2001_T4 Control de habitaciones en una clínica
    # Tarea: abrir archivo de datos
    
    import numpy as np
    
    paciente=[]
    
    # menu
    opcion = '0'
    while not(opcion=='6'):
        print(' 1. Ingresar habitaciones')
        print(' 2. Ingresar paciente y asignar habitación')
        print(' 3. Dar de alta a paciente, habitacion libre')
        print(' 4. Guardar datos de paciente')
        print(' 5. Abrir datos de pacientes')
        print(' 6. Salir')
    
        opcion = input('cual opcion: ')
        
        if (opcion=='1'):
            print(' **** 1. Ingresar habitaciones ****')
            n = int(input('cuantas:'))
            habitacion = np.zeros(n,dtype=int)
            print(habitacion)
            
        if (opcion=='2'):
            print(' **** 2. Ingresar paciente y asignar habitación ****')
            cedula = input('cedula: ')
            nombre = input('nombre: ')
            codigo = int(input('cual habitación: '))
            while (habitacion[codigo]==1):
                print(' la habitacion está ocupada,..')
                codigo = int(input('cual habitación: '))
                
            registro = [cedula,nombre,codigo]
            paciente.append(registro)
    
            habitacion[codigo] = 1
    
            print(paciente)
            
        if (opcion=='3'):
            print(' **** 3. Dar de alta a paciente, habitacion libre ****')
            print(paciente)
            cualpaciente=int(input(' numero paciente:'))
            donde=paciente[cualpaciente][2]
                    
            if (habitacion[donde]==1):
                habitacion[donde] = 0
                paciente[cualpaciente][2] = 0
            else:
                print(' la habitacion no tiene paciente')
            print(habitacion)
    
        if (opcion=='4'):
            
            print(' **** 4. Guardar archivo ****')
            # trabajar con un archivo
            archivo = open('pacientes.txt','w')
    
            n = len(paciente)
            fila = 0
            while not(fila>=n):
    
                # Crea linea de texto con datos
                # para un registro, separada por comas
                registro = paciente[fila][0]+',' + paciente[fila][1] +','
                registro = registro +',' +str(paciente[fila][2]) +'\n'
    
                # Escribe registro en una línea del archivo
                archivo.write(registro)
                fila = fila+1
                
            archivo.close()     # Cierra el archivo 
    
        if (opcion=='5'):
            print(' 5. **** Abrir archivo ****')
            print(' # TAREA, COMPLETAR EL PROCESO')
                    
        if (opcion=='6'):
            print(' 6. **** Salir ****')
    
    

    completar la tarea.

    resultado del algoritmo

     1. Ingresar habitaciones
     2. Ingresar paciente y asignar habitación
     3. Dar de alta a paciente, habitacion libre
     4. Guardar datos de paciente
     5. Abrir datos de pacientes
     6. Salir
    cual opcion: 1
     **** 1. Ingresar habitaciones ****
    cuantas:10
    [0 0 0 0 0 0 0 0 0 0]
     1. Ingresar habitaciones
     2. Ingresar paciente y asignar habitación
     3. Dar de alta a paciente, habitacion libre
     4. Guardar datos de paciente
     5. Abrir datos de pacientes
     6. Salir
    cual opcion: 1
     **** 1. Ingresar habitaciones ****
    cuantas:10
    [0 0 0 0 0 0 0 0 0 0]
     1. Ingresar habitaciones
     2. Ingresar paciente y asignar habitación
     3. Dar de alta a paciente, habitacion libre
     4. Guardar datos de paciente
     5. Abrir datos de pacientes
     6. Salir
    cual opcion: 2
     **** 2. Ingresar paciente y asignar habitación ****
    cedula: 123
    nombre: Juan
    cual habitación: 8
    [['123', 'Juan', 8]]
     1. Ingresar habitaciones
     2. Ingresar paciente y asignar habitación
     3. Dar de alta a paciente, habitacion libre
     4. Guardar datos de paciente
     5. Abrir datos de pacientes
     6. Salir
    cual opcion: 2
     **** 2. Ingresar paciente y asignar habitación ****
    cedula: 234
    nombre: Maria
    cual habitación: 8
     la habitacion está ocupada,..
    cual habitación: 7
    [['123', 'Juan', 8], ['234', 'Maria', 7]]
     1. Ingresar habitaciones
     2. Ingresar paciente y asignar habitación
     3. Dar de alta a paciente, habitacion libre
     4. Guardar datos de paciente
     5. Abrir datos de pacientes
     6. Salir
    cual opcion: 3
     **** 3. Dar de alta a paciente, habitacion libre ****
    [['123', 'Juan', 8], ['234', 'Maria', 7]]
     numero paciente:0
    [0 0 0 0 0 0 0 1 0 0]
     1. Ingresar habitaciones
     2. Ingresar paciente y asignar habitación
     3. Dar de alta a paciente, habitacion libre
     4. Guardar datos de paciente
     5. Abrir datos de pacientes
     6. Salir
    cual opcion: 4
     **** 4. Guardar archivo ****
     1. Ingresar habitaciones
     2. Ingresar paciente y asignar habitación
     3. Dar de alta a paciente, habitacion libre
     4. Guardar datos de paciente
     5. Abrir datos de pacientes
     6. Salir
    cual opcion: 5
     5. **** Abrir archivo ****
     # TAREA, COMPLETAR EL PROCESO
     1. Ingresar habitaciones
     2. Ingresar paciente y asignar habitación
     3. Dar de alta a paciente, habitacion libre
     4. Guardar datos de paciente
     5. Abrir datos de pacientes
     6. Salir
    cual opcion: 6
     6. **** Salir ****
    >>>