1Eva_IIT2002_T1b Prueba de escritorio, arreglos

Parcial II Término 2002 – 2003. Diciembre 12, 2002 /ICM00794

TEMA 1.

b) (10 puntos) Considere el segmento números enteros x[4], y [4], k, j;
y los datos de entrada digitados en el orden dado:

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14

Después de ejecutarse el código,
¿cuál será el contenido de los arreglos x[] y y[]?

para (k ← 0; k<= 3; k ← k+1) repita
    ingrese x[k]
    para (j ← k; j < = 3; j ← j+1) repita
        ingrese y[j]
    fin
fin

Prueba de escritorio

k x[ ] j y[ ]
….. ….. ….. …..

2Eva_IIT2002_T1 Verificar si es «Número perfecto»

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

Tema 1. (20 puntos) Un número perfecto es aquel que es igual a la suma de todos sus divisores, con excepción del mismo.

Ejemplo:
 6 es perfecto porque, 
   sus divisores son: 1, 2, 3 (6 no se considera).
   1+2+3=6

a) Defina una función llamada perfecto(x) que retorne 1 si x es un número perfecto o 0 en caso de que no lo sea.

b) Para probar la función, genere en el programa principal m pares de números aleatorios con valores entre 1 y n inclusive (m y n deben ser previamente pedidos por teclado), y muestre cuántas de estas parejas tienen su suma igual a un número perfecto.

1Eva_IIT2002_T1a Crea tablas de multiplicar con strings del 1 a n

Parcial II Término 2002 – 2003. Diciembre 12, 2002 /ICM00794

TEMA 1.a (15 puntos) Escriba un algoritmo para crear tablas de multiplicar usando un menú con las siguientes opciones:

1. Mostrar una tabla de sumar,
2. Mostrar una tabla de multiplicar,
3. Salir.


Luego de escoger una opción, le preguntará sobre cuál número desea ver la tabla. El algoritmo muestra la tabla y regresa al al menú.

Si el usuario escoge la opción de salir del algoritmo, este terminará.

Nota: Considere que las tablas se muestran hasta el número 12. Podría usar cadenas de caracteres para incluir los símbolos de ‘+,-,=’ en la expresión.


[ Ejercicio resuelto ]

Ejemplo:

 1. Mostrar una tabla de sumar
 2. Mostrar una tabla de multiplicar
 3. Salir
  --- ¿Cuál opcion?: 1
 **** menu opcion 1. sumar ****
 tabla del número: 3
 tabla hasta n: 12

3 + 1 = 4
3 + 2 = 5
3 + 3 = 6
3 + 4 = 7
3 + 5 = 8
3 + 6 = 9
3 + 7 = 10
3 + 8 = 11
3 + 9 = 12
3 + 10 = 13
3 + 11 = 14
3 + 12 = 15

 1. Mostrar una tabla de sumar
 2. Mostrar una tabla de multiplicar
 3. Salir
  --- ¿Cuál opcion?:  

1Eva_IT2002_T3 Calificaciones mejores que alguien

Parcial I Término 2002 – 2003. Julio 11, 2002 /ICM00794

Tema 3. (40 puntos) Se dispone de una lista de calificaciones entre 0 y 100 para n estudiantes.

Se quiere construir un arreglo mejores() tal que a cada calificación le corresponda un número que indica cuantas calificaciones de la lista son mayores que ella.

Diseñe un algoritmo para leer las calificaciones y construir el arreglo solicitado. El algoritmo debe leer el arreglo calificaciones. luego construir el arreglo mejores, y mostrarlo.

Ejemplo:

estudiante 1 2 3 4 5 6 7 8
calificación [estudiante] 35 45 18 75 63 95 45 74
mejores [estudiante] 6 4 7 1 3 0 4 2
  • El 6 significa que existen:
        6 elementos en el arreglo calificación(), que son mayores a 35.
  • El 4 significa que existen:
        4 elementos en el arreglo calificación[ ], que son mayores a 45, … etc.

1Eva_IT2002_T2 Suma de filas y columnas de una matriz

