s1Eva_IIT2003_T2 Sumar términos de progresión geométrica

Ejercicio: 1Eva_IIT2003_T2 Sumar términos de progresión geométrica

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

Ingresar la cantidad n de términos, el factor a y r, validando que r no sea 1.

S = \sum_{i=0}^{n} a + ar + ar^2 + ar^3 + ... + ar^n

Iniciar con 0 las variables: s que acumula términos, i como el contador de términos que adicionalmente se usa como exponente.

# PROCEDIMIENTO
s = 0
i = 0
while (i<=n):
    t = a*(r**i)
    s = s + t
    i = i + 1

Como paso siguiente, calcular cada término y acumularlos en s tantas veces como sea necesario hasta que que i llega a n.

El resultado buscado se encontrará en s.

Observe que el primer término es solo la constante a, con equivalente ar0.

Lazo mientras-repita:

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IIT2003_T2 Sumar términos de progresión geométrica
# Propuesta de solución. edelros@espol.edu.ec.

# INGRESO
n = int(input('¿Valor de n?: '))
a = float(input('factor a: '))
r = float(input('factor r: '))
while (r==1):
    r = int(input('factor r debe ser diferente de 1: '))

# PROCEDIMIENTO
s = 0
i = 0
while (i<=n):
    t = a*(r**i)
    s = s + t
    i = i + 1

# SALIDA
print(s)

Diagrama de Flujo

Diagrama de Flujo 1. Suma de progresión geométrica con Mientras-Repita
Diagrama de Flujo 2. Suma de progresión geométrica con Repita-Hasta

ejercicios resueltos Python parc_iit2003_t2 pdf

ejercicios resueltos Matlab parc_iit2003_t2 pdf

s1Eva_IIT2003_T1 Cambiar Decimal a Octal

Ejercicio: 1Eva_IIT2003_T1 Cambiar Decimal a Octal

Propuesta de solución en Python

Empiece con los conceptos expuestos en el tema de Bases Numéricas Introducción, el ejercicio es una aplicación del tema.

Propuesta con elementos principales, quedan partes por desarrollar:

  • validar octal de 4 dígitos
  • validar en procedimiento,
  • que los dígitos sean octales [0,7]
# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IIT2003_T1 Cambiar Decimal a Octal
# propuesta: edelros@espol.edu.ec

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

# PROCEDIMIENTO
decimal = 0
i = 0
while (octal>0):
    digito  = octal%10 # residuo
    octal   = octal//10 # cociente
    decimal = decimal + digito*(8**i)
    i = i+1

# SALIDA
print('número en decimal: ', decimal)

s2Eva_IT2003_T4 Registro de carros en archivo

Ejercicio2Eva_IT2003_T4 Registro de carros en archivo

Propuesta de solución en Python:

Se ingresan los datos de los carros en una lista, añadiendo los datos con la instrucción append().

Para el literal a, se concatenan los datos de una fila añadiendo una coma ‘,’ como separador. se escribe cada línea en el archivo.

En el literal b, se recorre la lista analizando los datos de los carros para añadirlos en una lista aparte que contiene los datos de los seleccionados.

Instrucciones en Python

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IT2003_T4 Registro de carros en archivo
# Tarea: validar datos de ingreso

# INGRESO
n = int(input('cuantos carros: '))
tabla = []
i = 0
while (i<n):
    print('Datos del carro: ... ',i)
    placa = input('Placa: ')
    anio  = input('año: ')
    tipo  = input('tipo A/auto C/camioneta: ')
    marca = input('marca: ')
    color = input('color: ')
    precio = input('precio: ' )

    registro = [placa,anio,tipo,marca,color,precio]
    tabla.append(registro)
    i = i+1

# PROCEDIMIENTO
# literal a)
nombre  = 'carros.dat'
archivo = open(nombre,'w')
i = 0
while (i<n):
    linea = ''
    j = 0
    while (j<6):
        linea = linea + tabla[i][j] + ','
        j = j + 1
    linea = linea.strip(',')+'\n'
    archivo.write(linea)
    i = i + 1
    
archivo.close()

# literal b
selecciona = []
i = 0
while (i<n):
    if (int(tabla[i][1])>1995 and tabla[i][4]=='rojo' and int(tabla[i][5])<6000):
        selecciona.append(tabla[i][0])
    i = i + 1