Parcial I Término 2002 – 2003. Julio 11, 2002 /ICM00794

Tema 2. (30 puntos) leer una matriz de 3×3 elementos y calcular la suma de cada una de sus filas y columnas, dejando dichos resultados en dos vectores, uno para la suma de las filas y otro para las columnas.

matriz 1 2 3 suma
fila
1 4 4 4 12
2 3
3 3
suma
columna
10

1Eva_IT2002_T1 Funciones signo y máximo

Parcial I Término 2002 – 2003. Julio 11, 2002 /ICM00794

Tema 1.

a) (15 puntos) Diseñar un algoritmo que calcule el signo de la función seno(x), donde x es una medida en grados sexagesimales que se ingresa.

Ejemplo: 
sen(45) tiene signo '+'
sen(200) tiene signo '-'

b) (15 puntos) Diseñar un algoritmo que calcule el máximo de una lista de n valores enteros, donde n debe ser un número menor que 20, ingresado antes que los números de la lista.

s2Eva_IIT2002_T3 Encriptar PIN(4 dígitos)

Ejercicio: 2Eva_IIT2002_T3 Encriptar PIN(4 dígitos)

Propuesta de solución en Python: py_pdf, también en versión matlab: m_pdf

Es necesario implementar las instrucciones dadas para armar el número

  • A cada dígito súmele siete.
  • Al resultado de esta suma, divídelo para 10 y extraiga el residuo.
  • El valor resultante reemplaza al dígito original
  • Intercambie el primer dígito con el tercero y el segundo con el cuarto.

Manteniendo el algoritmo simple, con el supuesto que siempre son cuatro dígitos, se extrae cada dígito en las variables a,b,c,d para aplicar las operaciones indicadas.

Instrucciones en Python

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IIT2002_T3 Encriptar PIN(4 dígitos)
# Propuesta: edelros@espol.edu.ec

# literal a. funcion 
def encripta(n):
    a = (n%10)+7
    n = int(n/10)

    b = (n%10)+7
    n = int(n/10)

    c = (n%10)+7
    
    d = int(n/10)+7

    a = a%10
    b = b%10
    c = c%10
    d = d%10

    z = b*1000+a*100+d*10+c
    return (z)

# literal b. PROGRAMA
# INGRESO
clave = int(input('¿cuál es su clave?: '))
while (clave>9999):
    print(' la clave es de 4 digitos')
    clave = int(input('¿cuál es su clave?: '))

# PROCEDIMIENTO
r = encripta(clave)

# SALIDA
print('clave encriptada es: ', r)

resultado del algoritmo

¿cuál es su clave?: 1254
clave encriptada es:  2189
>>> 

ejercicios resueltos Python final_iit2002_t3 pdf

ejercicios resueltos Matlab final_iit2002_t3 pdf

s1Eva_IIT2002_T4 cociente de Fibonacci

Ejercicio: 1Eva_IIT2002_T4 cociente de Fibonacci

Propuesta de solución en Python:

El ejercicio es una extensión del Algoritmo – Secuencia de Fibonacci, añadiendo la operación del cociente.

Se requiere guardar valores consecutivos del cociente para comparar su diferencia hasta cumplir con la precisión requerida.

Ejemplo de ejecución de algoritmo

>>> 
precision decimal: 0.001
cociente: 0.6181818181818182
con diferencia de:  0.0005347593582887278

Se añade al algoritmo de Fibonacci el cálculo del cociente.

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IIT2002_T4 Cociente de fibonacci
# propuesta: edelros@espol.edu.ec

# INGRESO
precision = float(input('precision decimal: '))

# PROCEDIMIENTO
a = 1 # Primer cociente
b = 1
c = a+b
cociente1 = a/b

a = b # Segundo cociente
b = c
c = a+b
cociente2 = a/b

diferencia = abs(cociente2-cociente1)
while not(diferencia<=precision):
    cociente1 = cociente2
    a = b
    b = c
    c = a+b
    cociente2 = a/b
    diferencia = abs(cociente2-cociente1)