# SALIDA
print('archivo guardado')
print(' los autos que cumplen el pedido son:')
print(selecciona)

s2Eva_IT2003_T1 Funciones promedio, mayor y menor

Ejercicio: 2Eva_IT2003_T1 Funciones promedio, mayor y menor

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

Se requiere desarrollar las funciones usando las operaciones para mostrar el conocimiento de los conceptos.

Como los datos se envían en un vector, se debe recorrer cada elemento del vector para obtener los resultados. Esta parte muestra su dominio del manejo de lazos/bucles con los índices de un arreglo.

Instrucciones en Python

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IT2003_T1 Funciones promedio, mayor y menor
# Se EVALUA escribir un algoritmo
# Evite usar las funciones del lenguaje de programación
# Propuesta de Solución: edelros@espol.edu.ec

def promedio(vector):
    n = len(vector)
    suma = 0
    for i in range(0,n,1):
        suma = suma + vector[i]
    prm = suma/n
    return (prm)

def mayor(vector):
    n = len(vector)
    # Busca cual es el mayor
    max = 1
    for i in range(0,n,1):
        if (vector[i]>vector[max]):
            max = i
    # presenta el valor de mayor
    z = vector[max]
    return (z)

def menor(vector):
    n = len(vector)
    # Busca cual es el menor
    min = 1
    for i in range(0,n,1):
        if (vector[i]<vector[min]):
            min = i
    # presenta el valor de menor
    z = vector[min]
    return (z)


# PROGRAMA de prueba de funciones
import numpy as np

# INGRESO
meses = 12
temperatura = np.zeros(meses,dtype=int)
for mes in range(0,meses,1):
    temperatura[mes] = int(input("temperatura["+str(mes+1)+"]: "))

# PROCEDIMIENTO
tprom = promedio(temperatura)
tmax  = mayor(temperatura)
tmin  = menor(temperatura)
diferencia = tmax-tmin

# SALIDA
print("promedio: "+str(tprom))
print("Diferencia max-min: "+str(diferencia))

resultado del algoritmo

temperatura[1]: 30
temperatura[2]: 32
temperatura[3]: 30
temperatura[4]: 28
temperatura[5]: 29
temperatura[6]: 25
temperatura[7]: 25
temperatura[8]: 23
temperatura[9]: 25
temperatura[10]: 27
temperatura[11]: 29
temperatura[12]: 30
promedio: 27.75
Diferencia max-min: 9

ejercicios resueltos Python final_it2003_t1 pdf

ejercicios resueltos Matlab final_it2003_t1 pdf

1Eva_IIT2002_T4 Cociente de Fibonacci

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

TEMA 4. (25 puntos) En la siguiente secuencia de números:

1, 1, 2, 3, 5, 8, 13, 21, ...

https://murea.es/wp-content/uploads/2014/12/proporcion-aurea-1.jpg

cada número a partir del tercero se obtiene sumando los dos inmediatos anteriores.

La propiedad de esta secuencia es que el cociente de dos términos consecutivos tiende hacia un número real.

1/1, 1/2, 2/3, 3/5, 5/8, 8/13, 13/21, ... ¿?

Escriba un algoritmo para encontrar este número con 4 decimales de exactitud.

Sugerencia: para la secuencia, mantenga en cada iteración dos valores consecutivos de este número real, y pare cuándo la diferencia sea menor que 0.0001


1Eva_IIT2002_T3 Conjetura de Ullman

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

TEMA 3. (25 puntos) Elabore un diagrama de flujo, tal que dado un valor n entero positivo, calcule y muestre los elementos correspondientes a la CONJETURA DE ULLMAN (en honor al matemático S. Ullman) que consiste en lo siguiente:

  • Empiece con cualquier entero positivo.
  • Si es par, divídalo entre 2.
  • Si es impar multiplíquelo por 3 y agréguele 1.
  • Obtenga enteros sucesivamente repitiendo el proceso.

Al final se obtendrá el número 1, independientemente del entero inicial.

Por ejemplo:
 cuando el entero inicial n es 52, la secuencia será:
 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1

Rúbrica: validar número positivo (5 puntos)operaciones (5 puntos), uso de un vector para secuencia (10 puntos), estructura del algoritmo (5 puntos)

Referencia: https://anagarciaazcarate.wordpress.com/piensa-un-numero-la-magia-del-algebra/

2Eva_IIT2002_T4 Juego del Imitador

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

Tema 4. (25 puntos) En el juego del “Imitador” pueden participar dos personas para probar su memoria en el que por medio de turnos alternos se prueba la capacidad de recordar una secuencia numérica entera (0-9) de cada jugador.  imitaodr numero secuencia

  • Se empieza mostrando un numero aleatorio entero.
  • El primer jugador solo deberá digitar este número, luego se muestra un segundo numero aleatorio, se cambia el turno y el otro jugador deberá digitar el primero y el segundo numero aleatorio.
  • Se muestra un nuevo numero aleatorio y el siguiente jugador deberá digitar los números aleatorios anteriores mas el último mostrado.
  • El juego continua hasta que uno de los dos participantes se equivoca en la secuencia y se declara al otro participante como ganador.

El juego presenta en pantalla para cada jugada lo siguiente:

  • El jugador que tiene el turno,
  • La cantidad de números de la secuencia a digitar y
  • El orden del dígito que se esta esperando por teclado.

2Eva_IIT2002_T3 Encriptar PIN(4 dígitos)

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

Tema 3. (20 puntos) Una compañía de telecomunicaciones tiene sospechas de que sus datos están siendo interceptados y desea transmitirlos de manera segura usando algoritmos de encriptación de tal forma que solo la pueda entender el destinatario. encriptar candado imagen

Toda su información se transmite como enteros de 4 dígitos.

El asesor de seguridad informática le recomienda seguir los siguientes pasos:

  • A cada dígito súmele siete.
  • Al resultado de esta suma, divídelo para 10 y extráigale el residuo.
  • El valor resultante reemplaza al dígito original
  • Intercambie el primer dígito con el tercero y el segundo con el cuarto.
Ejemplo: 
 >> encripta(1254)
 ans= 2189

a) Escriba una función encripta() que reciba numero entero de 4 dígitos (entre 1000 y 9999) y que retorne el mismo numero entero encriptado correspondientemente

b) Escriba un Programa que pida al usuario una clave de acceso (entero de 4 dígitos), verifique que sea válida en rango). Encripte la clave de acceso y la muestre en pantalla.

1Eva_IIT2002_T2 Color de placas de vehículos

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

TEMA 2. (25 puntos)

La Agencia de Control de Transito usará colores en todas las placas de los vehículos conforme al último dígito, utilizando la tabla mostrada:

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)

Ayude a dicha institución realizando un algoritmo que:

a) reciba los tres últimos números de la placa (3 dígitos validados) y el número n de autos a procesar,

b ) muestre cuántas placas de cada color de vehículos hay que fabricar y reemplazar.

Rúbrica: ingreso de datos en vector (5 puntos), validar dígitos (5 puntos), conteo por color (15 puntos).

ReferenciaMatrícula (vehículos), Wikipedia

2Eva_IIT2002_T2 Clientes en Banco A y Banco B

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

Tema 2. (35 puntos) El archivo ‘a:\DATOS1.TXT’ contiene la información de los clientes del banco A en el siguiente formato:

char cedula[10], char nombre[60], int cuenta

cuenta es un valor lógico que indica si tiene una cuenta corriente, lo contrario significa que tiene cuenta de ahorros.

El archivo a:\DATOS2.TXT contiene la información de los clientes del banco B en el siguiente formato:

char cedula[10], char nombre[60], int préstamo

préstamo es un valor lógico que indica si tiene un préstamo, lo contrario significa que no tiene deudas.

Elabore un programa que:

a) Lea los dos archivos desde el disco (disquete). (10 puntos)

b) Seleccione los clientes que tienen cuenta de ahorros y préstamo. (15 puntos)

c) Muestre un reporte por pantalla con la cédula y el nombre de los clientes que tienen cuenta de ahorros y préstamo. (10 puntos).

Nota: Dentro de un mismo archivo no existen clientes repetidos. El número de clientes máximo es 100, pero el número puede ser menor de acuerdo a si el cliente tiene o no préstamo o cuentas en el banco y puede ser leído en el archivo antes de leer el primer cliente.