# SALIDA
print('cociente:', cociente2)
print('con diferencia de: ', diferencia)

s1Eva_IIT2002_T3 Conjetura de Ullman

Ejercicio: 1Eva_IIT2002_T3 Conjetura de Ullman

Propuesta de solución en Python

Para el número seleccionado o «pensado» se realizan las operaciones paso a paso indicadas en el enunciado.

# INGRESO
n = int(input('piensa un número: '))

Para determinar paridad se obtiene el «residuo» de la división del número para 2 y así decidir cuál operación realizar.

r = n%2

Se sustituye el número por el resultado de la operación y se vuelve a aplicar si el resultado aún no es 1.

    if (r == 0):
        n = n//2
    else:
        n = n*3 + 1

Para conocer el número de operaciones realizadas se usa un contador.

La secuencia se puede almacenar en un vector (lista) para mostrar al final (TAREA)

Se usa un contador de operaciones para la respuesta

El esquema básico del algoritmo en Python es el siguiente:

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IIT2002_T3 Conjetura de Ullman
# propuesta: edelros@espol.edu.ec
# Tarea: convertir a función

# INGRESO
n = int(input('piensa un número: '))

# PROCEDIMIENTO
contar = 0
while not(n==1):
    r = n%2
    
    if (r == 0):
        n = n//2
    else:
        n = n*3 + 1
    print(n)
    contar = contar + 1

# SALIDA
print('operaciones realizadas: ', contar)

s1Eva_IIT2002_T2 Color de placas de vehículos

Ejercicio: 1Eva_IIT2002_T2 Color de placas de vehículos

Propuesta de solución con diagrama de flujo y Python: py_pdf .
Otra versión con matlab: matlab en pdf

Para el ejercicio se requiere el uso de vectores para almacenar cada placa y procesar los datos en el bloque de procedimiento.

Como todos los datos de entrada se han simplificado a la parte numérica de la placa, se usarán arreglos, aprovechando para practicar con numpy.

En el procedimiento se extrae una placa de un auto para obtener el dígito de las unidades. Con el dígito se puede usar condicionales para indicar cuál es el color que le corresponde y contar la placa de cada color asignado.

dígito COLOR ¿Cuántos?
1, 2 amarillo (código 1)
3, 4 café (código 2)
5, 6 rojo (código 3)
7, 8 azul (código 4)
9, 0 verde (código 5)

Se continúa con el siguiente auto hasta completar todos los autos registrados en el arreglo.

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IIT2002_T2 Color de placas de vehículos
# propuesta: edelros@espol.edu.ec

import numpy

# INGRESO
n = int(input('cuántos autos: '))

placa = numpy.zeros(n+1,dtype=int)
auto = 1
while not(auto>n):
    print('placa[',auto,']: ')
    placa[auto] = int(input('  : '))
    auto = auto+1

# PROCEDIMIENTO
# contadores por color
color = numpy.zeros(5+1,dtype=int)

# analiza cada auto
auto = 1
while not(auto>n):
    digito = placa[auto]%10
    if (digito==1 or digito==2):
        color[1] = color[1]+1
    if (digito==3 or digito==4):
        color[2] = color[2]+1
    if (digito==5 or digito==6):
        color[3] = color[3]+1
    if (digito==7 or digito==8):
        color[4] = color[4]+1
    if (digito==9 or digito==0):
        color[5] = color[5]+1
    auto = auto+1

# SALIDA
print('Autos por cada color:')
k = 1
while not(k>5):
    print('Color tipo ',k,'= ',color[k])
    k = k+1

Podría intentar realizar el ejercicio con listas, para comparar como se aplican los conceptos.

Tarea: validar que el número de vehículos sea positivo mayor que 0, validar que sean solo tres dígitos en cada placa.

Diagrama de Flujo

Diagrama de Flujo 1 – Ejercicio Color de placas de automoviles

 

Diagrama de Flujo 2 – Ejercicio Color de placas de automoviles

ejercicios resueltos Python parc_iit2002_t2 pdf

ejercicios resueltos Matlab parc_iit2002_t2 pdf